计算机控制技术学习情境十一.pptVIP

  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文档。上传文档
查看更多
计算机控制技术学习情境十一

思考问题 学习资料,拟定工作计划及评价标准 图8.17 方式0用于扩展I/O口输入 8.4 MCS-51单片机之间的通信 图8- 19 方式1接收时序 1) 发送 发送时,先根据通信协议由软件设置TB8,然后用指令将要发送的数据写入SBUF,启动发送器。写SBUF的指令,除了将8位数据送入SBUF外,同时还将TB8装入发送移位寄存器的第9位,并通知发送控制器进行一次发送。一帧信息即从TXD发送,在送完一帧信息后,TI被自动置1,在发送下一帧信息之前,TI必须由中断服务程序或查询程序清0。 2) 接收 当REN=1时,允许串行口接收数据。数据由RXD端输入,接收11位的信息。当接收器采样到RXD端的负跳变,并判断起始位有效后,开始接收一帧信息。当接收器接收到第9位数据后,若同时满足以下两个条件:RI=0和SM2=0或接收到的第9位数据为1,则接收数据有效,8位数据送入SBUF,第9位送入RB8,并置RI=1。若不满足上述两个条件,则信息丢失。 4. 方式3 方式3为波特率可变的11位UART通信方式,除了波特率以外,方式3和方式2完全相同。 1. 方式0和方式2 当采用方式0和方式2时,波特率仅仅与晶振频率有关。 在方式0中,波特率为时钟频率的1/12,即fosc/12,固定不变。 在方式2中,波特率取决于PCON中的SMOD值,当SMOD=0时,波特率为fosc/64;当SMOD=1时,波特率为fosc/32。 8.3.3 MCS-51串行口的波特率 2. 方式1和方式3 在方式1和方式3时,波特率不仅仅与晶振频率和SMOD位有关,还与定时器T1的设置有关。波特率的计算公式为: 波特率=2SMOD/32×定时器T1溢出率 其中,定时器T1的溢出率又与其工作关系、计数初值、晶振频率相关。用定时器T1做波特率发生器时,通常选用定时器工作方式2(8位自动重装定时初值),但要禁止T1中断(ET1=0),以免T1溢出时产生不必要的中断。先设T1的初值为X,那么每过256-X个机器周期,定时器T1就会溢出一次。溢出周期为:12×(256-X)/fosc。而T1的溢出率为溢出周期之倒数。所以波特率=2SMOD/32×fosc/12/(256-X)。 8.4.1 双机通信硬件电路 图8.19 双机异步通信接口电路 1. 查询方式 1) 甲机发送 编程将甲机片外1000H~101FH单元的数据块从串行口输出。定义方式2发送,TB8为奇偶校验位。发送波特率375 kb/s,晶振为12 MHz, 所以SMOD=1。 8.4.2 双机通信软件编程 参考发送子程序如下: MOV SCON,#80H ;设置串行口为方式2 MOV PCON,#80H ;SMOD=1 MOV DPTR,#1000H ;设数据块指针 MOV R7,#20H ;设数据块长度 START:MOVX A,@DPTR ;取数据给A MOV C,P MOV TB8,C ;奇偶位P送给TB8 MOV SBUF,A ;数据送SBUF,启动发送 WAIT:JBC TI,CONT ;判断一帧是否发送完。若发送完,清TI,取下一个数据 AJMP WAIT ;未完等待 CONT:INC DPTR ;更新数据单元 DJNZ R7,START ;循环发送至结束 RET 2) 乙机接收 编程使乙机接收甲机发送过来的数据块,并存入片内50H~6FH单元。接收过程要求判断RB8,若出错置F0标志为1,正确则置F0标志为0,然后返回。 在进行双机通信时,两机应采用相同的工作方式和波特率。参考接收子程序如下: MOV SCON,#80H ;设置串行口为方式2 MOV PCON,#80H ;SMOD=1 MOV R0,#50H ;设置数据块指针 MOV R7,#20H ;设置数据块长度 SETB REN ;启动接收 WAIT:JBC RI,READ ;判断是否接收完一帧。若完,清RI,读入数据 AJMP WAIT ;未完等待 READ:MOV

文档评论(0)

cuotian + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档