51单片机——中断与定时计数

中断原理

AT89S51中断系统结构

中断系统有5个中断请求源(简称中断源),2个中断优先级,可实现2级中断服务程序嵌套。每一中断源可用软件独立控制为允许中断或关闭中断状态;每一个中断源的优先级均可用软件设置。
51单片机——中断与定时计数_第1张图片
中断系统共有5个中断请求源,它们是:

(1)INT0*—外部中断请求0,外部中断请求信号(低电平或负跳变有效)由INT0* 引脚输入,中断请求标志为IE0。
 (2)INT1*—外部中断请求1,外部中断请求信号(低电平或负跳变有效)由INT1* 引脚输入,中断请求标志为IE1。
 (3)定时器/计数器T0计数溢出的中断请求,标志为TF0。
 (4)定时器/计数器T1计数溢出的中断请求,标志为TF1。
 (5)串行口中断请求,标志为发送中断TI或接收中断RI。

当中断请求源发出中断请求时,如中断请求被允许,单片机暂时中止当前正在执行的主程序,转到 中断服务处理程序处理中断服务请求,处理完中断服务请求后,再回到原来被中止的程序之处(断点),继续执行被中断的主程序。
中断技术主要用于实时监测与控制,要求单片机能及时地响应中断请求源提出的服务请求,并快速响应与及时处理。
如没有中断系统,单片机大量时间可能会浪费在查询是否有服务请求的定时查询操作上,即不论是否有服务请求,都必须去查询。
采用中断技术完全消除查询方式的等待,大大提高单片机工作效率和实时性。

中断允许与中断优先级的控制

各中断源开放或屏蔽,是由片内中断允许寄存器IE控制。IE字节地址为A8H,可进行位寻址
51单片机——中断与定时计数_第2张图片
IE对中断开放和关闭实现两级控制。两级控制就是有一个总的中断开关控制位EA(IE.7位),当EA=0,所有中断请求被屏蔽,CPU对任何中断请求都不接受;当EA=1时,CPU开中断,但5个中断源的中断请求是否允许,还要由IE中的低5位所对应的5个中断请求允许控制位的状态来决定

IE中各位的功能如下:

(1)EA—中断允许总开关控制位。
   EA=0,所有的中断请求被屏蔽。
    EA=1,所有的中断请求被开放。
 (2)ES—串行口中断允许位。
    ES=0,禁止串行口中断。
    ES=1,允许串行口中断。
 (3)ET1—定时器/计数器T1溢出中断允许位。
    ET1=0,禁止T1溢出中断。
    ET1=1,允许T1溢出中断。
 (4)EX1—外部中断1中断允许位。
EX1=0,禁止外部中断1中断。
    EX1=1,允许外部中断1中断。
(5)ET0—定时器/计数器T0的溢出中断允许位。
    ET0=0,禁止T0溢出中断。
   ET0=1,允许T0溢出中断。
(6)EX0—外部中断0中断允许位。
    EX0=0,禁止外部中断0中断。
    EX0=1,允许外部中断0中断。
T89S51复位后,IE被清“0”,所有中断请求被禁止。IE中与各个中断源相应位可用指令置“1”或清“0”,即可允许或禁止各中断源的中断申请。若使某一个中断源被允许中断,除了IE相应位被置“1”外,还必须使EA位置“1”。

中断优先级寄存器IP

中断请求源有两个中断优先级,每一个中断请求源可由软件设置为高优先级中断或低优先级中断,也可实现两级中断嵌套。

所谓两级中断嵌套,就是AT89S51正在执行低优先级中断的服务程序时,可被高优先级中断请求所中断&

你可能感兴趣的:(51单片机,嵌入式硬件,单片机)