《单片机原理及接口技术(第2版)张毅刚》第7章习题及答案

《单片机原理及接口技术》(第2版)人民邮电出版社

第7章 AT89S51单片机的串行口

思考题及习题7

1.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式 。 答:方式1。

2.在串行通信中,收发双方对波特率的设定应该是 的。 答:相等的。

3.下列选项中, 是正确的。

A.串行口通信的第9数据位的功能可由用户定义。对

B.发送数据的第9数据位的内容是在SCON寄存器的TB8位中预先准备好的。对 C.串行通信帧发送时,指令把TB8位的状态送入发送SBUF中。错 D.串行通信接收到的第9位数据送SCON寄存器的RB8中保存。对

E.串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定。对 4.通过串行口发送或接收数据时,在程序中应使用 。 A.MOVC指令 答:C

5.串行口工作方式1的波特率是 。 A.固定的,为fosc/32

B.固定的,为fosc/16

B.MOVX指令 C.MOV指令 D.XCHD指令

C.可变的,通过定时器/计数器T1的溢出率设定 D.固定的,为fosc/64 答:C

6.在异步串行通信中,接收方是如何知道发送方开始发送数据的?

答:当接收方检测到RXD端从1到0的跳变时就启动检测器,接收的值是3次连续采样,取其中2次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。

7.AT89S51单片机的串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?

答:串行口有4种工作方式:方式0、方式1、方式2、方式3;有3种帧格式,方式2和3

具有相同的帧格式;方式0的发送和接收都以fosc/12为固定波特率,

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

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

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

答:字符“B”的ASCII码为“42H”,帧格式如下:

9.为什么定时器/计数器T1用作串行口波特率发生器时,常采用方式2?若已知时钟频率、串行通信的波特率,如何计算装入T1的初值?

答:因为定时器/计数器在方式2下,初值可以自动重装,这样在做串口波特率发生器设置时,就避免了执行重装参数的指令所带来的时间误差。

设定时器T1方式2的初值为X,计算初值X可采用如下公式:

fosc2SMOD?波特率 = 3212(256?X)

10.若晶体振荡器为11.0592MHz,串行口工作于方式1,波特率为4 800bit/s,写出用T1作为波特率发生器的方式控制字和计数初值。 答:经计算,计数初值为FAH,初始化程序如下:

ANL ORL MOV MOV MOV

TMOD,#0F0H TMOD,#20H TH1,#0FAH TL1,#0FAH SCON,#40H

;屏蔽高4位 ;控制字 ;写入计数初值

11.简述利用串行口进行多机通信的原理。 答:见7.3节的介绍。

12.使用AT89S51的串行口按工作方式1进行串行数据通信,假定波特率为2 400bit/s,以中断方式传送数据,请编写全双工通信程序。 12.答:见7.5.3小节的介绍

13.某AT89S51单片机串行口,传送数据的帧格式由1个起始位(0)、7个数据位、1个偶校

验和1个停止位(1)组成。当该串行口每分钟传送1 800个字符时,试计算出它的波特率。 答:串口每秒钟传送的字符为:1800/60=30个字符/秒

所以波特率为:30个字符/秒×10位/个字符=300b/s

14.为什么AT89S51单片机串行口的方式0帧格式没有起始位(0)和停止位(1)? 答:串行口的方式0为同步移位寄存器输入输出方式,常用于外接移位寄存器,以扩展并行I/O口,一般不用于两个MCS-51之间的串行通信。该方式以fosc/12的固定波特率从低为位到高位发送或接受数据。

15.直接以TTL电平串行传输数据的方式有什么缺点?为什么在串行传输距离较远时,常采用RS-232C、RS-422A和RS-485标准串行接口,来进行串行数据传输。比较RS-232C、RS-422A和RS-485标准串行接口各自的优缺点。

答:直接以TTL电平串行传输数据的方式的缺点是传输距离短,抗干扰能力差。因此在串行传输距离较远时,常采用RS-232C、RS-422A和RS-485标准串行接口。主要是对传输的电信号不断改进,如RS-232C传输距离只有几十米远,与直接以TTL电平串行传输相比,采用了负逻辑,增大“0”、“1”信号的电平差。而RS-422A和RS-485都采用了差分信号传输,抗干扰能力强,距离可达1000多米。RS-422A为全双工,RS-485为半双工。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4