1.OneLED

STC15系列单片机教程之一:OneLED

本系列教程开始学习STC15系列单片机的C语言编程,读者需要有一定的C语言基础知识。

一、开发软件准备

  1. 安装编程软件:Keil
    这里写图片描述

  2. 下载软件STC_Isp

  3. 配置keil下的STC单片机编程环境
    这里写图片描述
    点击添加信号和头文件到Keil中,为 keil软件添加STC系列单片机器件的支持,以及后面要用到的仿真器。

二、STC15F2K60S单片机IO分配

这里写图片描述

如上图所示,STC15F2K60S 系列块单排及共有5组管脚:

管脚组名称可用位数
P08bit (P0.0-P0.7)
P18bit (P1.0-P1.7)
P28bit (P2.0-P2.7)
P38bit (P3.0-P3.7)
P48bit (P3.0-P3.7)
P52bit(P5.4-P5.5)

STC15系列单片机每个管脚都有个IO口模式配置寄存器,可用配置任何一个管脚的输出模式。
这里写图片描述

每位管脚模式有以下四种: (默认为00,即准双向口)
这里写图片描述

三、程序编写

在了解了以上STC单片机的IO特性后,我们来尝试编写程序,控制开发板上的LED灯闪烁,其所在管脚为P5.5

1.Keil 新建项目

  • 先在keil 的 Project 菜单下选择new uVision Project...创建新项目,并命名。
    这里写图片描述

  • Select a CPU Data Base File 中选择 STC MCU Database,创建STC系列单片机项目
    这里写图片描述

  • 根据板子类型,为项目选择CPU型号。我这选的是STC15F2K60S2
    这里写图片描述

  • 添加main.c文件
    这里写图片描述

2.编写程序

程序代码如下:

//************************************
//STC_XGboard 51单片机学习板
//author:Kimiyang
//OneLEDFlash
//实现单个LED闪烁
//20170109
//************************************

// NAME    Pin
// LED       P55

#include <STC15F2k60S2.H>   //单片机寄存器资源头文件
#include <intrins.h>    //使用_nop_();空操作函数时必须包含此头文件

#define  LED P55  //定义LED管脚号


void Delay1ms()     //@11.0592MHz
{
    unsigned char i, j;
    _nop_();
    _nop_();
    _nop_();
    i = 11;
    j = 190;
    do
    {
        while (--j);
    } while (--i);
}

//************************************
//*函数名称:delay
//*函数功能:延时函数
//*参    数:Dtime:延时时间mS
//*返 回 值:无
//************************************
void delay_nMs(unsigned int Dtime)
{
    unsigned int i;  //255
    for(i=0;i<Dtime;i++)  // 10us
    {
        Delay1ms();  //1s
    }
}


//************************************
//*函数名称:main
//*函数功能:主函数,程序开机运行的第一个函数
//*参    数:无
//*返 回 值:无
//************************************
int main(void)
{
    LED = 1;  //灯灭
    while(1)    //重复执行下面大括号中的4行程序
    {
        LED = 0;            //点亮LED
        delay_nMs(500);     //延时约为0.5s
        LED = 1;            //熄灭LED
        delay_nMs(500);
    }

}

3. 程序的编译

  • 设置生成可下载文件-‘hex’文件
    这里写图片描述

  • 使用Keil软件工具条上的Rebuild图标按钮对程序编译
    这里写图片描述

  • 编译后观察keil软件底下的Build output窗口,了解编译信息错误或警告: 0 Error,0 Warning
    这里写图片描述

四、固件下载

  • 编译成功后(0 Error,0 Warning),使用STC_isp软件,通过单片机的串口下载hex程序到单片机内,观察运行现象。
    这里写图片描述

  • 开发板运行效果

总结

这里写图片描述

  • STC单片机头文件STC15F2K60S.h中对管脚的位定义为 管脚组名+管脚bit号,如P15代表的是P1口的第5位。
  • #define LED P55 使用#define 定义P55名称为 LED,在下面程序中可用LED 代表P55管脚。对程序阅读比较有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kimiyang123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值