- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 MCS-51单片机串行通信-2014
第7章 MCS-51单片机串行通信 【例7-3】方式2发送在双机通讯中的应用。 在双机通讯中,以TB8作为奇偶校验位,处理方法为数据写入SBUF之前,先将数据的奇偶校验位写入TB8。CPU执行一条写SBUF的指令后,立即启动发送器发送。因发送完一帧信息后,TI被置1,再次向CPU申请中断,所以进入中断服务程序后,必须先将TI清零。 源程序如下: PIPTI: PUSH PSW ;保护现场 PUSH Acc CLR TI ;发送中断标志清0 MOV A,@R0 ;取数据 MOV C,P ;取奇偶校验位 MOV TB8,C ;奇偶校验位送TB8 MOV SBUF ,A ;启动发送 INC R0 ;数据指针加1 POP Acc ;恢复现场 POP PSW RETI ;中断返回 【例7-4】方式2接收在双机通讯中的应用。 本例与例7-3相对应。若附加的第9位数据为校验位,在接收程序中应作奇偶校验处理,设R0为数据缓冲器指针。 源程序如下: LP: PUSH PSW ;保护现场 PUSH Acc CLR RI ;清接收中断标志 MOV A, SBUF ;接收数据送A MOV C, P ;取奇偶校验位 JNC L1 ;RB8是发送数据的校验位,P是 接收数据的校验位, 若P不等于 RB8, 则接收信息出错。 JNB RB8, ERR ;P=1,RB8=0,转ERR AJMP L2 ;P=1,RB8=1,转L2 L1: JB RB8, ERR ;P=0,RB8=1,转ERR L2: MOV @R0, A ;接收数据送存储区 INC R0 POP Acc POP PSW ERR: ……… ;出错处理程序段 RETI 第7章 MCS-51单片机串行通信 原理:在串行口以方式2(或方式3)接收时, SM2=1,置多机通讯功能位: (1)RB8=1时,数据装入SBUF,并置RI=1发中断请求 (2)RB8=0时,则不产生中断标志,信息将抛弃。 SM2=0,则接收的第9位数据不论是0还是1,都RI=1,中断请求,接收到的数据装入SBUF中。 7.3 MCS-51单片机之间的串行通信 第7章 MCS-51单片机串行通信 主机与从机实现可靠通讯,须保证串口具有识别功能 SCON中的SM2位就是满足这一条件而设置的多机通讯控制位 设多机系统中有一主机和3个8031从机 主机的RXD与从机的TXD相连,主机TXD与从机的RXD端相连 从机地址分别为00H、01H、02H。 多机通信系统示意图 第7章 MCS-51单片机串行通信 从机:编程为方式2或方式3接收,且SM2=1和REN=1 接收地址帧 发送从机地址 0 D0 … D7 1 1 0 1 … 0 1 1 RI=1 RI=1 RI=1 SM2=1 SM2=0 SM2=1 发送数据 0 D0 … D7 0 1 RI=1 第7章 MCS-51单片机串行通信 7.4 MCS-51串行通信的波特率 串行口的波特率用于表示数据传输的速率。 方式0和方式2的波特率是固定的; 方式1和方式3波特率可由定时器T1的溢出率来确定 (1)方式0波特率=时钟频率fosc×1/12 (2)方式2波特率=(2SMOD/64)×fosc (3)方式1或方式3时,波特率为: 波特率=(2SMOD/64)×T1的溢出率 实际设定波特率时,T1常设置为方式2定时(自动装初值)操作方便,且避免因软件重装初值而带来的定时误差。 第7章 MCS-51单片机串行通信 定时器T1的溢出率与它的工作方式有关: ⑴ 定时器T1工作方式0 溢出率= ⑵ 定时器T1工作方式1 溢出率= ⑶ 定时器T1工作方式2 溢出率= 式中,TC—计数初值。 X—中断服务程序所用的机器周期数,包括响应
文档评论(0)