单片机原理与应用
第6章 MCS-51系列单片机的中断系统
本章要点: 6.1 中断系统概述 6.2 中断源 6.3 中断控制 6.4 中断处理过程 6.5 中断系统的应用 第6章 MCS-51系列单片机的中断系统 本章要点: 6.1 中断系统概述 6.2 中断源 6.3 中断控制 6.4 中断处理过程 6.5 中断系统的应用
第6章 MCS-51系列单片机的中断系统 6.1 中断系统概述 6.1.1 中断系统的概念 中断源在需要时可以向CPU提出“中断请求”。“中断请求”通常是一种电信号,CPU一旦对这个电信号进行检测和响应,便可自动转入该中断源的中断服务程序执行,并在执行完成后自动返回原程序继续执行。
第6章 MCS-51系列单片机的中断系统 6.1.2 单片机采用中断系统的优点 1、提高CPU的工作效率 2、提高实时数据的处理时效
6.2 中断源 6.2.1 外部中断 由外部原因引起; 外部中断0和外部中断1; 第6章 MCS-51系列单片机的中断系统 6.2 中断源 6.2.1 外部中断 由外部原因引起; 外部中断0和外部中断1; 它们的中断请求信号由引脚 (P3.2)和 (P3.3)引入; 电平触发和脉冲触发; 输入/输出设备的中断请求、掉电、设备故障的中断请求等都可以作为外部中断源;
第6章 MCS-51系列单片机的中断系统 6.2.2 定时中断 80C51单片机芯片内部有两个定时/计数器,当计数结构发生计数溢出时,即表明定时器或计数器已满,这时就以计数溢出信号作为中断请求,去置位TF0或TF1,作为单片机接受中断请求的标志。这种中断请求是在单片机内部发生的,因此无需在芯片上设置引入端。CPU响应中断后,由硬件自动清零TF0或TF1。
6.2.3 串行中断 当串行接口发送了一帧信息,便由硬件置TI=1,向CPU申请中断。 第6章 MCS-51系列单片机的中断系统 6.2.3 串行中断 当串行接口发送了一帧信息,便由硬件置TI=1,向CPU申请中断。 当串行接口接收了一帧信息,便由硬件置RI=1,向CPU申请中断。 CPU响应中断后,必须用软件清除TI和RI。
6.3 中断控制 6.3.1 定时控制寄存器TCON 表6-1 TCON寄存器结构 TCON D7 D6 D5 D4 D3 D2 D1 D0 第6章 MCS-51系列单片机的中断系统 6.3 中断控制 6.3.1 定时控制寄存器TCON 表6-1 TCON寄存器结构 TCON D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
6.3.1 定时控制寄存器TCON ⑴TCON.7 TF1: 定时/计数器T1溢出中断标志; 第6章 MCS-51系列单片机的中断系统 6.3.1 定时控制寄存器TCON ⑴TCON.7 TF1: 定时/计数器T1溢出中断标志; ⑵TCON.5 TF0: 定时/计数器T0溢出中断标志; ⑶TCON.3 IE1: 外部中断1请求标志位; ⑷TCON.2 IT1: 外部中断1触发方式控制位; ⑸TCON.1 IE0 : 外部中断0请求标志位; (6)TCON.0 IT0: 外部中断0触发方式控制位; (7) TCON.4, TCON.6 两位定时器/计数器控制位。
6.3.2 串行口控制寄存器SCON 表6-2 SCON寄存器结构 SCON D7 D6 D5 D4 D3 D2 D1 D0 - TI RI 第6章 MCS-51系列单片机的中断系统 6.3.2 串行口控制寄存器SCON 表6-2 SCON寄存器结构 SCON D7 D6 D5 D4 D3 D2 D1 D0 - TI RI 位地址 99H 98H SCON.1 TI:MCS-51串行口的发送中断标志; SCON.0 RI:串行口接收中断标志。
6.3.3 中断允许控制寄存器IE 表6-3 IE寄存器结构 IE D7 D6 D5 D4 D3 D2 D1 D0 EA - ES ET1 第6章 MCS-51系列单片机的中断系统 6.3.3 中断允许控制寄存器IE 表6-3 IE寄存器结构 IE D7 D6 D5 D4 D3 D2 D1 D0 EA - ES ET1 EX1 ET0 EX0 位地址 AFH ACH ABH AAH A9H A8H
6.3.3 中断允许控制寄存器IE ⑴IE.7 EA:中断允许总控制位; ⑵IE.4 ES:串行口中断控制位; 第6章 MCS-51系列单片机的中断系统 6.3.3 中断允许控制寄存器IE ⑴IE.7 EA:中断允许总控制位; ⑵IE.4 ES:串行口中断控制位; ⑶IE.3 ET1:定时/计数器T1中断控制位; ⑷IE.2 EX1:外中断1中断控制位; ⑸IE.1 ET0:定时/计数器T0中断控制位 ; (6)IE.0 EX0:外中断0中断控制位。
6.3.4 中断优先级控制寄存器(IP) 表6-4 IP中断控制寄存器结构 IP D7 D6 D5 D4 D3 D2 D1 D0 - PS 第6章 MCS-51系列单片机的中断系统 6.3.4 中断优先级控制寄存器(IP) 表6-4 IP中断控制寄存器结构 IP D7 D6 D5 D4 D3 D2 D1 D0 - PS PT1 PX1 PT0 PX0 位地址 BCH BBH BAH B9H B8H
6.3.4 中断优先级控制寄存器(IP) ⑴IP.4 PS :串行口中断优先级控制位; ⑵IP.3 PT1:定时器1优先级控制位; 第6章 MCS-51系列单片机的中断系统 6.3.4 中断优先级控制寄存器(IP) ⑴IP.4 PS :串行口中断优先级控制位; ⑵IP.3 PT1:定时器1优先级控制位; ⑶IP.2 PX1:外中断1优先级控制位; ⑷IP.1 PT0:定时器0优先级控制位; ⑸IP.0 PX0:外中断0优先级控制位。
6.3.4 中断优先级控制寄存器(IP) 80C51中断优先级的控制原则是: 第6章 MCS-51系列单片机的中断系统 6.3.4 中断优先级控制寄存器(IP) 80C51中断优先级的控制原则是: ⑴低优先级中断请求不能打断高优先级的中断服务;反之,则可以,从而实现中断嵌套; ⑵如果一个中断请求已被响应,则同级的其它中断响应被禁止; ⑶如果同级的多个中断请求同时出现,则按CPU查询次序确定哪个中断请求被响应。从高到低依次为,外部中断0→定时中断0→外部中断1→定时中断1→串行中断。
6.4 中断处理过程 6.4.1 中断响应 80C51的整个中断响应过程 1.外部中断请求采样 第6章 MCS-51系列单片机的中断系统 6.4 中断处理过程 6.4.1 中断响应 80C51的整个中断响应过程 1.外部中断请求采样 单片机在每个机器周期的S5P2(第五状态第2拍节)对中断请求引脚P3.2、P3.3进行采样; 对于沿触发方式的外中断请求,若在两个相邻机器周期采样到的是先高电平后低电平,则中断请求有效,把IE0或IE1置1;否则IE0或IE1继续为0;
第6章 MCS-51系列单片机的中断系统 6.4.1 中断响应 2. 中断响应 中断响应的主要内容就是由硬件自动生成一条长调用LCALL addr16指令,这里的addr16就是程序存储器中相应的中断区入口地址 表6-5 5个中断源的服务程序入口地址 中断源 入口地址 外中断0 0003H 定时/计数器0 000BH 外中断1 0013H 001BH 串行口中断 0023H
第6章 MCS-51系列单片机的中断系统 6.4.2 中断处理 〈1〉保存现场 〈3〉处理中断 〈2〉分析原因 〈4〉中断返回
6.5 中断系统的应用 6.5.1 设计思想和方法 对4个与中断有关的特殊功能寄存器TCONSCON、 第6章 MCS-51系列单片机的中断系统 6.5 中断系统的应用 6.5.1 设计思想和方法 对4个与中断有关的特殊功能寄存器TCONSCON、 IE、IP进行设置,使这些寄存器的相应位按照系统的要求进行状态预置,从而使CPU按照系统的要求进行工作,达到控制系统的目的。 ⒈CPU的开中断和关中断 ⒉中断源中断请求的允许与禁止 ⒊中断源优先级的设定 ⒋中断源触发方式的选择
第6章 MCS-51系列单片机的中断系统 6.5.2 定时器中断应用 以秒时钟的产生为例来介绍定时与中断的联合应用。该例子通过将定时器定时(125ms)生溢出中断实现125ms的定时,再通过软件设置一个8次循环实现125ms×8=1s的定时。 1.定时器初值计算(125ms) (2–X)×2μs=125000 X=0BDCH (方式1)
6.5.2 定时器中断应用 2.定时中断中溢出次数统计:计数8次达到1秒 3.程序 第6章 MCS-51系列单片机的中断系统 6.5.2 定时器中断应用 2.定时中断中溢出次数统计:计数8次达到1秒 3.程序 (1)主程序代码: ORG 1000H MAIN: MOV SP, #60H MOV TMOD,#01H MOV TL0, #0DCH MOV TH0, #0BH SETB EA SETB ET0 MOV R2, #08H SETB TR0 LOOP1: JBC 20H, DY SJMP LOOP1 DY: LCALL DISPLAY SJMP LOOP1
(3)实现“间隔一秒调一次显示”功能 ORG 0000H 第6章 MCS-51系列单片机的中断系统 (2)中断子程序: ORG 2000H T0SERVE: MOV TL0,#0DCH MOV TH0,#0BH DJNZ R2,LOOP MOV R2,#08H SETB 20H LOOP: RETI (3)实现“间隔一秒调一次显示”功能 ORG 0000H AJMP MAIN ORG 000BH AJMP INTT0 ORG 0050H MAIN: MOV SP,#60H MOV R0,#79H MOV R7,#06H MLO: MOV @R0,#08H
第6章 MCS-51系列单片机的中断系统 INC R0 DJNZ R7, MLO MOV TMOD,#01H MOV TL0,#0DC6H MOV TH0,#0BH MOV R2,#08H SETB EA SETB ET0 SETB TR0 LOOP: JB 20H, LOOP1 SJMP LOOP LOOP1: LCALL DISPLAY SJMP LOOP INTT0: MOV TL0,#0DCH DJNZ R2,RETURN CPL 20H RETURN: RETI