精华内容
下载资源
问答
  • 单片机学习笔记(二)——中断系统
    2019-10-24 23:56:03

    MCS-51的中断系统

    CPU正在处理某件事情时,单片机的内部或外部发生的某一事件请求CPU迅速去处理,于是CPU暂时中止当前的工作去处理所发生的事件。处理的过程是由中断服务处理程序来负责的,它处理完后又回到原来被中止的地方,继续原来的工作,这就是中断。
    一、中断请求
    51(MCS-51系统简称,以下均使用51)中断系统有五个中断请求源,分别是:
    外部中断请求源2个:INT0 和 INT1*,中断请求标志分别为 IE0 和 IE1
    定时器/计数器 T0 、T1 溢出中断请求,中断请求标志分别为 TF0 和 TF1
    串行口中断请求,中断请求标志位 TI(发送中断请求) 或 RI(接收中断请求)
    这些中断请求源的中断请求标志位分别由特殊功能寄存器TCON和SCON的相应位锁存,下面介绍这两种寄存器。
    (一)TCON
    TCON是定时器/计数器的控制寄存器,字节地址为88H,可以进行位寻址。

    TCOND7D6D5D4D3D2D1D0
    标志位TF1TR1TF0TR0IE1IT1IE0IT0
    位地址8FH8DH8BH8AH89H88H

    TF1 、TF0 : 51片内定时器/计数器T1的溢出中断请求标志位,当计数器计数溢出时,置“1”,
    TR1、TR0 :定时器/计数器技术控制位,为“1”,启动定时器/计数器工作;为“0”,停止定时器/计数器工作。
    IE1、IE0 : 外部中断请求1和0的中断请求标志位。
    IT1、IT0 : 外部中断请求1和0为跳沿触发方式还是电平触发方式,为“0”,表示为电平触发方式,加到INT1或INT0上的外部中断请求信号为低电平有效;“1”表示跳沿触发方式,加到INT1和INT0上的外部中断请求输入信号为从高电平到负电平的负跳变有效(按按钮实现)。
    (二)SCON
    SCON为串行口控制寄存器,字节地址为98H,可位寻址。

    SCOND7D6D5D4D3D2D1D0
    标志位TIRI
    位地址99H98H

    TI/RI : 串行口的发送中断请求标志位和接收中断请求标志。CPU相应串行口的发送和接收中断时,并不清“0”T1和R1,必须在中断服务程序中用软件对其进行清“0”。
    二、中断控制
    (一)中断允许寄存器IE
    CPU对中断的开放或屏蔽,是由片内的中断允许寄存器IE控制的。IE字节地址为A8H,可位寻址。

    IED7D6D5D4D3D2D1D0
    标志位EAESET1EX1ET0EX0
    位地址ACHABHAAHA9HA8H

    EA :中断允许总控制位,为“0”,CPU屏蔽所有中断请求(关中断);为“1”,CPU开放中断请求(但是否相应具体中断还要看该终端类型对应的中断允许位)
    ES : 串行口中断允许位
    ET1/ET0 : 定时器/计数器T1/T0溢出中断允许标志位
    EX1/EX0 : 外部中断1/0允许标志位
    以上标志位均为“0”时表示禁止对应中断,为“1”时表示允许对应中断。
    51复位后,IE被清0,所有中断请求被禁止。若想允许某一中断源中断,不仅要置“1”对应中断控制位,还要打开中断总开关EA(EA置“1”)。改变IE寄存器的指令时可以用位操作(STEB bit 或 CLR bit)实现也可用字节操作指令(MOV/ANL/ORL IE,#data/A)实现。
    (二)中断优先级寄存器IP
    51有两级优先级,中断关系为:低优先级可被高优先级中断,反之不能;任何中断得到响应后都不能被其同级中断所中断。当前中断为高级还是低级可由中断优先级寄存器IP设置,其字节地址为B8H,可位寻址:

    IPD7D6D5D4D3D2D1D0
    标志位PSPT1PX1PT0PX0
    位地址BCHBBHBAHB9HB8H

    PS : 串行口中断优先级控制位
    PT1/PT0 : 定时器1/0中断优先级控制位
    PX1/PX0 : 外部中断1/0中断优先级控制位
    以上控制位置“1”表示该中断定义为高优先级中断,“0”则表示低优先级中断
    除此之外,51单片机还有一个默认辅助优先级序列,由高到低依次是:
    外部中断0
    T0溢出中断
    外部中断1
    T1溢出中断
    串行口中断
    三、响应中断请求的条件
    四个条件:
    1、CPU开中断,即EA=1
    2、该中断源对应的中断请求标志位为“1”
    3、该中断源的中断允许位=1,即该终端没有被屏蔽
    4、无同级或最高级中断正在被服务

    更多相关内容
  • 本文主要对单片机中断请求源进行了简要分析,希望对你的学习有所帮助。
  •  如下图所示,若系统中有5个外部中断请求源IR0~IR4,它们均为高电平请求有效,这时可按中断请求的轻重缓急进行排队,把其中别的中断请求源IR0直接接到AT89S51的一个外部中断请求源IR0输入端INT0,其余的4个中断...
  • 中断系统有6个中断请求源(简称中断源)(80c51单片机有5个中断源),两个中断优先级,可实现两级中断服务程序嵌套。 每一中断源可用软件独立控制为允许中断或关中断状态,中断优先级均可用软件来设置。 图4-2 AT...

    • 中断系统结构图如图4-2所示。
    • 中断系统有6个中断请求源(简称中断源)(80c51单片机有5个中断源),两个中断优先级,可实现两级中断服务程序嵌套
    • 每一中断源可用软件独立控制为允许中断关中断状态,中断优先级均可用软件来设置。
      图4-2 AT89S52的中断系统结构

    4.2.1 中断请求源

    由图4-2可见,AT89S52中断系统共有6个中断请求源

    1. INT0* — 外部中断请求0,中断请求信号由 INT0* 脚输入,中断请求标志为IE0
    2. INT1* — 外部中断请求1,中断请求信号由 INT1* 脚输入,中断请求标志为IE1
    3. 定时器/计数器T0 计数溢出发出的中断请求,中断请求标志为TF0
    4. 定时器/计数器T1 计数溢出发出的中断请求,中断请求标志为TF1
    5. 串行口中断请求,中断请求标志为发送中断TI接收中断RI
    6. T2 的中断请求源(AT89S52多了这个中断源),含有计数溢出(TF2)“捕捉”(EXF2)两种中断请求标志,经或门共用一个中断矢量。两种中断触发是由T2的两种不同工作方式决定的。

    4.2.2 中断请求标志寄存器

    • 6个中断请求源的中断请求标志分别由TCON 、SCON和T2CON的相应位锁存(见图4-2)。

    1. TCON寄存器

    • 定时器/计数器的控制寄存器,字节地址为88H可位寻址。特殊功能寄存器TCON的格式如图4-3所示。
    图4-3 特殊功能寄存器TCON的格式

    TCON各标志位功能如下:

    • TF1—定时器/计数器T1的溢出中断请求标志位。
      • 当T1计数产生溢出时,由硬件使TF1置“1”,向CPU申请中断。CPU响应TF1中断时,TF1标志由硬件自动清“0”,TF1也可由软件清“0”
    • TF0—定时器/计数器T0的溢出中断请求标志位,功能与TF1类似。
    • IE1—外部中断请求1的中断请求标志位。
    • IE0—外部中断请求0中断请求标志位,功能与IE1类似。
    • IT1—选择外部中断请求1为跳沿触发还是电平触发。
      • IT1=0电平触发方式,引脚 上低电平有效,并把IE1置“1”。转向中断服务程序时,由硬件自动把IE1清“0”
      • IT1=1跳沿触发方式,加到引脚 上的外部中断请求输入信号电平从高到低的负跳变有效,并把IE1置“1”。转向中断服务程序时,由硬件自动把IE1清“0”
    • IT0—选择外部中断请求0为跳沿触发方式还是电平触发方式,其意义与IT1类似。
    • AT89S52复位后,TCON被清“0”,6个中断源的中断请求标志均为0
    • TR1(D6位)TR0(D4位) 这2位与中断系统无关,将在第5章定时器/计数器中介绍。

    2. SCON寄存器

    • 串行口控制寄存器,字节地址为98H可位寻址
    • 低二位锁存串行口的发送中断和接收中断的中断请求标志TI和RI,格式如图4-4所示。
    图4-4 SCON中的中断请求标志位

    各标志位的功能:

    • TI—串行口的发送中断请求标志位。每发送完一帧串行数据后,TI自动置“1”。TI标志必须由软件清“0”
    • RI—串行口接收中断请求标志位。串行口接收完一个串行数据帧,硬件自动使RI中断请求标志置“1”。必须在中断服务程序中用指令对RI清“0”。

    3.定时器2的控制寄存器T2CON

    • 80c51没有。
    • 特殊功能寄存器T2CON的字节地址为C8H可位寻址,位地址为C8H~CFH。格式见图4-5。
    图4-5 T2CON格式
    • T2CON中的最高两位为定时器/计数器T2中断请求标志位TF2和EXF2

    • TF2(D7):当T2的计数器(TL2、TH2)计数计满溢出回0时,由内部硬件置位TF2(寄存器T2CON.7),向CPU发出中断请求。但是当RCLK位或TCLK位为1时将不予置位。本标志位必须由软件清0。

    • EXF2(D6):当由引脚T2EX(P1.1脚)上的负跳变引起“捕捉”或“重新装载”且EXEN2位为1,则置位EXF2标志位(寄存器T2CON.6),向CPU发出中断请求。

    • 上述两种中断请求,在满足中断响应条件时,CPU都将响应其中断请求,转向同一个中断矢量地址进行中断处理。因此,必须在T2的中断服务程序中对TF2和EXF2两个中断请求标志位进行查询,然后正确转入对应的中断处理程序。中断结束后,中断请求标志位TF2或EXF2必须由软件清0

    展开全文
  • 成就更好的自己 目录 中断系统 中断请求源 中断请求标志寄存器 ...中断技术主要用于实时监测与控制,要求单片机能及时地响应中断请求源提出的服务请求,并作出快速响应、及时处理。这是由片内...

    成就更好的自己

     

    目录

    中断系统

    中断请求源

    中断请求标志寄存器

    TCON寄存器

     SCON寄存器

    定时器2的控制寄存器T2CON

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

    中断允许寄存器IE

    中断优先级寄存器IP

    响应中断请求的条件

    中断响应的过程

    外部中断的响应时间

    外部中断的触发方式选择

    电平触发方式

    跳沿触发方式

    中断请求的撤销

     

     


    中断系统

     

    中断技术主要用于实时监测与控制,要求单片机能及时地响应中断请求源提出的服务请求,并作出快速响应、及时处理。这是由片内的中断系统来实现的。 

    当中断请求源发出中断请求时,如果中断请求被允许,单片机暂时中止当前正在执行的主程序,转到中断服务处理程序处理中断服务请求。

    中断服务处理程序处理完中断服务请求后,再回到原来被中止的程序之处(断点),继续执行被中断的主程序。

     

     

    如果单片机没有中断系统,单片机的大量时间可能会浪费在查询是否有服务请求发生的定时查询操作上。

       采用中断技术完全消除了单片机在查询方式中的等待现象,大大地提高了单片机的工作效率和实时性

    AT89S51中断系统结构 

       中断系统结构图如图所示。

     

       中断系统有6个中断请求源(简称中断源),两个中断优先级,可实现两级中断服务程序嵌套。

       每一中断源可用软件独立控制为允许中断或关中断状态,中断优先级均可用软件来设置。

     

    中断请求源

    由图可见,AT89S52中断系统共有6个中断请求源:

    (1)INT0*—外部中断请求0,中断请求信号由INT0*脚输入,中断请求标志为IE0。

    (2)INT1*—外部中断请求1,中断请求信号由INT1*脚输入,中断请求标志为IE1。

    (3)定时器/计数器T0计数溢出发出的中断请求,中断请求标志为TF0。

    (4)定时器/计数器T1计数溢出发出的中断请求,中断请求标志为TF1。

    (5)串行口中断请求,中断请求标志为发送中断TI或接收中断RI。

    (6)T2的中断请求源,含有计数溢出(TF2)和“捕捉”(EXF2)两种中断请求标志,经或门共用一个中断矢量。两种中断触发是由T2的两种不同工作方式决定的。

    中断请求标志寄存器

     6个中断请求源的中断请求标志分别由TCON 、SCON和T2CON的相应位锁存。

    TCON寄存器

          为定时器/计数器的控制寄存器,字节地址为88H,可位寻址。特殊功能寄存器TCON的格式如图所示。

     

    TCON各标志位功能如下:

      (1)TF1—定时器/计数器T1的溢出中断请求标志位。

    当T1计数产生溢出时,由硬件使TF1置“1”,向CPU申请中断。CPU响应TF1中断时,TF1标志由硬件自动清“0”,TF1也可由软件清“0”。

      (2)TF0—定时器/计数器T0的溢出中断请求标志位,功能与TF1类似。

      (3)IE1—外部中断请求1的中断请求标志位。

      (4)IE0—外部中断请求0中断请求标志位,功能与IE1类似。

      (5)IT1—选择外部中断请求1为跳沿触发还是电平触发。

       IT1=0,电平触发方式,引脚 上低电平有效,并把IE1置“1”。转向中断服务程序时,由硬件自动把IE1清“0”。

       IT1=1,跳沿触发方式,加到引脚 上的外部中断请求输入信号电平从高到低的负跳变有效,并把IE1置“1”。转向中断服务程序       时,由硬件自动把IE1清“0”。

    (6)IT0—选择外部中断请求0为跳沿触发方式还是电平触发方式,其意义与IT1类似。

       AT89S52复位后,TCON被清“0”,6个中断源的中断请求标志均为0。

       TR1(D6位)、TR0(D4位)这2位与中断系统无关,将在第5章定时器/计数器中介绍。

     SCON寄存器

       串行口控制寄存器,字节地址为98H,可位寻址。

       低二位锁存串行口的发送中断和接收中断的中断请求标志TI和RI,格式如图4-4所示。

    各标志位的功能:

    (1)TI—串行口的发送中断请求标志位。每发送完一帧串行数据后,TI自动置“1”。TI标志必须由软件清“0”。

       (2)RI—串行口接收中断请求标志位。串行口接收完一个串行数据帧,硬件自动使RI中断请求标志置“1”。必须在中断服务程序中用指令对RI清“0”。 

    定时器2的控制寄存器T2CON

       特殊功能寄存器T2CON的字节地址为C8H,可位寻址,位地址为C8H~CFH。格式见图。

       T2CON中的最高两位为定时器/计数器T2的中断请求标志位TF2和EXF2。

      (1)TF2(D7):当T2的计数器(TL2、TH2)计数计满溢出回0时,由内部硬件置位TF2(寄存器T2CON.7),向CPU发出中断请求。但是当RCLK位或TCLK位为1时将不予置位。本标志位必须由软件清0。

     

    (2)EXF2(D6):当由引脚T2EX(P1.1脚)上的负跳变引起“捕捉”或“重新装载”且EXEN2位为1,则置位EXF2标志位(寄存器T2CON.6),向CPU发出中断请求。

      上述两种中断请求,在满足中断响应条件时,CPU都将响应其中断请求,转向同一个中断矢量地址进行中断处理。因此,必须在T2的中断服务程序中对TF2和EXF2两个中断请求标志位进行查询,然后正确转入对应的中断处理程序。中断结束后,中断请求标志位TF2或EXF2必须由软件清0。

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

         中断允许控制由中断允许寄存器IE控制。

         中断优先级控制由中断优先级寄存器IP控制。

    中断允许寄存器IE

          AT89S52的对各中断源的开放或屏蔽,是由中断允许寄存器IE控制的。

          IE字节地址为A8H,可位寻址,格式如图所示。

    IE对中断的开放和关闭实现两级控制。

    有一个总的开关中断控制位EA(IE.7位),

       EA=0时,所有的中断请求被屏蔽;

       EA=1时,开放中断,但6个中断源的中断请求是否允许,还要由IE中的低6位所对应的6个中断请求允许控制位的状态来决定(图4-6)。

    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中断。

    (7)EX0——外部中断0中断允许位。

                  EX0=0,禁止外部中断0中断。

                  EX0=1,允许外部中断0中断。

          AT89S52复位以后,IE被清“0”,所有的中断请求被禁止。IE中与各个中断源相应的位可用指令置“1”或清“0”,即可允许或禁止各中断源的中断申请。若使某一个中断源被允许中断,除了IE相应的位被置“1”外,还必须使EA位置“1”,即EA位置“1”为中断请求的必要条件。

         改变IE的内容,可由位操作指令来实现(即SETB  bit;CLR  bit),也可用字节操作指令实现。 AT89S51复位以后,IE被清“0”,所有中断请求被禁止。IE中与各个中断源相应的位可用指令置“1”或清“0”。

    中断优先级寄存器IP

          AT89S52的中断请求源有两个中断优先级,由软件分别设置为高优先级中断或低优先级中断,可实现:两级中断嵌套

    AT89S52正在执行低优先级中断的服务程序时,可被高优先级中断请求所中断,待高优先级中断处理完毕后,再返回低优先级中断服务程序。两级中断嵌套的过程如图所示。

        各中断源的中断优先级关系,可归纳为两条基本规则:

       (1)低优先级可被高优先级中断,高优先级不能低优先级中断。如果某一中断源被设置为高优先级中断,则不能被任何其他的中断源的中断请求所中断。

    (2)任何一种中断一旦得到响应,不会再被它的同级中断源所中断。

     

          中断优先级寄存器IP,其字节地址为B8H,可位寻址。只要用程序改变其内容,可进行各中断源中断优先级的设置,IP寄存器的格式如图所示。

    中断优先级寄存器IP各位的含义如下:

    (1)PT2—定时器T2中断优先级控制位

    (2)PS—串行口中断优先级控制位

    (3)PT1—定时器T1中断优先级控制位

    (4)PX1—外部中断1中断优先级控制位

    (5)PT0—定时器T0中断优先级控制位

    (6)PX0—外部中断0中断优先级控制位

           1:高优先级

           0:低优先级

         中断优先级控制寄存器IP用位操作指令或字节操作指令可更新IP的内容,以改变中断优先级。

         AT89S52复位以后,IP的内容为0,各个中断源均为低优先级中断。

         AT89S52的中断系统有两个不可寻址的“优先级激活触发器。

         一个指示某高优先级的中断正在执行,所有后来的中断均被阻止;另一个触发器指示某低优先级的中断正在执行,所有同级的中断都被阻止,但不阻断高优先级的中断请求。

    在同时收到几个同优先级的中断请求时,哪一个中断请求能优先得到响应,取决于内部的查询顺序。这相当于在同一个优先级内,还同时存在另一个辅助优先级结构,其查询顺序见表

    由此可见,各中断源在相同优先级的条件下,外部中断0的中断优先权最高,T2溢出中断或EXF2中断的中断优先权最低。

    响应中断请求的条件

        中断请求被响应,必须满足以下必要条件:

      (1)总中断允许开关接通,即IE寄存器中的中断总允许位EA=1。

      (2)该中断源发出中断请求,即对应的中断请求标志为“1”。

      (3)该中断源的中断允许位EA=1,即该中断被允许。

      (4)无同级或更高级中断正在被服务。

         当CPU查询到有效的中断请求时,在满足上述条件时,紧接着就进行中断响应。

     

    中断响应的过程

         首先由硬件自动生成一条长调用指令“LCALL addr16”。就是程序存储区中相应的中断入口地址。

         例如,对于外部中断1的响应,硬件自动生成的长调用指令为

                  LCALL    0013H

         首先将程序计数器PC的内容压入堆栈以保护断点,再将中断入口地址装入PC,使程序转向响应中断请求的中断入口地址。

        各中断源服务程序的入口地址(也称中断矢量)是固定的 ,如表所示。

       

      两个中断入口间只相隔8字节,难以安放一个完整的中断服务程序。因此,通常在中断入口地址处放置一条无条件转移指令,使程序执行转向中断服务程序入口。

        中断响应是有条件的,当遇到下列三种情况之一时,中断响应被封锁:

    (1)CPU正在处理同级或更高优先级的中断。

    (2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。只有在当前指令执行完毕后,才能进行中断响应,以确保当前指令执行的完整性。

    (3)正在执行的指令是RETI或是访问IE或IP的指令。因为按照AT89S52中断系统的规定,在执行完这些指令后,需要再执行完一条指令,才能响应新的中断请求。

         如果存在上述三种情况之一,CPU将丢弃中断查询结果,不能对中断进行响应。

    外部中断的响应时间

       使用外部中断时,需考虑从外部中断请求到转向中断入口地址所需的时间。

       外部中断的最短响应时间为3个机器周期。其中中断请求标志位查询占1个机器周期,而这个机器周期恰好处于指令的最后一个机器周期。在这个机器周期结束后,中断即被响应,CPU接着执行一条硬件子程序调用指令LCALL到相应中断服务程序入口,需要2个机器周期。

        外部中断响应的最长时间为8个机器周期。在CPU进行中断标志查询时,刚好才开始执行RETI或访问IE或IP的指令,需执行完指令再继续执行一条指令后,才响应中断。

         执行RETI或访问IE或IP的指令,最长需要2个机器周期。

    接着再执行一条指令,最长指令(乘法指令MUL和除法指令DIV)来算,也只有4个机器周期。再加上硬件子程序调用指令LCALL的执行,需要2个机器周期,所以,外部中断响应的最长时间为8个机器周期。

         如果已经在处理同级或更高级中断,外部中断请求的响应时间取决于正在执行的中断服务程序的处理时间,这种情况下,响应时间就无法计算了。

         这样,在一个单一中断的系统里,AT89S52单片机对外部中断请求的响应时间总是在3~8个机器周期之间。

     

    外部中断的触发方式选择

         两种触发方式:电平触发方式和跳沿触发方式。

    电平触发方式

         外部中断申请触发器的状态随着CPU在每个机器周期采样到的外部中断输入引脚的电平变化而变化。

    在中断服务程序返回之前,外部中断请求输入必须无效(即外部中断请求输入已由低电平变为高电平),否则会再次响应中断。

         所以本方式适合于外部中断以低电平输入且中断服务程序能清除外部中断请求源(即外中断输入电平又变为高电平)的情况。

    跳沿触发方式

          外部中断申请触发器能锁存外部中断输入线上的负跳变。即使不能响应,中断请求标志不丢失。

          相继连续两次采样,一个机器周期为高,下一个机器周期采样为低,则中断申请触发器置1,直到CPU响应此中断时,才清0。

          输入的负脉冲宽度至少保持12个时钟周期,才能被采样到。适合于以负脉冲形式输入的外部中断请求。

     

    中断请求的撤销

          某个中断请求被响应后,就存在着一个中断请求的撤销问题。

    1.定时器/计数器T0、T1中断请求的撤销

        硬件会自动把中断请求标志位(TF0或TF1)清0,自动撤销。

    2.外部中断请求的撤销

      (1)跳沿方式外部中断请求的撤销

       包括两项:中断标志位清0和外中断信号的撤销。

        中断标志位清0是在中断响应后由硬件自动完成的。

        外中断请求信号的撤销,由于跳沿信号过后也就消失了,自动撤销。

      (2)电平方式外部中断请求的撤销

         电平方式外中断请求的撤销,其中中断请求标志自动撤销,但中断请求信号的低电平可能继续存在,为此,除了标志位清“0”之外,还需在中断响应后把中断请求信号输入引脚从低电平强制改变为高电平,如图4-9所示。

         由图4-9,用D触发器锁存外来的中断请求低电平,并通过D触发器的输出端Q接到INT0*(或 INT1* )。所以,增加的D触发器不影响中断请求。

         中断响应后,利用D触发器的SD端接AT89S51的P1.0端。因此,只要P1.0端输出一个负脉冲就可以使D触发器置“1”,撤销低电平的中断请求信号。

         负脉冲可在中断服务程序中增加如下指令:

           ORL   P1,#01H        ;P1.0为“1”

           ANL   P1,#0FEH             ;P1.0为“0”

           ORL   P1,#01H        ;P1.0为“1”

    3.串行口中断请求的撤销

       响应串行口的中断后,CPU无法知道是接收中断还是发送中断,还需测试这两个中断标志位,以判定是接收操作还是发送操作,然后才清除。所以串行口中断请求的撤销只能使用软件的方法,在中断服务程序中进行,即用如下指令在中断服务程序中对串行口中断标志位进行清除:

                  CLR   TI          ;清TI标志位

                  CLR   RI          ;清RI标志位

    4.定时器/计数器T2中断请求的撤销

       定时器/计数器T2的中断请求包括两种:TF2和EXF2。

    上述两种中断请求,在满足中断响应条件时,CPU都将响应其中断请求,转向同一个中断矢量地址。因此,必须在T2的中断服务程序中对TF2和EXF2两个中断请求标志位进行查询,然后正确转入对应的中断处理程序。

         中断结束后,中断请求标志位TF2或EXF2必须由软件清0。所以定时器/计数器T2中断请求的撤销只能使用软件的方法,在中断服务程序返回前完成。

     

     

    展开全文
  • 当PIC16F 877单片机外部有多个中断源中断请求时,74LS148优先权编码器首先对这些中断进行优先级排序,把优先级别高的中断送入单片机中断入口,让单片机响应中断级别高的中断请求,处理完这一中断后返回,等待下一轮中断...
  • 某个中断请求被响应后,就存在着一个中断请求的撤销问题。 1.定时器/计数器T0、T1中断请求的撤销 硬件会自动把中断请求标志位(TF0或TF1)清0,自动撤销。 2.外部中断请求的撤销 (1)跳沿方式外部中断请求的...

    • 某个中断请求被响应后,就存在着一个中断请求的撤销问题。

    1.定时器/计数器T0、T1中断请求的撤销

    • 硬件会自动把中断请求标志位(TF0或TF1)清0,自动撤销

    2.外部中断请求的撤销

    (1)跳沿方式外部中断请求的撤销

    • 包括两项:中断标志位清0外中断信号的撤销
    • 中断标志位清0是在中断响应后由硬件自动完成的。
    • 外中断请求信号的撤销,由于跳沿信号过后也就消失了,自动撤销

    (2)电平方式外部中断请求的撤销

    • 电平方式外中断请求的撤销,其中中断请求标志自动撤销,但中断请求信号的低电平可能继续存在,为此,除了标志位清“0”之外,还需在中断响应后把中断请求信号输入引脚从低电平强制改变为高电平,如图4-9所示。
    图4-9 电平方式的外部中断请求的撤销电路
    • 由图4-9,用D触发器锁存外来的中断请求低电平,并通过D触发器的输出端Q接到INT0*(或 INT1* )。所以,增加的D触发器不影响中断请求。
    • 中断响应后,利用D触发器的SD端接AT89S51的P1.0端。因此,只要P1.0端输出一个负脉冲就可以使D触发器置“1”,撤销低电平的中断请求信号。
    • 负脉冲可在中断服务程序中增加如下指令:
    	ORL   P1,#01H		;P1.0为“1”
    	ANL   P1,#0FEH		;P1.0为“0”
    	ORL   P1,#01H		;P1.0为“1”
    

    3.串行口中断请求的撤销

    • 响应串行口的中断后,CPU无法知道是接收中断还是发送中断,还需测试这两个中断标志位,以判定是接收操作还是发送操作,然后才清除。所以串行口中断请求的撤销只能使用软件的方法,在中断服务程序中进行,即用如下指令在中断服务程序中对串行口中断标志位进行清除:
      CLR TI ;清TI标志位
      CLR RI ;清RI标志位

    4.定时器/计数器T2中断请求的撤销

    • 定时器/计数器T2的中断请求包括两种:TF2和EXF2。
    • 上述两种中断请求,在满足中断响应条件时,CPU都将响应其中断请求,转向同一个中断矢量地址。因此,必须在T2的中断服务程序中对TF2和EXF2两个中断请求标志位进行查询,然后正确转入对应的中断处理程序。
    • 中断结束后,中断请求标志位TF2或EXF2必须由软件清0。所以定时器/计数器T2中断请求的撤销只能使用软件的方法,在中断服务程序返回前完成。
    展开全文
  • 【单片机】4.4 响应中断请求的条件

    千次阅读 2021-12-01 21:07:05
    中断响应的条件,中断响应的过程,中断响应被封锁的情况
  •  中断服务子程序设计的任务 中断服务子程序设计的基本任务有下列4条: (1)设置中断允许控制寄存器IE,允许相应的中断请求源中断。 (2)设置中断优先级寄存器IP,确定并分配所使用的中断源的优先级。 (3)若是外部...
  • 中断源 (1)外部中断0请求,由P3.2脚输入。通过IT0脚(TCON.0)来决定是低电平有效还是下跳变有效。一旦输入信号有效,就向CPU申请中断,并建立IE0标志。 (2)外部中断1请求,由P3.3脚输入。通过IT1脚TCON.2)来...
  • 1.中断请求:中断向CPU发送中断请求信号。 中断请求标记: 每个中断向CPU发出中断请求的时间是随机的。 为了记录中断事件并区分不同的中断,中断系统需对每个中断设置中断请求标记触发器INTR, 当其状态为...
  • 如何接受和响应中断中断请求

    千次阅读 2008-04-06 15:12:00
    如何接受和响应中断中断请求,因机器而异如,在PC中:有可屏蔽的中断请求INTR: 主要是输入输出设备的I/O中断, 通过建立在PSW中的中断屏蔽位加以屏蔽,即使再有I/O中断,处理器也不响应不可屏蔽的中断请求: 属于...
  • 选择电平触发时,单片机在每个机器周期检查中断口线,检测到低电平,即置位中断请求标志,向CPU请求中断。选择边沿触发方式时,单片机在上一个机器周期检测到中断口线为高电平,下一个机器周期检测到低电平,即...
  • 文章目录第八章 中断系统8.1 中断的基本概念8.1.1 中断概念的引入及描述中断方式示意(以输入中断为例)**中断**的定义8.1.2 中断源中断分类中断的分类8.1.3 中断类型码中断类型码中断向量中断向量表中断向量表的...
  • 中断优先级

    千次阅读 2021-07-25 04:32:43
    为使系统能及时响应并处理发生的所有中断,系统...解决的方法是中断优先排队,即根据中断请求的轻重缓急,排好中断处理的优先次序即优先级( Priority ),又称优先权,先响应优先级最高的中断请求。另外,当CPU正...
  • 中断请求采用边沿触发来进行中断检测,通过将信号送到特定的引线来检测中断。每条引线对应一个可能的硬件中断,因为系统不能辨认哪个设备使用中断线,所以当多个1个的设备被设置成使用同一个特定中断时就产生了混乱...
  • MCS-51单片机的中断系统

    千次阅读 2021-01-05 22:44:03
    单片机中断技术概述 在任何一款事件驱动型的CPU里面都应该会有中断系统,因为中断就是为响应某种事件而存在的。...单片机的中断系统有5个中断源、2个中断优先级,可实现两级中断服务程序嵌套。 如果单片机没有中
  • 关于单片机的中断的若干问题

    千次阅读 2020-03-12 22:25:55
    中断系统作用:实时测控,单片机能及时地响应和处理单片机外部事件或内部事件所提出的中断请求。 中断的概念:CPU正在执行程序时,单片机外部或内部发生的某一事件,请求CPU迅速去处理。CPU暂时中止当前的工作,转到...
  • 中断请求中断请求级 中断是异步过程调用,简而言之就是打断当前CPU正在执行的任务转而去执行另一个任务 windows在初始化时,为每种中断安装了一个中断处理例程---ISR(intterupt service routine),它们储存在...
  • 蓝桥杯MCU:IAP15F2K61S2中断

    千次阅读 2020-08-14 19:52:13
    【蓝桥杯】—{MCU:IAP15F2K61S2}—{中断}中断1、STC15中断请求源 中断 1、STC15中断请求源  ●STC15F2K60S2系列单片机提供了14个中断请求源。  ●外部中断2,3,4定时器中断固定为最低优先级中断。其他中断都具有...
  • 关于HTTP请求中断问题

    千次阅读 2019-10-04 14:20:51
    这时候,由于HttpConnection.getResponseCode()请求是阻塞的,我们的程序一般是单独线程去请求数据,该线程就会永远的等在那,并且事后即使连上了,接收到的数据一般都已经是我们抛弃的了.此时我们很想在请求超时的时侯将...
  • 51单片机中断设置

    2021-01-19 18:28:36
     这些中断请求源的中断请求标志位分别有特殊功能寄存器TCON和SCON的响应位锁存  1、TCON寄存器  与中断有关的是低四位。  1)IT0和 IT1——外中断请求触发标志位:  0——为低电平...
  • 使用两片74x148优先编码器分别响应高优先级中断请求和低中断优先级请求,使用二选一多用复用电路产生高优先级中断请求。 本设计结构方案首先是设计产生中断优先级请求的电路模块,VCC、中断允许信号IE和中断优先级...
  • MCS-51的中断系统

    千次阅读 2020-06-05 09:43:03
    MCS-51单片机内的中断系统主要用于实时测控,即要求单片机能及时地响应和处理单片机外部或内部事件所提出的中断请求。由于这些中断请求都时随机发出的,如果采用定时查询方式来处理这些中断请求,则单片机的工作效率...
  • 89c51中断系统及中断控制

    万次阅读 多人点赞 2018-06-23 23:29:10
    或者定时器/计数器溢出时)请求CPU去处理该事件,于是CPU停止处理当前的事件,并保存当前停止时的地址,转去处理所发生的事件,处理完毕后,CPU返回原先保存的停止时的地址,继续处理原先的事件,这样的过程被称为...
  • 实现控制和控制分别由特殊功能寄存器区中的中断允许寄存器IE和中断优先级寄存器IP来实现的。下面介绍这两个特殊功能寄存器...当EA=1时,CPU开放中断,但5个中断中断请求是否允许,还要由IE中的低5位所对应的5个中断
  • 为什么MCS-51单片机要用到中断系统扩展? 答:虽然MCS-51已经提供了两个外部中断申请输入端INT0、INT1,但在外部中断请求源需求仍然较多时,就要用到中断系统扩展。
  • 中断是指能发出中断请求,引起中断的装置或事件。 80C51单片机的中断共有5个,其中2个为外部中断,3个为内部中断: ⑴ INT0:外部中断0,中断请求信号由P3.2输入。 ⑵ INT1:外部中断1,中断请求信号由P3.3...
  • 中断响应时间/中断步骤/中断源

    千次阅读 2017-06-29 10:10:32
     计算机中也是采用的这种方法,五个中断源,每个中断产生后都到一个固定的地方去找处理这个中断的序,当然在去之前首先要保存下面将执行的指令的地址,以便处理完中断后回到原来的地方继续往下执行程序。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 108,208
精华内容 43,283
关键字:

中断请求源