单片机课后习题解答 联系客服

发布时间 : 星期五 文章单片机课后习题解答更新完毕开始阅读09a25d5b581b6bd97f19ea9e

3、定时/计数器用作定时方式时,其定时时间与哪些因素有关?作为计数时,对外界计数频率有何限制?

答:定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。定时时间与时钟频率和定时初值有关。

定时/计数器作计数时,由于确认1次负跳变要花2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。

4、当定时器T0用作方式3时,由于TR1位已被T0占用,如何控制定时器T1的开启和关闭? 答:定时器T0用作方式3时,由于TR1位已被T0占用,此时通过控制位C/T切换其定时或计数器工作方式。当设置好工作方式时,定时器T1自动开始运行,若要停止,只需送入一个置定时器T1为方式3的方式字。

5、已知89S51单片机系统时钟频率为24MHz,请利用定时器T0和P1.2输出矩形脉冲。矩形波高电平宽度50μs,低电平宽度350μs。 答: ORG 1000H

MOV TMOD,#02H ;设置工作方式 MOV TH0,#09CH ;设置定时器初值 MOV TL0,#09CH

SETB TR0 ;启动定时器

LOOP: SETB P1.2 ;P1.0输出高电平

MOV R0,#07H

DEL: JBC TF0 ,REP ;定时是否到?

AJMP DEL

REP: SETB P1.2 ;P1.0输出低电平

DJNZ R0,DEL AJMP LOOP END

6、在89S51单片机中,已知时钟频率为12MHz,请编程使P1.0和P1.1分别输出周期为2ms和500μs的方波。

答:选择方式2,用定时器T1 MOV TMOD,#20H MOV TH1,#06H MOV TL1,#06H SETB TR1

L1: MOV R2,#04H L2: JNB TF1,$ CLR TF1, CPL P1.1 DJNZ R2,L2 CPL P1.0 LJMP L1

7、设系统时钟为24MHz,试用定时器T0做外部计数器,编程实现每计到1000个脉冲,是T1开始2ms定时,定时时间到后,T0又开始计数,循环往复。

答: MOV TMOD,#15H ;T1定时方式1,T0计数方式1 L1: MOV TH0,#0FCH MOV TL0,#18H SETB TR0

- 16 -

8、略 9、略

JNB CLR CLR MOV MOV SETB JNB CLR CLR LJMP TF0,$ TR0 TF0

TH1,# H TL1,# H TR1 TF1,$ TR1 TF1 L1

第六章 80C51的串行接口

1、什么是串行异步通信?他有哪些特点?有哪几种帧格式?

答:串行通信即所传输数据的各位按顺序一位一位的发送或接收。串行通信分为同步和异步两种方式。

在异步通信中数据或字符是一帧一帧地传送的。帧定义为一个字符的完整的通信格式,通常也称为帧格式。

它的主要特点:由于异步通信每传送一帧有固定的格式,通信双方只需按约定的帧格式来发送和接收数据,所以硬件结构比同步通信方式简单;此外它还能利用校验位检测错误。

帧格式的一般形式是先用一个起始位“0”表示字符的开始,然后是数据位,其后是奇偶校验位,最后是停止位,用以表示字符结束。

2、某异步通信接口按方式3传送,已知其每分钟传送3600个字符,计算其传送波特率。

答:设每个字符由1个起始位、8个数据位、1个可编程位和1个结束位组成,其传送波特率为: 11b×3600/60s=660bps

3、80C51单片机的串行口由哪些基本功能部件组成? 答: 80C51单片机的串行口基本功能部件主要有:两个数据缓冲寄存器SBUF,一个串行口控制寄存器SCON,一个输入移位寄存器。

4、80C51单片机的串行口有几种工作方式?几种帧格式?如何设置不同方式的波特率? 答:80C51单片机的串行口有四种工作方式,由串行口控制寄存器中的SM0、SM1控制。

80C51单片机的串行通信有8位、10位、11位三种帧格式。

波特率设置:4种工作方式波特率的计算方法不同,其中方式0和方式2的波特率是固定的,方式1和方式3的波特率是可变的,均由定时器T1的溢出率控制。具体计算如下:

方式0:波特率固定为时钟频率的1/12,不受SMOD的影响。(SMOD为波特率倍增位)

SMOD

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

SMOD

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

SMOD

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

5、为什么定时器T1用作串行口波特率发生器时,常采用工作方式2?

答:在串行通信中,收发双方对发送或接收的数据速率(即波特率)要有一定的约定。串口有四种工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,有定时

- 17 -

器T1的溢出率控制。定时器T1用作串行口波特率发生器时,因为工作方式2是自动重装载方式,因而定时器T1作波特率发生器常采用工作方式2.

6、已知定时器T1设置成方式2,用作波特率发生器,系统时钟频率为24MHz,求可能产生的最高和最低的波特率是多少?

答:最高波特率:TH1=0FFH,TL1=0FFH

波特率最高=2/32×24M/(12×(256-255))bps=0.125Mbps 最低波特率:TH1=00H,TL1=00H

波特率最低=1/32×24M/(12×(256-0))bps=244bps

9、串行口异步通信时,ASCII码“3”的字符格式(10位)如何?

答:串行口异步通信时,10位的数据帧结构为:一个起始位(0),8个数据位(先低位后高位),一个停止位(1)。

故ASCII码“3” 的字符格式为:0110011001B。

10、若选用定时器T1作波特率发生器,设fosc=6MHz,计数初值为0FDH,SMOD=1,求波特率是多少?

答:若选用定时器 T1作波特率发生器,波特率由下式确定:

波特率=(定时器T1溢出率)/n

公式中:①n为32或16,取决于特殊功能寄存器PCON中的SMOD位的状态。若SMOD=0,则n=32。若SMOD=1,则n=16。②定时器T1溢出率=定时器T1的溢出次数/秒。 由题可知:fosc=6MHz,计数初值为0FDH,SMOD=1,故

6MHz?10.42kHz

16?12??256?0FDH?第七章 中断系统

1、什么是中断?在单片机中中断能实现哪些功能?

答:中断是通过硬件来改变CPU程序运行方向。计算机在执行程序过程中,由于CPU以外的原因,有必要尽快终止当前程序的执行,而去执行相应的处理程序,待处理结束后,在回来继续执行被终止的原程序。这种程序在执行过程中由于外界的原因而被中间打断的情况成为“中断”。

中断能实现的功能:(1)能实现中断及返回。

(2)能实现优先权的排队。 (3)能实现中断的嵌套。

2、什么是中断优先级?中断优先级处理的原则是什么?

答:通常,在系统中会有多个中断源,有时会出现两个或更多个中断源同时提出中断请求的情况,这就要求计算机能区分各个中断源的请求,有能确定首先为哪一个中断源服务。为了解决这一问题,通常给各中断源规定了优先级别,称为优先权或中断优先级。

中断优先级处理原则:两个或两个以上的中断源同时提出中断申请时,计算机首先为中断优先权最高的中断服务,服务结束以后,再响应级别较低的中断源。

3、80C51有几个中断源,各中断标志如何产生的,又如何清“0”的?CPU响应中断时,中断入口地址各是多少?

答:8051单片机有5个中断源,分别是:外部中断0、定时器T0中断、外部中断1、定时器T1中断、串行口中断。

中断标志产生与清“0”: (1)外部中断:外部中断由外部原因引起,可以通过两个固定的引脚(INT0和INT1)输入信号。一旦输入信号有效,则向CPU申请中断并使IE0(或IE1)=1。硬件复位。

- 18 -

(2)定时器中断:定时器中断是为了满足定时或计数溢出处理的需要而设置的。当定时/计数器的计数结构发生计数溢出时,即表明定时时间到或计数次数到,此时就以计数器溢出信号作为中断请求,去置一个溢出标志位(TF0或TF1=1)。使用中断时通过硬件复位,在查询方式下可由软件复位。

(3)串口中断:串行中断请求是在单片机内部产生的。当发送完数据或接收完数据后,就会置相应标志位(TI或RI=1)。一旦响应中断,必须由软件进行复位。

中断入口地址:外部中断0、定时器T0中断、外部中断1、定时器T1中断、串行口中断的入口地址依次为:0003H,000BH,0013H,001BH,0023H。 4、中断响应时间是否确定不变的?为什么?

答:中断响应时间不是确定不变的。由于CPU不是在任何情况下都可以中断请求予以响应,不同情况对中断响应的时间也是不一样的。中断信号会在每个机器周期的S5P2时刻对相应中断标志位进行置位,若CPU在下一个机器周期才能查询到中断请求,如果满足中断响应的条件,下一条指令将是一硬件长调用指令,使程序转入中断矢量入口,调用本身需要2个机器周期,因此响应中断至少需要3个机器周期。如遇正在执行的指令,或有同级、更高级的中断服务正在进行,则需更长时间。若系统中只有一个中断源,则响应时间为3~8个机器周期。

5、用定时器T1定时,要求在P1.6口输出一个方波,周期为1min,晶振为12MHz,请用中断方式实现,并分析采用中断后的优点。

答:使用定时器T1,工作在方式1,定时50ms ORG 0000H LJMP MAIN ORG 001BH LJMP T1_SER ORG 0100H

MAIN: MOV TMOD,#10H

MOV R0,#20 ;1s定时次数 MOV R1,#30 ;定时30s MOV TH1,#3CH MOV TL1,#0B0H SETB ET1 SETB EA SETB TR1 SETB P1.6 SJMP $ 0RG 0200H T1_SER: MOV TH1,#3CH MOV TL1,#0B0H DJNZ R0,L1 MOV R0,#20 DJNZ R1,L1 MOV R1,#30 CPL P1.6 L1: RETI

6、中断响应过程中,为什么通常要保护现场?如何保护?

答:因为一般主程序和中断服务程序都可能会用到累加器、PSW及其他寄存器。CPU在进入中断服务程序后,用到上述寄存器时,就会破坏原来存在寄存器中的内容,一旦中断返回,就会造成主程

- 19 -