前期准备:
首先,我们需要准备开发51单片机的软件或者开发板
在这篇文章里,我们会用到Keil uVision5来作为编译器及一个注册机,用于破解Keil5注册码
并需要使用STC-ISP(版本v6.86)软件来导入HEX文件到开发版上
这些我都上传到百度网盘上了:
https://pan.baidu.com/s/103tXH_TqyoVK9SgnrLH9Cw
(已过期,手上不方便会尽快处理)
下载过程和运行时,可能需要关闭杀毒软件以正常运行
另外,开发板需要自己买,通常在淘宝上搜索“51单片机开发板”就能买到,建议买普中科技的
这是我的开发板,供参考:
(一个开发板外加一条USB连接线)
下载并破解Keil:
首先,打开c51v954.exe安装程序
1.点Next:
2.勾选左下角的框框,然后再点Next:
3.自定义路径,然后点Next
4.图中有4个输入框,随便填,填什么都行,然后点Next
5.等待下载完成
Keil安装成功后,注意此时功能仍无法使用
所以接下来就是破解
1.点击File->License Management, 然后会出现一个窗口, 在右上角找到CID, 然后复制
2.打开注册机(KEIL_Lic.exe) ,粘贴CID, 点击Generate
3. 复制结果至图中所示位置, , 点Add LIC, 然后 Close
正片开始:
接下来为正式教程
1.打开Keil点击Project->New uVision Project, 选择路径和定义文件名
2.在search搜索框搜索AT89C52, 然后点OK
3.出现一个窗口, 询问是否要添加STARTUP.A51, 点否
4.工程建好后,需要新建一个文件, 点击Target 1的加号, 出现一个Source group 1
5.右键Source group 1, 点击Add New Item To"Source group 1"
6.点击C File(.c), 然后在Name里输入“main”,并点击Add
文件创建完成
开始秃头 :
目标是点亮一个LED灯
图中所示即LED灯:
板子上的每一个位置都会有一个端口, 这个LED的端口为P2
多个LED灯划分成P2_0, P2_1, P2_2等等
目标点亮P2_0即可
看看程序该怎么写吧 :
#include <REGX52.H>
void main(){
P2_0=0;
while (1);
}
以下逐行解释:
第一行引入库REGX52.H,为必要库
void main()主函数
P2_0=0 的功能就是点亮LED, P2代表所有LED等,P2_0代表第一个LED灯。灯亮或熄灭用布尔值表示,此处0为亮1为熄灭,赋值的操作就是控制LED灯当前状态的操作
while (1),即无限循环,用于阻止了程序的结束, 若未添加,程序会立马结束退出
掏出你们的祖传复制粘贴手法:
下一步是编译程序并生成HEX文件
什么是HEX文件,有什么作用?
HEX是程序编译后生成的可执行文件,可理解为exe文件,不过是给单片机用的
点击图中标红线的图标:
选择Output->勾选 Create HEX file, 点击OK:
这样程序在编译的时候就能创建HEX文件了
点图中所示图标编译:
编译显示0 error, 0 warnings, 说明代表编译成功了
使用STC-ISP把HEX文件导入到板子里:
打开STC-ISP:
(看上去复杂,但只需关注部分功能)
把单片机型号改成STC89C52RC/LE52RC
接着用USB线连接电脑和单片机
然后把串口号改成有USB线使用的串口 (每个人的单片机串口号不一样, 我的是COM3,不知道的就每个都试一遍,哪个能用就是)
参数设置好后, 然后点打开程序文件按钮, 在Object里面有一个HEX文件, 选择
最后, 点击下载/编程
"正在检测目标单片机..." 等待
按下单片机上的启动按钮, LED就亮了
完