玩玩单片机

在淘宝上买了块天祥电子的51单片机玩玩,折腾了好久,终于在linux上搭建好了开发平台。我发现网上介绍linux中编写51单片机的流程很凌乱,所以下面做一下汇总。

image

我用的是ubuntu,首先用apt-get下载sdcc,这是一个编译器,安装很顺利。下面写一段简单的代码。如下,抱歉排版原因没有缩进:

#include <mcs51/8051.h>
void delay02s(void){
unsigned char i,j,k;
for(i=20;i>0;i–)
for(j=20;j>0;j–)
for(k=248;k>0;k–);
}

void main(void){
while(1){
P1_0=0;
delay02s();
P1_0=1;
delay02s();
}
}

注意这里的#include <mcs51/8051.h>。和Keil不同。接着编译命令很简单:

sdcc light.c

编译成功后会生成”light.ihx”。然后,找到一个叫”hex2bin”的软件,地址在。注意不是“hextobin”,那是另一个很搓的软件。让我走了很多弯路。

“hex2bin”要从源代码编译安装,还算简单。安装完后运行:

hex2bin light.ihx

它会生成light.bin。到这一步编译都完成了,就差把bin文件刷入单片机了。

找到一个叫“gSTCISP”的软件。这个软件编译安装的时候比较麻烦。需要手工改Makefile。

把单片机的电源关掉,把串口接上电脑,然后以管理员身份运行gSTCISP,如图:

a32e

 

选择好bin文件。然后点击DownLoad,然后打开单片机电源。bin文件就会自动刷到单片机里去,并开始运行。