- 1、本文档共74页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]第6章 51单片机串行通信
字节 数据 说明 1 前导符 发送AA 2 模拟量1高位 低4位有效 3 模拟量1低位 8为有效 4 模拟量2高位 低4位有效 5 模拟量2低位 8位有效 6 开关量1 8位有效,1代表开关断,0代表开关通 7 开关量2 8位有效,1代表开关断,0代表开关通 8 结束符 发送FF 6.3 51单片机的串行通信口 6.3.1 51单片机的串行口和控制寄存器 1. 串行口控制寄存器 51单片机串行口寄存器结构如下图所示。其中SBUF为串行口的收发缓冲器,它是一个可寻址的专用寄存器,其中包含了接收器和发送器寄存器,可以实现全双工通信。但这两个寄存器具有同一地址(99H)。 从图中可看出,接收缓冲器前还加上一级输入移位寄存器,这种结构目的在于接收数据时避免发生数据帧重叠现象,以免出错。而发送数据时就不需要这样结构,因为发送时是程序控制的,不可能出现数据重叠现象。 图6-13 51单片机的串口结构图 (1)串行通信控制寄存器SCON: SCON控制寄存器是一个可寻址的专用寄存器,用于串行数据的通信控制,单元地址是98H。 SCON D7 D6 D5 D4 D3 D2 D1 D0 ? SM0 SM1 SM2 REN TB8 RB8 TI RI 位地址 9FH 9EH 8DH 9CH 9BH 9AH 99H 98H 其中: SM0、SM1:串行口工作方式控制位。SM0,SM1定义了串行口的工作模式: SM0,SM1 工作模式 说明 00 模式0 同步通信 01 模式1 8位异步通信 10 模式2 9位异步通信 11 模式3 9位异步通信 SM2:多机通信控制位。 多机通信是工作于模式2和模式3,SM2位主要用于模式2和模式3。在接收状态,当串行口工作于模式2或3,同时SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接收到的数据放弃。当SM2=0时,就不管第9位数据是0还是1,都把数据送入SBUF,并发出中断申请。 工作于模式0时,SM2必须为0。 REN:允许接收位。 REN用于控制数据接收的允许和禁止,REN=1时,允许接收,REN=0时,禁止接收。TB8:发送接收数据位8。 在模式2和模式3中,TB8是要发送的第9位数据位。在多机通信中同样也要传输这一位,并且它区分地址与数据,TB8=0为发送数据,TB8=1时为发送地址。 RB8:接收数据位8。 在模式2和模式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征。 TI:发送中断标志位。 TI是可寻址标志位。模式0时,发送完第8位数据后,由硬件置位,其它模式下,在发送停止位之前由硬件置位,因此,TI=1表示帧发送结束,TI必须由软件清“0”。 RI:接收中断标志位。 RI是可寻址标志位。在模式0,接收完第8位数据后,该位由硬件置位;在其他工作模式下,串行接收到停止位的中间点时置1,该位由硬件置位,RI=1表示一帧接收完成。该位必须由软件清“0”。 2)电源管理寄存器PCON PCON主要是为单片机的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如表所示其中只有一位与串行通信有关。 PCON D7 D6 D5 D4 D3 D2 D1 D0 位符号 SMOD ? ? ? ? ? ? ? 字节地址 87H ? ? ? ? ? ? ? SMOD是串行口波特率选择位,当SMOD=1时,串行口波特率加倍。系统复位默认为SMOD=0。 (3)中断允许寄存器IE 中断允许寄存器IE中对串行口有影响的位是ES。ES为串行中断允许控制位,ES=1允许串行中断,ES=0,禁止串行中断。 PCON D7 D6 D5 D4 D3 D2 D1 D0 位符号 EA - - ES ET1 EX1 ET0 EX0 字节地址 AFH AEH ADH ACH ABH AAH A9H A8H ES是串行口中断允许位,ES=1,允许串行口中断;ES=0,禁止串行口中断。 单片机复位后,IE寄存器被清0,需要用户程序根据功能需要来置位或复位。 2. 串行口的波特率 (1)模式0的波特率 串口工作在模式0时,波特率为固定值,等于单片机时钟频率除以12, 就是fosc/12,这里fosc是石英晶体的振荡频率。 例如,fosc=12MHz,则波特率为1MHz
文档评论(0)