###Tools:
1)Codeblocks
2)SDCC (Small Device C Compiler)
3)Proteus
(文末有福利)
SDCC是免费开源的编译器,可以用来编译8051系列的芯片,也就是我们平时使用的51单片机可以用此编译,而不是使用KEIL商业软件,IDE配合Codeblocks,最终验证用proteus仿真验证,手头上没有51开发板。
SDCC和Codeblocks在网上搜索就能找到,对于SDCC的资料网上非常少,自己收集了一些,就在此记录一下.
过程
1)安装code blocks,安装SDCC
2)
输入一下代码,有注释
#include <mcs51reg.h>
// #include <mcs51/8051.h>
void timer() __interrupt 1; // SDCC的中断函数要预先声明,区别于KEIL C51
unsigned char counter; // 软件计数器
void main()
{
TMOD = 0x00; // 定时器0_16位计数
TH0 = 0xb1; // 经计算定时20ms初值是0xB1E0,分高8位和低8位写
TL0 = 0xe0;
TR0 = 1; // 定时器开始运行
ET0 = 1; // 开定时器0中断开关
EA = 1; // 开启总中断
while(1)
{
; // 进入循环,不断触发定时器中断
}
}
void timer() __interrupt 1
{
counter++;
if(counter==50)
{
counter = 0;
P1_2 = !P1_2;
}
}
3)
最后建立一个proteus仿真文件,选择刚才编译生成的hex文件就可以看到效果了,SDCC的中断函数要声明的,这个和KEIL C不同
和KEILC的差别:
参考链接:http://whchen.net/blog/index.php/archives/sdcc-simple-to-use-tutorial.html
关于SDCC的使用可以参看另一篇博文基于51单片机实现的电机PWM控制及测速(Proteus仿真)
需要proteus中文教程的童鞋可以微信扫描下面二维码关注公众号“向芽塔”,回复“proteus教程”即可获得PDF版教程,谢谢!