嵌入式第6章3MCS-51的串行接口.ppt

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

6.3.6 单片机串行接口通信技术举例 (4) 设甲机是发送方,乙机是接收方。当甲机发送时, 先发送一个“0AAH”联络信号,乙机收到后回答一 个“55H”应答信号,表示同意接收; (5) 假定数据块长度为100B,数据放在起始地址为 1000H的片外RAM中,一个数据块发送完毕后立即 发送“校验和”; (6) 若两者相等,说明接收正确,乙机回答0FH;若两 者不相等,说明接收不正确,乙机回答0F0H,请求 重发。 6.3.6 单片机串行接口通信技术举例 归纳联络信号,并以为指令格式定义如表4-7所示。 信号名称 伪指令 信号常量 说明 READY EQU 0AAH 主机开始通信发出呼叫信号 OK EQU 55H 从机准备好,表示同意接收数据 SUCC EQU 0FH 数据发送成功 ERRO EQU 0F0H 数据传送错误 LENTH EQU 64H 发送/接收数据块长度 ADDR EQU 1000H 发送/接收数据存储起始地址 6.3.6 单片机串行接口通信技术举例 3) 程序实现 收发数据采用的是查询方式,程序实现如下。 【甲机发送程序】 START:CLR EA MOV TMOD,#20H ;定时器1置为方式2 MOV TH1,#0F4H ;装载定时器初值,波特率2400 MOV TL1,#0F4H MOV PCON,#00H SETB TR1 ;启动定时器 MOV SCON,#50H ;设定串口方式1,且准备接收应答信号 TLP1: MOV SBUF,#READY ;发联络信号“0AAH” JNB TI,$ ;等待1帧发送完毕 CLR TI ;允许再发送 JNB RI,$ ;等待乙机的应答信号 CLR RI ;允许再接收 MOV A,SBUF ;乙机应答后,读至A XRL A,#OK ;判断乙机是否准备完毕 JNZ TLP1 ;乙机未准备好,继续联络 6.3.6 单片机串行接口通信技术举例 TLP2: MOV DPTR,#ADDR ;乙机准备好,设定数据块地址指针初值 MOV R7,#LENTH ;设定数据块长度初值 MOV R6,#00H ;清校验和单元 TLP3: MOVX A,@DPTR MOV SBUF,A ;发送一个数据字节 ADD A,R6 ;求校验和 MOV R6,A ;保存校验和 INC DPTR JNB TI,$ CLR TI DJNZ R7,TLP3 ;整个数据块是否发送完毕 MOV SBUF,R6 ;发送校验和 JNB TI,$ CLR TI JNB RI,$ ;等待乙机的应答信号 CLR RI MOV A,SBUF ;乙机应答,读至A XRL A,#SUCC ;判断乙机是否接收正确 JNZ TLP2 ;乙机应答“错误”,转重新发送 RET ;乙机应答“正确”,返回 6.3.6 单片机串行接口通信技术举例 【乙机接收程序】 START: CLR EA MOV TMOD,#20H MOV TH1,#0

文档评论(0)

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

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

1亿VIP精品文档

相关文档