第11节 C51串行接口程序设计.pptVIP

  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文档。上传文档
查看更多
第11章 C51串行接口程序设计 51系列单片机提供了功能强大的全双工串行通信接口,可以方便地实现多机通信或单片机与计算机之间的通信。由于串行接口简单,需要的传输线少,其已经成为单片机与外部设备之间进行数据通信的主要途径。特别是在远程通信和分布式控制系统中,是单片机之间通信以及单片机和计算机之间通信的主要方式。 本章主要介绍了51系列单片机串行通信接口的结构、特殊功能寄存器。本章结合串行端口的4种工作模式,详细介绍了4种工作模式的波特率设计及其C51程序设计。 11.1 51系列单片机的串行接口 51系列单片机内部集成的全双工串行通信接口电路,常称为UART。该串行接口电路功能很强,不仅可以进行串行异步数据的发送和接收,也可以作为一个同步移位寄存器使用。 11.1.1 单片机串行通信概述 单片机和外部设备可以采用并行通信和串行通信两种方法进行数据传输。这两种数据传输方式分别如图所示。其中,并行通信是指数据的各个二进制位同时进行传输。并行通信传输速度快,效率高,缺点是需要比较多的数据线,易受外界干扰,传输距离不能太远。串行通信是指数据的各个二进制位按照顺序一位一位地进行传输。串行通信所需的数据线少,节省硬件成本以及单片机的引脚资源,并且抗干扰能力强,适合于远距离数据传输,其缺点是每次发送一个比特,导致传输速度慢,效率比较低。 11.1.2 单片机串行接口的内部结构 51系列单片机的全双工串行口主要由数据发送缓冲器、发送控制器TI和接收控制器RI等组成,其结构如图所示。 11.1.3 串行接口控制寄存器SCON 串行控制寄存器SCON的格式及各位的含义,如图所示。控制寄存器SCON的字节地址为98H,可进行位寻址。该寄存器用于选择串行通信的工作方式和某些控制功能,包括接收/发送控制及设置状态标志等。下面分别介绍各位的用途。 11.1.4 特殊功能寄存器PCON 特殊功能寄存器PCON的格式,如图所示。PCON的单元字节地址为87H,不可以进行位寻址。特殊功能寄存器PCON用于CHMOS型单片机中进行电源控制,也称为电源控制寄存器。下面分别介绍各位的含义。 11.2 串行口工作模式0的C51程序设计 51系列单片机串行口的工作模式0是同步移位寄存器输入/输出方式,模式0的数据帧格式,如图所示。从图中可以看出,模式0中的数据以8位为一帧,没有起始位和停止位,发送时低位在前,高位在后。在程序中可以设置控制寄存器SCON的SM0=0和SM1=0来将串行口设置为工作模式0。 11.2.1 模式0的波特率 8051单片机在串口模式0下,每个机器周期产生一个移位时钟,对应着一个比特数据的发送和接收。因此,此时波特率固定为8051单片机振荡频率的1/12,其波特率的计算公式如下: 串口模式0波特率=fosc/12 例如,对于24MHz的外部晶体振荡频率,模式0可以获得24MHz /12=2Mbit/s的波特率。 同时,在串口模式0下,波特率不受波特率倍增位SMOD的影响。因此,在C51程序设计时只要指定串口工作于模式0便完成了串口速率的设置,而无需再设置波特率。 11.2.2 模式0的数据发送及C51程序设计 对于模式0的数据发送,单片机的TXD引脚都用于发送同步移位脉冲,而8位串行数据是通过单片机的RXD引脚来输出。 1.模式0的数据发送流程 2.采用查询方式的模式0数据发送C51程序设计 3.采用中断方式的模式0数据发送C51程序设计 14.2.3 模式0的数据接收及C51程序设计 对于模式0的数据接收,单片机的TXD引脚都用于发送同步移位脉冲,而8位串行数据是通过RXD引脚来输入。 1.模式0的数据接收流程 2.采用查询方式模式0数据接收的C51程序设计 3.采用中断方式模式0数据接收的C51程序设计 11.3 串行口工作模式1的C51程序设计 串行口的工作模式1是波特率可变的串行异步通信方式,工作模式1下数据帧的格式,如图11.10所示。数据帧由10位组成,按顺序分别为起始位、8位数据位、停止位。数据在传输时,低位在前,高位在后。在程序中可以设置控制寄存器SCON的SM0=0和SM1=1来将串口设置为工作模式1。 11.3.1 模式1的波特率 串口的工作模式1为10位异步发送接收方式。其串行移位时钟脉冲由定时器T1的溢出率来决定,因此,波特率由定时器T1的溢出率和波特率倍增位SMOD来共同决定。模式1的波特率计算公式如下: 模式1波特率=T1溢出率·2SMOD/32 设置模式1的波特率,需要对定时器T1进行工作方式设置,以便于得到需要的波特率发生器。一般使T1工作于模式2,此时为初值自动加载的定时方式。如果计数器的初始值为X,则每过256-X个机器周期的时候,定时器T1便将产生一次溢出,溢出的周期为(256-X)

文档评论(0)

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

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

1亿VIP精品文档

相关文档