首页 理论教育 单片机综合设计:中断结构和控制

单片机综合设计:中断结构和控制

时间:2023-10-20 理论教育 版权反馈
【摘要】:表3-3 IE寄存器位定义中断允许寄存器IE对中断的开放和关闭实现两级控制。PX1:外部中断1中断优先级控制位。若某一控制位为1,则相应的中断源就规定为高级中断;反之,若某一控制位为0,则相应的中断源就规定为低级中断。在MCS-51中每一个中断源有程序控制为允许中断或禁止中断。

单片机综合设计:中断结构和控制

中断是指当CPU正在执行程序A时,如果有外部事件B请求CPU处理,则CPU暂时中断当前正在执行的程序A,转去执行程序B,并在处理完程序B之后,立即返回到原来被中止的程序A的间断处继续执行;为实现中断功能而设定的各种硬件和软件统称为中断系统。

MCS-51系列单片机有5个中断源:外部中断INT0、INT1,定时器/计数器0、1溢出中断和串口中断。

1.中断源

中断源是指引发中断的原因,MCS-51单片机中断系统中断源如下:

1)INT0:外部中断0请求,低电平有效。通过MCS-51单片机P3.2引脚输入。

2)INT1:外部中断1请求,低电平有效。通过MCS-51单片机P3.3引脚输入。

3)T0:定时器/计数器0溢出中断请求。

4)T1:定时器/计数器1溢出中断请求。

5)TX/RX:串行中断请求。当串口完成一帧数据发送或接收时,请求中断。

2.中断控制方式

MCS-51系列单片机对中断系统的控制主要包括4个特殊功能寄存器:定时器控制寄存器TCON、串口控制寄存器SCON、中断允许寄存器IE和中断优先级寄存器IP。

(1)TCON

TCON为定时器/计数器T0和T1的控制寄存器,同时也锁存T0和T1的溢出中断标志及外部中断0和1的中断标志等。与中断有关的位见表3-1。

表3-1 TCON寄存器位定义

978-7-111-43308-8-Chapter03-15.jpg

TF1:定时器/计数器T1的溢出中断请求标志位。允许T1计数后,T1从初值开始进行加1计数,计数器最高位产生溢出时,由硬件将TF1置“1”,并向CPU发出中断请求。当CPU响应中断时,硬件自动将TF1清0。

TF0:定时器/计数器T0的溢出中断请求标志位,其含义与TF1相似。

IE1:外部中断1的中断请求标志位。当检测到外部中断引脚1上存在有效的中断请求信号时,由硬件将IE1置“1”。当CPU响应该中断请求时,由硬件将IE1清“0”。

IE0:外部中断1的中断请求标志位。其含义与IE1相似。

IT1:外部中断1的中断触发方式控制位。IT1为0时,外部中断1为电平触发方式,若外部中断1请求为低电平,则使IE1置1。IT1为1时,外部中断1为边沿触发方式,若CPU检测到外部中断1的引脚有由高到低的负跳变沿时,则使IE1置1。

IT0:外部中断1的中断触发方式控制位。其含义与IT1相似。

TR1:为1时启动定时器/计数器T1;为0时停止定时器/计数器T1。

TR0:为1时启动定时器/计数器T0;为0时停止定时器/计数器T0。

(2)SCON

SCON为串口控制寄存器,其低2位TI和RI锁存串口的接收中断和发送中断。SCON中TI和RI的格式及含义见表3-2。

表3-2 SCON寄存器位定义

978-7-111-43308-8-Chapter03-16.jpg

TI:串口发送中断请求标志位。CPU将一个数据写入发送缓冲器SBUF时,就启动发送,每发送完一帧串行数据后,硬件置位TI。但CPU响应中断时,并不清除TI,必须在中断服务程序中由软件对TI清0。

RI:串口接收中断请求标志。在串口允许接收时,每接收完一个串行帧,硬件置位RI。同样,CPU响应中断时不会清除RI,必须用软件清0。(www.xing528.com)

(3)IE

MCS-51对中断请求源的开放或屏蔽是由中断允许寄存器IE控制的,IE的格式见表3-3。

表3-3 IE寄存器位定义

978-7-111-43308-8-Chapter03-17.jpg

中断允许寄存器IE对中断的开放和关闭实现两级控制。所谓两级控制就是有一个总的开关中断控制位EA(IE.7),当EA=0时,关闭所有的中断申请,即任何中断申请都不接受;当EA=1时,CPU开放中断,但5个中断源还要由IE的低5位的各对应控制位的状态进行中断允许控制。IE中各位的含义如下:

EA:中断允许控制位。EA=0,屏蔽所有中断请求;EA=1,CPU开放中断。对各中断源的请求中断是否允许,还要取决于各中断源的中断允许控制位的状态。

ES:串口中断允许位。ES=0,禁止串口中断;ES=1,允许串口中断。

ET1:定时器/计数器T1的溢出中断允许位。ET1=0,禁止T1中断;ET1=1,允许T1中断。

EX1:外部中断1中断允许位。EX1=0,禁止外部中断1中断;EX1=1,允许外部中断1中断。

ET0:定时器/计数器T0的溢出中断允许位。ET1=0,禁止T0中断;ET1=1,允许T0中断。

EX0:外部中断0中断允许位。EX0=0,禁止外部中断0中断;EX0=1,允许外部中断0中断。

(4)IP

MCS-51有两个中断优先级。对于每一个中断源可编程为高优先级中断或者低优先级中断。MCS-51片内中断优先级控制寄存器IP格式见表3-4。

表3-4 IP寄存器位定义

978-7-111-43308-8-Chapter03-18.jpg

IP中的低5位为各中断源优先级的控制位,可用软件来设定,各位的含义如下:

PS:串口中断优先级控制位。

PT1:定时器/计数器T1中断优先级控制位。

PX1:外部中断1中断优先级控制位。

PT0:定时器/计数器T0中断优先级控制位。

PX0:外部中断0中断优先级控制位。

若某一控制位为1,则相应的中断源就规定为高级中断;反之,若某一控制位为0,则相应的中断源就规定为低级中断。

3.中断优先级

MCS-51系列单片机有5个中断源,当两个及两个以上中断源同时向CPU申请中断时,CPU必须确定首先响应哪个,即不同的中断源有不同的优先级。在MCS-51中每一个中断源有程序控制为允许中断或禁止中断。当CPU执行关中断指令(或系统复位)后,将屏蔽所有的中断请求;当CPU执行开中断指令以后才有可能接收中断请求。每一个中断源可编程控制为最高优先级中断或低优先级中断,能实现两级中断嵌套

当同时收到几个同一优先级的中断请求时,响应哪一个中断源则取决于内部硬件查询顺序。其优先级顺序排列见表3-5。

表3-5 中断优先级顺序

978-7-111-43308-8-Chapter03-19.jpg

中断处理结束返回主程序后,至少要执行一条指令,才能响应新的中断请求。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈