单片机串行口概要1.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文档。上传文档
查看更多
单片机串行口概要1

1)方式2发送 发送前,先根据通信协议由软件设置TB8(如奇偶校验位或多机通信的地址/数据标志位),然后将要发送的数据写入SBUF,即启动发送。TB8自动装入第9位数据位,逐一发送。发送完毕,使TI位置“1”。 * 2)方式2接收 SM0、SM1=10,且REN?=?1时,以方式2接收数据。数据由RXD端输入,接收11位信息。当位检测逻辑采样到RXD的负跳变,便开始接收一帧信息。 接收第9位数据后,需满足以下两个条件,才将接收到的数据送入SBUF,且RI置“1”。 。 (1)RI?=?0,意味着接收缓冲器为空。 (2)SM2?=?0或接收到的第9位数据位RB8?=?1。 若不满足这两个条件,接收的信息将被丢弃。 接收数据的条件: 接收中断标志位RI(SCON.0)=0; 允许接收位REN(SCON.4)=1。 什么情况使RI=1: 接收完一帧数据进入移位寄存器,并装载到接收SBUF中。 注:发送缓冲器发送时CPU是主动的,不会产生重叠错误,不需要用双缓冲器结构来保持最大传送速率。 串行口的初始化编程:SCON和PCON SCON(98H):89C51串行通信的方式选择、接收和发送控制以及串行口的状态标志。 7.2.1 串行口控制寄存器SCON ①SM0和SM1——串行口工作方式选择位。对应4种通信方式,其中,fosc是振荡频率。 ②SM2(SCON.5)——多机通信控制位,主要用于方式2和方式3。 允许多机通信,SM2=1 。当一片89C51(主机)与多片89C51(从机)通信时,所有从机的SM2位都置1。主机首先发送的一帧地址,即从机机号,其中第9位为1,所有的从机接收到数据后,将其中第9位装入RB8中。各个从机根据收到的第9位数据(RB8中)的值来决定从机可否再接收主机的信息。若(RB8)=0,说明是数据帧,则使接收中断标志位RI=0,信息丢失;若(RB8)=1,说明是地址帧,数据装入SBUF并置RI=1,中断所有从机,被寻址的目标从机清除SM2以接收主机发来的一帧数据。其他从机仍然保持SM2=1。 若SM2=0,单机通信,接收一帧数据后,置RI=1,将接收到的数据装入SBUF。 根据SM2这个功能,可实现多个89C51应用系统的串行通信。 在方式1时,若SM2=1,则只有接收到有效停止位时,RI才置1,以便接收下一帧数据。在方式0时,SM2必须是0。 ③REN允许接受控制位:由软件置1或清0,只有当REN=1时才允许接收,相当于串行接收的开关;若REN=0,则禁止接收。 只有满足RI=0和REN=1(允许接收)的条件,一帧数据就装载入接收SBUF中。 ④TB8(SCON.3)——发送数据的第9位(D8)装入TB8中。在方式2或方式3中,根据发送数据的需要由软件置位或复位。在许多通信协议中可用作奇偶校验位,也可在多机通信中作为发送地址帧或数据帧的标志位。对于后者,TB8=1,说明该帧数据为地址;TB8=0,说明该帧数据为数据字节。在方式0或方式1中,该位未用。 ⑤RB8(SCON.2)——接收数据的第9位。在方式2或方式3中,接收到的第9位数据放在RB8位。它可以是奇/偶校验位,或是约定的地址/数据标识位。在方式2和方式3多机通信中,若SM2=1,如果RB8=1,说明收到的数据为地址帧。 方式1中,若SM2=0,RB8中存放的是已接收到的停止位。在方式0中,该位未用。 ⑥TI(SCON.1)——发送中断标志。发送完一帧数据被置1。 TI置位意味着向CPU提供“发送缓冲器SBUF已空”的信息,CPU可以准备发送下一帧数据。 在方式0串行发送第8位结束或其他方式串行发送到停止位时由硬件置1,可用软件查询。串行口发送中断被响应后,TI不会自动清0,必须由软件清0。 ⑦RI(SCON.0)——接收中断标志。接收完一帧有效数据后由硬件置1。表示一帧数据接收结束,并已装入接收SBUF中,要求CPU取走数据。RI也必须由软件清0,并准备接收下一帧数据。 在方式0中,第8位数据发送结束时,由硬件置1;在其他三种方式中,当接收到停止位中间时由硬件置1。 串行中断源只有1个,是RI还是TI呢??CPU事先不知道是发送中断TI还是接收中断RI产生的中断请求,所以,在全双工通信时,必须由软件来判别。 复位时,SCON所有位均清0。 7.2.2 电源控制寄存器PCON 7.3 串行口的通信工作方式 7.3.1 工作方式0 1.工作原理 串行口控制寄存器SCON中,SM0、SM1=00时,串行口工作于方式0,此时串行口作为同步移位寄存器使用; 此工作方式并不是单片机之间的串行通信,而是用于单片机串行口外接移位寄存器,实现I/O口的扩展。 串行数据通过引脚RXD输入或输出,而

文档评论(0)

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

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

1亿VIP精品文档

相关文档