文档库 最新最全的文档下载
当前位置:文档库 › (完整版)51单片机课后答案(张毅刚)第7章部分习题答案

(完整版)51单片机课后答案(张毅刚)第7章部分习题答案

第7章MCS-51的串行口

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

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

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

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

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

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

答:串行口有3种工作方式:方式0、方式1、方式2、方式3;有3种帧格式:方式0为8位数据,方式1为8位数据、起始位、终止位,方式2和3具有相同的帧格式,为9位数据、起始位、终止位;方式0的发送和接收都以fosc/12为固定波特率,方式1的波特率=2SMOD/32×定时器T1的溢出率,方式2的波特率=2SMOD/64×fosc,方式3的波特率=2SMOD/32×定时器T1的溢出率。

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

答:“A”的AS CⅡ码为“01000001”

从左向右:0,1,0,0,0,0,0,1,0,0, 1 起始位低位高位奇偶位终止位

6.判断下列说法是否正确:

答:(A)串行口通讯的第9数据位的功能可由用户定义。(对)

(B)发送数据的第9数据位的内容在SCON寄存器的TB8位中预先准备好的。(对)(C)串行通讯帧发送时,指令把TB8位的状态送入发送SBUF中。(错)

(D)串行通讯接收到的第9位数据送SCON寄存器的RB8中保存。(对)

(E)串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定。(对)

7.通过串行口发送或接收数据时,在程序中应使用:

(1)MOVC 指令 (2)MOVX 指令 (3)MOV 指令 (4)XCHD 指令

答:(3)

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

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

256(12322X f OSC SMOD

-??波特率=计算出初值。

9.串行口工作方式1的波特率是:

答:(C )可变的,通过定时器/计数器T1的溢出率设定。

10.在串行通讯中,收发双方对波特率的设定应该是( 相等 )的

11.若晶体振荡器为11.0592MHz ,串行口工作于方式1,波特率为4800b/s ,写出用T1作为波特率发生器的方式控制字和计数初值。

答:设置波特率控制位(SMOD)=0,则计数初值为0FAH ;

设T1工作于方式2,T0工作于方式3,则方式控制字TMOD 为23H ;

MOV SCON ,#40H ; 串行口工作于方式1且TI=RI=0

MOV PCON ,#80H ; 波特率加倍

MOV TMOD ,#23H ; T1方式2作波特率发生器,T0工作于方式3

MOV TH1,#0FAH ; 计数初值

MOV TL1,#0FAH ;

SETB TR1; 启动T1

SETB EA ; 开串行口中断

SETB ES

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

答:串口每秒钟传送的字符为:1800/60=30个字符/秒,所以波特率为:30个字符/秒×10位/字符=300bps

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

答:因为串行口的方式0是同步移位寄存器方式,不是用于异步串行通讯的,所以收发双方不需要确定数据帧的起始和终止,所以没有起始位(0)和停止位(1)。 FAH X ==???-=2504800

3841100592.112566

相关文档
相关文档 最新文档