利用RS232串口实现数字量的输入输出设计
2017-04-26张珍军于会山
张珍军,于会山*,李 岩
(1.山东省光通信重点实验室,山东 聊城 252000;2.聊城大学 物理科学与信息工程学院,山东 聊城 252000)
利用RS232串口实现数字量的输入输出设计
张珍军1,2,于会山1,2*,李 岩1,2
(1.山东省光通信重点实验室,山东 聊城 252000;2.聊城大学 物理科学与信息工程学院,山东 聊城 252000)
在开发微机控制系统中,要实现PC机与单片机中的串行通信,经常用到的是RS232接口。普通PC机后面的COM端口也就是RS232接口。VB 6. 0提供了MSCOMM通信控件,只需编写少量的程序代码,即可在Windows环境下轻松实现串口的数据交换。本文设计了AT89C52单片机与PC机进行短距离串行通信的软件与硬件电路,并在LCD液晶显示屏上显示PC上发送的信息,成功实现了基于单片机的液晶显示模块接口的开发及字符的显示。
RS232;单片机AT89C51;液晶显示模块;VB6.0;串行通信
1 通信系统
1.1 通信系统的总体设计
通信系统主要由PC机,RS232串口,单片机,液晶显示器组成,PC机软件部分用mscomm控件实现RS232串口相应的设置及通信,用VB 6.0进行界面及内码转换部分的编写。硬件部分用AT89C52单片机实现串口数据的接收及发送,用ST7920芯片控制的12864液晶显示屏来显示接收到的数据。
1.2 通信系统的总体设计
通信系统的总体设计如图1所示。
图1 通信系统设计
1.3 通信系统硬件与软件设计
通信系统硬件与软件设计如图2所示。
图2 通信系统硬件与软件设计
2 系统软件部分设计
2.1 信息发送及接收界面部分
本部分主要是对PC机上的界面进行规划编写,使得发送接收能够有序地进行而不引起冲突,同时也优化人机界面。发送界面如图3所示。
图3 系统的发送界面
软件部分对于com口的控制应用了VB 6.0中的mscomm控件,该控件具有完善的串行数据的发送和接收功能,它不但包括了全部的Windows API中关于串行通信的功能,还提供了更多的对象属性来满足不同用户的编程需要。
2.2 系统硬件部分设计
系统硬件部分设计如图4所示。
图4 系统硬件部分设计
2.3 系统通信电路
由于RS232串口的电气特性与单片机的串行口并不能直接匹配,固本部分通过MAX232芯片与单片机相连。MAX232芯片是MAXIM 公司生产的,芯片包括接收电路和驱动电路。MAX232芯片内部有实现电压电源转换的电路,可以把输入电路的+5V电压值变换为RS232输出电平所需要的电压,其中电压值的范围在-10—10V.所以只需要5V的电源就可以满足串行通信的要求。对于没有-12~+12V 的场合,其适应性更强。为了实现与PC机准确无误的通信,而对单片机串行通信接口进行了相应的初始化,波特率为9 600 Hz、每次传送8位标准数据、无奇偶校验、无起始位如图5所示。
图5 通信电路连接
2.4 液晶显示部分
此部分主要实现将接收到的数据通过液晶显示模块进行显示,液晶显示模块采用ST7920控制的12864液晶显示屏,由于ST7920实际能控制256×64的液晶显示,而本显示屏中只用了其一半资源,因此在向液晶屏中写入数据时要注意它的地址并不是连续的,对于字符显示的坐标是第一行与第三行连续,第二行与第四行连续,对于图形显示坐标上下半屏垂直坐标都为0~32,而水平坐标上半屏为0~7,下半屏为9~15。
3 结语
本文提出了基于AT89C52的单片机与PC互通短消息的方法,研究了串口通信并给出相应的系统框架。在设计通信系统时要全面的考虑通信的两部分之间的情况,使它们能协调工作。另外,由于体积、成本等因素,本设计在性能、功能等方面还存在着诸多不足,有待于进一步提高。
[1]范逸之,陈立元.Visual Basic与RS-232串行通信控制(最新版)[M].北京:清华大学出版社,2002.
[2]鞠冬生.VB中实现汉字内码与区位码的转换.[J].电脑开发与应用,2011(11):30.
[3]马凤铭.基于ST7920 控制器的液晶显示模块的应用技巧[J].鞍山师范学院学报,2011(6):12-16.
[4]王栋.Visual Basic程序设计实用教程[M].北京:清华大学出版社,2007.
[5](美)FRANCESCO B.Programming Microsoft Visual Basic 6.0[M].USA:Prentice Hall Business Publishing,2000.
Realization of digital input and output design with the help of RS232 serial port
Zhang Zhenjun1,2, Yu Huishan1,2*, Li Yan1,2
(1.Shandong Provincial Key Laboratory of Optical Communication, Liaocheng 252000, China; 2.School of Physics Science and Information Technology, Liaocheng University, Liaocheng 252000, China)
To achieve the serial communication between the PC and the microcontroller,the RS232 interface,the COM port behind our ordinary PC,has often been used in the development of microcomputer control system. VB6.0 provides MSCOMM communication controls, and we just need to write a small amount of program code so that the serial data exchange in the Windows environment will be easily realized.This paper designs the software and hardware circuit of short distance communication between AT89C52 microcomputer and PC, and displays the information sent on PC on the LCD screen,which has successfully realized the development of LCD module interface and the display of the characters based on the microcomputer.
RS 232; AT89C52 microcomputer; LCD module; VB 6.0; serial communication
张珍军(1992— ),男,山东聊城,硕士研究生;研究方向:人工智能与应用。
*通讯作者:于会山(1964— ),男,山东聊城,教授,硕士生导师;研究方向:信号处理。