单片机原理及接口技术 教学课件 作者 艾学忠 7.pptVIP

单片机原理及接口技术 教学课件 作者 艾学忠 7.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7.4.2 串行口方式1应用编程 工作方式1是异步发送/接收方式,发送和接收的数据以帧的形式进行传送,一帧数据的长度为10位,其中包括1位起始位(0电平)、8位数据位和1位停止位。可以改变定时器的定时值来设置通信的波特率。 例7-4:使用MCS-51的串行口进行双工方式的进行字符串的收发,串行口工作在方式1,CPU时钟振荡频率为11.0592MHz,数据传输波特率1.2kbps;发送字符串的首地址通过S_STR指定,接收字符串的首地址通过R_STR指定;收发过程采取奇校验,数据的最高位作为校验位。 分析: (1)串行口以双工方式工作,能够同时完成收/发的功能; (2)串行口工作在方式1,所以串行口控制寄存器SCON各位应设置 (3)CPU时钟振荡频率为11.0592MHz,数据传输波特率为1.2Kbps,采用定时器T1工作模式2作为波特率发生器,可以免去反复重装定时初值的过程,定时初值为E8H; (4)需要注意的是,如果累加器A中的数据各位中“1”的位数为奇数就构成了奇校验(P=1),P的值写入累加器的最高位,累加器中数据则构成了偶校验,所以在将P的值写入之前应先进行取反操作。 主程序: ORG 2000H S_STR DATA #20H R_STR DATA #40H MAIN: MOV TMOD,#20H ;定时器T1初始化模式2,自动重载初值 MOV TL1,#0E8H ;模式,定时初值E8H MOV TH1,#0E8H ; SETB TR1 ;启动定时器T1 MOV SCON,#50H ;串行口初始化方式1,REN=1 MOV R0,#S_STR ;将发送字符串首地址赋予R0 MOV R1,#R_STR ;将接收字符串首地址赋予R1 ACALL S_SEN ;启动一个字符的发送 SETB ES ;开串行口中断 SETB EA ;开CPU总中断 LOOP: SJMP $ ;等待串行口收发中断请求 中断服务程序: ORG 0023H ; AJMP I_SER ;转移至中断服务程序 I_SER: JNB TI, S_REC ;判断是发送中断否 ACALL S_SEN ;TI=1,转移至发送子程序处 S_REC: ACALL S_REV ; TI不为1,去接收子程序 NEXT: RETI ; 发送数据子程序: ORG 2160H S_SEN: CLR ES ;关串行口中断,避免发送过程被打扰 CLR TI ;清TI位标志 MOV A, @R0 ;取发送数据 MOV C, PSW.0 ;奇偶标志位取反后送入发送数据的最高位 CPL C ; MOV ACC.7, C ; MOV SBUF, A ;向发送缓冲器写数据,启动一次发送 INC R0 ;修改发送数据指针,指向下一待单元 CLR ES ;开串行口中断 RET 接收数据子程序 ORG 2200H S_REV: CLR ES ;关串行口中断,避免发送过程被打扰 CLR RI ;清RI位标志 MOV A,SBUF ;读接收缓冲器中内容 MOV C,PSW.0 ;取奇偶校验位 CPL C ; ANL A,#7FH ;清除校验位 MOV @R1, A ;将接收到数据送入数据缓冲区 INC R1 ;修改接收数据指针,指向下一单元 CLR ES ; RET ; ; 7.4.3串行口工作方式2的应用 工作方式2是数据帧长度为11位的异步发送/接收方式,1位起始位、8位数据位、附加第9位、1位停止位。 发送时,通过对串行口控制寄存器SCON的TB8设置来实现第9位数据的发送;接收时,将接收到的数据送入SCON的RB8中。附加第9位通常用作奇偶校验位或者地址/数据标志位。 例7-6 单片机的串口方式2接收数据,接收到的数据保存至首地址为D_REV的内部RAM,发送端首先送出数据块的长度,然后发出数据,最后再给出所发数据的累加和。 编写程序: ORG 2000H D_REV DATA 40H 主程序: MAIN: MOV SCON, #90H ;串行口初始化工作方式2,REN=1 MOV PCON, #80H ;SMOD=1,波特率为晶体振荡频率的1/32 MOV R0,#D_REV ;数据接收区首地址送入R0 MOV R1,#00H ;R1用于存放数据块的长度 MOV R7,#00H ;R7用于存放接收数据的累加

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档