APP下载

51单片机与PC机串口通信的仿真与实现

2018-12-22李健

电脑知识与技术 2018年32期
关键词:波特率PC机助手

李健

摘要:介绍了利用几种常见软件实现的51单片机与PC机串口通信的仿真过程,可以在单片机课程的理论教学中加以应用,具有效率高、成本低等优点,有助于教师的教学和学生对知识的掌握和应用。

关键词:51单片机;PC机;串口通信;仿真

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)32-0038-02

在实际应用中,单片机与PC机间的通信非常普遍[1]。这时单片机主要完成现场数据采集和设备监控[2],PC机接收单片机发来的数据进行分析、处理,并对结果再次发送单片机进行现场控制等。笔者在单片机课程的理论教学中,由于课堂上受到条件的约束,采用了纯软件的方法对单片机串口通信进行仿真和演示,便于实现和让学生理解。下面通过一个实例来介绍51单片机与PC机之间串口通信的仿真与实现过程。

1 所需软件

使用到的软件有:VSPD、Proteus、Keil和串口助手[3]。VSPD是一个虚拟串口小软件,可以虚拟出一对串行接口用于仿真;Proteus是一款流行的单片机仿真软件,用于建立串口通信仿真电路;Keil是用于编写单片机程序的软件;串口助手是用于上位机即PC机的软件,用来向单片机发送数据,或者接收单片机发送来的数据并进行显示。

2 设计与仿真过程

预期实现的功能为:PC机通过串口助手向单片机发送一个字节数据,单片机接收到后将数据的二进制形式通过八个数码管的亮灭显示出来,接收的“1”对应的灯亮,接收的“0”对应的灯灭。同时单片机将接收的数据发回给PC机,PC机将数据在串口助手中再显示出来。

2.1 利用Proteus设计仿真电路

如图1所示,在Proteus软件中选用AT89C51单片机、COMPIM、电阻和发光二极管组成仿真电路。COMPIM在仿真中相当于PC机上配置的RS232标准串行接口,为D型九针插座[4]。在实际中,单片机和PC机之间需要通过MAX232芯片进行电平转换才能连接,但在仿真图中可以直接将两者的RXD(接收数据)和TXD(发送数据)连接起来进行串行通信。本次仿真中,单片机程序中设置的串口波特率为9600,虚拟串口软件中建立连接的串口号为COM1和COM5,所以需要修改COMPIM的属性,将两处的串口号都修改为COM1,波特率修改为9600。

2.2 利用Keil编写单片机程序

完成电路的设计后,再利用Keil软件根据电路和预期的功能编写单片机程序,主要利用单片机的串口中断方法实现,具体代码见图2所示。

2.3 利用VSPD建立虚拟串口连接

如图3所示,利用虚拟串口软件VSPD新建一对串口连接,选择的是串口号是COM1和COM5。在图2的单片机程序中设置了串口的波特率为9600,图1的COMPIM也修改了属性,一旦Proteus软件和串口助手软件(串口号为COM5)运行后两串口号后面的参数都会显示出来,见图3的左侧Virtual ports一栏。

2.4 利用串口助手进行调试和验证

如图4所示,将Proteus软件运行起来,和串口助手并列,进行仿真对比,检验串口通信是否实现。串口助手上方为接收缓冲区,中间为发送缓冲区,下方为参数设置等。先将下方的串口号改为COM5,波特率改为9600。然后点击左下角的“打开串口”按钮(打开后显示“关闭串口”,图中为已打开状态),在发送缓冲区填入“86”(当前为HEX模式,即发送十六进制数据86)后,点击“发送数据”按钮。在图4 Proteus软件里根据八个发光二極管亮灭情况可以看出显示的正好是86,说明单片机接收数据正确,同时很快串口助手的接收缓冲区也显示了86,说明单片机也将数据发回给PC机,实现了串口通信功能。

3 结论

本文利用几种常见的软件实现了51单片机与PC机之间的串口通信仿真,具有效率高,成本低等优点,实践证明可以在单片机课程的理论教学中加以应用,有助于学生对该处知识点的理解与掌握。但在实践课程中需要注意要求学生对完整电路的设计和制作,达到学以致用的目的。

参考文献:

[1] 李全利. 单片机原理及接口技术[M]. 北京:高等教育出版社,2009:182-186.

[2] 曾维鹏,蔡莉莎,林尔敏. 基于VC++及Proteus的上、下位机串口通信仿真技术[J]. 镇江高专学报,2013.10:74-76.

[3] 赵晓东,张丽梅. 51单片机串口通信仿真的纯软件实现[J]. 科技信息,2011.12:245.

[4] 张毅刚,赵光权,张京超. 单片机原理及应用——C51编程+Proteus仿真(第二版)[M]. 北京:高等教育出版社, 2016:254-259.

【通联编辑:王力】

猜你喜欢

波特率PC机助手
基于FPGA的异步串行通信波特率容错设计
基于PC机与单片机的多机通信技术及抗干扰方法
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
VC.NET下实现dsPIC单片机与PC机的通信
排除OLT设备登录故障
小助手
灵感助手表彰大会(二)
灵感助手表彰大会(一)
C*Core芯片SCI串口波特率容限优化
计算机多设备接口波特率不匹配的研究