论文部分内容阅读
摘 要:本文通过串行通信实例提出了用PROTEUS实现PC 机和单片机串行通信的仿真方法。
关键词:PROTEUS;PC 机;单片机;串行通信;仿真
中图分类号:TP391.9文献标识码:A
The Serial Communication Simulation Between PC and 51 SCM
TONG Ying-hua
(Computer Department of Qinghai Normal University,Qinghai Xining 810008)
Key words: PROTEUS;PC;SCM;serial communication;simulation
PC机和单片机的串口通信系统的调试一般通过一根串口连接线把带有软件上位机的(PC机)和下位机(即单片机)连接起来进行,用这种调试串口通信程序比较烦琐。本文介绍一种用纯软件PROTEUS实现PC机和单片机串口通信的仿真的方法,所有的调试都在一台电脑上通过软件完成。上位机由PC机代替,下位机由用PROTEUS软件设计的AT89C51单片机仿真电路代替,串口及连接通过由虚拟串口软件Virtual Serial Ports XP5.1进行连接,文章的实例中上位机软件使用串口调试助手,下位机软件是笔者所编写的一个串口测试程序。
1 虚拟串口的设置
安装虚拟串口软件Virtua1 Serial ports XP5.1,然后打开,左边上面的COM1是电脑上实际的物理串口,下面是虚拟串口,在没有设置前是空的。因为电脑最多有两个物理串口,将圆圈里的串口改为COM1,COM3,点击Add pair,这就表示,利用这个软件将计算机的串口1和模拟串口3联接了起来,这两个串口可以进行通信了。
2 下位机电路和程序设计
用Proteus6.9设计的仿真电路只用了几个元器件。由于两个虚拟串口采用相同的标准电平,因此电路中用来作TTL电平向RS232 电平转换的电路在仿真电路中可以省略。单片机的实例程序用Keil C51语言编写,串口接收数据采用中断的方式,发送数据采用外部中断的方式,用按钮开关控制数据的发送。源程序略。
3 串口通信仿真
打开串口调试助手,修改串口为COM3,波特率为2400,校验位为None,数据位8,停止位为1。用Proteus 打开仿真电路文件,先设置AT89C51的属性,右击选中AT89C51,再用左键单击AT89C51,在出现的属性对话框里点击Program File后的打开按钮,找到自Keil源程序编译好的.HEX 文件后单击打开,然后在Clock Frequency 后填写12M,单击OK 接下来打开串口COMPIN的属性对话框,在PhsicalPort后选择COM1, 波特率为2400,校验位为None,数据位8,停止位为1。
设置好后,启动仿真就可以实现电脑和单片机串口通信的仿真了。首先演示一下单片机向计算机的串口发送数据。拨动开关向右拨,运行,按一下开关,虚拟串口终端显示单片机向计算机COM1发送的数据,而计算机的COM1已经和COM3相连,因此可以在COM3收到单片机发送给COM1的数据。接着再演示一下计算机的串口向单片机发送数据。拨动开关向左拨,在串口调试助手V2.2中输入想要发送的数据,点击手动发送,则字符串由COM3发送给了计算机的COM1,再由COM1发送给单片机。单片机的程序里面有回显功能,将接收到的字符串反方向发送给了COM3,因此可以在COM3的接受框内能够接收到会显得字符串。
关键词:PROTEUS;PC 机;单片机;串行通信;仿真
中图分类号:TP391.9文献标识码:A
The Serial Communication Simulation Between PC and 51 SCM
TONG Ying-hua
(Computer Department of Qinghai Normal University,Qinghai Xining 810008)
Key words: PROTEUS;PC;SCM;serial communication;simulation
PC机和单片机的串口通信系统的调试一般通过一根串口连接线把带有软件上位机的(PC机)和下位机(即单片机)连接起来进行,用这种调试串口通信程序比较烦琐。本文介绍一种用纯软件PROTEUS实现PC机和单片机串口通信的仿真的方法,所有的调试都在一台电脑上通过软件完成。上位机由PC机代替,下位机由用PROTEUS软件设计的AT89C51单片机仿真电路代替,串口及连接通过由虚拟串口软件Virtual Serial Ports XP5.1进行连接,文章的实例中上位机软件使用串口调试助手,下位机软件是笔者所编写的一个串口测试程序。
1 虚拟串口的设置
安装虚拟串口软件Virtua1 Serial ports XP5.1,然后打开,左边上面的COM1是电脑上实际的物理串口,下面是虚拟串口,在没有设置前是空的。因为电脑最多有两个物理串口,将圆圈里的串口改为COM1,COM3,点击Add pair,这就表示,利用这个软件将计算机的串口1和模拟串口3联接了起来,这两个串口可以进行通信了。
2 下位机电路和程序设计
用Proteus6.9设计的仿真电路只用了几个元器件。由于两个虚拟串口采用相同的标准电平,因此电路中用来作TTL电平向RS232 电平转换的电路在仿真电路中可以省略。单片机的实例程序用Keil C51语言编写,串口接收数据采用中断的方式,发送数据采用外部中断的方式,用按钮开关控制数据的发送。源程序略。
3 串口通信仿真
打开串口调试助手,修改串口为COM3,波特率为2400,校验位为None,数据位8,停止位为1。用Proteus 打开仿真电路文件,先设置AT89C51的属性,右击选中AT89C51,再用左键单击AT89C51,在出现的属性对话框里点击Program File后的打开按钮,找到自Keil源程序编译好的.HEX 文件后单击打开,然后在Clock Frequency 后填写12M,单击OK 接下来打开串口COMPIN的属性对话框,在PhsicalPort后选择COM1, 波特率为2400,校验位为None,数据位8,停止位为1。
设置好后,启动仿真就可以实现电脑和单片机串口通信的仿真了。首先演示一下单片机向计算机的串口发送数据。拨动开关向右拨,运行,按一下开关,虚拟串口终端显示单片机向计算机COM1发送的数据,而计算机的COM1已经和COM3相连,因此可以在COM3收到单片机发送给COM1的数据。接着再演示一下计算机的串口向单片机发送数据。拨动开关向左拨,在串口调试助手V2.2中输入想要发送的数据,点击手动发送,则字符串由COM3发送给了计算机的COM1,再由COM1发送给单片机。单片机的程序里面有回显功能,将接收到的字符串反方向发送给了COM3,因此可以在COM3的接受框内能够接收到会显得字符串。