第 4 章 单片机内部功能模块
习题解答
1. 什么是中断?中断有何优点?
中断是指计算机在执行程序的过程中,由于计算机系统外界或内部发生某一紧急事件,要求CPU暂时中止当前的工作转去处理所发生的紧急事件,待处理完后再回到原来被中止的地方,继续原来的工作的过程。
在计算机中引入中断技术具有以下优点: (1)可以提高CPU的工作效率; (2)便于实时处理;
(3)便于故障处理,提高系统的稳定性。
2. MCS-51单片机的中断系统有哪些功能部件组成?分别作什么用?
MCS-51单片机的中断系统有4个与中断有关的特殊功能寄存器(TCON、SCON),中断允许控制寄存器IE,中断优先级寄存器IP和中断顺序查询逻辑等组成。其功能分别为:TCON用于寄存定时器T0、T1的溢出中断和外部INT0、INT1的中断请求及设置外部中断的触发方式;SVON的低2位用于作串行发送和接收中断标志;IE用于设置各中断源允许和禁止;IP用于设置各中断源的优先级别;中断查询逻辑用于确定中断响应的次序。
3. MCS-51单片机有几个中断源?各中断标志如何产生,又如何清除? MCS-51有五个中断源,它们是:
(1)外部中断0(INT0)中断,低电平有效。通过P3.2引脚引入。 (2)外部中断1(INT1)中断,低电平有效。通过P3.3引脚引入。 (3)定时/计数器0(T0)溢出中断。 (4)定时/计数器1(T1)溢出中断。
(5)串行口中断,当串行口完成一帧数据的发送和接收时,便请求中断。 中断标志位产生与复位:
(1)外部中断0(INT0)中断标志:当外部中断0引脚INT0上的电平由1变为0时,IE0由硬件置“1”,外部中断0请求中断。在CPU响应该中断时由硬件清0。
(2)外部中断1(INT1)中断标志:当外部中断1引脚INT1上的电平由1变为0时,IE1由硬件置“1”,外部中断1请求中断。在CPU响应该中断时由硬件清0。
(3)定时/计数器0(T0)溢出中断标志:当T0从初值开始加1计数到产生溢出时,
1
由硬件使TF0自动置“1”,并向CPU申请中断。CPU响应中断进入中断服务程序后,硬件将TF0自动清零。
(4)定时/计数器1(T1)溢出中断标志:当T1从初值开始加1计数到产生溢出时,由硬件使TF1自动置“1”,并向CPU申请中断。CPU响应中断进入中断服务程序后,硬件将TF1自动清零。
(5)串行口接收中断请求标志位:在串行口方式0中,每当接收到第8位数据时,由硬件将RI置“1”;在其它方式中,当接收到停止位的中间位时置位RI。当CPU转入串行口中断服务程序时不复位RI,必须由软件来使RI清零。
串行口发送中断请求标志位。在方式0中,每当发送8位数据时由硬件将TI置“1”;在其它方式中于停止位开始时置位。TI也必须由软件来复位。
4. 中断响应时间是否确定不变,为什么?
MCS-51单片机中断响应时间在不同情况下响应时间不同。
在每个机器周期的S5P2期间,外部中断0和外部中断1引脚的电平被锁存到TCON的IE0和IE1标志位,CPU在下一个周期才会查询这些值。这时如果满足中断条件,下一条要执行的指令将是一条硬件长调用指令“LCALL”,使程序转移到中断源对应的矢量地址入口。硬件长调用指令本身要花两个机器周期,这样从中断请求有效到开始执行中断服务程序的第一条指令,中间要隔三个机器周期,是最短的响应时间。如果遇到中断受阻的情况,则中断时间会更长。例如,一个同级或高优先级的中断正在执行,则附加的等待时间为1~3个周期,如果正在执行的指令是RETI指令或者是读写IE或IP指令,则附加的时间在5个机器周期之内。因此如系统只有一个中断源,则响应时间在3~8机器周期。
5. MCS-51响应中断的条件是什么?CPU响应中断,CPU要进行哪些操作?不同的中断源的中断入口地址是多少?
CPU响应中断的条件如下: (1)有中断源发出中断请求;
(2)中断总允许位EA=1,即CPU开放中断;
(3)申请中断的中断源的中断允许位为1,即没有被屏蔽。
MCS-51的CPU在每个机器周期的S5P2期间顺序采样各中断标志位,如有置位,只要以上条件满足,且下列三种情况都不存在,哪么,在下一周期的S1期间CPU响应中断。否则,采样的结果被取消。
1) CPU正式在处理同级或更高优先级的中断。 2) 现行的机器周期不是所执行指令的最后一个周期。
3) 正在执行的指令是RETI或访问IE、IP指令。CPU在执行RETI或访问IE、IP指令的指令后,至少需要执行一条其它指令后才会响应中断请求。
2
CPU响应中断后,保护断点,硬件自动将(PC)压入堆栈,寻找中断源,中断矢量送入PC,程序转向中断服务程序的入口地址。
各中断服务程序的入口地址:INT1=0013H , INT0 =0003H ,T1=001BH ,T0=000BH,串行接口=0023H
6. 什么是中断优先级?单片机对中断优先级的处理原则是什么?
中断优先级是CPU响应中断的先后顺序。单片机对中断优先级的处理原则是: (1)低优先级中断源可被高优先级中断源所中断,而高优先级中断源不能被任何中断源所中断;
(2)一种中断源(不管是高优先级还是低优先级)一旦得到响应,与它同级的中断源不能再中断它。
当同时收到几个同一优先级的中断时,响应哪一个中断源取决于内部查询顺序。其优先级排列如下:
中断源 同级内的中断优先级 外部中断0 最高 定时器/计数器0溢出中断 外部中断1
定时器/计数器1溢出中断
串行口中断 最低
7. MCS-51的外部中断有哪两种触发方式?它们对触发脉冲或电平有什么要求? 外部中断有电平触发和脉冲触发两种方式。脉冲触发方式时,CPU在每个机器周期采
IT样INT1,(N0)端,如果在一个周期中采样到高电平,在下一个周期中采样到低电平,
则向CPU请求中断。电平触发方式时,只要CPU检测到INT1,INT0端的输入端为低电平即向CPU请求中断。
采用电平触发方式时,输入到INT1,INT0端的外部中断源必须保持低电平有效,直到该中断被响应。采用脉冲触发方式时,中断请求信号的高电平状态和低电平状态都至少要维持一个周期以确保电平变化能被CPU采样到。
8. 简述MCS-51单片机的中断响应过程。
CPU在每个机器周期的S5P2期间顺序采样每个中断源,在下一个机器周期S6区间按优先级顺序查询中断标志,如查询到某个中断定标志为1,将在接下来的机器周期S1期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入PC,以便进入相应的中断服务程序。一旦响应中断,CPU首先置位相应的中断“优先级触发器”,然后由硬件执行一条长调用指令,把当前的PC值压入堆栈,以保护断点,再将相应的中断服务的
3
单片机第四章习题答案



