1 / 21

第 4 章 中断

第 4 章 中断. 4.1 中断技术 基本概念: 中断、中断源、中断优先级、中断嵌套 中断系统的功能 : 1 .实现中断及返回 2 .实现优先权排队 3 .高级中断源能中断低级中断处理. 4.2 MCS-51 中断系统. 中断系统 包括:中断源、中断允许寄存器 IE 、中断优先级寄存器 IP 、中断矢量等。 2 级中断优先级: 高级中断请求、低级中断请求。 5 个中断请求源: INT0 外部中断源 0 、 INT1 外部中断源 1 、定时器 T0 溢出中断源、定时器 T1 溢出中断源、串行口的发送 / 接收中断源。 4 个用于中断控制的寄存器:

lucus
Download Presentation

第 4 章 中断

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第4章 中断 4.1 中断技术 • 基本概念: 中断、中断源、中断优先级、中断嵌套 • 中断系统的功能: 1.实现中断及返回 2.实现优先权排队 3.高级中断源能中断低级中断处理

  2. 4.2 MCS-51中断系统 • 中断系统包括:中断源、中断允许寄存器IE、中断优先级寄存器IP、中断矢量等。 • 2级中断优先级: 高级中断请求、低级中断请求。 • 5个中断请求源: INT0外部中断源0、INT1外部中断源1、定时器T0溢出中断源、定时器T1溢出中断源、串行口的发送/接收中断源。 • 4个用于中断控制的寄存器: IE、IP、TCON(用6位)和SCON(用2位)。

  3. 外部中断 • 外部中断:由外部信号引起,共有二个外部中断,它们的中断请求信号分别从引脚INT0 (P3.2) 和INT1 (P3.3) 上引入。 • 外部中断请求有二种信号触发方式,即电平有效方式和跳变有效方式,可通过设置有关控制位进行定义。 • 当设定为电平有效方式时,若INT0或INT1引脚上采样到有效的低电平,则向CPU提出中断请求; • 设定为跳变有效方式时,若INT0或INT1引脚上采样到有效负跳变,则向CPU提出中断请求。

  4. 定时中断和串行中断 • 定时中断:为满足定时或计数的需要而设置。当计数器发生计数溢出时,表明设定的定时时间到或计数值已满,这时可以向CPU申请中断。由于定时器/计数器在单片机芯片内部,所以定时中断属于内部中断。 • 2个定时中断源: ⑴ TF0 —— T0(P3.4)溢出中断。 ⑵ TF1 —— T1(P3.5)溢出中断。 • 串行中断:为串行数据传送的需要而设置。 • 每当串行口发送或接收一组串行数据时,就产生一个中断请求。 RI —— 串行接收中断。 TI —— 串行发送中断。

  5. 中断系统结构

  6. 定时器/计数器控制寄存器TCON • IE0:外部中断0请求标志位。IE0=1,外部中断0向CPU请求中断,当CPU响应外部中断0时,IE0由硬件清0(边沿触发方式下)。 • IT0:外部中断0触发方式控制位。IT0=0电平触发方式(低电平有效);IT0=1边沿触发方式(下跳沿有效)。CPU在每个机器周期的S5P2期间采样中断请求线。 • TF0:定时器T0的溢出中断申请位。TF0=1,表明T0计数器产生溢出,向CPU请求中断,CPU响应中断后由硬件清0(也可由软件清0)。

  7. 串行口控制寄存器SCON • RI:串行口接收中断申请标志位 • TI:串行口发送中断申请标志位 • RI和TI逻辑“或”以后作为内部的一个中断源。当串行口发送或接收完一帧数据时,将SCON中的TI或RI位置1,向CPU申请中断。 • 在CPU响应串行口的中断时,并不清零TI和RI中断标志,TI和RI必须由软件清0。

  8. 中断允许寄存器IE • EA:CPU中断开放标志。 • ES:串行中断允许位。 • ET1:T1溢出中断允许。 • EX1:外部中断1允许位。 • ET0:T0溢出中断允许位。 • EX0:外部中断0允许位。 • 相应位=1,允许中断;相应位=0,禁止中断。 • MCS-51单片机复位后,IE中各位均被清0,即禁止所有中断。

  9. 中断源优先级设定寄存器IP • PS:串行口中断优先级控制位。 • PT1:T1中断优先级控制位。 • PX1:外部中断1中断优先级控制位。 • PT0:T0中断优先级控制位。 • PX0:外部中断0中断优先级控制位。 • 相应位=1,高优先级中断;相应位=0,低优先级中断。 • 当系统复位后,IP各位均为0,所有中断设置为低优先级中断。

  10. 中断的响应过程 • ⒈ 中断采样:中断采样是针对外部中断请求信号进行的,而内部中断请求都发生在芯片内部,可以直接置位TCON或SCON中的中断请求标志。在每个机器周期的S5P2期间,各中断标志采样相应的中断源,并置入相应标志。 • ⒉ 中断查询:若查询到某中断标志为1,则按优先级的高低进行处理,即响应中断。 • ⒊ 中断响应:响应中断后,由硬件自动生成长调用指令“LCALL”, 其格式为LCALL addr16,而addr16就是各中断源的中断矢量地址

  11. 同级中断源优先级

  12. 单片机中断响应受阻条件 • 若发生下列情况之一,中断响应将会受阻: (1)同级或高优先级的中断正在进行; (2)现在的机器周期不是所执行指令的最后一个机器周期; (3)正执行的指令是RETI或是访问IE或IP的指令,也就是说CPU在执行RETI或访问IE、IP的指令后,至少需要再执行其它一条指令之后才会响应。 • 如果上述条件不存在,接着的下一个机器周期,将响应中断。

  13. 中断源矢量地址 • 当CPU响应中断时,由硬件直接产生一个固定的地址,即矢量地址。 • 由矢量地址指出每个中断源的中断服务程序的入口,这种方法通常称为矢量中断。

  14. 4.3 MCS-51中断处理过程 • 三个阶段:中断响应、中断处理、中断返回 • CPU响应中断的条件: ①有中断源发出中断请求; ②中断总允许位EA=1,即CPU开中断; ③申请中断的中断源的中断允许位为1 • 响应过程: (1)置位响应的优先级触发器 (2)执行一个硬件子程序调用,保护断点 (3)将对应的中断入口地址装入程序计数器PC (4)使程序转向中断入口地址,执行中断服务程序。

  15. 中断应用举例 • 利用外部中断0向CPU申请中断,中断服务将P1口作为输出驱动。 • 程序设计: ORG 0000H AJMP MAIN ;转向主程序 ORG 0003H ;外部中断0入口地址 AJMP WINT ;指向中断服务程序 ORG 0100H ;主程序 MAIN: SETB IT0 ;选择边沿触发方式 SETB EX0 ;允许外部中断0 SETB EA ;CPU允许中断 HERE: AJMP HERE ;主程序踏步 • 中断服务程序: ORG 0200H WINT: MOV A,#0FFH MOV P1,A ;输出驱动 RETI ;中断返回 END

  16. 中断请求标志的撤消 • CPU响应某中断请求后,在中断返回(RETI)之前,该中断请求应该撤消,否则会引起另一次中断。 • MCS-51各中断源请求撤消的方法各不相同: ①定时器0和定时器1的溢出中断,CPU在响应中断后,就由硬件自动清除了TF0或TF1标志位。 ②外部中断请求的撤消与设置的中断触发方式有关。对于边沿触发方式,CPU响应中断后,由硬件自动将IE0或IE1标志位清除。也无需采取其它措施。对于电平触发方式,单片机无法控制中断请求,须由外部控制。 ③串行口的中断,CPU响应后,硬件不能自动清除TI和RI标志位,必须用软件来清除。

  17. 中断与查询相结合 • 利用MCS-51的两根外部中断输入线,每一中断输入线可以通过线或的关系连接多个外部中断源,同时利用输入端口线作为各中断源的识别线。 • 4个扩展外部中断源中有一个或几个出现高电平,反相器输出为0,引起INT0低电平触发中断,所以这些中断源都是电平触发方式。当满足外部中断请求条件时,则CPU响应中断,转入0003H单元开始执行中断服务程序。

  18. 扩展电路INT0的中断服务程序 INTR0:PUSH PSW ;保护现场 PUSH ACC JB P1.0, LOOP1 ;转向中断服务程序1 JB P1.l,LOOP2 ;转向中断服务程序2 JB P1.2,LOOP3 ;转向中断服务程序3 JB P1.3,LOOP4 ;转向中断服务程序4 EXIT:POP ACC ;恢复现场 POP PSW RETI LOOP1:… ;中断服务程序1 LOOP2:… ;中断服务程序2 LOOP3:… ;中断服务程序3 LOOP4:… ;中断服务程序4

  19. 中断服务程序的设计 • 8051单片机中,共有5个中断源,由4个特殊功能寄存器TCON、SCON、IE和IP进行管理和控制。 • 在8051单片机中,需要对以下5个内容进行设置: ⑴ 中断服务程序入口地址的设定。 ⑵ 某一中断源中断请求的允许与禁止。 ⑶ 对于外部中断请求,还需进行触发方式的设定。 ⑷ 各中断源优先级别的设定。 ⑸ CPU开中断与关中断。 • 中断程序包含:中断控制程序、中断服务程序。 • 中断控制程序:即中断初始化程序,一般不独立编写,而是包含在主程序中,由上述5点编程实现。 • 中断服务程序:是一种为中断源的特定事态进行服务的独立程序段,包括保护现场、中断处理、恢复现场,以RETI结束。

  20. 复习题 1.MCS-51系列单片机的中断系统由哪些功能部件组成? 2.MCS-51系列单片机有几个中断源,各中断标志是如何产生的? 3.MCS-51系列单片机有几个外部中断和内部中断? 4.MCS-51系列单片机的中断系统中有几个优先级? 5.MCS-51系列单片机的中断矢量地址分别是多少? 6.简述MCS-51中断响应的过程? 7.中断响应后,怎样保护断点和保护现场的? 8.CPU响应中断有哪些条件?

More Related