单片机课件第6章中断系统
合集下载
《单片机原理及应用》第6章 51单片机中断系统应用基础
• 单片机原理及应用(第4版)
• 姜志海 王蕾 姜沛勋 编著
• 电子工业出版社
第6章 51单片机中断系统应用基础
• 本章主要介绍中断系统的应用。 • 包括:
6.1 中断结构与控制 6.2 中断优先级与中断子程序 6.3 外部中断应用举例 6.4 实验与设计
6.1 中断结构与控制
5个中断源
• 外部中断:外部中断0 /INT0
6.2 中断优先级与中断子程序
• 优先级排列如下(从高到低): 外部中断0 定时器/计数器0溢出 外部中断1 定时器/计数器1溢出 串行口中断
6.3 外部中断应用示例
• 51单片机提供了2个外部中断源 : • 外部中断0请求,占用P3.2引脚,其中断请求号为0 • 外部中断1请求,占用P3.3引脚,其中断请求号为2 • 外部中断源的初始化时通过设置相应的特殊功能寄
注意:
和例题5-6的区别
修改:
(1)按3下S0,P1口的发光状态发生反转 (2)按一下,灯变为闪烁,按一下,灯全亮。
【例6-2】当S0动作时,P1.0端口的电平反向,当外S1 动作,P1.7端口的电平反向
• 修改:
• (1)S0控制P1.0—P1.3的灯,S1控制P1.4—P1.7的灯 。
• (2)按下S0后,点亮8只LED;按下S1后,变为闪烁状 态。
(3)IE寄存器中的EA、EX0、EX1位
• EA为中断允许总控制位;EX0、EX1为外 部中断0中断和外部中断1中断的中断允 许位。如:
• SETB EA;开放总的中断控制 • SETB EX0;允许外部中断0中断 • CLR EX1;禁止外部中断1中断
【例6-1】初始状态时低4位灯亮,高4位的灯灭,编程 实现按一下S0,P1口的发光状态发生反转。
• 姜志海 王蕾 姜沛勋 编著
• 电子工业出版社
第6章 51单片机中断系统应用基础
• 本章主要介绍中断系统的应用。 • 包括:
6.1 中断结构与控制 6.2 中断优先级与中断子程序 6.3 外部中断应用举例 6.4 实验与设计
6.1 中断结构与控制
5个中断源
• 外部中断:外部中断0 /INT0
6.2 中断优先级与中断子程序
• 优先级排列如下(从高到低): 外部中断0 定时器/计数器0溢出 外部中断1 定时器/计数器1溢出 串行口中断
6.3 外部中断应用示例
• 51单片机提供了2个外部中断源 : • 外部中断0请求,占用P3.2引脚,其中断请求号为0 • 外部中断1请求,占用P3.3引脚,其中断请求号为2 • 外部中断源的初始化时通过设置相应的特殊功能寄
注意:
和例题5-6的区别
修改:
(1)按3下S0,P1口的发光状态发生反转 (2)按一下,灯变为闪烁,按一下,灯全亮。
【例6-2】当S0动作时,P1.0端口的电平反向,当外S1 动作,P1.7端口的电平反向
• 修改:
• (1)S0控制P1.0—P1.3的灯,S1控制P1.4—P1.7的灯 。
• (2)按下S0后,点亮8只LED;按下S1后,变为闪烁状 态。
(3)IE寄存器中的EA、EX0、EX1位
• EA为中断允许总控制位;EX0、EX1为外 部中断0中断和外部中断1中断的中断允 许位。如:
• SETB EA;开放总的中断控制 • SETB EX0;允许外部中断0中断 • CLR EX1;禁止外部中断1中断
【例6-1】初始状态时低4位灯亮,高4位的灯灭,编程 实现按一下S0,P1口的发光状态发生反转。
单片机教程 第6章-中断系统
TCON位功能:
TF0/TF1:定时器溢出中断申请标志位: =0:定时器未溢出; =1:定时器溢出申请中断,进中断后自动清零。
③ IE1 —— 外中断中断请求标志 当P3.3引脚信号有效时,IE1=1 ④ IE0 —— 外中断中断请求标志 当P3.2引脚信号有效时,IE0=1
IE0/IE1:外部中断申请标志位: =0:没有外部中断申请; =1:有外部中断申请。
=1:在INT0/INT1端申请中断的信号负跳变有效.
6.2
51单片机的中断系统
3、串行口中断设定
串行控制寄存器SCON控制字,字节地址:98H
SCON 位名称 位地址 功能 D7 D6 — — — — — — D5 — — — D4 — — — D3 — — — D2 — — — D1 TI 99H 串行发送 中断标志 D0 RI 98H 串行接收 中断标志
6.1
中断的概念
6.1.3 中断的分类 可分为三类: * 可屏蔽中断:由CPU的可屏蔽中断引脚INT引起的 中断。 * 非屏蔽中断:由CPU的非屏蔽中断引脚NMI引起的 中断(8086CPU)。 * 软件中断:由中断指令引起的中断(8086CPU)。 • 51单片机的中断可以分为:
①外部中断,由外部可屏蔽中断和外部计数器中断组成; ②内部中断,由内部定时器、串口传输中断等组成。
输入引脚。允许用户设定外部中断源以低电平或 者是负跳变方式触发。
6.2
51单片机的中断系统
②定时器溢出中断源:内部中断,51内部有两
个16位定时/计数器,它们由内部定时脉冲(主脉 冲12分频)或外部引脚T0、T1输入的外部计数脉 冲计数。当计数值溢出时,产生中断请求。这两 个16位定时/计数器的初值可由用户设定。
单片机中断的应用PPT
例說89S51-C語言89S51-C语言
6-4
yiher
IE寄存器
2019/7/22
例說89S51-C語言89S51-C语言
6-5
yiher
IP寄存器
2019/7/22
例說89S51-C語言89S51-C语言
6-6
yiher
自然优先等级
2019/7/22
例說89S51-C語言89S51-C语言
yiher
中断的应用
第六章
2019/7/22
例說89S51-C語言89S51-C语言
6-1
yiher
本章内容
2019/7/22
例說89S51-C語言89S51-C语言
6-2
yiher
MCS-51中断控制系统
2019/7/22
例說89S51-C語言89S51-C语言
6-3
yiher
中断流程
2019/7/22
6-7
yiher
不同优先等级下,程序执行的流程
2019/7/22
例說89S51-C語言89S51-C语言
6-8
yiher
不同优先等级下,程序执行的流程
2019/7/22
例說89S51-C語言89S51-C语言
6-9
yiher
TCON寄存器
2019/7/22
例說89S51-C語言89S51-C语言
6-32
yiher
实例演练6-4-3
两个外部中断实验
2019/7/22
例說89S51-C語言89S51-C语言
6-33
yiher
6-3-3 目 标
• 主程序正常执行时,P1所连接的八LED将闪烁。 • 按INT0按钮开关,则进入INT0中断状态,P1所连接的八
单片机中的中断ppt
中断处理过程
中断响应过程就是自动调用并执行中断函数的过程。 C51编译器支持在C源程序中直接以函数形式编写中断服 务程序。常用的中断函数定义语法如下: void 函数名() interrupt n 其中n为中断类型号,C51编译器允许0~31个中断, n取值范围0~31。下面给出了8051控制器所提供的5个中 断源所对应的中断类型号和中断服务程序入口地址: 中断源 n 入口地址 外部中断0 0 0003H 定时/计数器0 1 000BH 外部中断1 2 0013H 定时/计数器1 3 001BH 串行口 4 0023H
IE0= 1,外部中断0向CPU申请中断。
中断触发方式控制位 TCON.0
串行发送中断标志 SCON.1
当IT0= 0,外部中断0控制为电平触发方式;当IT0 = 1,外 部中断0控制为边沿(下降沿)触发方式。
CPU将数据写入发送缓冲器SBUF时,启动发送,每发送完 一个串行帧,硬件都使TI置位;但CPU响应中断时并不自 动清除TI,必须由软件清除。
篮球比赛中,一方要求暂停 —— 中断
请求,经裁判同意 —— 响应中断,双
方停下比赛,去商量对策 —— 中断处
理,暂停时间到,回到场上继续比 赛——中断返回。
为什么要用中断
1.电脑的外设有鼠标、键盘、显示器,这些外设与cpu如 何协同工作
2.在电脑正常运行时,突然出现硬盘损坏的问题,CPU的 处理方式
MCS-51单片机的中断系统结构
主程序 中断响应
中断请求
执行主 程序
断点 继续执行 主程序 执行 中断 处理 程序
中断返回
中断基本概念
(1)中断服务程序:CPU响应中断后,转去执行相应的
处理程序,该处理程序通常称之为中断服务程序。
MCS-51单片机中断系统
19:04
张兴忠制作:
返回目录
13
6.2.2 中断源与中断方式
----中断源及种类
1.中断源
MCS-51单片机的中断系统提供了5个中断源。
19:04
张兴忠制作:
返回目录
14
6.2.2 中断源与中断方式
----中断工作方式应用
通常,在实际应用中有以下几种情况可采取中
请中断,CPU响应中断后,会自动清零TF0或TF1。
TF1:片内定时/计数器1溢出中断请求标志。功能与TF0类同。
张兴忠制作:
返回目录
19:04
21
6.2.3 中断控制寄存器
-----TCON寄存器
外部中断请求标志位IE0和IE1及其中断请求信号的撤销问题
无论是采用边沿触发方式(IT0=1)还是电平触发方式 (IT0=0),在CPU响应中断请求后,中断请求标志位 IE0即由硬件自动清零。 由于CPU对引脚没有控制作用,在采用电平触发方式时 中断请求信号的低电平可能继续存在,在以后的机器周 期采样时又会把已清零的IE0标志位重新置1,这有可能 再次引起中断而造成出错。所以,在中断响应后必须采 用其他方法撤销该引脚上的低电平,以撤除外部中断请 求信号。中断请求标志位IE1的清零及中断请求信号的撤 销问题与IE0类似。
返回目录
9
6.1.2 中断的概述
---ቤተ መጻሕፍቲ ባይዱ断的概念
主程序:CPU正常情况下运行的程序称为主程序。 中断源:把向CPU提出中断申请的设备称为中断源。 中断请求:由中断源向CPU所发出的请求中断的信号称中断 请求。
中断响应:CPU在满足条件情况下接受中断申请,终止现行
程序执行转而为申请中断的对象服务称中断响应。 中断服务程序:为服务对象服务的程序称为中断服务程序。 断点:现行程序被中断的地址称为断点。 中断返回:中断服务程序结束后返回到原来程序称中断返回。
MCS-51中断系统教学课件PPT
5.2 MCS-51单片机的中断系统 有5个中断请求源,两个中断优先级,可两级嵌套。 MCS-51单片机的中断系统结构示意图,如图5-3所示。
5.2.1 中断源及中断入口
中断源是指能发出中断请求,引起中断的装置或事件。 MCS-51单片机共有5个中断源,其中2个为外部中断源,3 个为内部中断源:
CPU处理事件的过程,称为CPU的中断响应过程。
图5-1中断流程图所示。 对事件的整个处理过程, 称为中断处理(或中断 服务)。
能够实现中断处理功能的部件称为中断系统;产生中断 的请求源称为中断请求源。中断源向CPU提出的处理请 求,称为中断请求(或中断申请)。进入中断→保护现场 →中断处理恢复现场 →中断返回
MOV IP,#00010100B;
需要指出的是,若置5个中断源全部为高优先级,就等于 不分优先级。
MCS-51单片机响应中断的基本原则如下: 1)低优先级中断可被高优先级中断请求所中断,反之则不 能。 2)在同一优先级中(不管是高优先级或低优先级),某个 中断一旦得到响应,与它同级的中断请求就不能再中断它。 CPU同时接收到几个中断时,首先响应优先级最高的中断请 求。如果同级的多个中断请求同时出现,则按CPU查询次序 确定的中断优先权排队来响应,其确定的查询次序见表5.6。 由此可见,各中断源在同一个优先级的条件下,外部中断0 的中断优先权最高,串行口中断优先权最低。
5.3.1 中断响应 1.CPU的中断响应条件 CPU响应中断的条件主要有以下几点: 1)由中断源发出中断申请。 2)中断总允许位EA=1,即CPU允许所有中断源申请中断。 3)申请中断的中断源的中断允许位为1,即此中断源没有被屏
蔽,可以向CPU申请中断。 以上是CPU响应中断的基本条件。若满足,CPU一般会响应中 断,但如果有下列任一种情况存在,中断响应即被封锁。
《单片机中断系统》PPT课件
在中断系统中,高优先级的中断请求能中断正在进行 的较低级的中断源处理。 中断系统
能实现中断功能并能对中断进行管理的硬件和软件称 为中断系统。
本章将讨论MCS51系列单片机的中断系统。
a
3
中断请求是在执行程序的过程中的随机发生的,中断系
统要解决的问题是:
1)CPU在不断的执行指令中,是如何检测到随机发生
中断服务程序 入口 0003H
0013H
000BH
001BH
002BH
0023H
6
(1)中断的允许和禁止——中断控制寄存器IE IE寄存器的各位对应相应的中断源,如果允许该中断
源中断则该位置1,禁止中断则该位0 。
EA
- ET2
ES
ET1
EX1 ET0 EX0
中断总 不 控允/禁 用
T2 允/禁
串行口 允/禁
的中断请求?
2)如何使中断的双方(CPU方和中断源方)均能人为
控制,允许中断或禁止中断。
3)由于中断产生的随机性,不可能在程序中安排调子
程序指令或转移指令,那么如何实现正确的转移,以便为
该中断源服务呢?
4)中断源有多个,而CPU只有一个,当有多个中断源
同时有中断请求时,用户怎么控制 CPU 按照自己的需要安
ET1
1 ES
1 ET2 EA
源允许 总允a许
IP PX0 1
0
PT0 1 0
PX1 1 0
PT1 1 0
PS 1 0
PT2 1 0
优先级
高
自
级
然
中
优
断
先
请
级
求
矢量地址
PC
硬件查询
能实现中断功能并能对中断进行管理的硬件和软件称 为中断系统。
本章将讨论MCS51系列单片机的中断系统。
a
3
中断请求是在执行程序的过程中的随机发生的,中断系
统要解决的问题是:
1)CPU在不断的执行指令中,是如何检测到随机发生
中断服务程序 入口 0003H
0013H
000BH
001BH
002BH
0023H
6
(1)中断的允许和禁止——中断控制寄存器IE IE寄存器的各位对应相应的中断源,如果允许该中断
源中断则该位置1,禁止中断则该位0 。
EA
- ET2
ES
ET1
EX1 ET0 EX0
中断总 不 控允/禁 用
T2 允/禁
串行口 允/禁
的中断请求?
2)如何使中断的双方(CPU方和中断源方)均能人为
控制,允许中断或禁止中断。
3)由于中断产生的随机性,不可能在程序中安排调子
程序指令或转移指令,那么如何实现正确的转移,以便为
该中断源服务呢?
4)中断源有多个,而CPU只有一个,当有多个中断源
同时有中断请求时,用户怎么控制 CPU 按照自己的需要安
ET1
1 ES
1 ET2 EA
源允许 总允a许
IP PX0 1
0
PT0 1 0
PX1 1 0
PT1 1 0
PS 1 0
PT2 1 0
优先级
高
自
级
然
中
优
断
先
请
级
求
矢量地址
PC
硬件查询
单片机中断系统课件
04
单片机中断系统的应 用
定时器中断的应用
定时器中断
在单片机中,定时器中断是一种常见的中断类型 。通过设置定时器,可以在指定的时间间隔后产 生中断,从而执行相应的中断服务程序。
定时器中断的优点
定时器中断具有高精度、可编程和灵活性强的优 点。它可以用于各种不同的时间控制需求,并且 可以通过编程来调整时间间隔。
根据中断类型,调用相应 的中断服务例程,执行中 断处理程序。
清除中断标志位
在调用中断服务例程后, 需要清除相应的中断标志 位,以避免重复处理同一 个中断。
中断嵌套与优先级反转
中断嵌套
在单片机中断系统中,允许一个 中断被另一个更高优先级的中断 打断,形成嵌套的中断处理。
优先级反转
由于中断优先级的不同,可能会 发生优先级反转的情况,即低优 先级的中断需要等待高优先级的 中断处理完毕后才能被处理。
串行通信中断的 优点
串行通信中断具有实时 性强、可靠性高的优点 。它可以快速地响应串 行通信事件,并且可以 在数据传输过程中进行 错误检测和处理。
串行通置串行通信端口、设 置中断触发条件以及编 写相应的中断服务程序 。在中断服务程序中, 可以执行一些重要的任 务,例如读取接收到的 数据、发送数据等。
中断控制器
用于管理中断源,控制中 断的触发、优先级和子优 先级等。
中断处理程序
当中断发生时,CPU自动 跳转到预定的中断处理程 序入口地址,执行相应的 中断处理代码。
中断处理过程
中断请求
当某个中断源触发中断 时,向CPU发送中断请
求信号。
中断响应
CPU检测到中断请求后 ,根据中断优先级和子 优先级判断是否响应该
断点调试
在关键位置设置断点,观察中断触发 时的程序状态,检查是否符合预期。
单片机的中断系统ppt课件
89C51中断控制
TCON TF1
TF0
IE1 IT1 IE0 IT0
3、IE1:外部中断1的中断请求标志。 INT1(P3.3)。 当检测到外部中断引脚1 上存在有效的中断请求信 号时,由硬件使IE1置1。当CPU响应中断请求时, 由硬件使IE1清0。
4、IE0:外部中断0的中断请求标志。INT0(P3.2)。 其含义与IE1类同。
程
完整最新ppt
5
单击此处编辑母版标题样式
中断的意义
一、中断的概念
I. 可实现分时操作(CPU与多个外设并行工作) II. 可实现实时处理(被控对象信息随机变化) III. 可进行故障处理(及时处理突发事件)
完整最新ppt
6
单击此处编辑母版标题样式
二、89C51中断系统结构及中断控制
89C51的结构
1、TF1:定时器/计数器T1溢出中断请求标志位。
当启动T1计数后,T1从初值开始加1计数,计数 器最高位产生溢出时,由硬件使TF1置1,并向 CPU发出中断请求。当CPU响应中断时,硬件 将自动对TF1清0。
2、TF0:定时器/计数器T0溢出中断请求标志位。
含义与TF1类同。
11
完整最新ppt
单击此各处控编制辑位母的版含标义题样式
字节地址:98H
SCON
位地址
TI RI 99H 98H
完整最新ppt
16
单击SC此ON处中编控辑制母位版的标含题义样式
89C51中断控制
SCON
TI RI
1、TI:串行口发送中断请求标志。
CPU将一个数据写入发送缓冲器SBUF时,就 启动发送。每发送完一帧串行数据后,硬件置位 TI。但CPU响应中断时,并不清除TI,必须在中断 服务程序中由软件对TI清0。
单片机中断系统.完美版PPT
其次还受断各中源断源同自己的时中断向允许C控制P位U控请制。求中断时,系统会根据其优先级来
EA的作用是使中断允许形成两级控制。
P1.1=中le断d处; 响应理,即先响应中断优先级高的中断源,再响应优
执行相应的中断服务程序。
先级低的中断源。例如,若规定按键扫描处理优先 2.中断服务程序(函数)
STC15F2K60S2单片机各个中断源所对应的中断服务程序入口地址及中断号如表5-2所示。 IP2为中断优先级控制寄存器,主要对串行口2、SPI中断源的中断优先级设置,地址为B5H。
➢IE0:外部中断0请求源(INT0/P3.2)标志位。与IE1功能 类似。
➢IT0:外部中断0中断触发方式选择位,功能与IT1类似。
2. SCON和S2CON寄存器
SCON为串行口1控制寄存器,包括了串行口发送和接收 中断的请求标志位TI和RI。SCON寄存器的字节地址为98H,可 位寻址,其格式如下:
外部中断2(IN T 2 )、外部中断3( I N T 3)、定时器T2中断、 外部中断4(IN T 4 )。除外部中断2( I N T 2)、外部中断3 ( I N T 3 )、定时器T2中断、外部中断4(IN T 4 )等4个中断
源固定为最低优先级中断外,其它的中断源都具有2个中断 优先级,可实现2级中断服务程序嵌套。
STC15F2K60S2单片机中断系统结构示意图如图5-2 所示。这些中断源与特殊功能寄存器TCON、SCON、S2CON、 CCON、PCON、ADC_CONTR、IE、IE2、INT_CLKO、IP等有关, 下面首先介绍与中断源有关的寄存器功能。
STC15F2K60S2 单片机中断系统结
构示意图
SCON寄存器的其他位与中断无关,将在后续相关章节 介绍。
EA的作用是使中断允许形成两级控制。
P1.1=中le断d处; 响应理,即先响应中断优先级高的中断源,再响应优
执行相应的中断服务程序。
先级低的中断源。例如,若规定按键扫描处理优先 2.中断服务程序(函数)
STC15F2K60S2单片机各个中断源所对应的中断服务程序入口地址及中断号如表5-2所示。 IP2为中断优先级控制寄存器,主要对串行口2、SPI中断源的中断优先级设置,地址为B5H。
➢IE0:外部中断0请求源(INT0/P3.2)标志位。与IE1功能 类似。
➢IT0:外部中断0中断触发方式选择位,功能与IT1类似。
2. SCON和S2CON寄存器
SCON为串行口1控制寄存器,包括了串行口发送和接收 中断的请求标志位TI和RI。SCON寄存器的字节地址为98H,可 位寻址,其格式如下:
外部中断2(IN T 2 )、外部中断3( I N T 3)、定时器T2中断、 外部中断4(IN T 4 )。除外部中断2( I N T 2)、外部中断3 ( I N T 3 )、定时器T2中断、外部中断4(IN T 4 )等4个中断
源固定为最低优先级中断外,其它的中断源都具有2个中断 优先级,可实现2级中断服务程序嵌套。
STC15F2K60S2单片机中断系统结构示意图如图5-2 所示。这些中断源与特殊功能寄存器TCON、SCON、S2CON、 CCON、PCON、ADC_CONTR、IE、IE2、INT_CLKO、IP等有关, 下面首先介绍与中断源有关的寄存器功能。
STC15F2K60S2 单片机中断系统结
构示意图
SCON寄存器的其他位与中断无关,将在后续相关章节 介绍。
第六章 51系列单片机中断系统
第6章
51系列单片机的中断系统
本章主要介绍51系列单片机中断系统问题, 本章将介绍以下具体内容:
中断系统----中断源、中断方式 、中断控制寄 存器、中断响应、中断请求的撤除。
6.1
中断系统的概念
6.1.1 中断系统
中断应用在: 处理实时控制、故障自动诊断、计算机与 外围设备之间进行数据传送、进行人机对话等场合。 中断:是计算机的一种资源共享技术。中断技术就是解决这 种多项任务共享一个CPU资源的最好办法。
一般加装所示电路,并通过响应软件来撤销电平请求信号。
Q输出端
SD为置1端, 高电平有效 D端是逻辑输入端, 固定为低电平 CP为时钟输入端, 接外中断信号
当外中断请求发生时,将D端的低电平送到Q端,形成中断请求信 号。中断响应后,由软件对SD进行操作,将Q端恢复为高电平。 在中断服务程序中增加如下指令: (1) SETB P1.0 ; P1.0输出高电平,始终将Q端置1,永久封锁外中
中断请求标志
触发方 0 低电平 式选择 1 下降沿
定时控制寄存器TCON(字节地址88H)
外中断0 (1)请求标志 当CPU采样到INT0 (1)出现有效中断请求时,该 位由硬件自行设置为1,待中断响应后,该位自动清0。 该位一般为单片机硬件查询用,也可以软件查询。
8FH TF1
8EH TR1
8DH TF0
EA
ES
ET1
EX1
ET0 EX0
EA —— 中断允许总控制 位 (CPU开中断控制位) EA = 0 中断全部关闭 EA = 1 中断开启,各中 断由各自的控制位控制。
ET0(ET1) —— 定时器0(或 定时器1)中断允许控制位 ET0(ET1) = 0 定时器0 (或定时器1)中断禁止 ET0(ET1) = 1 定时器0 (或定时器1)中断允许
51系列单片机的中断系统
本章主要介绍51系列单片机中断系统问题, 本章将介绍以下具体内容:
中断系统----中断源、中断方式 、中断控制寄 存器、中断响应、中断请求的撤除。
6.1
中断系统的概念
6.1.1 中断系统
中断应用在: 处理实时控制、故障自动诊断、计算机与 外围设备之间进行数据传送、进行人机对话等场合。 中断:是计算机的一种资源共享技术。中断技术就是解决这 种多项任务共享一个CPU资源的最好办法。
一般加装所示电路,并通过响应软件来撤销电平请求信号。
Q输出端
SD为置1端, 高电平有效 D端是逻辑输入端, 固定为低电平 CP为时钟输入端, 接外中断信号
当外中断请求发生时,将D端的低电平送到Q端,形成中断请求信 号。中断响应后,由软件对SD进行操作,将Q端恢复为高电平。 在中断服务程序中增加如下指令: (1) SETB P1.0 ; P1.0输出高电平,始终将Q端置1,永久封锁外中
中断请求标志
触发方 0 低电平 式选择 1 下降沿
定时控制寄存器TCON(字节地址88H)
外中断0 (1)请求标志 当CPU采样到INT0 (1)出现有效中断请求时,该 位由硬件自行设置为1,待中断响应后,该位自动清0。 该位一般为单片机硬件查询用,也可以软件查询。
8FH TF1
8EH TR1
8DH TF0
EA
ES
ET1
EX1
ET0 EX0
EA —— 中断允许总控制 位 (CPU开中断控制位) EA = 0 中断全部关闭 EA = 1 中断开启,各中 断由各自的控制位控制。
ET0(ET1) —— 定时器0(或 定时器1)中断允许控制位 ET0(ET1) = 0 定时器0 (或定时器1)中断禁止 ET0(ET1) = 1 定时器0 (或定时器1)中断允许
微机原理与单片机接口技术(第2版)李精华 第6章微处理器中断及定时计数器应用设计
低级中断,一个正在执行的高级中断是不能被低级中断而中断的。 (4)若多个同级中断请求同时发出,则单片机按照一定的原则决定执行的顺序。51系列单片机对中
断的查询顺序是“外部中断0→定时/计数器T0→外部中断1→定时/计数器T1→串行口中断”。 (5)若程序正在执行读/写IE和IP指令,则CPU执行该指令结束后,需要再执行一条其他指令才可
处理中断源的程序称为中断处理程序。 CPU执行有关的中断处理程序称为中断处理 。而返回断点的过程称为中断返回,中断响应 和处理过程如图6-1所示。
图6-1 中断响应和处理过程
4
2.中断的处理过程
①接收中断请求。 ②查看本级中断屏蔽位,若该位为1,则本级中断源参与优先级排队。 ③中断优先级选择。 ④处理机执行完一条指令后或者这条指令已无法执行完,则立即中止现 行程序。接着,中断部件根据中断级去指定相应的主存单元,并把被中 断的指令地址和处理机当前的主要状态信息存放在此单元中。 ⑤中断部件根据中断级又指定另外的主存单元,从这些单元中取出处理 机新的状态信息和该级中断控制程序的起始地址。 ⑥执行中断控制程序和相应的中断服务程序。 ⑦执行完中断服务程序后,利用专用指令使处理机返回被中断的程序或 转向其他程序。
7.中断屏蔽
对各中断级设置相应的屏蔽位。只有屏蔽位为1时,该中断级才能参加 中断优先级排队。中断屏蔽位可由专用指令建立,因而可以灵活地调整中断 优先级。有些机器针对某些中断源也设置屏蔽位,只有当屏蔽位为1时,相 应的中断源才起作用。。
6.2 单片机中断系统概述
51系列不同型号单片机的中断源的数量是不同的(5~11个) ,本节以8051单片机的中断系统为例分析51系列单片机的中断系 统,其它各种51单片机的中断系统与之基本相同,8051单片机的 中断系统结构框图如图6-2所示。8051单片机有5个中断源,2个中 断优先级,可以实现二级中断服务程序嵌套,每个中断源可以编 程为高优先级或低优先级中断,允许或禁止向CPU请求中断。与中 断系统有关的特殊功能寄存器有中断允许控制寄存器IE、中断优 先级控制寄存器IP和中断源寄存器TCON、SCON。
断的查询顺序是“外部中断0→定时/计数器T0→外部中断1→定时/计数器T1→串行口中断”。 (5)若程序正在执行读/写IE和IP指令,则CPU执行该指令结束后,需要再执行一条其他指令才可
处理中断源的程序称为中断处理程序。 CPU执行有关的中断处理程序称为中断处理 。而返回断点的过程称为中断返回,中断响应 和处理过程如图6-1所示。
图6-1 中断响应和处理过程
4
2.中断的处理过程
①接收中断请求。 ②查看本级中断屏蔽位,若该位为1,则本级中断源参与优先级排队。 ③中断优先级选择。 ④处理机执行完一条指令后或者这条指令已无法执行完,则立即中止现 行程序。接着,中断部件根据中断级去指定相应的主存单元,并把被中 断的指令地址和处理机当前的主要状态信息存放在此单元中。 ⑤中断部件根据中断级又指定另外的主存单元,从这些单元中取出处理 机新的状态信息和该级中断控制程序的起始地址。 ⑥执行中断控制程序和相应的中断服务程序。 ⑦执行完中断服务程序后,利用专用指令使处理机返回被中断的程序或 转向其他程序。
7.中断屏蔽
对各中断级设置相应的屏蔽位。只有屏蔽位为1时,该中断级才能参加 中断优先级排队。中断屏蔽位可由专用指令建立,因而可以灵活地调整中断 优先级。有些机器针对某些中断源也设置屏蔽位,只有当屏蔽位为1时,相 应的中断源才起作用。。
6.2 单片机中断系统概述
51系列不同型号单片机的中断源的数量是不同的(5~11个) ,本节以8051单片机的中断系统为例分析51系列单片机的中断系 统,其它各种51单片机的中断系统与之基本相同,8051单片机的 中断系统结构框图如图6-2所示。8051单片机有5个中断源,2个中 断优先级,可以实现二级中断服务程序嵌套,每个中断源可以编 程为高优先级或低优先级中断,允许或禁止向CPU请求中断。与中 断系统有关的特殊功能寄存器有中断允许控制寄存器IE、中断优 先级控制寄存器IP和中断源寄存器TCON、SCON。
第六章 AT89C51中断系统与定时
1 0 1 0
T1 TX RX
PS ES EA
1 0
自 然 优 先 级
中断 矢量地址 硬件查询 源允许
低 级 中 断 请 求
各中断 总允许 源允许
优先级
PC
1.中断源(5个) 向CPU发出中断请求的来源,或引起中断的原因称为中断源。 (1). 外部中断类 外部中断是由外部原因(如打印机、键盘、控制开关、外部故障)引起的, 可以通过两个固定引脚来输入到单片机内的信号,即外部中0(INT0)和外 部中断1(INT1)。 外部中断0(INT0)请求信号输入引脚为P3.2。当CPU检测到P3.2引脚上 出现有效的中断信号时,向CPU申请中断。 外部中断1(INT1)请求信号输入引脚为P3.3 。当CPU 检测到P3.3 引脚上出现有效的中断信号时,向CPU申请中断。 (2). 定时中断类 定时中断是由内部定时(或计数)溢出或外部定时(或计数)溢出引起的, 即定时器0(T0)中断和定时器1(T1)中断。 当定时器对单片机内部定时脉冲进行计数而发生计数溢出时,即表明定 时时间到,申请中断;或者当定时器对单片机外部计数脉冲进行计数而 发生计数溢出时,即表明计数次数到,申请中断。 片内定时/计数器T0溢出中断(TF0):当定时/计数器T0发生溢出时, 置位TF0,并向CPU申请中断。 片内定时/计数器T1溢出中断(TF1):当定时/计数器T1发生溢出时, 置位TF1,并向CPU申请中断。 (3). 串行口中断类 串行口中断是为接收或发送串行数据而设置的。 串行接口中断,包括RI 或TI。当发送或接收完一帧数据时,向CPU 申请中断。
D7 EA
D6 -
D5 -
D4 ES
D3 ET1
D2 EX1
D1 D0 ET0 EX0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
叫做:“五源中断,两级管理” 二、中断请求源(“五源中断”) 五个中断源: 入口地址
外部中断0(/INT0)
T0溢出中断 外部中断1(/INT1) T1溢出中断 串口中断
0003H
000BH 0013H 001BH 0023H
利用中断请求标志位来通知!!!
中断源的中断请 求,如何通知 CPU?
CPU识别中断申请的依据: CPU在每个机器周期的S5P2期间,会自动查询各个中断申 请标志位,若查到某标志位被置位,将启动中断机制。
EA —— 总控制位
“—” —— 未定义位 ES —— 串口控制位 ET1—— T1中断控制位 EX1—— /INT1控制位 ET0—— T0中断控制位 EX0—— /INT0控制位 若为“1”,开关接通,允许 例如 SETB EA 若为“0”,开关断开,不允 许 例如 CLR IE.7
2、中断优先级(第二级管理)
一个机器周期
S1
P1 P2
S2
S3
S4
S5
S6
S1
P1 P2
S2
S3
S4
S5
S6
2.中断控制 MCS-51单片机设置了4个专用寄存器用于中断控制,用 户通过设置其状态来管理中断系统。
以上6个中断请求标志位分别分布在TCON、SCON两个寄存器中。 TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
§6 MCS-51中断系统
一、概述
什么叫中断?
举例:某同学正在教室写作业,忽然被人叫出去,回来 后,继续写作业。这就是生活中中断的例子。 与上对比,单片机中也有同样的问题。CPU正 在执行原程序,突然,被意外事情打断,转去执行 新程序。CPU执行新程序结束后,又回到原程序中 继续执行。这样的过程就叫
设计程序如下:
ORG LJMP ORG LJMP ORG SETB SETB SETB 0000H MAIN 0003H INT 0100H EA EX0 IT0 …… ; 外部中断0中断服务入口地址 ; 转中断服务 ; 开总中断允许 ; 开INT0中断 ; 下降沿有效
MAIN:
中断服务程序清单如下:
TF1—— T1的溢出中断标志 硬件置1,硬件清0(也可软件清0) TF0 —— T0的溢出中断标志。(同TF1,只是针对T0的)
IE1 —— 外部中断1(/INT1)请求标志。
外部有中断请求时,硬件使IE1置1,硬件清0。 IE0 —— 外部中断0(/INT0)请求标志。 IT1 —— 外部中断1(/INT1)触发类型控制位。 IT1 = 0 ,低电平触发。IT1 = 1 , 下降沿触发。
1
[例题3] 通过外部中断控制八盏灯循环点亮。 解:通过P1口扩展八盏灯,在 INT1 引脚接一个按钮开关到地, 每按一下按钮就申请一次中断,点亮一盏灯,中断服务则是: 依次点亮八盏灯中的一盏。采用边沿触发。硬件电路如下图 所示。
程序如下:
ORG 0000H LJMP MAIN ORG 0013H ; 中断服务程序入口地址 LJMP IN11 MAIN:SETB EA ; 开总中断允许“开关” SETB EX1 ; 开分中断允许“开关” CLR PX1 ; 低 优先级(也可不要此句) SETB IT1 ; 边沿触发 MOV A , #01H ; 给累加器A赋初值 SJMP $ ; 原地等待中断申请 IN11:RL A ; 左环移一次 MOV P1,A ; 输出到P1口 RETI ; 中断返回 END
处理外部中断举例 要求每次按动按键,使外接发光二极管LED改变一次亮灭状态。 解:INT0输入按键信号,P1.0输出改变LED状态。 +5V 1.跳变触发:每次跳变引起一次中断请求。
ORG 0000H;复位入口 单片机 AJMP MAIN INT0 ORG 0003H ;中断入口 AJMP PINT0 P1.0 ORG 0100H ;主程序 MAIN:MOV SP,#40H;设栈底 SETB EA ;开总允许开关 SETB EX0 ;开INT0中断 SETB IT0 ;负跳变触发中断 H: SJMP H ;执行其它任务 ORG 0200H ;中断服务程序 PINT0:CPL P1.0 ;改变LED RETI ;返回主程序
同一级中的5个中断源的优先顺序是: 高 /INT0中断
T0溢出中断 出厂前已由厂家固化顺序 ——事先约定
/INT1中断
T1溢出中断 串口中断
低 中断优先原则:(概括为四句话)
1、低级不打断高级
2、高级不睬低级 3、同级不能打断 4、同级、同时中断,事先约定。
中断 P1,A • DEC A • ACALL DELAY • ACALL DELAY • DJNZ R1, LOOP • SJMP RES
中断服务程序
• EXT0:PUSH ACC • MOV A,#00 • MOV P1,A • ACALL DELAY • ACALL DELAY • CPL A • MOV P1,A • ACALL DELAY • ACALL DELAY • POP ACC • RETI •
子程序2 事件2
中断 中断
四、MCS-51中断的响应过程
日常生活中的中断与单片机中断的比较:
某同学 正在看书 有人找出去 暂停看书 书中作记号 出去做事 回来继续看 单片机 执行主程序 中断信号 暂停执行主程序 当前PC入栈 执行中断程序 返回主程序 过程说明
中断请求 中断响应 保护断点 中断服务 中断返回
中断请求的撤消
1.定时器/计数器中断请求的撤消 中断请求被响应后。硬件会自动清TF0或TF1。 2.外部中断请求的撤消 (1)跳沿方式外部中断请求的撤消是自动撤消 的。 (2)电平方式外部中断请求的撤消。 除了标志位清“0”之外,还需在中断响应后 把中断请求信号引脚从低电平强制改变为高 电平,如下图所示。
中断
。
中断的作用:
• • 对突发事故,做出紧急处理。
根据现场随时变化的各种参数、信息,做出实时监控。
• CPU与外部设备并行工作,以中断方式相联系,提高工 作效率。 • 解决快速CPU与慢速外设之间的矛盾。
• 在多项外部设备同时提出中断请求情况下,CPU能根 据轻重缓急响应外设的中断请求。
对于MCS-51单片机中断系统的组成可以用一句话来讲,
例 1外部中断的应用:8051单片机的P1口控制8个LED 灯,要求8个灯加1移位点亮,当中断来时,灯全灭后 全亮,然后继续加1移位点亮。
• ORG 0H • AJMP ST • ORG 0003H • AJMP EXT0 • ORG 0030H • ST:MOV SP,#70H • MOV IE,#81H • MOV IP,#01H • MOV TCON,#00H • RES:MOV R1,#08H • MOV A,#0FFH
查询方式扩展外部中断请求输入口的电路实现:
74ls21的逻辑表是:当输入全高时输出为高,任一输入低则输出就为低。 电路分析:当没有按键按下时,由于上拉电阻的作用,74ls21输出高,使 INT0口为高电平,此时中断程序不被触发。如果任何一个按键按下,则 74ls21输出低电平,触发中断程序。 中断程序设计为:如果程序设计检测次序是P1.0、P1.1、P1.2、P1.3口, 优先级即按顺序排列,如果同时有多个键被按下,可根据实际要求设定 为 1、仅仅只响应最优先中断;2、按优先级顺序依次执行各个中断。
3.2.4 MCS-51扩展外部中断请求输入口
8051单片机只提供了两个外部中断请求输入端,如果需要 使用多于两个的中断源,就必须扩展外部中断请求输入口。 1.定时器/计数器用于扩展外部中断请求输入口
8051单片机有两个定时器/计数器,它们作为计数器使用时,
计数输入端T0(或T1)发生负跳变将使计数器加1,利用此特
性,适当设置计数初值,就可以把计数输入端T0(或T1)作为
外部中断请求输入口。其特点是以占用内部定时中断为代价的。
中断服务程序的入口地址仍然为000BH或001BH。
2.查询方式扩展外部中断请求输入口
把多个中断源通过硬件(如与非门)引入外部中断输入端, 同时又连到某个I/O口。当有中断源申请中断时,在中断服务程 序中通过软件查询可确定哪一个是正在申请的中断源,其查询 的次序可由中断优先级决定。其特点是中断响应速度较慢。 适 用于外部中断源较多的场合。下页例题中,我们采用74LS21A 四输入端双与门实现该任务。 3.使用专用芯片扩展外部中断请求输入口 当外部中断源较多,同时又要求中断响应速度很高时,查 询方式扩展外部中断请求输入口的方法很难满足要求。这时可 以使用专用接口芯片进行外部中断请求输入口的扩展。下面例 题中,我们采用74LS21A四输入端双与门实现该任务。
为什么要有 中断优先级?
CPU同一时间只能响应一个中断请求。若同时来了两个或两个 以上中断请求,就必须有先有后。 !!!
为此将5个中断源分成高级、低级两个级别,高级优先,由IP控制。
IP —— —— —— PS PT1 PX1 PT0 PX0
P S —— 串口的中断优先级别 PT1 —— 定时 / 计数器T1的中断优先级别 PX1 —— 外部中断1 的中断优先级别 PT0 —— 定时 / 计数器T0的中断优先级别 PX0 —— 外部中断0 的中断优先级别 该位是“1”时,为高级优先级 该位是“ 0”时,为低级优先级
1
2. 电平触发:避免一次按键引起多次中断响应。 +5V 1.软件等待按键释放。 2.硬件清除中断信号。
单片机 ORG 0000H;复位入口 AJMP MAIN INT0 ORG 0003H ;中断入口 AJMP PINT0 P1.0 ORG 0100H ;主程序 MAIN:MOV SP,#40H;设栈底 SETB EA ;开总允许开关 SETB EX0 ;开INT0中断 CLR IT0 ;低电平触发中断 H: SJMP H ;执行其它任务 ORG 0200H ;中断服务程序 PINT0:CPL P1.0 ;改变LED WAIT:JNB P3.2,WAIT;等按键释放 RETI ;返回主程序
外部中断0(/INT0)
T0溢出中断 外部中断1(/INT1) T1溢出中断 串口中断
0003H
000BH 0013H 001BH 0023H
利用中断请求标志位来通知!!!
中断源的中断请 求,如何通知 CPU?
CPU识别中断申请的依据: CPU在每个机器周期的S5P2期间,会自动查询各个中断申 请标志位,若查到某标志位被置位,将启动中断机制。
EA —— 总控制位
“—” —— 未定义位 ES —— 串口控制位 ET1—— T1中断控制位 EX1—— /INT1控制位 ET0—— T0中断控制位 EX0—— /INT0控制位 若为“1”,开关接通,允许 例如 SETB EA 若为“0”,开关断开,不允 许 例如 CLR IE.7
2、中断优先级(第二级管理)
一个机器周期
S1
P1 P2
S2
S3
S4
S5
S6
S1
P1 P2
S2
S3
S4
S5
S6
2.中断控制 MCS-51单片机设置了4个专用寄存器用于中断控制,用 户通过设置其状态来管理中断系统。
以上6个中断请求标志位分别分布在TCON、SCON两个寄存器中。 TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
§6 MCS-51中断系统
一、概述
什么叫中断?
举例:某同学正在教室写作业,忽然被人叫出去,回来 后,继续写作业。这就是生活中中断的例子。 与上对比,单片机中也有同样的问题。CPU正 在执行原程序,突然,被意外事情打断,转去执行 新程序。CPU执行新程序结束后,又回到原程序中 继续执行。这样的过程就叫
设计程序如下:
ORG LJMP ORG LJMP ORG SETB SETB SETB 0000H MAIN 0003H INT 0100H EA EX0 IT0 …… ; 外部中断0中断服务入口地址 ; 转中断服务 ; 开总中断允许 ; 开INT0中断 ; 下降沿有效
MAIN:
中断服务程序清单如下:
TF1—— T1的溢出中断标志 硬件置1,硬件清0(也可软件清0) TF0 —— T0的溢出中断标志。(同TF1,只是针对T0的)
IE1 —— 外部中断1(/INT1)请求标志。
外部有中断请求时,硬件使IE1置1,硬件清0。 IE0 —— 外部中断0(/INT0)请求标志。 IT1 —— 外部中断1(/INT1)触发类型控制位。 IT1 = 0 ,低电平触发。IT1 = 1 , 下降沿触发。
1
[例题3] 通过外部中断控制八盏灯循环点亮。 解:通过P1口扩展八盏灯,在 INT1 引脚接一个按钮开关到地, 每按一下按钮就申请一次中断,点亮一盏灯,中断服务则是: 依次点亮八盏灯中的一盏。采用边沿触发。硬件电路如下图 所示。
程序如下:
ORG 0000H LJMP MAIN ORG 0013H ; 中断服务程序入口地址 LJMP IN11 MAIN:SETB EA ; 开总中断允许“开关” SETB EX1 ; 开分中断允许“开关” CLR PX1 ; 低 优先级(也可不要此句) SETB IT1 ; 边沿触发 MOV A , #01H ; 给累加器A赋初值 SJMP $ ; 原地等待中断申请 IN11:RL A ; 左环移一次 MOV P1,A ; 输出到P1口 RETI ; 中断返回 END
处理外部中断举例 要求每次按动按键,使外接发光二极管LED改变一次亮灭状态。 解:INT0输入按键信号,P1.0输出改变LED状态。 +5V 1.跳变触发:每次跳变引起一次中断请求。
ORG 0000H;复位入口 单片机 AJMP MAIN INT0 ORG 0003H ;中断入口 AJMP PINT0 P1.0 ORG 0100H ;主程序 MAIN:MOV SP,#40H;设栈底 SETB EA ;开总允许开关 SETB EX0 ;开INT0中断 SETB IT0 ;负跳变触发中断 H: SJMP H ;执行其它任务 ORG 0200H ;中断服务程序 PINT0:CPL P1.0 ;改变LED RETI ;返回主程序
同一级中的5个中断源的优先顺序是: 高 /INT0中断
T0溢出中断 出厂前已由厂家固化顺序 ——事先约定
/INT1中断
T1溢出中断 串口中断
低 中断优先原则:(概括为四句话)
1、低级不打断高级
2、高级不睬低级 3、同级不能打断 4、同级、同时中断,事先约定。
中断 P1,A • DEC A • ACALL DELAY • ACALL DELAY • DJNZ R1, LOOP • SJMP RES
中断服务程序
• EXT0:PUSH ACC • MOV A,#00 • MOV P1,A • ACALL DELAY • ACALL DELAY • CPL A • MOV P1,A • ACALL DELAY • ACALL DELAY • POP ACC • RETI •
子程序2 事件2
中断 中断
四、MCS-51中断的响应过程
日常生活中的中断与单片机中断的比较:
某同学 正在看书 有人找出去 暂停看书 书中作记号 出去做事 回来继续看 单片机 执行主程序 中断信号 暂停执行主程序 当前PC入栈 执行中断程序 返回主程序 过程说明
中断请求 中断响应 保护断点 中断服务 中断返回
中断请求的撤消
1.定时器/计数器中断请求的撤消 中断请求被响应后。硬件会自动清TF0或TF1。 2.外部中断请求的撤消 (1)跳沿方式外部中断请求的撤消是自动撤消 的。 (2)电平方式外部中断请求的撤消。 除了标志位清“0”之外,还需在中断响应后 把中断请求信号引脚从低电平强制改变为高 电平,如下图所示。
中断
。
中断的作用:
• • 对突发事故,做出紧急处理。
根据现场随时变化的各种参数、信息,做出实时监控。
• CPU与外部设备并行工作,以中断方式相联系,提高工 作效率。 • 解决快速CPU与慢速外设之间的矛盾。
• 在多项外部设备同时提出中断请求情况下,CPU能根 据轻重缓急响应外设的中断请求。
对于MCS-51单片机中断系统的组成可以用一句话来讲,
例 1外部中断的应用:8051单片机的P1口控制8个LED 灯,要求8个灯加1移位点亮,当中断来时,灯全灭后 全亮,然后继续加1移位点亮。
• ORG 0H • AJMP ST • ORG 0003H • AJMP EXT0 • ORG 0030H • ST:MOV SP,#70H • MOV IE,#81H • MOV IP,#01H • MOV TCON,#00H • RES:MOV R1,#08H • MOV A,#0FFH
查询方式扩展外部中断请求输入口的电路实现:
74ls21的逻辑表是:当输入全高时输出为高,任一输入低则输出就为低。 电路分析:当没有按键按下时,由于上拉电阻的作用,74ls21输出高,使 INT0口为高电平,此时中断程序不被触发。如果任何一个按键按下,则 74ls21输出低电平,触发中断程序。 中断程序设计为:如果程序设计检测次序是P1.0、P1.1、P1.2、P1.3口, 优先级即按顺序排列,如果同时有多个键被按下,可根据实际要求设定 为 1、仅仅只响应最优先中断;2、按优先级顺序依次执行各个中断。
3.2.4 MCS-51扩展外部中断请求输入口
8051单片机只提供了两个外部中断请求输入端,如果需要 使用多于两个的中断源,就必须扩展外部中断请求输入口。 1.定时器/计数器用于扩展外部中断请求输入口
8051单片机有两个定时器/计数器,它们作为计数器使用时,
计数输入端T0(或T1)发生负跳变将使计数器加1,利用此特
性,适当设置计数初值,就可以把计数输入端T0(或T1)作为
外部中断请求输入口。其特点是以占用内部定时中断为代价的。
中断服务程序的入口地址仍然为000BH或001BH。
2.查询方式扩展外部中断请求输入口
把多个中断源通过硬件(如与非门)引入外部中断输入端, 同时又连到某个I/O口。当有中断源申请中断时,在中断服务程 序中通过软件查询可确定哪一个是正在申请的中断源,其查询 的次序可由中断优先级决定。其特点是中断响应速度较慢。 适 用于外部中断源较多的场合。下页例题中,我们采用74LS21A 四输入端双与门实现该任务。 3.使用专用芯片扩展外部中断请求输入口 当外部中断源较多,同时又要求中断响应速度很高时,查 询方式扩展外部中断请求输入口的方法很难满足要求。这时可 以使用专用接口芯片进行外部中断请求输入口的扩展。下面例 题中,我们采用74LS21A四输入端双与门实现该任务。
为什么要有 中断优先级?
CPU同一时间只能响应一个中断请求。若同时来了两个或两个 以上中断请求,就必须有先有后。 !!!
为此将5个中断源分成高级、低级两个级别,高级优先,由IP控制。
IP —— —— —— PS PT1 PX1 PT0 PX0
P S —— 串口的中断优先级别 PT1 —— 定时 / 计数器T1的中断优先级别 PX1 —— 外部中断1 的中断优先级别 PT0 —— 定时 / 计数器T0的中断优先级别 PX0 —— 外部中断0 的中断优先级别 该位是“1”时,为高级优先级 该位是“ 0”时,为低级优先级
1
2. 电平触发:避免一次按键引起多次中断响应。 +5V 1.软件等待按键释放。 2.硬件清除中断信号。
单片机 ORG 0000H;复位入口 AJMP MAIN INT0 ORG 0003H ;中断入口 AJMP PINT0 P1.0 ORG 0100H ;主程序 MAIN:MOV SP,#40H;设栈底 SETB EA ;开总允许开关 SETB EX0 ;开INT0中断 CLR IT0 ;低电平触发中断 H: SJMP H ;执行其它任务 ORG 0200H ;中断服务程序 PINT0:CPL P1.0 ;改变LED WAIT:JNB P3.2,WAIT;等按键释放 RETI ;返回主程序