本篇文章我以点亮一个led小灯实验为例,来一套完整51单片机的实验流程。
1.使用keil软件进行代码的编写及编译
操作步骤如下:
<1>打开keil,并看到类似以下界面。
<2>创建一个工程
步骤如下:
(1)依次点击 Project (工程)>> New μVision Project… (新的工程)。
(2)选择合适的工程存放位置并命名工程名,最后点击保存。
(3)为工程选择相应的设备,最后点击OK。
注意:这一步根据自己所用的设备来进行选择的。 (4)选择是否要向你的工程中添加“STARTUP.A51”文件。
解释:STARTUP.A51是 Keil C51 的项目中的初始化文件,里面包含了中断向量表和变量初始化代码。
注意:这一步可选可不选,不会对代码的编写及编译造成任何影响。
(5)大功告成,一个工程就创建好了。可以看到以下界面。
注意:由于我们在上一步中点击了“是”,因此可以在创建的项目中看到“STARTUP.A51”文件。
<3>对工程进行必要的配置
首先依次点击Edit (编辑) >> Configuration… (配置),进入配置页面。
配置内容步骤如下:
(1)点击Editor(编辑),配置Encoding(编码方式)为“Chinese GB2312 (simplified)”。
设置原因:这样能够解决我们在编写代码注释时出现问号。
(2)点击魔法棒,在Target(硬件目标选项)中设置晶振频率。
注意:晶振频率根据自己所用的设备来进行配置。
设置原因:这样能在使用Proteus仿真软件进行仿真时获得具体的运行时间,为判定程序的一些时序、延时时间等做为参考。当然,如果不适用仿真软件,而是直接使用硬件进行测试,可以不需要配置。
(3)点击Output(输出选项),勾选Create HEX File。
勾选原因:因为要想将代码烧录到单片机中,只能够通过.HEX这种格式的文件。
<4>新建文件并将其添加到工程中
操作步骤:
(1)依次点击File >> New… 或者直接快捷键Ctrl + N,创建一个新的文件。
(2)点击保存或直接快捷键Ctrl + S,设置.c文件并点击确定。
(3)右键Source Group 1(资源组1),点击Add Existing Files To Group “Source Group 1” (向资源组1中添加已存在的文件)并选择刚刚保存的.c文件,最后点击Add。
(4)大功告成,这样就完成了文件的创建与添加到工程。可以看到以下界面。
<5>编写程序代码并编译至无错误无警告。
步骤如下:
(1)首先编写点亮一个led小灯的程序代码。
//利用总线操作
#include <reg51.h>
#define led P2 //宏定义
void main() {
led = 0xfe; //点亮led小灯
while(1);
}
(2)点击编译,并达到编译结果为 - 0 Error(s),0 Warning(s).。
注意:也许第一次编译的结果有错误,这很正常,找到问题并解决它,直至编译无误。这是必由之路。
2.使用Proteus软件进行仿真
操作步骤如下:
(1)在仿真软件Proteus中绘制实验原理图。
(2)右键核心开发板,点击编辑属性,或者直接快捷键Ctrl + E,打开编辑元件。
(3)点击在Program File 一栏后面的黄色文件夹,找到并选择工程下生成的.HEX文件,然后点击打开,最后确定。
(4)点击在左下角的运行键,看到以下仿真效果,证明达到实验要求。
注意:可能会出现效果不理想,这很正常,证明代码虽然没有问题,但可能出现逻辑错位等问题,找到问题并解决它,这是必由之路。
3.使用STC-ISP软件向开发板烧录程序并观察现象
步骤如下:
(1)打开烧录软件STC-ISP。
(2)设置单片机型号。
(3)设置连接单片机的串口。
(4)打开程序所对应的.HEX文件。
(5)点击下载/编程。
(6)开发板重新上电,等待下载完毕。
(7)观察现象。
烧录软件STC-ISP大致使用图示如下:
注意:单片机型号是根据自己的开发板选择;串口号是根据实验时的具体情况扫描选择。
本次实验观察到的现象如下:
结束语
好的,一套51单片机的实验流程结束。不负青春,不负韶华,加油!💪
本次励志:Cease to struggle and you cease to live.