【答】80C51单片机的中断流程由以下几个方面组成。’
①中断采样:解中断采样是针对外部中断请求信号进行的,而内部中断请求都发生在芯片内部,可以直接置位TCON或SCON中的中断请求标志。在每个机器周期的S5 P2(笫五状态的第二节拍)期间,各中断标志采样相应的中断源,并置人相应标志。
②中断查询:若查询到某中断标志为1,则按优先级的高低进行处理,即响应中断。 ③中断响应:响应中断后,由硬件自动生成长调用指令LCALL,其格式为“LCALL addrl 6”,而addrl 6就是各中断源的中断矢量地址。首先将程序计数器PC的内容压人堆栈进行保护,先压入PC低8位地址,后压人PC高8位地址,同时堆栈指针SP加2。将对应中断源的中断矢量地址装入程序计数器PC,使程序转向该中断矢量地址,去执行中断服务程序。
④中断服务子程序:由中断矢量地址开始,执行子程序,直到遇到中断返回指令RETI为止。
⑤中断返回:执行指令RETI,撤消中断申请,把断点地址从堆栈弹出送人PC。先弹出PC高8位地址,后弹出PC低8位地址,同时堆栈指针SP减2。程序从断点处恢复执行。
【5-4】什么是单片机的中断优先级?中断优先级处理的原则是什么?
【答】在一个单片机系统中往往允许有多个中断源,通常给每个中断源规定了优先级别,称为“优先权"或“中断优先级’’。
当单片机同时接收到两个或多个不同优先级的中断请求时,先响应高优先级的中断。如果同时接收到的是几个同一优先级的中断请求,则由内部的硬件查询序列确定它们的优先服务次序,当服务结束后,再响应级别较低的中断源。
在80C51单片机中有高、低两个中断优先级,通过中断优先级寄存器IP来设定。 在80C51单片机中存在同一优先级内由内部硬件查询序列确定的第二个优先级结构。 其排列如下:
中断源 中断优先级
外部中断0 最高
定时器T0中断
外部中断1
定时器T1中断
串行口中断
定时器T2中断 最低
【5-5】外部中断请求有哪两种触发方式?对跳变触发和电平触发信号有什么要求?如何选择和设置?
【答】外部中断请求有两种信号触发方式,即电平有效方式和跳变有效方式,可通过设置有关控制位进行定义。
当设定为信号电平有效方式时,若INT0或INT1引脚上采样到有效的低电平,则提出中断请求;当设定为信号跳变有效方式时,若INT0或INT1引脚上采样到有效负跳变,则提出中断请求。 ’
①INT0(P3.2)—一外部中断O。
当IT0(TCON.O)=0 时,信号触发方式为低电平有效;当IT0(TCON.O)=1时,信号触发方式为下降沿有效。
②INTI(P3.3)——外部中断1。
当ITI(TCON.2)=0时,信号触发方式为低电平有效;当ITl(TCON.2)=1时,信号触发方式为下降沿有效。
【5-6】80C51单片机有哪些中断源?对其中断请求如何进行控制?
【答】