文档介绍:电子科技 2005 年第 8 期(总第 191 期)
C 语言在单片机串口通信中的应用
熊益铭
(国电自动化研究院通信所,江苏南京 210003)
摘要介绍了单片机串行通讯基本知识,及如何利用 MAX3232 扩展单片机配置接口。在此基础上,突破汇
编语言程序的可读性和可移植性差的缺陷,用 C 语言编写了一套接口程序,可根据需要稍加改动,就可以适应各
种实际的应用。
关键词单片机 C 语言;串行通信;RS-232
中图分类号 TP313
管理人员可以用 PC 机连接单片机提供一个 3 支持更高的比特率。
RS-232 串口来配置管理程序。本文以单片机 C 语实际应用中串行通信的实现需要的是标准的
言为基础讨论单片机扩展 RS-232 接口及其程序的接口,RS-232 就是这样的标准接口,它的连接使用
编写。非平衡导线。尽管一个非平衡的状态听起来像是一
些应该避免的东西,在这里它仅仅指导线中信号的
1 微控制器对串口通信的支持
电气特性,信号电压加到一条导线上,所有的信号
微控制器对串口通信的支持主要通过它内部电压都使用一个公共的接地线。
所带的串行通信控制器来实现的,以 Intel 公司的单 8051 异步串口的输入和输出使用的是 5V TTL
[1 2]
片机微控制器 MCS-51 为例, 。是 MCS-51 单片机逻辑电平,而不是 RS-232 电压,所以将 5V 逻辑连
内部结构。包含一个串行传输接口控制器(SCR), 接到一个 RS-232 端口需要进行电平转换。一个简
可以支持全双工的串行通信。该控制器主要包含的寄单的将 5V 逻辑翻译成 RS-232 的方法是使用一个专
存器有串行口控制器 SCON 和特殊功能寄存器为完成这项功能而设计的芯片。Maxim 半导体公司
PCON。SCON 寄存器是一个可寻址的专用寄存器, 是第一家提供了只需要一个+5V 电源的 RS-232 接
用于串行数据的通信控制。PCON 主要是为 CHMOS 口芯片的公司。图 1 是一个扩展例图,其中的
型单片机的电源控制而设置的专用寄存器。 MAX3232 接口芯片是 Maxim 半导体公司所有的
一般的微控制器所带的串行控制器都支持多 RS-232 接口芯片中的一种。实际应用中,它可用其
种工作模式,在使用前要选择自己需要的模式。比他的同类 MAX 芯片或其他公司的同类芯片代替,
如 MCS-51 的就支持 4 种工作模式。模式 0 是同步关键是起到电平转换的目的就可以了。
移位寄存器方式,串行数据都通过 RXD 端输入或
2 C 语言在单片机中的应用
输出,TXD 端输出同步移位脉冲,可以接收/发送 8
位数据位(低位在前)。波特率固定在 fosc/12,主要以前的计算机的系统软件主要是用汇编语言
用于 I/O 口扩展。模式 1 是 8 位异步通讯口,可发编写的,对于单片机应用系统来说更是如此。由于
送或接收 11 位数据,1 个起始位、8 个数据位和 1 汇编语言程序的可读性和可移植性都较差,采用汇
个停止位。波特率是可变的。模式 2 和 3 是异步通编语言编写单片机应用系统程序的周期长,而且调
讯接口,它们支持第 9 个数据位,这