高教版单片机原理及应用答案(第三版)张毅刚 刘杰主编 下载本文

合的方法。

5.12 下列说法正确的是(C D)

(A)同一级别的中断请求按时间的先后顺序顺序响应。

(B)同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。

(C)低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求

(D)同级中断不能嵌套。

5.13 中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?

答:两者的区别在于,RETI清除了中断响应时,被置1的MCS-51内部中断优先级寄存器的优先级状态。

5.14 某系统有3个外部中断源1、2、3,当某一中断源变为低电平时,便要求CPU进行处理,它们的优先处理次序由高到低依次为3、2、1,中断处理程序的入口地址分别为1000H,1100H,1200H。试编写主程序及中断服务程序(转至相应的中断处理程序的入口即可)。

ORG 0000H

AJMP MAIN ORG 0003H LJMP PINT0 ORG 0100H MAIN: SETB IT0 SETB EX0 SETB EA HERE: SJMP HERE PINT0: PUSH PSW PUSH A

JNB P1.3,IR3 JNB P1.2,IR2 JNB P1.1,IR1 PINTIR: POP A POP PSW RETI

IR3: LJMP IR3INT IR2: LJMP IR2INT IR1: LJMP IR1INT ORG 1000H IR3INT: LJMP PINTIR ORG 1100H IR2INT: LJMP PINTIR ORG 1200H

IR1INT: LJMP PINTIR END

第六章 MCS-51的定时器/计数器

6.1 如果采用的晶振的频率为3MHZ,定时器/计数器工作在方式0、1、2下,其最大的定时时间各为多少?

答:方式0 213*4us=32.768

方式1 216*4us=262.144 方式2 28*4us=1.024

6.2 定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关? 答:定时器/计数器被选定为定时器工作模式时,计数输入信号是内部时钟脉冲,每个机器周期产生1个脉冲使计数器增1,因此,定时器/计数器的输入脉冲的周期与机器周期一样,为时钟振荡频率的1/2。

6.3 定时器/计数器作计数器使用时,对外界计数频率有何限制?

答:定时器/计数器用作计数器时,计数脉冲来自相应的外部输入引脚T0或T1。对外界计数频率要求为其最高频率为系统振荡频率的1/24。

6.4 采用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式。定时1ms后,又转为计数方式,如此循环不止。假定MCS---51单片机的晶体震荡器的频率为6MHZ,请使用方式1实现,要求编写出程序。

ORG 0000H

AJMP MAIN ORG 000BH LJMP PT0J ORG 0100H

MAIN: MOV TMOD,#05H;00000001 MOV TH0,#0FFH;X=65436 MOV TL0,#9CH CLR F0 SETB TR0 SETB ET0 SETB EA HERE: AJMP HERE PT0J: JB F0,PT0D

MOV TMOD,#01H;00000001 MOV TH0,#0FEH;X=65036 MOV TL0,#0CH SETB F0

RETI

PT0D: CLR F0

MOV TMOD,#05H MOV TH0,#0FFH MOV TL0,#9CH RETI END

6.5 定时器/计数器的工作方式2有什么特点?适用于哪些应用场合?

答:工作方式2为自动恢复初值的(初值自动装入)8位定时器/计数器,TLX作为常数缓冲器,当TLX计数溢出时,在置1溢出标志TFX的同时,还自动的将THX中的初值送至TLX,使TLX从初值开始重新计数(X=0,1)。

6.6 编写程序,要求使用T0,采用方式2定时,在P1。0输出周期为400微秒,占空比为1:10的矩形脉冲。

ORG 0000H

AJMP MAIN ORG 000BH AJMP PT0 ORG 0100H MAIN: MOV R2,#00H MOV TMOD,#02H

MOV TH0,#0ECH;X=236 MOV TL0,#0ECH SETB P1.0 SETB TR0 SETB ET0 SETB EA HERE: SJMP HERE

PT0: CJNE R2,#09H,PT01 SETB P1.0

MOV R2,#00H RETI

PT01: CLR P1.0 INC R2 RETI END

6.7 一个定时器的定时时间有限,如何实现两个定时器的串行定时,来实现较长时间的定时?

答:第一个定时溢出启动第二个定时计数,实行串行定时

6.8 当定时器T0用于方式3时,应该如何控制定时器T1的启动和关闭? 答:控制信号C/T和M1 M0。

6.9 定时器/计数器测量某正脉冲的宽度,采用何种方式可得到最大量程?若时钟频率为6MHZ,求允许测量的最大脉冲宽度是多少?

答:上升沿从0开始计数,计满回到下降沿。最大脉冲宽度Tw=131.072us

6.10编写一段程序,功能要求为:当P1.0引脚的电平正跳变时,对P1.1的输入脉冲进行计数;当P1.2引脚的电平负跳变时,停止计数,并将计数值写入R0、R1(高位存R1,低位存R0)。

ORG 0000H

LJMP MAIN MAIN: ORG 0100H MOV R0,#00H MOV R1,#00H MOV TL0,#00H MOV TH0,#00H LOOP1: JB P1.0,LOOP1 LOOP2: JNB P1.0,LOOP2 SETB TR0

LOOP3: JNB P1.2,LOOP3 LOOP4: JB P1.2,LOOP4 CLR TR0 MOV R1,TH0 MOV R0,TL0 END

6.11 THX与TLX(X=0,1)是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后的新值是立即刷新还是等当前计数器计满之后才能更新? 答:THX与TLX(X=0,1)是计数器,能用指令更改;能立即刷新。 6.12 判断下列说法是否正确?

(1)特殊功能寄存器SCON,与定时器/计数器的控制无关。 (√) (2)特殊功能寄存器TCON,与定时器/计数器的控制无关 (×) (3)特殊功能寄存器IE,与定时器/计数器的控制无关 (×) (4)特殊功能寄存器TMOD,与定时器/计数器的控制无关 (×)

第七章 MCS-51的串行口

7.3 帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式(1)。 7.4 串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定? 答:串行口有四种工作方式:方式0、方式1、方式2、方式3 有三种帧格式: