您的位置: 网站首页 > 电子与嵌入式 > 单片机原理与应用 > 附录A 练习题参考答案 > 【第7章 串行通信接口】

第7章 串行通信接口

 

1)串行数据传送的主要优点和用途是什么?

答:串行数据传送的主要优点是硬件接口简单,接口端口少(两个),主要用于多个单片机系统之间的数据通信。

2)简述串行口接收和发送数据的过程。

答:以方式1为例。发送:数据位由TXD端输出,1帧信息为10位,CPU执行1条数据写发送缓冲器SBUF的指令,就启动发送。发送开始时,内部发送控制信号/SEND变为有效,将起始位从TXD输出,此后,每经过1TX时钟周期,便产生1个移位脉冲,并由TXD输出1个数据位。8位数据位全部完毕后,中断标志位TI1,然后/SEND信号失效。接收:当检测到起始位的负跳变时,则开始接收。接收时,定时控制信号有两种,一种是位检测器采样脉冲,它的频率是接收时钟的16倍。也就是在接收1位数据期间,有16个采样脉冲,以波特率的16倍的速率采样RXD引脚状态,当采样到RXD端从10的跳变时就启动检测器,接收的值是3次连续采样取其中两次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误地开始接收数据。

3)串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?

答:串行口有4种工作方式:方式0、方式1、方式2、方式3。有3种帧格式,方式23具有相同的帧格式。方式0的发送和接收都以fosc/12为固定波特率。

方式1的波特率=2SMOD/32×定时器T1的溢出率。

方式2的波特率=2SMOD/64×fosc

方式3的波特率=2SMOD/32×定时器T1的溢出率。

4)假定串行口串行发送的字符格式为1个起始位,8个数据位,1个奇校验位,1个停止位,请画出传送字符“A”的帧格式。

答:

5)对,对,错,对,对。

6)为什么定时器/计数器T1用做串行口波特率发生器时,采用方式2?若已知时钟频率、通信波特率,如何计算其初值?

答:因为定时器/计数器在方式2下,初值可以自动重装,这样在做串口波特率发生器设置时,就避免了重装参数的操作。

已知时钟频率、通信波特率,根据公式:,计算出初值。

7)若晶体振荡器为11.0592MHz,串行口工作于方式1,波特率为4 800bps,写出用T1作为波特率发生器的方式控制字和计数初值。

答:初值计算,查阅P1667-2可得,初值为0FAH.

控制字:

ANL TMOD,#0F0H

ORL TMOD,#20H

MOV TH1,#0FAH

MOV TL1,#0FAH

MOV SCON,#40H

8)简述利用串行口进行多机通信的原理。

答:参考7.3节。

9)使用8031的串行口按工作方式1进行串行数据通信,假定波特率为2 400bps,以中断方式传送数据,请编写全双工通信程序。

答:略

10)使用8031的串行口按工作方式3进行串行数据通信,假定波特率为1 200bps,第9数据位作奇偶校验位,以中断方式传送数据,请编写通信程序。

答:略

11)某8031串行口,传送数据的帧格式为1个起始位(0),7个数据位,1个偶校验位和1个停止位(1)。当该串行口每分钟传送1800个字符时,试计算出波特率。

答:串口每秒钟传送的字符为:1800/60=30个字符/秒。

所以波特率为:30个字符/×10/个字符=300bps

12)为什么MCS-51串行口的方式0帧格式没有起始位(0)和停止位(1)?

答:串行口的方式0为同步移位寄存器输入输出方式,常用于外接移位寄存器,以扩展并行I/O口,一般不用于两个MCS-51之间的串行通信。该方式以fosc/12的固定波特率从低位到高位发送或接收数据。