单片机原理及应用(第三版)张毅刚课后习题答案完整版 下载本文

-

1.串行口通信的第 2.发送数据的第 备好的。 对

3.串行通信方式 送入发送 SBUF中。错

9 数据位的功能可由用户定义。 对

9 数据位的内容是在 SCON寄存器的 TB8位中预先准

2 或方式 3 发送时,指令把 TB8位的状态

4.串行通信接收到的第 9 位数据送 SCON寄存器的 RB8中保存。 对 5.串行口方式 1 的波特率是可变的,通过定时器

/ 计数器 T1 的溢出率设定。 对

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

7. AT89S52 单片机进行串行通信时,一定要占用一个定时器作为波特率发生器。 错 8. AT89S52 单片机进行串行通讯时,定时器方式 2 能产生比方式 1 更低的波特率。 错

9. 串行口的发送缓冲器和接收缓冲器只有 1 个单元地址,但实际上它们是两个不同的寄存器。 对 四、简答

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

答:实质就是如何检测起始位的开始。当接收方检测到 RXD端从 1 到 0 的负跳变时就启动检

测器,接收的值是 3 次连续采样,取其中 2 次相同的值,以确认是否是真正的起始

位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。 2.AT89S51单片机的串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确 定?

答:有 4 种工作方式:方式 0、方式 1、方式 2、方式 3;

有 3 种帧格式,方式 2 和 3 具有相同的帧格式;方式 0 的发送和接收都以

fosc/12 为固定波特率,

SMOD ×定时器 T1 的溢

--

-

方式 1 的波特率 出率

/32 =2

SMOD

方式 2 的波特率

/64 =2 ×fosc SMOD

方式 3 的波特率 ×定时器 T1 的溢

/32 =2 出率

--

-

3.假定串行口串行发送的字符格式为 1 个起始位、 8 个数据位、 1 个奇校验位、 1

个停止位,请画出传送字符“ B”的帧格式。

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

2?若已知时钟频率、

4.为什么定时器 / 计数器 T1 用作串行口波特率发生器时,常采用方式

串行通信的波特率,如何计算装入 T1 的初值?

答:因为定时器 T1 在方式 2 下,初值可自动重装,这就避免了执行重装参数的指

令所带来的时间误差。

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

( 256- X) 波特=(SMOD ×( f

osc/12)/ 率

2 /3

2)

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

1 个停止位(1)组成。当该串行口每分1800 个字符时,试计算出它的波特率。

钟传送

5.某 验和

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

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

6.简述 8051 单片机主从结构多机通信原理,设有一台主机与三台从机通信,其中一台 从机通信地址号为 01H,请叙述主机呼叫从机并向其传送一个字节数据的过程。 ( 请画出原理图 ) 答:原理电路如下图所示:

假设主机呼叫 01H从机,首先呼叫:主机发送地址帧 0000 00011(TB8=1),此时各从机的 SM2位置 1,且收到的 RB8=1,故激活 RI 。各从机将接收到的地址与本机地

址比较,结果

--

-

1#机被选中,则其 SM2清 0;0#、 2#机不变。接着进行串行数据传送;主机发送数据帧:×

××× ×××× 0(TB8=0),此时 1#机的 SM2=0,RB8=0。则激活 RI,而 0#,2#机的 SM2=1,

RB8=0,则不激活 RI,然后数据进入 1#机的接收数据缓冲区。

--