0%

51 版hello-world

通过模拟软件,让我们零成本玩玩单片机。

第1步,安装模拟器。

yay -S simulide

yay 是Arch AUR 的包管理器,你应该需要根据你使用的系统来安装对应的软件。

Simulide

像图中那样连接组建,点击红色的开关就可以开始模拟了。运行起来后,可以看见一个发黄光的二极管。(因为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

这个命令会生成一堆文件:

files

然后生成hex文件

packihx led.ihx >led.hex

第5步,上载到模拟器中

Simulide

这样就可以看见这个黄色的LED在闪速了。