51单片机开发前的准备工作
在进行51单片机开发之前你需要准备三个工具:
<1> 安装Keil C51集成开发环境:本系列教程采用的是Keil4 C51 V9.52。
<2> 准备代码烧写工具:本系列教程采用的是STC公司的STC-ISP V6.86。
<3> 购买51开发板或安装Proteus仿真软件:本系列教程采用的是XMF05A开发板。
Keil C51集成开发环境用于编写程序和编译代码,然后生成HEX烧写文件,通过ISP代码下载工具,将程序烧录到开发板中的芯片上运行。
如果使用Proteus进行仿真的,先把电路搭建好,再把HEX文件加载到单片机中即可运行。
注:XMF05A的资料详见:【XMF05A】89C52单片机经典开发板产品说明及其资料汇总
51单片机的基本开发流程
<1> 新建一个空的工程文件,并为工程文件选择对应的芯片信号。
<2> 配置工程的选项参数,在“Output”选项卡中勾选输出HEX文件。
<3> 新建C代码文件,并将其添加到工程中。
<4> 在代码文件中编写代码,并编译生成HEX文件。
<5> 通过ISP下载工具将HEX下载到单片机中运行。
51快速入门教程详见: 51单片机应用开发快速入门自学笔记
第1节: 经典51内核资源全览浓缩图
第2节: 重要外设特殊功能寄存器概览
第3节: 程序开发流程与设计要点
第4节: 第4节三大外设的开发与可重用代码
第5节: 应用程序设计入门一例通
实训案例:单个指示灯闪烁控制
在XMF05A开发板上,设计程序,控制D1灯循环闪烁。
也就是:D1灯亮,过一会,D1灯灭,过一会,D1灯亮……如此循环。
在电路上,D1灯的阴极接到89C52单片机的P1^0引脚,即低电平点亮。
案例参考源码
#include "reg52.h"
/***************定义变量与声明函数***************/
sbit D1 = P1^0; //定义引脚名称
void Delay(unsigned int t); //声明延时函数
/********************主函数********************/
void main()
{
while(1)
{
D1 = 0; //点亮D1灯
Delay(60000); //过一会
D1 = 1; //熄灭D1灯
Delay(60000); //过一会
}
}
/***************普通延时函数********************/
void Delay(unsigned int t)
{
while(t--);
}