0 引言
通信即是不同的设备通过线路互相交换数据,其主要目的在于将数据从某端传送到另一端,实现数据的交换。通常有并行和串行两种方式,由于并行传输方式在数据电压传送的过程中容易因线路的因素而使得电压准位发生变化(衰减、线路互相干扰),而串行通信方式则能很好的解决这些问题,因此在工业应用中绝大多数使用串行通信。UART(通用异步收发器/串口/RS-232),早期它被政府用于计算机与终端通过电话线和MODEM进行远距离的数据传输,随着计算机和微控制器的发展,近距离也采用该通信方式。目前PC机与电子通信中应用最广泛的一种串行接口,RS-232被定义为一种在低速率串行通信中增加通信距离的单端标准。
1 RS-232接口介绍
RS-232C标准(协议)的全称是EIA-RS-232C标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(Recommend ed Standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。它规定连接电缆和机械、电气特性、信号功能及传送过程。
EIA-RS-232C是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIA-RS-232C与TTL电路之间进行电平和逻辑关系的变换。RS232引脚定义如表1所示。
表1 RS232引脚定义
RS-232-C串行接口总线适用于:设备之间的通信距离不大于15m,传输速率最大为20kbps,规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。
2 MCS-51串行接口结构
8051单片机串行接口是一个可编程的全双工串行通信接口。它可用作异步通信方式(UART),与串行传送信息的外部设备相连接,或用于通过标准异步通信协议进行全双工的8051多机系统也能通过同步方式,使用TTL或CMOS移位寄存器来扩充I/O口。
8051单片机通过管脚RXD(P3.0,串行数据接收端)和管脚TXD(P3.1,串行数据发送端)与外界通信。SBUF是串行口缓冲寄存器,包括发送寄存器和接收寄存器。它们有相同名字和地址空间,但不会出现冲突,因为它们两个一个只能被CPU读出数据,一个只能被CPU写入数据。
2.1 串行口控制寄存器SCON
串行口寄存器用于定义串行口的工作方式及实施接收和发送控制。字节地址为98H,其各位定义如表2:
表2 串行口控制器各位定义
SM0、SM1:串行口工作方式选择位,其定义如下:
表3 串行口控制器各位定义
其中Fosc为晶体震荡器频率
SM2:多机通信控制位。
REN:接收允许控制位。
TB8:是要发送数据的第9位。
RB8:接收到的数据的第9位。
TI:发送中断标志。
RI:接收中断标志位。