最近搞了个51开发板,如下图所示,这个板非常简单,所有I/O口全部引出,可自己扩展外设,P0上拉电阻,晶振 11.0592M,复位键,DC电源插头,DC电源的自锁开关,单片机锁紧座,外扩三路VCC和GND。和以前同学们买的大开发板比较,这个板可定制性更强,由于东西很少,这个板才13块钱,用来学习51单片机足够了!现在后悔当初学习51的时候怎么没买一个!写这篇文章来告诉初学者如何开始51单片机的学习。
买了这个板之后,还需要一些配件,首先是一个STC89C52芯片(4.5元),一个USB/TTL单片机下载模块(8元),杜邦线(20cm,40根,4元),5V电源,其他的像LED发光二极管,蜂鸣器,LED显示屏,面包版,电机什么的根据自己的需求选定。配件如下图:
还需要下载安装几个软件:Keil µVision(开发程序生成二进制文件),STC-ISP(往单片机下载程序)。
打开keil,新建工程,选Atmel->AT89C52。在新建的工程上点击右键进行设置,点output,选中Create HEX File,然后新建C或汇编文件,写一个简单程序,这里给大家提供一个流水灯的C程序:
#include<reg51.h> #include<intrins.h> //移位库函数包含于此头文件中 void delay(unsigned int d) //定义延时子函数 { while(--d>0); } void main( ) { unsigned char i,sel; while(1) { sel=0xfe; for(i=0;i<8;i++) { P1=sel; //显示变量取反后赋给P1口 delay(100000); //延时 sel=_crol_(sel,1); //改变显示变量 } } }
然后编译源程序,得到HEX二进制文件。
接下来开始准备连线了,用杜邦线将USB下载模块和单片机的串口对应连起来,注意只连三根线就可以,不要连5V电源线,然后将USB下载模块插到电脑USB口,电脑应该提示安装驱动,注意先不要连接电源。安装完成后,打开STC-ISP,MUC类型选STC89C52RC,选择刚才编译好的程序文件,从com1口开始尝试,点击download,如果com1口后面亮绿色的图标,说明就是这个com口了,我的是com3,如下图:
这时候会提示“仍在连接中, 请给 MCU 上电...”,然后我们打开电源(或者将5V的那根线连上),当出现下面的提示时,说明你的程序已经下载进去了:
MCU Type is: STC89C52RC MCU Firmware Version: 4.3C Chinese:MCU 固件版本号: 4.3C Double speed / 双倍速: 12T/单倍速 振荡放大器增益: full gain 下次下载时 P1.0/P1.1 与下载无关 内部扩展AUX-RAM: 允许访问(强烈推荐) 下次下载用户应用程序时将数据Flash区擦除: NO 用户软件启动内部看门狗后: 复位关看门狗 内部时钟频率:11.059326M. 外部时钟频率:11.059326M. Chinese:正在重新连接 ... Current Baud is: / 当前波特率为: 115200 bps. We are erasing MCU flash... 正在擦除应用程序区... ( 00:01 ) 正在下载... ( 开始时间: 16:01:09 ) Program OK / 下载 OK Verify OK / 校验 OK erase times/擦除时间 : 00:01 program times/下载时间: 00:01 Encrypt OK/ 已加密
如果你的P1口连着发光二极管的话,就能看到二极管循环点亮。
接下来,继续学习的话,你需要找本书,学习51基础知识,学习汇编或C基础知识,最重要的,一定要边学习边实践,书上的实例程序写写,放到开发板上跑跑,入门应该很快的。