构建最小的At89c2051系统
好了,我们已经装上了SDCC的开发环境,现在真正地试一下,看看究竟行不行。
(参考http://chaokhun.kmitl.ac.th/~kswichit/2051/basic/basic.htm)
将DemoSDCC1项目中的main.c内容修改为:
#include<at89x051.h>
voiddelay (void){
unsigned chari,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++)
;
}
voidmain(void){
while(1){
P1_7= 1;
delay();
P1_7= 0;
delay();
}
}
Eclipse会提示P1_7没有定义,忽略之。其实这也是单片机编程的秘密所在,将引脚变量置1对应将实际的引脚置高电平,将引脚变量置0对应实际的引脚置低电平。此处P1_7变量控制引脚P1.7,AT89C2051的第19引脚。
编译项目,得到DemoSDCC1.hex,用编程器将它写入到AT89C2051芯片中。
现在可以搭建试验电路了。既然是最小系统,那么就用最简单的方式,直接用面包板。
首先看看电源,电路图里面是5V,实际上4.5V--5.5V的都可以用,我发现我的老的CD随身听的变压器的输出是4.5V和1A,心怀忐忑,不过现在知道可以用。
其他材料如下:
色环电阻 10K欧姆一只
色环电阻 1K欧姆一只
电解电容 10uF一只
陶瓷电容 33pF 两只(发现这电容其实可以不用)
石英晶振 11.0592MHz 一只(12MHz或8MHz的也读可以用哦)
红色发光二极管 5mm 一只
面包板 一块
漆包线若干(曾记否,玩弹弓的时候用来缠弹弓的那种漆包线,里面是一根小铜丝的)
面包板浅说:如图,面包板分成四个区,两边有间隔的五个孔一组,中间是两块密集的孔区。边上五个一组,每组内部是连通的;中间也是五个孔一组,不过方向与边上的每组是垂直的。这样就免去了焊接的工作。
彻底地亮了!具体闪闪的效果请看我的搜狐视频(http://tiglos.i.sohu.com/video/person/detail.htm?videoId=29943878)。
当然,做事要举一反三,把晶振换换看看,换成8MHz的时候闪闪有点慢。
现在,再精简一点,把两个33pF的陶瓷电容拔掉,再通电看看。
还是亮的!图中有一根跳线是多余的,是哪一根呢?
这个也有视频为证,请看http://tiglos.i.sohu.com/video/person/detail.htm?videoId=29945068。
淘宝购物说明
淘宝上可能要搜索两次,第一次搜索At89c2051,去商铺看看能不能买齐,可能买不到面包板,然后第二次搜索面包板。
买芯片的时候,你可以把这个hex发给卖家让他给你写上,暂时就可以不买编程器了。
[DemoSDCC1.hex下载: http://pan.baidu.com/share/link?shareid=3104&uk=2667868116]