C51单片机的中断.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
外部中断请求两种方式: 电平触发方式(低电平有效) 下降沿触发方式(脉冲的下降沿有 效,至少要维持一个机器周期)
2. 内部中断源
▲定时/计数中断0(T0):定时/计数 发生溢出时,产生中断请求。 ▲定时/计数中断1(T1):定时/计数 发生溢出时,产生中断请求。
▲串行中断:为完成串行数据传送而设 置。单片机完成接受或发送一组数据时, 产生中断请求。
允 许 中 断 源 的 中 断 优 先 次 序 为 : 定时器/计数器0>外部中断1>外部中断 0>定时器/计数器1。
中断初始化
在中断服务程序编程时,首先要对中断 系统进行初始化,也就是对几个特殊功 能寄存器的有关控制位进行赋值。
初始化的内容包括: (1)开总中断和相应中断源的中断 (2)设置所用中断源的优先级; (3)若是外部中断,则应规定是低电平触发
矢量 求
地址
PT1
TF1 ET1
TI
PS
自 然



RI
ES EA
SCON 中断源 允许
总允许
先 级
中断优 先级
矢量 地址
中 断 请 求
表 5.1 8051 中 断 源
中断控制寄存器(4个):
▲定时器控制寄存器(TCON) ▲串行口控制寄存器(SCON) ▲中断允许控制寄存器(IE) ▲中断优先级控制寄存器(IP)
则初始化程序如下:
MOV IP, #04H MOV TCON, #01H MOV IE, #85H
或使用位操作指令如下:
MOV IP, #04H MOV TCON, #01H SETB EA SETB EX0 SETB EX1
中断处理过程
中断处理过程分为三个阶段:中断响应、中 断处理和中断返回。
应 响 断 中
▪中断服务程序从中断子程序入 口地址开始执行,直到返回指 令RETI为止,这个过程称为中 断处理(或中断服务)。 ▪中断服务子程序一般包括两部 分内容,一是保护和恢复现场, 二是处理中断源的请求。
RETI
中断处理
INTT0: PUSH ACC PUSH DPH PUSH DPL PUSH PSW 中断源服务
POP POP POP POP RETI
PSW DPL DPH ACC
保护现场 恢复现场
三、中断返回
应 响 断 中 中 断 返

▪ 中断返回是指中断服务 完后,计算机返回到原 来暂停的位置(即断点), 继续执行原来的程序。 ▪ 中断返回由专门的中断 返回指令RETI来实现。
应 响 断 中 中 断 返
高中断源
RETI RETI
中断控制寄存器汇总
寄存器名称
D7 D6 D5 D4 D3 D2 D1 D0
定时器控制 TCON(88H) TF1
TF0
IE1 IT1 IE0 IT0
寄存器 位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
串行口控制 SCON(98H)
TI RI
寄存器 位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H
第5章 单片机的定时与 中断系统
本章主要内容
中断系统:包含中断源、中断方式、中 断控制寄存器、中断响应和中断请求的 撤除。
定时/计数器:包含定时/计数器的定时 和计数功能 、定时/计数器的控制寄存 器、工作方式及其应用。
MCS-51的中断系统
单片机在某一时刻只能处理一个任务, 当多个任务同时要求单片机处理时,这 一要求应该怎么实现呢?通过中断可以 实现多个任务的资源共享。
中断的基本概念
看书 中断响应
中断请求
电话 铃响
接电话
继续 看书
中断ቤተ መጻሕፍቲ ባይዱ回
中断的基本概念
主程序 中断响应
中断请求
断点
继续执 行程序
执行中断服务 (或处理)子程 序
中断返回
中断的定义
所谓的中断就是,当CPU正在处理某 项事务的时候,如果外界或者内部发生 了紧急事件,要求CPU暂停正在处理工 作而去处理这个紧急事件,待处理完后, 再回到原来中断的地方,继续执行原来 被中断的程序,这个过程称作中断。
(3)中断允许寄存器IE
76 5 4 3 2 1 0
IE
EA
ES ET1 EX1 ET0 EX0
A8H
例:允许定时器T0中断:
SETB EA
SETB ET0
或 MOV IE,#82H
(4)中断优先级控制寄存器(IP)
MCS-51有两个优先级,1为高,0为低 字节地址:B8H 位地址: 0BFH~0B8H
MOV IE, # 8FH (10001111B) MOV IP, # 06H (00000110B) SETB EA; SETB EX0;SETB ET0;SETB EX1;SETB ET1;CLR ES
则此时该系统中:
CPU中断允许;
允许外部中断0、外部中断1、定时器 /计数器0、定时器/计数器1提出的中断 申请;
还是下降沿触发。
例1:若规定外部中断1为电平触发方式, 高优先级,试写出有关的初始化程序。 SETB EA ;开中断 SETB EX1 ;允许外中断1中断 SETB PX1 ;外中断1定为高优先级 CLR IT1 ;电平触发
例2:使用外部中断0(INT0)和外部 中断1(INT1), INT1为高优先级, 电平触发方式, INT0为低优先级,下 降沿触发方式。
实现这种功能的部件称为中断系统 (中断机构)。
产生中断的请求源称为中断源。
中断过程中又有中断发生称为中断嵌 套。
中断执行的程序称为中断服务子程序。
中断功能强弱是计算机性能优劣的重要 标志
提高CPU效率 解决速度矛盾 实现并行工作 实时处理
应付突发事件……
MCS-51的中断系统——中断源
a.CPU正在响应同级或高优先级的中断。 b.当前指令未执行完。 c.正在执行RETI中断返回指令或访问专用 寄存器IE和IP的指令。
一、中断响应过程
1.采样: CPU在每个机器周期的S5P2期间
采样中断请求信号。
2.锁定:
如果有中断请求,将中断请求信号
锁定到相应的请求标志位(TCON
中)。
TF1
自然优先级 中断源
中断标志位 中断允许 优先控制 CPU

INT0
T0
INT1
T1
串口 低
IE0 EX0
PX0
TF0 ET0 IE1 EX1 TF1 ET1
PT0

PX1


PT1
TI
ES
SI
PS EA
▪ 单片机中有两个中断优先级,即高优先级中断和低优先级中断,前 者优先权高于后者(在程序中设置,相应位=1,为高优先级);
中断允许 IE(A8H) EA
ES ET1 EX1 ET0 EX0
寄存器 位地址 AFH
ACH ABH AAH A9H A8H
中断优先级 IP(B8H)
PS PT1 PX1 PT0 PX0
寄存器 位地址
BCH BBH BAH B9H B8H
中断设计举例
例如, 某软件中对寄存器IE、 IP设置如 下: MOV IE,#00H
TF0
IE1 IT1 IE0 IT0
3.查询:
在S6P2状态按一定的顺序(INT0、 T0、 INT1、 T1、 RI/TI)查询请求 标志,并将有效的中断请求按优先级 次序排好。
4.产生LCALL指令: 如果查询到某标志位为“1” (在
TCON中),硬件自动产生一条 LCALL指令,转到相应的中断入口地 址(也称中断向量或中断矢量)。
程序存储器ROM
002AH
使用时,通常在这些入口地址 处存放一条跳转指令,使程序 跳转到用户安排的中断服务子 程序起始地址上去!
0023H:串行口中断入口
001BH:定时器1溢出中断入口
0013H:外部中断1入口
000BH:定时器0溢出中断入口
0003H:外部中断0入口
0000H:复位后,程序的入口地址(PC=0000H)
1.定时器控制寄存器(TCON)
76 5 4 3 2 1 0
TCON TF1
TF0
IE1 IT1 IE0 IT0
T1溢出中断标志(TCON.7): T1启动计数后,计满溢出由硬件
置位TF1=1,向CPU请求中断,此标志 一直保持到CPU响应中断后,才由硬 件自动清0。也可用软件查询该标志, 并由软件清0。
中 断 源 是 指 在 计 算 机 系 统 中 向 CPU 发出中断请求的来源。
8051单片机有5个中断源:
外部中断源:外部中断0(INT0 ) 外部中断1(INT1 )
内部中断源:定时/计数中断0(T0) 定时/计数中断1(T1) 串行中断
1. 外部中断源
外部中断0(INT0 ):来自引脚P3.2 外部中断1(INT1 ):来自引脚P3.3
对同时发生多个中断申请时: ☞不同优先级的中断同时申请(很难遇到)
——先高后低 ☞相同优先级的中断同时申请(很难遇到)
——按序执行 ☞正处理低优先级中断又接到高级别中断
——高打断低 ☞正处理高优先级中断又接到低级别中断
——高不理低
自然优先级:
INT0

T0
INT1
T1
RI/TI 低
CPU正在执行 低中断源
IE0和IE1——外中断请求标志位
当CPU采样到INT0(或INT1 )端 出现有效中断请求时,IE0 (或IE1) 位由硬件置“1”。当中断响应完成转 向中断服务程序时,由硬件把IE0 (或IE1)清零。
2.SCON寄存器
SCON
76 5 4
3
210
TI RI
98H
▪ TI (SCON.1)——串行发送中断标志。 ▪ RI (SCON.0)——串行接收中断标志。
▪注意:该寄存器可以位寻址。
其中与中断有关的控制位共2位:
TI——串行口发送中断请求标志位 当发送完一帧串行数据后,由硬件置“1”;
在转向中断服务程序后,用软件清“0”。
RI——串行口接收中断请求标志位 当接收完一帧串行数据后,由硬件置“1”;
在转向中断服务程序后,用软件清“0”。 串行中断请求由TI和RI的逻辑或得到。
说明:外部中断源中断请求需设置,而 内部中断源中断请求不需设置, 自动产生。
MCS-51的中断系统——中断标志
中断源
INT0 T0 INT1 T1 串口
中断标志位 CPU
IE0
TF0

IE1

TF1

TI
RI
▪ 每一个中断源都有相应的中断标志位; ▪ 某一个中断源申请中断,相应中断标志位置1。
MCS-51的中断系统——中断允许
▪ 同一优先级别的中断源按照自然优先级顺序确定优先级别(硬件形 成,无法改变)。
MCS-51的中断系统结构图
IT0=0 INT0
IT0=1
T0
IT1=0 INT1
IT1=1 T1
TXD RXD
中断标 志位
TCON
IE
IP
IE0
PX0
EX0
PT0
TF0 ET0
PX1
IE1 EX1
自 然 优 先 级
高 级 中 断 请
IP
76 5 4 3 2 1 0
B8H
PS PT1 PX1 PT0 PX0
▪ 51单片机有两个中断优先级——高级和低级 ▪ 专用寄存器IP为中断优先级寄存器,用户可 用软件设定 ▪ 相应位为1,对应的中断源被设置为高优先级, 相应位为0,对应的中断源被设置为低优先级 ▪ 系统复位时,均为低优先级
中断优先级处理原则
计数溢出标志位的使用有两种情况: 采用中断方式时,作中断请求标志位 来使用; 采用查询方式时,作查询状态位来使 用。
76 TCON
TF1 88H
54 TF0
3 210 IE1 IT1 IE0 IT0
外部中断INT1中断标志 位(TCON.3) :
IE1=1,外部中断1 向CPU申请中断
外部中断INT1触发方 式控制位(TCON.2): ▪ IT1=0,电平触发方 式 ▪ IT1=1, 下降沿触发 方式
中断源
中断标志位
中断允许
CPU
INT0
IE0 EX0
T0
TF0 ET0

INT1
IE1 EX1


T1
TF1 ET1
串口
TI
ES
RI
EA
▪ EA——总中断允许位,EA=1开放所有中断,EA=0,禁止所有中断;
▪ 某一个中断源还有相应的中断允许位,1允许相应中断源的中断,0禁 止相应中断源的中断。
MCS-51的中断系统——中断优先 级
中断源
INT0 T0 INT1 T1 RI/TI
入口地址
0003H 000BH 0013H 001BH 0023H
▪特别注意:这些工作是硬件自动完成的!
5.中断入口地址安排跳转指令:
如:ORG 0003H LJMP INTT0
INTT0: 中断服务子程序 RETI
二、中断处理
入口地址
❖ 中断响应 ❖ 中断处理(又称中断服务) ❖ 中断返回 ❖ 中断请求的撤除
应 响 断 中 中 断 返

中断响应条件:
☞ 有中断源发出中断请求。 ☞ 中断总允许位EA = 1。 ☞ 申请中断的中断源允许。
满足以上基本条件,CPU一般会响应中断。
但若有下列任何一种情况存在,则中断响应会受 到阻断。
相关文档
最新文档