第6章思考题及习题6参考答案 一、填空 1、AT89S51的串行异步通信口为(单工/半双工/全双工)。 答:全双工。 2.串行通信波特率的单位是 答:bit/s 3.AT89S52的串行通信口若传送速率为每秒120帧,每帧10位,则波特率为 答:1200 4.串行口的方式0的波特率为 答:fosc/12 5.AT89S51单片机的通讯接口有 和 两种型式。在串行通讯中,发送时要 把 数据转换成 数据。接收时又需把 数据转换成 数据。 答:并行,串行,并行,串行,串行,并行 6.当用串行口进行串行通信时,为减小波特率误差,使用的时钟频率为Mz。 答:11.0592 7.AT89S52单片机串行口的4种工作方式中, 和 的波特率是可调的,与定时 器/计数器T1的溢出率有关,另外两种方式的波特率是固定的。 答:方式1,方式3 8.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式 答:方式1。 9.在串行通信中,收发双方对波特率的设定应该是的。 答:相同的。 10.串行口工作方式1的波特率是 9 答:方式1波特率=(2"/32)×定时器T1的溢出率 二、单选 1.通过串行口发送或接收数据时,在程序中应使用 A.MOVC指令 B.MOVX指令 C.MOV指令 D.XCHD指令 答:C 2.AT89S52的串行口扩展并行I/0口时,串行接口工作方式选择 ·1
·1· 第 6 章 思考题及习题 6 参考答案 一、填空 1、AT89S51 的串行异步通信口为 (单工/半双工/全双工)。 答:全双工。 2. 串行通信波特率的单位是 。 答:bit/s 3. AT89S52 的串行通信口若传送速率为每秒 120 帧,每帧 10 位,则波特率为 答:1200 4.串行口的方式 0 的波特率为 。 答:fosc/12 5.AT89S51 单片机的通讯接口有 和 两种型式。在串行通讯中,发送时要 把 数据转换成 数据。接收时又需把 数据转换成 数据。 答:并行,串行,并行,串行,串行,并行 6.当用串行口进行串行通信时,为减小波特率误差,使用的时钟频率为 MHz。 答:11.0592 7.AT89S52单片机串行口的4种工作方式中, 和 的波特率是可调的,与定时 器/计数器T1的溢出率有关,另外两种方式的波特率是固定的。 答:方式 1,方式 3 8.帧格式为 1 个起始位,8 个数据位和 1 个停止位的异步串行通信方式是方式 。 答:方式 1。 9.在串行通信中,收发双方对波特率的设定应该是 的。 答:相同的。 10.串行口工作方式 1 的波特率是 。 答: 方式 1 波特率=(2 SMOD/32)×定时器 T1 的溢出率 二、单选 1.通过串行口发送或接收数据时,在程序中应使用 。 A.MOVC 指令 B.MOVX 指令 C.MOV 指令 D.XCHD 指令 答:C 2.AT89S52 的串行口扩展并行 I/O 口时,串行接口工作方式选择
A.方式0 B.方式1 C.方式2 D.方式3 答:A 3.控制串行口工作方式的寄存器是 A.TCON B.PCON C.TMOD D.SCON 答:D 三、判断对错 1.串行口通信的第9数据位的功能可由用户定义。对 2.发送数据的第9数据位的内容是在SCON寄存器的TB8位中预先准备好的。对 3.串行通信方式2或方式3发送时,指令把TB8位的状态送入发送SBUF中。错 4.串行通信接收到的第9位数据送SC0N寄存器的RB8中保存。对 5.串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定。对 6.串行口工作方式1的波特率是固定的,为fosc/32。错 7.AT89S52单片机进行串行通信时,一定要占用一个定时器作为波特率发生器。错 8.AT89S52单片机进行串行通讯时,定时器方式2能产生比方式1更低的波特率。错 9.串行口的发送缓冲器和接收缓冲器只有1个单元地址,但实际上它们是两个不同的寄存 器。对 四、简答 1.在异步串行通信中,接收方是如何知道发送方开始发送数据的? 答:实质就是如何检测起始位的开始。当接收方检测到XD端从1到0的负跳变时就启动 检测器,接收的值是3次连续采样,取其中2次相同的值,以确认是否是真正的起始位的 开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。 2.AT89S51单片机的串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何 确定? 答:有4种工作方式:方式0、方式1、方式2、方式3: 有3种帧格式,方式2和3具有相同的帧格式:方式0的发送和接收都以fosc/12为 固定波特率, 方式1的波特率=2/32×定时器T1的溢出率 方式2的波特率=2"/64×fosc 方式3的波特率=2/32×定时器T1的溢出率 ·2·
·2· A. 方式 0 B.方式 1 C. 方式 2 D.方式 3 答:A 3. 控制串行口工作方式的寄存器是 。 A.TCON B.PCON C. TMOD D.SCON 答:D 三、判断对错 1.串行口通信的第 9 数据位的功能可由用户定义。对 2.发送数据的第 9 数据位的内容是在 SCON 寄存器的 TB8 位中预先准备好的。对 3.串行通信方式 2 或方式 3 发送时,指令把 TB8 位的状态送入发送 SBUF 中。错 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 为 固定波特率, 方式 1 的波特率=2SMOD/32×定时器 T1 的溢出率 方式 2 的波特率=2SMOD/64×fosc 方式 3 的波特率=2SMOD/32×定时器 T1 的溢出率
3.假定串行口串行发送的字符格式为1个起始位、8个数据位、1个奇校验位、1个停止位, 请画出传送字符“B”的帧格式。 答:字符“B”的ASCII码为“42H”,帧格式如下: 起始位 0 1 校验位 停止位 4.为什么定时器/计数器T1用作串行口波特率发生器时,常采用方式2?若己知时钟频率、 串行通信的波特率,如何计算装入T1的初值? 答:因为定时器T1在方式2下,初值可自动重装,这就避免了执行重装参数的指令所带来 的时间误差。 设定时器T1方式2的初值为X,计算初值X可采用如下公式: 波特率=(2/32)×(fosc/12)/(256-) 5.某AT89S51单片机串行口,传送数据的帧格式由1个起始位(0)、7个数据位、1个偶 校验和1个停止位(1)组成。当该串行口每分钟传送1800个字符时,试计算出它的波 特率。 答:串口每秒钟传送的字符为:1800/60=30个字符/秒 所以波特率为:30个字符/秒×10位/个字符=300b/s 6.简述8051单片机主从结构多机通信原理,设有一台主机与三台从机通信,其中一台 从机通信地址号为01H,请叙述主机呼叫从机并向其传送一个字节数据的过程。(请画 出原理图) 答:原理电路如下图所示: RXD TXD AT89S51 RXD TXD RXD TXD RXD TXD 主机 0H 01H 02H O#从机 1#从机 2#从机 假设主机呼叫01H从机,首先呼叫:主机发送地址帧000000011(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=O,则不激活RI,然后数据进入1#机的接收数据缓冲区。 2.为什么AT89S52单片机串行口的方式0帧格式没有起始位(0)和停止位(1)? ·3·
·3· 3.假定串行口串行发送的字符格式为 1 个起始位、8 个数据位、1 个奇校验位、1 个停止位, 请画出传送字符“B”的帧格式。 答:字符“B”的 ASCII 码为“42H”,帧格式如下: 4.为什么定时器/计数器 T1 用作串行口波特率发生器时,常采用方式 2?若已知时钟频率、 串行通信的波特率,如何计算装入 T1 的初值? 答:因为定时器 T1 在方式 2 下,初值可自动重装,这就避免了执行重装参数的指令所带来 的时间误差。 设定时器 T1 方式 2 的初值为 X,计算初值 X 可采用如下公式: 波特率=(2SMOD/32)×(fosc/12)/ 256-X 5.某 AT89S51 单片机串行口,传送数据的帧格式由 1 个起始位(0)、7 个数据位、1 个偶 校验和 1 个停止位(1)组成。当该串行口每分钟传送 1 800 个字符时,试计算出它的波 特率。 答:串口每秒钟传送的字符为: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#机的接收数据缓冲区。 2.为什么 AT89S52 单片机串行口的方式 0 帧格式没有起始位(0)和停止位(1)?
答:串行口的方式0为同步移位寄存器输入输出方式,常用于外接移位寄存器,以扩展并 行I/0口,一般不用于两个MCS-51之间的串行通信。该方式以fosc/12的固定波特率从低 为位到高位发送或接受数据。 3.直接以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为半双工。 五、编程 1.若晶体振荡器为11.0592Mz,串行口工作于方式1,波特率为4800bit/s,写出T1采 用方式2作为波特率发生器的方式控制字和初始化程序。 答:计数初值为FAH, 参考的初始化程序如下: ANL TMOD,#OFOH :屏蔽高4位 ORL TMOD,#20H :控制字 MOV TH1,#OFAH ;写入计数初值 MOV TL1,#OFAH MOV SCON.#40H ·4-
·4· 答:串行口的方式 0 为同步移位寄存器输入输出方式,常用于外接移位寄存器,以扩展并 行 I/O 口,一般不用于两个 MCS-51 之间的串行通信。该方式以 fosc/12 的固定波特率从低 为位到高位发送或接受数据。 3.直接以 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 为半双工。 五、编程 1.若晶体振荡器为 11.0592MHz,串行口工作于方式 1,波特率为 4 800bit/s,写出 T1 采 用方式 2 作为波特率发生器的方式控制字和初始化程序。 答:计数初值为 FAH, 参考的初始化程序如下: ANL TMOD,#0F0H ;屏蔽高 4 位 ORL TMOD,#20H ;控制字 MOV TH1,#0FAH ;写入计数初值 MOV TL1,#0FAH MOV SCON,#40H