学习单片机的朋友都知道,程序最终都要到用户板上运行,如果在制作初期或学习时能有一个好的仿真环境,往往能起到事半功倍的效果。软件仿真对于初学者来说不是很直观,而市面上出售的仿真器不是功能简单就是价格贵,本人也曾深受其苦。为了摆脱这一困境,本人设计一款多功能仿真板,在一块板上可以完成数码管显示、液晶显示、PC-MCU通讯、MCU-MCU通讯、ATMEL24CXX系列读写、LED闪灯演示、外部中断演示、蜂鸣器呜响、音乐输出等等,另外还有很多可以重复利用的1/0口;该板还可以出借电源给外设控制电路。经过一段时间的使用,感觉十分方便,为此,特将制作方法介绍给大家,希望能对各位学习单片机的朋友有所帮助。
仿真板外形见下图,在一块90x100mm的板上集中了1个5位数码管、1个LCD模块接口、1个40位锁紧座、8个LED、1片24CXX插座、1个蜂鸣器、2个外中断部开关、1片LM386、1个35输出插座、1片MAX232、2个通讯接口以及1片74LS04和众多的I/O接口、布局排列非常整齐美观。

电路原理
电路原理见下图,从图中可以看出,89C51的Pl口全部用作了LED显示,可以用来作为闪灯演示;另外,仿真板上留有8个插针可以做为I或者0与外部设备连接。P3口的RXT和TXD作为通讯用,另外加接了一片MAX232作为与PC机通讯的电平转换用,其中,Portl为单片机与单片机通讯接口;Port2为单片机与PC机的通讯接口。P3.2和P3.3为2个外部中断,Port3为外部中断的外设接口。P3.4为蜂鸣器输出和音乐输出共用端口,通过一拨动开关控制蜂鸣器输出或音乐输出;音乐信号由LM386放大后经由Port4输出。P3,5和P3.6作为ATMEL24CXX的读写端口,其中P3.5为SCL,P3.6为SDA。另外P3.4和P3.5引出了2个接口作为外部计数器输入用。P3.7经过一反相器控制液晶显示屏的背光灯。PO口全部作为数码管的段码输出和液晶屏的数据输出,另外还可以作为外设的I/O口用。
P2.0-P2.4经反相器反相后用作5位数码管的位码输出,P2.5-P2.7作为LCD的控制端口。至此,89C51的所有端口已全部用完,由于有许多I/O口我们已重复利用,至使电路可以完成上述的所有功能。


RET
2、中断应用 中断应用时还是用上述的闪灯程序,作如下改动便可以,此时按下SW1则Pl口8只LED来回闪烁:

3、数码管显示
数码管显示时输入以下程序,接通电源时5位数码管显示“12345”:


4、PC-MCU通讯
通讯程序的PC机用VB编写,PC发送1个字节的数据给MCU.MCU收到后将此数据输出到P1口。PC机只需1个文本框和1个按钮,在文本框中输入1个字节的数据后按下按钮,即可看到仿真板上P1口LED显示出该字节数据的二进制数。
要注意的是MCU和PC的波特率一定要设定相同,为了得到准确的波特率,所以我们的晶振采用了11.0592MHz。


下图为印刷板图
