网站大量收购独家精品文档,联系QQ:2885784924

精品第7章MCS-51的串行口.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章MCS-51的串行口

第7章 MCS-51的串行口 全双工的异步通讯串行口 4种工作方式 ,波特率由片内定时器/计数器控制。 每发送或接收一帧数据,均可发出中断请求。 7.1 串行口的结构 串行口内部结构如下图,两个物理上独立地接收和发送缓冲器,可同时收、发数据。 两个缓冲器共用一个特殊功能寄存器字节地址:SBUF(99H)。 控制寄存器共两个:特殊功能寄存器SCON和PCON。 7.1.1 串行口控制寄存器SCON 字节地址98H,可位寻址,格式如图所示。 (1)SM0、SM1——串行口4种工作方式的选择位 表 串行口的4种工作方式 SM0 SM1 方式 功 能 说 明 0 0 0 同步移位寄存器方式(用于扩展I/O口) 0 1 1 8位异步收发,波特率可变(由定时器控制) 1 0 2 9位异步收发,波特率为fosc/64或fosc/32 1 1 3 9位异步收发,波特率可变(由定时器控制) (2)SM2 ——多机通信控制位 用于方式2或方式3中。 当串行口以方式2或方式3接收时, 如果SM2=1,只有当接收到的第9位数据(RB8)为“1”时,才将接收到的前8位数据送入SBUF,并置“1” RI,产生中断请求;当接收到的第9位数据(RB8)为“0”时,则将接收到的前8位数据丢弃。 如果SM2=0,则不论第9位数据是“1”还是“0”,都将 前8位数据送入SBUF中,并置“1” RI,产生中断请求。 (3)REN——允许串行接收位 由软件置“1”或清“0”。 REN=1 允许串行口接收数据。 REN=0 禁止串行口接收数据。 (4)TB8——发送的第9位数据 方式2和3时,TB8是要发送的第9位数据。其值由软件置1或清0。在双机通信时,TB8一般作为作为奇偶校验位使用;在多机通信中用来表示主机发送的是地址帧还是数据帧,TB8=1为地址帧, =0为数据帧。 (5)RB8——接收到的第9位数据 方式2和3时,RB8存放接收到的第9位数据。 (6)TI——发送中断标志位 TI=1,表示一帧数据发送结束,可供软件查询,也可申请中断。CPU响应中断后,在中断服务程序中向SBUF写入要发送的下一帧数据。TI必须由软件清0。 (7)RI——接收中断标志位 RI=1,表示一帧数据接收完毕,并申请中断,要求CPU从接收SBUF取走数据。该位的状态也可供软件查询。RI必须由软件清“0”。 7.1.2 特殊功能寄存器PCON 字节地址为87H,没有位寻址功能。 SMOD:波特率选择位。 例如:方式1的波特率的计算公式为: 方式1波特率=(2SMOD/32)×定时器T1的溢出率 当SMOD=1时,要比SMOD=0时的波特率加倍,也称SMOD 位为波特率倍增位。 7.2 串行口的4种工作方式 7.2.1 方式0 同步移位寄存器输入输出方式。(略) 7.2.2 方式1 SM0、SM1=01。用于数据的串行发送和接收。TXD脚和RXD脚分别用于发送和接收数据。 方式1收发一帧的数据为10位,1个起始位(0),8个数据位,1个停止位(1),先发送或接收最低位。帧格式如图所示。 ` 波特率由下式确定: 方式1波特率= (2SMOD/32) ×定时器T1的溢出率 SMOD为PCON寄存器的最高位的值(0或1)。 1.方式1发送 方式1输出时,数据位由TXD端输出, 一帧信息为10位,1位起始位0,8位数据位(先低位)和1位停止位1。 当CPU执行一条数据写发送缓冲器SBUF的指令,就启动发送。8位数据位全部发送完毕后,置“1”中断标志位TI。 7.2.3 方式2 9位异步通信接口。每帧数据均为11位,1位起始位0,8位数据位(先低位),1位可程控的第9位数据和1位停止位。帧格式见下图。 方式2的波特率由下式确定: 方式2波特率= (2SMOD/64)×fosc 1.方式2发送 发送前,先根据通讯协议由软件设置TB8(例如,双机通讯时的奇偶校验位或多机通讯时的地址/数据的标志位)。 例7-1 方式2发送在双机通讯中的应用。 下面的发送中断服务程序,是在双机通讯中,以TB8作为奇偶校验位,处理方法为数据写入SBUF之前,先将数据的奇偶校验位写入TB8,以保证采用偶校验发送。 PIPTI: PUSH PSW ;现场保护 PUSH Acc SETB RS1 ;选择第2组工作寄存器区 CLR RS0 CLR TI ;发送中断标

文档评论(0)

rovend + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档