单片机原理及应用张毅刚 课后习题答案完整版

B.跳沿方式的外部中断请求 C.外部串行中断 D.定时中断 答:A

3.中断查询确认后,在下列各种AT89S52单片机运行情况下,能立即进行响应的是( )。

A.当前正在进行高优先级中断处理 B.当前正在执行RETI指令 C.当前指令是MOV A,R3

D.当前指令是DIV指令,且正处于取指令的机器周期 答:C

4.下列说法正确的是( )。

A. 各中断源发出的中断请求信号,都会标记在AT89S52的IE寄存器中 B. 各中断源发出的中断请求信号,都会标记在AT89S52的TMOD寄存器中 C. 各中断源发出的中断请求信号,都会标记在AT89S52的IP寄存器中

D. 各中断源发出的中断请求信号,都会标记在AT89S52的TCON、SCON以及T2CON寄存器中

答:D 三、判断对错

1.定时器T0中断可以被外部中断0中断。错

2. 必须有中断源发出中断请求,并且CPU开中断,CPU才可能响应中断。错 3.AT89S52单片机中的同级中断不能嵌套。对

4.同为高中断优先级,外部中断0能打断正在执行的外部中断1的中断服务程序。错 5.中断服务子程序可以直接调用。错

6.在开中断的前提下,只要中断源发出中断请求,CPU就会立刻响应中断。错 四、简答

1.中断服务子程序与普通子程序有哪些相同和不同之处?

答:RETI指令在返回的同时自动清除相应的不可寻址的优先级触发器,以允许下次中断,而RET指令则没有这个操作。除了这一点两条指令不同外,其它操作都相同。 2.AT89S52单片机响应外部中断的典型时间是多少?在哪些情况下,CPU将推迟对外部中断请求的响应?

答:在一个单一中断的系统里,AT89S51单片机对外部中断请求的响应时间总是在3~8个机器周期之间。

在下述三种情况下,AT89S51将推迟对外部中断请求的响应: (1)AT89S52正在处理同级或更高优先级的中断。

(2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。 (3)正在执行的指令是RETI或是访问IE或IP的指令。

如果存在上述三种情况之一,AT89S52将丢弃中断查询结果,将推迟对外部中断请求的响应。

3.中断响应需要满足哪些条件?

答:一个中断源的中断请求被响应,必须满足以下条件:

(1)总中断允许开关接通,即IE寄存器中的中断总允许位EA=1。 (2)该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。 (3)该中断源的中断允许位=1,即该中断被允许。 (4)无同级或更高级中断正在被服务。

4.编写外部中断1为跳沿触发的中断初始化程序段。

答: 参考程序段如下:

…… SETB

SETB

IT1 EX1

SETB ……

EA

5.某系统有三个外部中断源IR1、IR2和IR3,当某一中断源发出的中断请求使INT1引脚变为低电平时(参见图4-11),便要求CPU进行处理,它们的优先处理次序由高到低为IR3、IR2、IR1,中断处理程序的入口地址分别为1000H,1100H,1200H。试编写主程序及中断服务子程序(转至相应的中断处理程序的入口即可)。

答:参见电路如图4-11,参考程序如下:

ORG LJMP ORG LJMP ORG CLR SETB SETB

0000H MAIN 0013H INT_EX1 0030H IT0 EX1 EA

;采用电平触发,低电平有效中断 ;允许外部中断1

MAIN:

;插入一段用户程序 WAIT: AJMP

WAIT

;单片机等待中断

;以下为外部中断1服务子程序 INT_EX1: JB

LJMP

JB

,NEXT1 INT_IR3 ,NEXT2 INT_IR2

;判断是不是IR3中断

;跳转到IR3中断处理程序

NEXT1:

;判断是不是IR2中断

;跳转到IR2中断处理程序

LJMP

NEXT2:

LJMP ORG

INT_IR1 1000H

;跳转到IR1中断处理程序

INT_IR3: 相应中断处理程序

RETI

;中断返回

ORG 1100H

INT_IR2: 相应中断处理程序

RETI

;中断返回

ORG 1200H

INT_IR1: 相应中断处理程序

RETI

;中断返回

第5章 思考题及习题5参考答案

一、填空

1.如果采用晶振的频率为3MHz,定时器/计数器Tx(x=0,1)工作在方式0、1、2下,其方式0的最大定时时间为 ,方式1的最大定时时间为 ,方式2的最大定时时间为 。 答:,,1024μs

联系客服:779662525#qq.com(#替换为@)