串行通信是数据通信的主要方式之一。由于其连线少、成本低,再加上有调制/解调功能,因而特别适合于距离较远且通信点较多的场合。PC机中一般都有l~2个标准RS232C串行口,利用这些串行口,PC机可以与其它数设备进行数据通信。
MCS-51单片机内含有一个全双工的串行口,即第10脚RXD(接收)和第11脚TXD(发送)。但是,由于MCS-51的串行口并非标准的RS232C接口,因此它同PC机进行串行通信时存在许多技术问题,硬件连接是其中一个主要方面。笔者根据实践经验,总结出几种连接方法,供广大同行参考。
一、采用RS232C标准
RS232C标准是最常用的一种串行通信标准。采用这种标准,连线简单、元件少、成本低,MCS-51单片机与PC机的通信距离可达15m左右。
由于MCS-51单片机的串行口采用TTL电平,因此单片机与PC机通信前先要进行电平转换。以前常用MC1488(输出)和MC1489(输入)来完成,但是这两个集成电路分别只完成输入、输出中的一个功能,而且MC1488采用±12V电源,很不方便,现在市场上有种ICL232集成片,双列16脚,它将输入、输出电平转换功能集于一身,而且电源采用+5V,和单片机一致,非常方便。其连接方法见图1。

图中,PC机串行口为9针,第2脚为接收数据,第3脚为发送数据,第5脚为信号地。另外第7脚RTS-(请求发送,输出)与第8脚CTS-(清除发送,输入),以及第6脚DSR-(数据装置准备好,输入)与第4脚OTR-(数据终端准备好,输出)分别连接在一起,这主要是因为PC机中BIOS中的INT14H(串行通信程序)在接收和发送数据时均要判别CTS-和DSR-是否有效,而这样连线可“骗”过计算机。如果PC机串行口为25针,则为第4脚RTS-与第5脚CTS-,第6脚DSR-与第20脚DTR-分别连接在一起,第2脚为发送数据;第3脚为接收数据,第7脚为信号地。如果用户自己编制PC机通信程序,采用判断收/发缓冲区是否满/空的办法来完成数据输入/输出,则可不必短接。
二、采用RS422A标准
采用RS232C标准的连线方法传送距离只能是15m左右。而且在传输过程中,如果传输速率过高,或者现场有干扰源,系统传输的误码率就会升高。有效的方法是采用光电耦合器和75系列通信专用的双绞线收发器,进行总线变换,转换成RS422A标准总线。
转换电路见图2,由于这种总线标准采用双绞线共模输出,比RS232C具有更高的抗干扰能力,因此是一种适合工业控制的总线标准。它能以1Mbps的波特率传送数据,通信距离可达1km。

三、采用MODEM
对于传输距离要求更远的系统,如远程控制、异地数据采集等,可以使用MODEM来完成通信任务。其连接方法见图3。

由于MODEM也是采用RS232C电平,因此在MODEM与MCS-51之间也要加入232电平转换电路。但是MODEM的输出电平较高,其低电平信号的幅值也在6V以上,远远超过了ICL232集成片的输入低电平信号幅值容限,无法直接进行通信。因此要加入图3中虚线部分电路。其作用为将MODEM输出给ICL232的高低电平信号转换成ICL232所能正确接收的电平值。另外,通信前要将双方的MODEM先拨号对通。
以上为MCS-51单片机与PC机的串行通信提供了三种连接方法。当然,通信的成功还与波特率的设置、双方数据格式的统一、同步等许多因素有关。一种成功的通信方式应该考虑到功能的齐全性、系统的可靠性、成本的可行性等多方面因素。(姜骁)