51 单片机和Proteus 虚拟串口调试(原创) 解释下什么是51 单片机和Proteus 虚拟串口调试,就是我们不需要实际的串口进行调试,只需要用protues 加串口,在加串口调试助手就行了。写好单片机串口程序加载到protuse仿真里,这边串口调试助手就有反应。比如我们的程序是单片机通过串口发送数据C 到电脑,然后串口调试助手就回接收到C。也可以有单片机接收数据串口调试助手发送数据。这样不需要实际的串口也可以进行串口调试。 下面就让我们开始吧。 1.首先,需要一个虚拟串口软件Virtu al Serial Ports Driv er XP 5.0 没有的就自己百度下吧。 2.其次是需要虚拟串口调试软件 (串口调试小助手)文件和串口调试的例子。 3、设置虚拟串口(如图) 开始界面(图 1) 图(1) 然后按 add pair 添加串口,添加了COM3 和COM4,执行后如下图 4 、我们启动虚拟串口调试软件 5 、打开自己的仿真图。 这里要特别说明下单片机的RXD 连接COMPIN 的RXD,单片机的TXD 连接COMPIM 的RXD。以我们的经验是 RXD 接TXD,TXD 接RXD。这里我就遇到麻烦了很调试了好久。大家注意。终端串口 VTERM 还是 RXD 接TXD,TXD 接RXD。 6 设置 COMPIM 的属性 我们需要关心的是 Phy sical port、Phy sical Bau d Rate、Virtu al Bau d Rate 这三个栏目,请切记住它们的设定值,特别是波特率的值一定要与源文件(C 程序)规定的值一定,比如我们这里是 9600 则就是因为源文件中设置的就是 9600,在这里我们一定要选择好 COM3,默认是 COM1,一定要注意呀。设置完成这个界面如上图。 7、现在我们又要返回到串口调试小助手。我们需要把串口号和波特率设置,串口号一定记住在 COMPIM 中我们设置成了 COM3,在这里要设置成 COM4 才行,我试了 COM3 是不出现的。波特率一定要与 COMPIM 的波特率设置成一样的。设置如下图。 用的时候记到打开串口。不要到时没出结果,原因都找不到。 8 Keil的设置 一般 Keil里的晶振设置是 24M。 我们最好改成 11.0592M 还有就是Protu es 里也要做相应设置成 11.0592M 1 1 、所有准备工具均已经完成,现在开始运行仿真 终端接收到的数据 串口调试小助手接收到的数据 12 调试原程序 #include #include void delay1ms() { unsigned int i; for(i=500000;i>0;i--); //延时 } Initial_com() { TMOD=0x20; //定时器T1 PCON &= 0xef; SCON=0x50; TH1=0xfd; //波特率设置为9600 TL1=0xfd; TR1=1; //开定时器T1 运行控制位 } main() { Initial_com(); while(1) { SBUF='c'; while(!TI); delay1ms(); delay1ms(); TI=0; } } 本程序只实现了单片机的发射调试小助手接收。