通过模拟软件,让我们零成本玩玩单片机。
第1步,安装模拟器。
yay -S simulide
yay 是Arch AUR 的包管理器,你应该需要根据你使用的系统来安装对应的软件。
像图中那样连接组建,点击红色的开关就可以开始模拟了。运行起来后,可以看见一个发黄光的二极管。(因为P1.0 默认会输出高电平)
第2步,安装编译器
yay -S sdcc
详见:https://sdcc.sourceforge.net/
第3步,编写LED闪烁代码
以下为led.c的内容
#include <8052.h>
void delay() {
int i, j;
for (i = 0; i < 0xff; i++) {
for (j = 0; j < 0xff; j++)
;
}
}
void main() {
while (1) {
P1 = 0xff;
delay();
P1 = 0;
delay();
}
}
这里P1=0xff
将让P1.0 ~ P1.7 这八个pin输出为高电平,P1=0 将让这些pin输出低电平。通过两重空循环在这两个操作之间引入一些延时而达到一种一闪一闪的效果。
第4步,编译
sdcc led.c
这个命令会生成一堆文件:
然后生成hex文件
packihx led.ihx >led.hex
第5步,上载到模拟器中
这样就可以看见这个黄色的LED在闪速了。