MC-51C5151单片机入门StartGuide作者:GUAN,大连单片机开发网(组建中)说明:本文针对初学者,对51单片机的各方面做介绍,使你快速入门。内容简而全,耐心读完,一定会有收获。一.51单片机介绍51内核的单片机有很多,常见的有下面这些:STC89C52(STC系列)AT89S52(ATMEL系列)W78E51(华邦系列)上面型号里的52,指的是51增强版,具有更大的ROM和RAM,其内部结构和编程方法同51单片机一样。学习单片机时,通常需要一块开发板,51开发板上很多选用STC89C52,这是国产的芯片,性价比高,大家以STC89C52来学习51单片机就可以了,本文将以STC89C52做介绍。另外不同51单片机芯片引脚定义是一样的,具有兼容性。STC89C52单片机硬件介绍:ROM:8KRAM:512B封装:DIP40,40脚双列直插ISP:通过串口ISP在线编程二.单片机开发环境介绍编程软件:Keil,同时用Keil可以软件仿真,当使用仿真芯片时,还可以进行硬件仿真。软硬件仿真的概念,硬件仿真需要仿真芯片,可以实时的调试程序在硬件上的真实运行情况,软件仿真只能在PC机上调试你的代码,不能反应硬件的情况。烧写软件:芯片提供商通常会提供相应的烧写软件,如STC89C52使用STCISP。STC网址:烧写软件在主页右边。三.Keil安装和使用选用Keil7.5,演示安装过程。网上可以下载到完整版,完整版包含了实时系统RTX51,用来快速编写多任务应用,文章后面有介绍。安装过程截图:选择FullVersion。填入序列号,用上面的就可以。取消SendregistrationviaInternet,NEXT。到此安装过程结束。下面以建立一个新工程为例,说明开发过程。Project-NewProject…选择51芯片型号,由于STC没有包含在列表里,用AT89C52或ST89S52替代STC89C52,点击确定。这里选择否(N)。至此新工程建立完毕。下面开始正式编程,包括新建.c文件,并将文件加入工程管理。File-New…新建程序文件File-SaveAs…另存文件为main.c命名为main.c,保存在工程的目录下。右键单击,选择如图选项。在工程目录下,选择main.c,点击Add,把main.c加入到工程管理中;再点击Close关闭这个对话框。利用上面的办法可以加入其他.c文件。对于初学者,只用一个.c文件做实验就够了,把代码都写在main.c中。到此应用程序的文件都建立好了,先建工程,再建文件,再把文件加入工程,经过这三步。下面演示使用C语言编写一段小程序,编译,并调试,也就是软件仿真。Main.c#includereg52.h//寄存器头文件typedefunsignedintuint;typedefunsignedcharuchar;#defineLEDP0//LED灯连接在P0端口上,P0输出低电平时,灯亮;高电平//时,灯灭//延时函数voiddelay(){uchari=255;ucharj=10;while(i--){while(j--);}}//主函数,程序的入口voidmain(){ucharc=0xff;while(1){LED=c;delay();c=1;if(c==0)c=0xff;}}//INT0,0号中断函数,externalinterrupt0//如果使用中断,将中断函数补充完整;不用时,写成空函数或不写出来voidisr_int0()interrupt0{}//INT11号中断函数,timer0voidisr_timer0()interrupt1{}//INT2externalinterrup1voidisr_int1()interrupt2{}//INT3timer1voidisr_timer1()interrupt3{}//INT4serialPortvoidisr_serial()interrupt4{}程序解读:1.头文件:reg52.h,若是51单片机则写成reg51.h2.中断:这里给出中断函数编写的框架,不使用中断时,可以不写。3.编译程序之前,需设置软件,从而产生后缀为hex的十六进制文件,这个文件就是烧录到单片机中的文件,设置过程如下:Target1上右键,OptionsforTarget…Xtal(MHz):12.0,通常51单片机用12M晶振,按你的实际情况修改。在Output选项卡里,将CreateHEXFile复选框选中。点击确定。其他的设置,读者以后慢慢再熟悉。工程的所有设置都在这个界面上。编译程序,如图所示如果编译成功,会在工程目录下产生HEX文件,烧录到单片机即完成一次开发过程,烧录方法在后面有介绍。软件仿真:编译程序后,运行调试,设置断点。下面演示软件仿真方法,跟VC中设置断点,调试软件是一样的。如果你用过VC这样的软件,很容易理解。第1步:在选定行上设置断点。该行前出现红色方块,这是断点的标志。第2步:重新编译程序,方法不再重复第3步:运行调试Start,也可点击工具栏上相应的按钮。快捷键是Ctrl+F5Go,也可以点击工具栏上的按钮。快捷键是F5。可以看到黄色箭头在红色方块上,说明程序运行到断点处停止,这时可以观察寄存器,变量内容等。然后可以单步执行,SETPIN,SETPOVER,等命令。不再累述。运行后,需要退出调试模式,再次点击工具栏Start/StopDebug…按钮。硬件仿真:对初学者用处不大,这里略过,可以参考我的其他文章。四.程序烧写第1步:连接开发板电源,串口线。串口线一端接PC的COM1,一端接开发板。使用USB转串口线时,需要改变软件设置。第2步:先关闭开发板电源,这叫冷启动烧写。第3步:加载HEX文件。注意软件的设置,波特率115200不要改变,COM:COM1,根据具体情况,使用串口转USB线的人可能要选COM3。点击Dowload/下载,直到提示开启开发板电源时,打开开发板电源,烧写开始,几秒钟可就写完成了。下面演示如何使用RTX51,开发多任务应用。(未完)五.总结Keil软件其他设置,可以自已试试,如果有问题,可以发邮件libra_jlu@yahoo.com.cn(此版本未完成,RTX51部分以后补上)感谢你耐心读完