PC机与多机与多MCS--51单片机间的串行通信设计单片机间的串行通信设计
IBM-PC机(上位机)与各MCS-51单片机(下位机)之间的通信非常重要。本文主要探讨它们之间的远距离
串行通信接口和软件程序设计。
1 引言
在测控系统和工程应用中,常遇到多项任务需同时执行的情况,因而主从式多机分布式系统成为现代工业广泛应用的模式。它
们大多由IBM-PC微机和MCS-51单片机组成。单片机功能强、体积小、价格低廉、开发应用方便,尤其具有全双工串行通
讯的特点,在工业控制、数据采集、智能仪器仪表、家用电器方面都有广泛的应用。同时,IBM-PC机正好补充单片机人机
对话和外围设备薄弱的缺陷。各单片机独立完成数据采集处理和控制任务,同时通过通信接口将数据传给PC机,PC机将这些
数据进行处理、显示或打印,把各种控制命令传给单片机,以实现集中管理和最优控制。
故IBM-PC机(上位机)与各MCS-51单片机(下位机)之间的通信显得尤其重要。本文主要探讨它们之间的远距离串行通
信接口和软件程序设计。
2硬件设计接口
RS-232-C串行通信接口是美国电气工业协会(EIA)与BELL公司等一起开发的一种标准通信协议,现在它在终端、外设与
计算机中被广泛采用。该标准规定了21个信号和25个引脚,但在智能仪器与计算机之间的通信中常用2个信号及3个引脚(2脚
数据输入,3脚数据输出,7脚信号地)。它采用双极性的负逻辑信号,0逻辑信号为+3V至12V,1逻辑信号为-3V至-
12V,它的传输速率最大为20kbit/s,传输距离仅为15m。由于RS-232主要是完成电平移位、转换和信号反相等,所以它有
自己的电平转换与驱动芯片,如MC1488(发送)与MC1489(接受)。IBM-PC机有两个标准的RS-232串行口,其电平采
用的是EIA电平,而MCS-51单片机的串行通信是由TXD(发送数据)和RXD(接收数据)来进行全双工通信的,它们的电
平是TTL电平,为了PC机与MCS-51机之间能可靠地进行串行通信,需要用电平转换芯片。由于MC1488和MC1489需要
±12V、+5V电源供电,故采用MAXIM公司生产的低功耗、单电源的MAX232芯片,因为它自身带有电源电压变换器,可以把
+5V电源变换成RS-232输出电平所需的±10V电压,能实现RS-232的技术指标,并只需要+5V的电源,为串行通信带来了
较好的性能和低廉的价格。MAX232的接口电路图如图2所示。
PC机采用可编程串行异步通信控制器8251A来实现,通过对INS8251A初始化可以控制串行数据传送格式和速度及其工作方
式,使得它与单片机的通信方式一致,从而实现PC机与单片机之间的通信。MCS-51和8251A的连接图见图3。