89C51单片机IO口模拟串行通信的实现方法.PDFVIP

89C51单片机IO口模拟串行通信的实现方法.PDF

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
89C51单片机IO口模拟串行通信的实现方法

89C51 单片机 I/O 口模拟串行通信的实现方法 ·严天峰 · 目前普遍采用的 MCS51 和 PIC 系列单片机通常只有一个(或没有)UART 异步串行通信接口,在应用系统中若需要多个串行接口(例如在多机通信系 统中,主机既要和从机通信又要和终端通信)的情况下,通常的方法是扩展 一片 8251 或 8250 通用同步/异步接收发送芯片(USART),需额外占用单 片机 I/O 资源。本文介绍一种用单片机普通 I/O 口实现串行通信的方法,可 在单片机的最小应用系统中实现与两个以上串行接口设备的多机通信。 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。 根据数据传送的波特率即字节中每一位的传送时间,我们便可用普通 I/O 口 来模拟实现串行通信的时序。 2.硬件电路 89C51 单片机通过普通 I/O 口与 PC 机 RS232 串口实现 通信的硬件接口电路如图 2 所示。由于 PC 系列微机串行口为 RS232C 标准 接口,与输入、输出均采用 TTL 电平的 89C51 单片机在接口规范上不一致, 因此 TTL 电平到 RS232 接口电平的转换采用 MAXIM 公司的 MAX232 标准 RS232 接口芯片,该芯片可以用单电压(+5V)实现 RS232 接口逻辑“1”(-3V~ 1 15V)和逻辑“0”(+3V~15V)的电平转换。图中 89C51 的 P1.0 模拟发送 端,P1.1 模拟接收端。 ② 3.接口程序设计 软件设计中,89C51 单片机的 P1.0 和 P1.1 口分别 模拟串行通信的发送和接收,其接口程序主要由 INPUT 发送子程序和 OUTPUT 接收子程序组成。通信速率 1200 bit /s,帧格式为 N.8.1。发送时, 先发送一个起始位(低电平),接着按低位在先的顺序发送 8 位数据,最后 发送停止位。接收时,先判断 P1.1 接收端口是否有起始低电平出现,如有 则按低位在先的顺序接收 8 位数,最后判断 P1.1 口是否有停止高电平出现, 如有则完成一个数据接收,否

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档