单片机串行口简介.ppt

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

32 双机串行通讯的实现-1 7.7.1 正确进行物理接线 33 双机串行通讯的实现-2 设定一致的波特率 设定一致的串行口工作方式 分别设计中断服务程序或查询程序 注意对TI、RI的处理 (硬件置位、软件清零) 34 7.7.2 方式3发送50H~5FH的内容 待发送的16个字节存放在片内RAM中 地址为50H~5FH 串行口波特率为2400 波特率发生器T1工作于方式2,且SMOD=0 晶振为11.0592MHz 计算得到TL1的初值为F4H 串行口工作于方式3 第9位发送奇偶校验位 35 例2: 方式3发送50H~5FH中内容-1 ORG 0000H AJMP MAIN ORG 0023H AJMP L1 ORG 0100H MAIN: MOV SCON,#0C0H ;复位入口 ;串行口中断入口 ;主程序入口 ;串行口初始化,用方式2发送,TI=0 MOV PCON,#00H ;SMOD=0 MOV ;T1方式2定时 ;写入T1时间常数 TMOD,#20H MOV TL1,#0F4H MOV TH1,#0F4H ;启动T1 SETB TR1 SETB EA SETB ES MOV R0,#50H MOV R7,#10H ;允许串行口中断 ;设数据指针 ;数据长度 LOOP: MOV A,@R0 ;取一个字符 MOV C,P MOV TB8,C MOV SBUF,A ;加奇偶校验 ;发送一个字符 HERE: SJMP HERE ;CPU原地循环,等待发送结束 36 例2: 方式3发送50H~5FH中内容-2 L1: TI R7,NEXT ES TEND R0 A,@R0 C,P TB8,C SBUF,A CLR DJNZ CLR SJMP NEXT: INC MOV MOV MOV MOV TEND: RETI ;中断服务程序, 发送结束标志位清0 ;发送完全部字符? ;已发送完,关闭串行口中断 ;未发送完,修改指针 ;取下一个字符 ;加奇偶校验 ;再次发送一个字符 ;中断返回主程序 37 7.7.3 方式3接收 接收到的16个字节存放在片内RAM中 地址为50H~5FH 串行口波特率为2400 波特率发生器T1工作于方式2, 且SMOD=0 晶振为11.0592MHz 计算得到TL1的初值为0F4H 串行口工作于方式3 奇偶校验方式判断接收数据是否出错 设校验出错标志位为F0 MAIN: MOV MOV SCON,#0D0H ;串行口方式3允许接收,RI=0 PCON,#00H ;SMOD=0 MOV TMOD,#20H MOV TL1,#0F4H MOV TH1,#0F4H SETB TR1 ;T1方式2定时 ;写入T1时间常数 ;启动T1 LCALL AAAA SJMP $ 38 方式3接收-查询 39 方式3接收-查询 AAAA: MOV MOV R7,#10H WAIT: JBC SJMP R0,#50H ;设数据指针 ;数据长度 RI,NEXT ;查询RI标志,等待串行口接收结束 WAIT NEXT: MOV JNB JNB SJMP COMP:JB RIGHT:MOV A,SBUF P,COMP RB8,ERR RIGHT RB8,ERR @R0,A ;读取一个接收字符 ;进行奇偶校验 ;P≠RB8,数据出错 ;P=RB8,数据正确 ;

文档评论(0)

宝贝计划 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档