51单片机的简介——中断系统_伏虎_新浪博客
    1、中断源
    8051有五个中断源,有两个优先级。与中断系统有关的特殊功能寄存器有IE(中断允许寄存器)、IP(中断优先级控制寄存器)、中断源控制寄存器(如TCON、SCON的有关位)。51单片机的中断系统结构如下图:

    8052有6个中断源,它比8051多一个定时器/计数器T2中断源。
    8051五个中断源分别是:
    (1)外部中断源
    8051有两个外部中断源,分别是INT0和INT1,分别从P3.2和P3.3两个引脚引入中断请求信号,两个中断源的中断触发允许由TCON的低4位控制,TCON的高4位控制运行和溢出标志。TCON的结构如下图:

       (a)定时器T0的运行控制位TR0
 
      TR0由软件置位或者清0。当门控位GATE=0时,TO计数器仅由TR0控制,TR0=1启动计数,TR0=0时停止。当门控位GATE=1时,T0计 数器由INT0和TR0共同控制,当INT0=1且TR0=1时启动T0计数器。
       (b)定时器T0溢出标志位TF0
       当T0溢出时TF0=1,并向CPU申请中断,CPU响应中断后由硬件将TF0清0,也可以由软件查询方式将TF0清0。
       (c)定时器T1的运行控制位TR1
       功能同TR0。
       (d)定时器T1溢出标志为TF1
       功能同TF1。
       (e)外部中断源1(INT1、P3.3)中断请求标志IE1
       IE1=1时外部中断源1正在向CPU请求中断,当CPU响应该中断时由硬件将IE1清0(下降沿触发方式)。
       (f)外部中断源1触发方式选择位IT1
       IT1=0时外部中断源1选择电平触发方式,当输入低电平时置位IE1;IT1=1时外部中断源1选择下降沿触发方式,当中断源由高电平变低电平时置位 IE1,向CPU请求中断。
       (g)外部中断源0(INT0、P3.2)中断请求标志IE0
       功能类同IE1。
       (h)外部中断源0触发方式选择位IT0
       功能类同IT1。
       CPU在每个机器周期采样INT0和INT1引脚的输入电平。
       i、电平触发方式
       当CPU采样到低电平时,置位IE0和IE1,采样到高电平时,将IE0和IE1清零。在电平触发方式下,外部中断源必须一直保持低电平(至少保持1个以上的机器周期)直到CPU响应中断请求,否则中断请求将丢失,同时在中断处理程序结束之前必须,外部中断源必须变为高电平,否则将产生另一次中断。
       ii、下降沿触发方式
       CPU每个机器周期采样中断输入引脚,如果相续的两次采样,{dy}次是高电平,第二次是低电平,则置位相应的IE,响应中断后,硬件自动将IE清0。采样下降沿触发方式,中断源的高、低电平都必须保持12个振荡周期(即1个机器周期)以上,这样CPU才能有效检测到下降沿,并引发CPU中断。
      (2)内部中断源
       8051有3个内部中断源,分别是定时器T0、T1和串行口中断。8052增加了一个T2定时器中断。
       2、中断使能控制
       中断的允许和禁止由中断使能控制寄存器IE控制,其字节地址为0A8H,可以位寻址,其结构如下图所示:
       IE寄存器中相关位为0时表示禁止,为1时表示允许。系统复位后,IE清成0。
       EX0:外部中断0中断允许位;
       ET0:定时器/计数器T0中断允许位;
       EX1:外部中断1中断允许位;
       ET1:定时器/计数器T1中断允许位;
       ES:串行口中断允许位;
       ET2:定时器/计数器T2中断允许位;(只要8052具有)
       EA:CPU中断总允许位,EA=1时所有的中断开放,EA=0时禁止所有的中断。
       3、中断优先级
       51有两个优先级:高、低。通过IP(中断优先级寄存器)来设置优先级,其字节地址为0B8H,可位寻址,其结构如下图:
       IP中各位值为0时表示低优先级中断,为1时表示高优先级中断。CPU复位后IP=0。高优先级中断可以中断低优先级中断,同优先级中断不能相互中断。当CPU同时接到同优先级的几个中断请求时,CPU按照如下硬件顺序进行中断响应:
       4、中断请求的撤除
       CPU响应中断请求,执行中断服务程序,但在中断返回指令(RETI)之前必须撤除中断信号,否则将可能再次引起中断而发生错误。
       中断请求撤销的方法有三种:
       a、单片机内部硬件自动复位:对于定时器/计数器T0、T1及采用边沿触发方式的外部中断请求,CPU在响应中断后,由内部硬件自动撤销中断请求;
       b、应用软件xx响应标志:对串口发送/接收中断请求及定时器T2的溢出和捕获中断请求,CPU响应中断后,内部无硬件自动复位RI、TI、TF2及EXF2,必须在中断服务程序中xx这些标志,才能撤除中断;
       c、既无软件xx也无硬件撤除:对于采用电平方式的外部中断请求,CPU对引脚上的中断请求信号既无控制能力,也无应答信号,为保障CPU响应中断请求中断后,执行返回指令前撤除中断请求,必须考虑另外的措施。
       5、中断响应过程
       51单片机在每个机器周期的S5P2状态顺序检查每个中断源的中断请求标志,若有中断源发送中断请求,CPU在下个机器周期的S5P2状态按优先级顺序查询各中断标志,并且取高优先级的中断进行响应。响应中断后置位相应的中断优先级状态触发器,标明当前中断服务的优先级别,执行硬件调用程序,将程序计数器PC的内容压入堆栈进行保护。对于中断源的中断入口地址装入程序计数器PC,使程序转入该中断入口处执行中断服务程序,直到遇到RETI指令。执行RETI指令,撤销中断优先级触发器,弹出断点地址至程序计数器PC,继续源程序的执行过程。
        在接收中断申请时,如遇到下列情况之一,硬件调用子程序将被封锁:
        a、正在执行同级或高一级的中断服务程序;
        b、当前指令周期不是该指令的{zh1}一个周期(或一条指令未执行完);
        c、当前正在执行的指令是RETI或对IE、IP的读写操作。
       6、中断入口地址
       各中断源的中断入口地址为:



已投稿到:
郑重声明:资讯 【51单片机的简介——中断系统_伏虎_新浪博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——