第5章 AT89S51的中断系统
参考答案
4.答:0013H; 5.答:D
6. 答:在一个单一中断的系统里,AT89S51单片机对外部中断请求的响应时间总是在3~8个机器周期之间。
在下述三种情况下,AT89S51将推迟对外部中断请求的响应: (1)AT89S51正在处理同级或更高优先级的中断。
(2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。 (3)正在执行的指令是RETI或是访问IE或IP的指令。
如果存在上述三种情况之一,AT89S51将丢弃中断查询结果,将推迟对外部中断请求的响应。
7.答:D
8.答:PC、PC、程序存储器 9.答: 参考程序段如下:
SETB IT1
SETB EX1 SETB EA
10.答:(D)
11. 答:一个中断源的中断请求被响应,必须满足以下必要条件:
(1)总中断允许开关接通,即IE寄存器中的中断总允许位EA=1。 (2)该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。 (3)该中断源的中断允许位=1,即该中断被允许。 (4)无同级或更高级中断正在被服务。 12. 答:(A)、(C)、(D)
13. 答:RETI指令在返回的同时清除相应的优先级触发器,以允许下次中断,而RET指令则没有这个操作。除了这一点两条指令不同外,其它操作都相同。
14.答:参见电路如图5-10,
·1·
参考程序如下:
ORG
0000H
LJMP MAIN ORG
0013H
LJMP INT_EX1 ORG CLR
0030H IT0
;采用电平触发,低电平有效中断 ;允许外部中断1
MAIN:
SETB EX1 SETB EA
;插入一段用户程序 WAIT:
MOV PCON,#01H ;单片机进入休眠方式等待中断 NOP LJMP WAIT
;以下为外部中断1服务子程序 INT_EX1:JB P1.2,NEXT1
LJMP INT_IR3
;判断是不是3号中断 ;跳转到3号中断处理程序 ;判断是不是2号中断 ;跳转到2号中断处理程序 ;跳转到1号中断处理程序
·2·
NEXT1:
JB P1.1,NEXT2
LJMP INT_IR2
LJMP INT_IR1
NEXT2:
ORG 1000H
INT_IR3: 相应中断处理程序
RETI ORG
;中断返回
1100H
INT_IR2: 相应中断处理程序 RETI
;中断返回
INT_IR1:
ORG
1200H
相应中断处理程序RETI
·3·
;中断返回
因篇幅问题不能全部显示,请点此查看更多更全内容