- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机基础汇总
§第一章 概述 一个简单的实例 §第二章.单片机的硬件结构 §第二章.单片机的硬件结构 读引脚.写端口 §第二章.单片机的硬件结构 控制实例 程序二 第三部分发送数据 清发送标志位TI 数据处理并发送 清发送标志位TI 准备下一个数据 结束 是否发送完毕 数据块是否发送完毕 清接收标志位RI 开串行中断 中断服务程序 接收数据并处理 清接收标志位RI 准备一下数据 数据块是否接收完毕 结束 是否接收完毕 N N N N Y Y Y Y 第六章. 串口通讯 RS-232C串口通讯 关于数据处理: 由于串行通讯频率较高,在发送接收过程中易出错。一般情况下要对其进行检查,检查的方法很多。 方法之一:乙方收到数据后,再把该数据发给甲方,甲方对乙方返回的数据与原来发过去的数据进行比较,如相等,则再发送下一个数据,若不相等,则再发原来的数据。若连续多次发送接收不符,则认为通讯失败,退出。 这种方法较正确,但影响发送接收频率 方法之二:是利用奇偶校验 在数据发送之前,把数据的奇偶校验位一起发送过去。构成统一的奇数码或偶数码,对方对收到的数据进行奇偶检验,若正确奇偶校验正确,则就认为是正确的,把数据还原,否则认为是错误的。 第六章. 串口通讯 RS-232C串口通讯 在单片机中,一般作如下处理,数据采用ASCⅡ码形式,最高位为奇偶检验位:在单片机串行通讯中,一般采用奇检验码,即发送的数据均为奇数码,其方法之一是,对数据的奇偶位P取反放在最高位,当做本身为偶数码时,则P=0,取反后为1,放在最高位后,则变为奇数码,当数本身为奇数码时, 则P=1,取反后为0,则还是奇数码。 实际上不取反也是可以的,只不过使用偶检验码 当本身为偶数个1+P(=0)?仍为偶数个1 若为奇数码+P(=1)?变为偶数码 第六章. 串口通讯 RS-232C串口通讯 收到数后,判断P是否为1,同时将最高位取掉即可,若为1,则认为是对的,否则认为是错的。 ****由于8086奇偶判断与其相反,则不需再取反,而采用偶数码进行判断即可。 本题采用偶校验, PSW是PSW.0位,书上称为PG 第六章. 串口通讯 RS-232C串口通讯 ORG 0100H MOV TMOD, #20H MOV TL1, #0F3H MOV TH1 , #0F3H ; 2400bps MOV PCON ,#80H MOV SCON ,#40H CLR EA ; 不允许中断 MOV SBUF ,#40H SOU1: JNB TI,$ ; 是否发送完毕 CLR TI MOV SBUF ,#00H 甲机程序: ;设置定时器1,工作方式2 ; 波特率倍增 ; 只发送不接受 第六章. 串口通讯 RS-232C串口通讯 SOU2: JNB TI,$ CLR TI MOV SBUF ,#40H SOU3: JNB TI,$ CLR T1 MOV SBUF ,#1FH SOU4: JNB TI,$ CLR T1 MOV DPTR ,#4000H MOV R7,#20H LOOP: MOVX A,@DPTR MOV C ,P MOV ACC.7 ,C ;即把P?ACC.7,偶校验码 ;奇偶校验 ;读人数据 ;32个数据 第六章. 串口通讯 RS-232C串口通讯 ;方式1,REN=1,允许接收 MOV SBUF ,A INC DPTR CJNE R7 ,#00H, LOOP RET 乙机主程序: ORG 002
文档评论(0)