有2种帧格式:10位,11位 方式0:方式0的波特率≌fosc/12(波特率固定为振荡频率1/12)
方式2:方式2波特率≌2SMOD/64_fosc
方式1和方式3:方式1和方式3波特率≌2SMOD/32_(T1 溢出速率) 如果T1 采用模式2则:
5、若异步通信接口按方式3传送,已知其每分钟传送3600个字符,其波特率是多少? 答:已知每分钟传送3600个字符,方式3每个字符11位,则:
波特率=(11b/字符)_(3600字符/60s)=660b/s 6 、89C51中SCON 的SM2,TB8,RB8 有何作用?
答:89c51SCON 的 SM2 是多机通信控制位,主要用于方式 2 和方式 3.若置 SM2=1,则允许 多机通信。
TB8 是发送数据的第 9 位,在方式 2 或方式 3 中,根据发送数据的需要由软件置位或复位。 它在许多通信协议中可用作奇偶校验位;在多机通信中作为发送地址帧或数据帧的标志位。 RB8是接收数据的第 9位,在方式2或方式3中接收到的第9位数据放在RB8位。它或是约 定的奇偶校验位,或是约定的地址/数据标示位。
7、设 fosc=11.059MHz,试编写一段程序,其功能为对串行口初始化,使之工作与方式 1, 波特率为1200b/s;并用查询串行口状态的方法,读出接收缓冲器的数据并回送到发送缓冲器。 解: START:MOV SCON,#40H ;串行接口工作于方式1
MOV TMOD,#20H ;定时器T1工作于模式2
MOV TH1,#0E8H ;赋定时器计数初值 MOV TL1,#0E8H
SETB TR1 ;启动定时器T1 MOV A,SBUF ;读出接收缓冲器数据
MOV SBUF,A ;启动发送过程
JNB TI,$ ;等待发送完
CLR TI ;清TI 标志
SJMP $ ;结束
8、若晶振为 11.0592MHz,串行口工作与方式 1,波特率为 4800b/s。写出用 T1 作为波特率 发生器的方式字和计数初值。 解:
MOV TMOD,#20H ;定时器T1工作于模式2
MOV TH1,#0FAH ;赋定时器计数初值 MOV TL1,#0FAH 9、为什么定时器 T1 用作串行口波特率发生器时,常选用工作模式 2?若已知系统时钟频率 和通信用的波特率,如何计算其初值? 答:因为工作模式2是自动重装初值定时器,编程时无需重装时间参数(计数初值),比较使 用。若选用工作模式0或工作模式1,当定时器T1溢出时,需在中断服务程序中重装初值。 已知系统时钟频率fosc 和通信用的波特率fbaud,可得出定时器T1模式2的初值
- 17 -
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库单片机原理及接口技术(第三版)李朝青编_课后答案详解(17)在线全文阅读。
相关推荐: