第4章思考题及习题4参考答案一、填空1.外部中断1的中断入口地址为。定时器T1的中断入口地址为答:0013H;001BH2.若(IP)=00010100B,则优先级最高者为,最低者为答:外部中断1,定时器T13.AT89S52单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送入一,使程序执行转向中的中断地址区。答:PC、PC、程序存储器4.AT89S52单片机复位后,中断优先级最高的中断源是答:外部中断05.当AT89S52单片机响应中断后,必须用软件清除的中断请求标志是答:串行中断、定时器/计数器T2中断二、单选1.下列说法错误的是()。A同一级别的中断请求按时间的先后顺序响应B.同一时间同一级别的多中断请求,将形成阻塞,系统无法响应C.低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求D.同级中断不能嵌套答:B2.在AT89S52的中断请求源中,需要外加电路实现中断撤销的是()。A.电平方式的外部中断请求B.跳沿方式的外部中断请求C.外部串行中断D.定时中断答:A3.中断查询确认后,在下列各种AT89S52单片机运行情况下,能立即进行响应的是()。A.当前正在进行高优先级中断处理
·1· 第 4 章 思考题及习题 4 参考答案 一、填空 1.外部中断 1 的中断入口地址为 。定时器 T1 的中断入口地址为 。 答:0013H;001BH 2.若(IP)=00010100B,则优先级最高者为 ,最低者为 。 答:外部中断 1,定时器 T1 3.AT89S52 单片机响应中断后,产生长调用指令 LCALL,执行该指令的过程包括:首先把 的内容压入堆栈,以进行断点保护,然后把长调用指令的 16 位地址送入 ,使程 序执行转向 中的中断地址区。 答:PC、PC、程序存储器 4.AT89S52 单片机复位后,中断优先级最高的中断源是 。 答:外部中断 0 5.当AT89S52单片机响应中断后,必须用软件清除的中断请求标志是 。 答:串行中断、定时器/计数器T2中断 二、单选 1.下列说法错误的是( )。 A. 同一级别的中断请求按时间的先后顺序响应 B. 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应 C. 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先 级中断请求 D. 同级中断不能嵌套 答:B 2.在 AT89S52 的中断请求源中,需要外加电路实现中断撤销的是( )。 A. 电平方式的外部中断请求 B.跳沿方式的外部中断请求 C.外部串行中断 D.定时中断 答:A 3.中断查询确认后,在下列各种 AT89S52 单片机运行情况下,能立即进行响应的是( )。 A.当前正在进行高优先级中断处理
B.当前正在执行RETI指令C.当前指令是MOVA,R3D.当前指令是DIV指令,且正处于取指令的机器周期答:C()。4.下列说法正确的是(A各中断源发出的中断请求信号,都会标记在AT89S52的IE寄存器中B.各中断源发出的中断请求信号,都会标记在AT89S52的TMOD寄存器中C各中断源发出的中断请求信号,都会标记在AT89S52的IP寄存器中D.各中断源发出的中断请求信号,都会标记在AT89S52的TOON、SCON以及T2CON寄存器中答:D三、判断对错1.定时器TO中断可以被外部中断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)所查询的机器周期不是当前正在执行指令的最后一个机器周期。2
·2· 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为跳沿触发的中断初始化程序段。答:参考程序段如下:..IT1SETBSETBEX1SETBEA.....5.某系统有三个外部中断源IR1、IR2和IR3,当某一中断源发出的中断请求使INTi引脚变为低电平时(参见图4-11),便要求CPU进行处理,它们的优先处理次序由高到低为IR3、IR2、IR1,中断处理程序的入口地址分别为1000H,1100H,1200H。试编写主程序及中断服务子程序(转至相应的中断处理程序的入口即可)。答:参见电路如图4-11,参考程序如下:ORGO00OHLJMPMAINORG0013HLJMPINT_EX1ORG0030HCLRITOMAIN::采用电平触发,低电平有效中断SETBEX1;允许外部中断1SETBEA:插入一段用户程序.3
·3· (3)正在执行的指令是 RETI 或是访问 IE 或 IP 的指令。 如果存在上述三种情况之一,AT89S52 将丢弃中断查询结果,将推迟对外部中断请求的响 应。 3.中断响应需要满足哪些条件? 答:一个中断源的中断请求被响应,必须满足以下条件: (1)总中断允许开关接通,即 IE 寄存器中的中断总允许位 EA=1。 (2)该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。 (3)该中断源的中断允许位=1,即该中断被允许。 (4)无同级或更高级中断正在被服务。 4.编写外部中断 1 为跳沿触发的中断初始化程序段。 答: 参考程序段如下: . SETB IT1 SETB EX1 SETB EA . 5.某系统有三个外部中断源 IR1、IR2 和 IR3,当某一中断源发出的中断请求使 INT1 引脚变 为低电平时(参见图 4-11),便要求 CPU 进行处理,它们的优先处理次序由高到低为 IR3、 IR2、IR1,中断处理程序的入口地址分别为 1000H,1100H,1200H。试编写主程序及中断服务 子程序(转至相应的中断处理程序的入口即可)。 答:参见电路如图 4-11,参考程序如下: ORG 0000H LJMP MAIN ORG 0013H LJMP INT_EX1 ORG 0030H MAIN: CLR IT0 ;采用电平触发,低电平有效中断 SETB EX1 ;允许外部中断 1 SETB EA ;插入一段用户程序
WAITWAIT:AJMP;单片机等待中断以下为外部中断1服务子程序:JBINT_EX1:P1.2, NEXT1判断是不是IR3中断LJMPINT_IR3跳转到IR3中断处理程序JBNEXT1:P1.1, NEXT2判断是不是 IR2中断LJMPINT_IR2跳转到IR2中断处理程序动LJMPINT_IR1NEXT2:跳转到IR1中断处理程序ORG1000HINT IR3:相应中断处理程序RETI;中断返回ORG110OH相应中断处理程序INT_IR2:RETI:中断返回ORG1200HINT_IRI:相应中断处理程序RETI;中断返回.4
·4· WAIT: AJMP WAIT ;单片机等待中断 ;以下为外部中断 1 服务子程序 INT_EX1: JB P1.2,NEXT1 ;判断是不是 IR3 中断 LJMP INT_IR3 ;跳转到 IR3 中断处理程序 NEXT1: JB P1.1,NEXT2 ;判断是不是 IR2 中断 LJMP INT_IR2 ;跳转到 IR2 中断处理程序 NEXT2: LJMP INT_IR1 ;跳转到 IR1 中断处理程序 ORG 1000H INT_IR3: 相应中断处理程序 RETI ;中断返回 ORG 1100H INT_IR2: 相应中断处理程序 RETI ;中断返回 ORG 1200H INT_IR1: 相应中断处理程序 RETI ;中断返回