第七章单片机的串行通讯精要.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2、串行工作方式1 方式1是一帧10位的异步串行通信方式,包括1个起始位,8个数据位和一个停止位。 其帧格式为: 起始 D0 D1 D2 D3 D4 D5 D6 D7 停止 ⑴ 数据发送 发送时只要将数据写入SBUF,在串行口由硬件自动加入起始位和停止位,构成一个完整的帧格式。然后在移位脉冲的作用下,由TXD端串行输出。一帧数据发送完毕,将SCON中的TI置1。 ⑵ 数据接收 接收时,在REN=1前提下,当采样到RXD从1向0跳变状态时,就认定为已接收到起始位。随后在移位脉冲的控制下,将串行接收数据移入SBUF中。一帧数据接收完毕,将SCON中的RI置1,表示可以从SBUF取走接收到的一个字符。 (3)方式1波特率 在串行通信中,收发双方对发送或接收的数据速率有一定的约定,通过软件对89C51串行口编程可约定四种工作方式。 串行口的四种工作方式对应着三种波特率。 其中,方式0和方式2的波特率是固定的。 (3)波特率设计 而方式1和方式3的波特率是可变的,由定时器T1的溢出率来决定。 由于输入的移位时钟来源不同,因此,各种方式的波特率计算公式也不同。 方式1、3波特率=T1溢出率÷n 波特率=(2SMOD/32)?T1的溢出率 波特率=(2SMOD/32)?T1的溢出率 ? 溢出率:T1溢出的频繁程度 即:T1溢出一次所需时间的倒数。 T1溢出时间即定时时间: t= (2n-T1初值)×振荡周期×12 ? 初值 X = 2n - 2SMOD ? fosc 32 ? 波特率 ? 12 ? 波特率 = 2SMOD ? fosc 32 ? 12(2n – T1初值) 当定时/计数器T1用作波特率发生器时,通常选用定时初值自动重装的工作方式2 (注意:不要把定时/计数器的工作方式与串行口的工作方式搞混淆了)。 其计数结构为8位,假定计数初值为COUNT,单片机的机器周期为T,则定时时间为(256-COUNT)*T。从而在1s内发生溢出的次数(即溢出率)为: ⑷ 应用举例 【例7-3】设甲乙机以串行方式1进行数据传送,fosc=11.0592MHz,波特率为1200b/s。甲机发送的16个数据存在内RAM 40H~4FH单元中,乙机接收后存在内RAM 50H为首地址的区域中。 T1初值 = 256 - × = 232 = E8H 32 12×1200 解: 串行方式1波特率取决于T1溢出率(设SMOD=0), 计算T1定时初值: 20 甲机发送子程序: MOV TMOD,#20H ;置T1定时器工作方式2 MOV TL1,#0E8H ;置T1计数初值 MOV TH1,#0E8H ;置T1计数重装值 CLR ET1 ;禁止T1中断 SETB TR1 ;T1启动 MOV SCON,#40H ;置串行方式1,禁止接收 MOV PCON,#00H ;置SMOD=0(SMOD不能位操作) CLR ES ;禁止串行中断 MOV R0,#40H ;置发送数据区首地址 MOV R2,#16 ;置发送数据长度 MOV A,@R0 ;读一个数据 MOV SBUF,A ;发送 JNB TI,$ ;等待一帧数据发送完毕 CLR TI ;清发送中断标志 INC R0 ;指向下一字节单元 DJNZ R2,TRSA ;判16个数据发完否?未完继续 RET ; TXDA: TRSA: MOV TMOD,#20H ;置T1定时器工作方式2 MOV TL1,#0E8H ;置T1计数初值 MOV TH1,#0E8H ;置T1计数重装值 CLR ET1 ;禁止T1中断 SETB TR1 ;T1启动 MOV SCON,#40H ;置串行方式1,禁止接收 MOV PCON,#00H ;置SMOD=0(SMOD不能位操作) CLR ES ;禁止串行中断 MOV R0,#50H ;置接收数据区首地址 MOV R2,#16 ;置接收数据长度 SETB REN ;启动接收 JNB RI,$ ;等待一帧数据接收完毕 CLR RI ;清接收中断标志 MOV A,SBUF ;读接收数据 MOV @R0,A ;存接收数据 INC

文档评论(0)

文档资料 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档