新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 89C51单片机I/O口模拟串行通信实现方法

89C51单片机I/O口模拟串行通信实现方法

作者:时间:2010-01-20来源:网络收藏

目前普遍采用的MCS51 和PIC 系列通常只有一个(或没有)UART异步接口,在应用系统中若需要多个接口(例如在多机系统中,主机既要和从机又要和终端通信)的情况下,通常的是扩展一片8251 或 8250 通用同步/异步接收发送芯片(USART),需额外占用 资源。本文介绍一种用普通通信的,可在单片机的最小应用系统中与两个以上串行接口设备的多机通信。

本文引用地址:http://www.eepw.com.cn/article/157663.htm

  1.串行接口的基本通信方式

串行接口的有异步和同步两种基本通信方式。异步通信采用用异步传送格式,如图1 所示。数据发送和接收均将起始位和停止位作为开始和结束的标志。在异步通信中,起始位占用一位(低电平),

异步通信采用用异步传送格式

异步通信采用用异步传送格式

  用来表示字符开始。其后为7 或8 位的数据编码,第8 位通常做为奇偶校验位。最后为停止位(高电平)用来表示字符传送结束。上述字符格式通常作为一个串行帧,如无奇偶校验位,即为常见的N.8.1帧格式。串行通信中,每秒传送的数据位称为波特率。如数据传送的波特率为1200 波特,采用N.8.1 帧格式(10 位),则每秒传送字节为120 个,而字节中每一位传送时间即为波特率的倒数:T=I/1200=0.833ms。同样,如数据传送的波特率为9600 波特,则字节中每一位传送时间为T=1/9600=0.104 ms。

  根据数据传送的波特率即字节中每一位的传送时间,我们便可用普通 口来串行通信的时序。

  2.硬件电路

单片机通过普通I/O 口与PC 机RS232 串口实现通信的硬件接口电路如图2 所示。由于PC 系列微机串行口为RS232C 标准接口,与输入、输出均采用TTL 电平的 单片机在接口规范上不一致,因此TTL电平到RS232 接口电平的转换采用MAXIM 公司的MAX232 标准RS232接口芯片,该芯片可以用单电压(+5V)实现RS232接口逻辑“1”(-3V~215V)和逻辑“0”(+3V~15V)的电平转换。图中 的P1.0 发送端,P1.1 接收端。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭