单片机中的中断ppt
51单片机学习教程第7章 中断PPT课件
2020/8/20
单片机C语言程序设计
19
中断的优先原则
8051单片机中断优先级遵循以下原则:
中断 Interrupt
1
标题添加
点击此处输入相 关文本内容
标题添加
点击此处输入相 关文本内容
总体概述
点击此处输入 相关文本内容
Байду номын сангаас
点击此处输入 相关文本内容
2
中断的事例
日常生活中有很多计划任务要完成 或突发事件要处理,常用的是查询法, 但更好的处理办法是中断。
如烧开水时,水烧开后应及时切断 加热源。
RI/TI=1
10
单片机中断系统的结构
中断服务程序入口地址和中断号:
中断源
中断标志
中断服务程序入 口地址
优先级顺序
外部中断(INT0) IE0
0003H
高
定时/计数器0(T0) TF0
000BH
↓
外部中断(INT1) IE1
0013H
↓
定时/计数器1(T1) TF1
001BH
↓
串行口
RI和TI
0023H
1. 查询法:不断地检查水是否烧开 2. 中断法:在烧水的壶上装哨子,利用水
烧开后的蒸汽吹响哨子
2020/8/20
单片机C语言程序设计
3
中断的概念
计算机处理的任务按实时性要求分 为两类:
1. 非实时性任务:显示刷新、声音鸣响 2. 实时性任务:系统错误处理、实时监控
对于实时性要求高的任务,出现后 要求立即处理,采用轮询的方式容易实 现,但实时性不高,浪费CPU时间,采 用中断的方式较为适宜。
9
单片机中断系统的结构
第5章-MCS-51单片机中断系统-PPT
5、2、2 MCS-51单片机得中断源
IT1=1,外中断1为下降沿触发 采样:CPU在每一个机器周期得S5P2期间 对P3、3引脚采样,若上一个机器周期检测为 高电平,紧挨着得下一个机器周期为低电平,则 使IE1置1。 IT0:外中断0触发方式控制位。
CPU主要就是通过标志寄存器、控制 寄存器、优先级寄存器对中断源进行管
5、2、2 MCS-51单片机得中断源
(1)与中断标志相关得SFR
主要有:定时器/计数器T0、T1控制寄 存器TCON
串行口控制寄存器SCON 定时器/计数器2控制寄存器T2CON(第 6章介绍) (2)中断控制寄存器:TCON、IE (3)中断优先级寄存器:IP
DMA释放总线:当一批数据传送后, DMA控制器再向CPU发出“结束总线请 求”,CPU响应请求,收回总线使用权。
DMA方式速度高、效率高,可以与CPU 并行工作。
5、1、2 中断得相关概念
1、中断得概念
CPU在正常运行得时候, 外部或者内部发生了请求 CPU迅速去处理得事件,CPU 暂时中断当前得程序,去处理 所发生得事件,处理完事件后, 再返回到原来被中断得程序 继续运行。此过程称为中断。
图5-3 定时器得控制寄存器
TCON可位寻址。复位后TCON=00H。 TF1(TCON、7):T1溢出标志位
当T1计满溢出时,由内部硬件置位; 中断响应后自动清 0。
5、2、2 MCS-51单片机得中断源
TF0:T0溢出标志位 功能同TF1。
IT1:外中断1触发方式设置位 IT1=0,外中断1为低电平触发
5、1、1 微机得输入/输出方式
第5章AT89S51单片机的中断系统-2ppt课件
【注意】:TCON既有定时器的控制功能,又有中断控制功能。 虽然不少资料将TCON称为定时器控制寄存器,但多数位都是 为中断控制而设置的(其中与中断有关的控制位共6位)。
位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
✓ 计数溢出标志位的使用有两种情况: • 采用中断方式时,作为中断请求标志位来使用; • 采用查询方式时,作为状态位供查询使用。
(2)SCON中的中断标志位
位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H
位符号 SM0 SM1 SM2 REN TB8 RB8 TI
RI
TI:串行发送中断请求标志位
AT89S51单片机的中断系统
本章主要内容
中断的概念和应用 AT89S51中断系统结构 与中断相关的SFR及中断控制 外部中断 C51中断函数编程举例
微机的输入输出方式
(1)无条件传送方式 (2)查询传送方式 (3)直接存储器存取(DMA)方式 (4)中断方式
无条件传送方式
无条件传送方式在这种传送方式下,CPU不需要了解 外设的状态,只要在程序中加入访问外设的指令, 就可实现CPU与外设之间的数据传送。此种方法控制 简单,但数据传送时,由于不知道外设的状态,传 送数据时容易出错。
④ 故障处理:当计算机出现故障时,CPU可自动执行故障 处理程序,提高了系统自身的可靠性。
计算机与外围设备之间传送数据及实现人机联系也常采 用中断方式。
89S51的中断源
中断源:凡是中断请求的来源都统称为中断源。 在单片机系统中,中断可以由各种硬件设备产生,
单片机中断的应用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 - 可能页面已经被删除,你可以选择
第5 章
中断系统
高优先级
P 3.2 INT 0 IT0 TCON.0 T0溢出
IE0 TCON.1 EX0 IE.0 TF0 TCON.5 ET0 IE.1 PT0 IP.1 PX0 IP.0
低优先级
P 3.3 INT1 IT1 TCON.2 T1溢出
IE1 TCON.3 EX1 IE.2 TF1 TCON.7 TX RX RI SCON.0 TI SCON.1
≥1
PX1 IP.2
查 询 次 序
ET1 IE.3
PT1 IP.3
ES IE.4
EA IE.7
PS IP.4
图5-1 AT89C51中断系统结构图
第5 章
中断系统
5.2.2 中断标志与中断控制 1.中断标志 1) 定时器控制寄存器TCON 图5-2给出了定时器控制寄存器TCON各位的定义。
TCON
第5 章
中断系统
5.2 AT89C51中断系统
5.2.1 中断源及中断系统构成
AT89C51 具有五个中断源,分为内部中断源和外部中断
源。外部中断源有两个,通常指由外部设备发出中断请求 信号,从P3.2和P3.3 引脚输入单片机,用电平或边沿触发两 种方式申请中断。内部中断源有三个,两个定时器/计数器 (T0 , T1) 中断源和一个串行口中断源, T0 和 T1 的中断申请 是在它们计数从全“1”变为全“0”溢出时自动向中断系统提 出的,串行口中断源的中断申请是在串行口每发送或接收 完一个8位二进制数后自动向中断系统提出的。AT89C51的 中断系统结构如图5-1所示。
位地址
9FH
9EH
9DH
9CH
9BH
9AH
99H
【优文档】微机课(外部中断)PPT
TEST .AS示器右边六位动态显示实时钟的时、分、秒
单元分配: 3AH:“秒”单元(BCD码);
估算:2*125*200*1µs≈50ms 【计算程序运行时间例】
3BH:“分”单元(BCD码);
3CH:“时”单元(BCD码)。 (6)只有在当前指令执行完毕后,才能进行中断响应。
DSCEOCNR(串7 行6口)控制只寄存有器 在字节当地址前为98指H。 令执行完毕后,才能进行中断响应。
MOV P1,A ;输出新控制码到P1口
5.5 中断的响应时间
在一个单一中断的系统里,AT89C51单片机对中断请求的响应 的时间一般在3~8个机器周期之间。
各中断源服务程序的入口地址:
它是各中断源的中断服务子程序的执行首地址,CPU响应
D(E5C)正R7在以执行2的4指为令不模是R加ETI或1是,访问相IE或当IP的于指令实。 现校时功能。
PUSH PSW DJNZ R7,D1S2⑦
IEX0P:PUSH ACC
;外部中断0服
务子程序。保护现场 补充5-1:编写完整的应用程序,运用外部中断功能,实现从 INT1引脚每输入2个下降沿信号令3FH单元内容按BCD码加1并且输出到P1
【例B5-3】主程序运用软件延时控制秒闪的同时实现外部中断 INT0每中断五次令一次
)
【例B5-4】上例基础上中断服务子程序具体代码后移的方法 )
【例B5-2】INT0每中断1次令50H单元内容加1并且输出到P1口 )
MOV A,50H ADD A,#1 DA A 按M5O0BVHC,DA 码加1
外部中断应用例:
【例B5-1】。 )
实验板INT0按键电路
【例B5-2】外部中断INT0每中断五次令一次
单片机中断原理(共34张PPT)
3.
中断优先级越高, 则响应优先权就越高。当CPU正 在执行中断服务程序时, 又有中断优先级更高的中断申 请产生, 这时CPU就会暂停当前的中断服务转而处理高 级中断申请, 待高级中断处理程序完毕再返回原中断 程序断点处继续执行, 这一过程称为“中断嵌套”。
4. 中断响应的一般过程
(1) 在每条指令结束后, 系统都自动检测中断请 求信号, 如果有中断请求,且CPU处于开中断状 态下, 则响应中断。
• 采用了中断技术后的计算机, 可以解决 CPU与外设之间速度匹配的问题, 使计算 机可以及时处理系统中许多随机的参数 和信息, 同时, 它也提高了计算机处理故 障与应变的能力。
“中断”与“查询”相比: 执行效率↑ 实时性 ↑
2.
中断源是指在计算机系统中可以向 CPU发出中断请求的来源。 通常有I/O 设备、实时控制系统中的随机参数和信 息故障源等。
例如, 某软件中对寄存器IE、 IP设置如下: MOV IE, # 8FH MOV IP, # 06H
则此时该系统中:
· CPU中断允许; · 允许外部中断 0、 外部中断 1、 定时器 /计数器 0、 定时器 /计数器1提出的中断申请; · 允许中断源的中断优先次序为: 定时器 /计数器 0>外部中断 1>外部中断 0>定时器/计数器 1。
(5) 返回, 此时 CPU将推入到堆栈的断点地 址弹回到程序计数器, 从而使CPU继续执行刚 才被中断的程序。
5.2 MCS - 51中断系统
图5.1 MCS - 51中断系统结构框图
中断源
表 5.1 8051 中 断 源
中断标志(Flag)
IE0:外部中断0中断标志
TF0:定时器/计数器0中断标志 IE1:外部中断1中断标志
3中断
中断1,中断的概念(见ppt)在计算机中,由于计算机内外部原因,或者由于软硬件原因,使CPU从当前正在执行的程序中暂停下来,而自动转去执行预先安排好的为处理该原因所对应的服务程序。
执行完服务程序后,再返回被暂停的位置继续执行原理的程序,这个过程称为中断。
2,中断的意义(1)使用中断,可以使单片机内部的资源并行工作,从而提高处理效率。
(2)使用中断可以及时且高效的处理紧急事件3,中断方式与查询方式的比较(中断的特点)(1)中断方式时,事件发生后,由外设主动向CPU提出申请;而查询方式下,则由CPU一直检测查询事件是否发生。
(2)中断方式可以使CPU与其他资源并行工作,而查询方式则会浪费CPU的资源。
(3)中断方式下,无论什么样的外围事件,无论在何时何地向CPU提出申请,CPU都能对其正确服务。
4,中断源的概念(ppt)产生中断请求信号的事件、原因称为中断源。
5,中断优先级的概念(ppt)在实际系统中,往往根据中断源的重要程度给不同的中断源设定优先等级。
当多个中断源提出中断请求时,优先级高的先响应,优先级低的后响应。
6,中断的屏蔽与开放(ppt)7,51单片机的中断分为哪三类?(1)外部中断(外部事件触发的,通过外部中断引脚输入的)(2)定时器/计数器中断(3)串口中断8,51单片机一共有哪五个中断?(1)INT0中断(2)INT1中断(3)定时器/计数器T0中断(4)定时器/计数器T1中断(5)串口中断9,51单片机的五个中断的中断标志位分别是什么?int0——IE0;int1——IE1;T0——TF0;T1——TF1;串口——RI(接收标志位)和TI(发送标志位)10,中断的机制(1)外部中断如何提出中断申请?通过外部中断引脚INT0(INT1)提出,如果在该引脚上出现了下降沿(边沿检测时)或者出现了低电平(电平检测时),则意味着有中断请求输入。
(2)中断请求如何被保存?每个中断都对应有各自的中断标志位,没有中断请求时,相应的中断标志位为0;如果一旦有中断请求发生,则对应的中断标志位会被硬件自动设置为1. (3)单片机如何获知中断请求?单片机在每个机器周期都会按序检测一遍中断标志位,如果检测到某位为1,则获知该中断请求存在,并获得了中断号。
单片机-05-中断系统
中断系统
一、中断系统
1. 中断的概念 举例:某同学正在教室写作业,忽然被人叫出去, 回来后,继续写作业。这就是生活中中断的例子。
与上对比,单片机中也有同样的问题。CPU正
在执行原程序,突然,被意外事情打断,转去执行
新程序。CPU执行新程序结束后,又回到原程序中
继续执行。这样的过程就叫
Here: SJMP Here
ORG 0200H PINT0:CPL P1.0
RETI
;返回主程序
例5-4、出租车计程:设车轮每转产生一个负脉冲,从外部中断INT0 (P3.2)引脚输入,行驶里程为轮胎周长×运转圈数,设轮胎周长2m,试通 过编程实时计算出租车行驶里程(m),数据存入32H, 31H, 30H中。
ORG 0000H LJMP START ORG 0200H ADDC A, POP PSW 30H POP ACC RETI 32H
ORG 0003H
LJMP INT0 ORG 0100H
INT0: PUSH ACC
PUSH PSW MOV A,
MOV 32H, A
START: MOV SP, #60H
ORG 0000H LJMP MAIN ORG 000BH LJMP INSE1 ORG 1000H MAIN: MOV SP,#60H MOV TL0,#0CH MOV TH0,#0F0H MOV TMOD,#00H SETB TR0 SETB ET0
INSE1: MOV TL0,#0CH MOV TH0,#0F0H
该位是“1”时,为高级优先级
该位是“ 0”时,为低级优先级
同一级中的5个中断源的优先顺序是: /INT0中断 T0溢出中断 /INT1中断 T1溢出中断 出厂前已由厂家固化顺序 ——事先约定 高
《单片机原理与技术》课件第7章-中断
1.定时器/计数器控制寄存器TCON
位7
位6
位5
位4
位3
位2
位1
位0
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
IT0:外部中断INT0触发方式选择 位。可由用户用软件选择。 • IT0=1:设定外部中断引脚信号为下降 沿触发方式。 •
IT1:外部中断INT1触发方式选择 位,其功能类似于IT0。 • IE0:外部中断INT0触发有效标志 位。 • IE1:外部中断INT1触发有效标志 位,其功能类似于IE0。 •
•
定时器0与定时器1标志为TF0与TF1, 在定时器溢出周期的S5P2设置。然后其值 在下一周期由电路查询。然而,定时器2标 志TF2是在S2P2设置且在定时器溢出的同 一周期内被查询。 Nhomakorabea•
若请求有效且响应的条件正确,至请 求的服务例程的硬件子例程调用将是下一 条要执行的指令。CALL自己需要两个周期。 因此,在外部中断请求的激活与服务例程 的第一条指令的执行开始之间,至少需要3 个完整的机器周期。图7-9所示为中断响应 时序。
图7-4 中断响应、服务及返回流程图
7.3 80C51中的中断结构
7.3.1 中断启用
图7-5 MCS-51中断源
图7-6 80C51中的IE(中断启用)寄存器
7.3.2
中断优先权
图7-7 80C51中的IP(中断优先级)寄存器
7.3.3
•
中断如何处理
在操作中,所有中断标志在每个机器 周期的S5P2期间被采样。在下一个机器周 期期间查询采样。若找到一启用的中断的 标志已设置,中断系统生成一LCALL至在 程序存储器中的适当单元,至中断服务例 程的LCALL的生成,由以下3个条件中的任 一个阻断:
单片机中断系统.完美版PPT
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寄存器的其他位与中断无关,将在后续相关章节 介绍。
单片机原理及应用第4章 AT89S51的中断系统
1、TCON:定时器/计数器的控制寄存器
T1
T0
INT1 INT 0
T1的溢出中 断请求标志 位TF1, T1溢出时置 位,向CPU 申请中断
外部中断请 求标志位 若INT0引 脚上有中断 来,置IE1, 否则清0
外部中断 触发方式
当89S51复位 后,TCON=0
中断源
外部中断0 T0溢出中断 外部中断1 T1溢出中断 串行口中断
中断级别 最高
最低
例 设置IP寄存器的初始值,使2个外中断请求为 高优先级,其它中断请求为低优先级。
(1)用位操作指令 SETB PX0 SETB PX1 CLR PS CLR PT0 CLR PT1
(2)用字节操作指令 MOV IP,#05H
第 4章 AT89S51的中断系统
4.1 中断的概念 中断:用于实时测控
-对应-软件查询方式
4.2 AT89S51中断系统的结构
5个中断源,两级优先级。
中断系统结构示意图如下图所示。
中断标志 寄存器
中断允许 寄存器
中断优先级 寄存器
从图可见:AT89S51有
5个中断源: INT 0 , T0, INT1, T1, (TX,RX)
主程序 初始化 部分
(1)设置IE。 (2)设置IP。 (3)若是外部中断源,设置IT0,TT1触发
方式。
(4)编写中断服务程序。
例 假设允许外部中断0中断,并设定它为高级中断,其它 中断源为低级中断,采用跳沿触发方式。编写初始化程 序段:
解:
SETB EA SETB EX0 SETB PX0 SETB IT0
“1”高优先级 “0”低优先级
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中断响应
中断响应是指CPU对中断源中断请求的响应。CPU并非任 何时刻都能响应中断请求,而是在满足所有中断响应条件、 且不存在任何一种中断阻断情况时才会响应。 CPU响应中断的条件有:①有中断源发出中断请求;② 中断总允许位EA 置 1;③申请中断的中断源允许位置1。 CPU响应中断的阻断情况有:①CPU正在响应同级或更高 优先级的中断;②当前指令未执行完;③正在执行中断返 回或访问寄存器IE和IP。
中断处理过程 中断响应时间
中断响应时间是指从中断请求标志位置位到CPU开始执 行中断服务程序的第一条语句所需要的时间。 1)中断请求不被阻断的情况 外部中断响应时间至少需要3个机器周期,这是最短的 中断响应时间。一般来说,若系统中只有一个中断源,则 中断响应时间为3 8个机器周期。 2)中断请求被阻断的情况 如果系统不满足所有中断响应条件、或者存在任何一种 中断阻断情况,那么中断请求将被阻断,中断响应时间将 会延长。
中断的设定
1、开启中断开关(设定IE寄存器) 例:EA=1; EX0=1; 2、中断优先级的设定(设定IP寄存器) 例:PT1=1; 3、中断信号的设定(设定TCON寄存器) 例:IT0=1;
练习: 1、利用外部中断INT1来控制P1.1的LED灯,当有外部中 断时LED的状态取反。 2、控制P1.1的LED灯每隔0.5s状态取反一次,要求用定 时器T0的工作方式1进行计时。分别以查询方式和中断方 式进行控制。 3、要求主程序正常执行时,4个LED灯间隔0.8s闪烁, 若按下按键K1,4个LED灯将正向流水循环3次(间隔 0.4s)。用T1的工作方式1编写延时程序,按键动作采用 外部中断INT0(p3.2)实现。
#include <reg51.h> void delay0_5s() //延时0.5s { unsigned char i; for(i=0;i<0x0a;i++) { TH0=0x3c; TL0=0xb0; TR0=1; while(!TF0); TF0=0; } } void delay_t(unsigned char t) { unsigned char i; for(i=0;i<t;i++) delay0_5s(); }
什么是中断
中断是指通过硬件来改变CPU的运行方向。计算机在
执行程序的过程中,外部设备向CPU发出中断请求信号, 要求CPU暂时中断当前程序的执行而转去执行相应的处理 程序,待处理程序执行完毕后,再继续执行原来被中断 的程序。这种程序在执行过程中由于外界的原因而被中 间打断的情况称为“中断”。
MCS-51单片机的中断系统结构
第 4章
定时与中断系统
本章内容
定时/计数器 C语言的函数
中ቤተ መጻሕፍቲ ባይዱ系统
任务9 可控霓虹灯控制
任务要求: 正常情况下8个霓虹灯(LED灯)依次顺序点亮,循 环显示,时间间隔为1s。按键(按P3.2口)按下后8个霓 虹灯同时亮灭一次,时间间隔为0.5s。用T0、工作方式1 编制延时程序,按键动作采用外部中断INT0实现。
IE(A8H)
D7 EA
D6 ×
D5 ×
D4 ES
D3 ET1
D2 EX1
D1 ET0
D0 EX0
中断的开放和禁止
IE(A8H) D7 EA D6 × D5 × D4 ES D3 ET1 D2 EX1 D1 ET0 D0 EX0
中断允许位 总中断允许控 制位 串行口中断允 许位 T1中断允许位 INT1中断允许 位 T0中断允许位 INT0中断允许 位
EX1 = 1,允许外部中断1中断;EX1 = 0, 禁止外部中断1中断。 ET0 = 1,允许T0中断;ET0 = 0,禁止T0 中断。 EX0 = 1,允许外部中断0中断;EX0 = 0, 禁止外部中断0中断。
中断优先级
1、自然优先级
MCS-51系列单片机有两个中断优先级:高优先级和低优 先级。 每个中断源都可以通过设置中断优先级寄存器IP确定为 高优先级中断或低优先级中断,实现二级嵌套。同一优先 级别的中断源可能不止一个,因此,也需要进行优先权排 队。同一优先级别的中断源采用自然优先级。 中断优先级寄存器IP,用于锁存各中断源优先级控制位。 IP中的每一位均可由软件来置1或清0,1表示高优先级,0 表示低优先级。
void int_0() interrupt 0 { P1=0x00; delay0_5s(); P1=0xff; delay0_5s(); } void main() { unsigned char i,w; EA=1; EX0=1; IT0=1; TMOD=0x01; while(1) { w=0x01; for(i=0;i<8;i++) { P1=~w; w<<=1; delay_t(2); } } }
中断优先级
中断优先级控制位 位名称 说明
PS
串行口中断优先控制 位 定时器T1中断优先控 制位 外部中断1中断优先控 制位
IP.4
PS = 1,设定串行口为高优先级中断;PS = 0,设 定串行口为低优先级中断。 PT1 = 1,设定定时器T1为高优先级中断;PT1 = 0, 设定定时器T1为低优先级中断。 PX1 = 1,设定外部中断1为高优先级中断;PX1 = 0, 设定外部中断1为低优先级中断。
中断特点
同步工作:
中断是CPU和接口之间的信息传递方式之一,它使CPU 与外设同步工作,较好地解决了CPU与慢速外设之间的配 合问题。例如:打印输出。
异常处理:
针对难以预料的异常情况,如掉电、存储出错、运算 溢出等,可以通过中断系统由故障源向CPU发出中断请求, 再由CPU转到相应的故障处理程序进行处理。
位名称
说明 EA = 1,开放所有中断,各中断源的允许 和禁止可通过相应的中断允许位单独加 以控制;EA = 0,禁止所有中断。 ES = 1,允许串行口中断;ES = 0禁止串 行口中断。
EA
IE.7
ES ET1 EX1 ET0 EX0
IE.4 IE.3 IE.2 IE.1 IE.0
ET1 = 1,允许T1中断;ET1 = 0,禁止T1 中断。
2、SCON的中断标志
RI(SCON.0),串行口接收中断标志位。当允许串
行口接收数据时,每接收完一个串行帧,由硬件置位 RI。注意,RI必须由软件清除。 TI(SCON.1),串行口发送中断标志位。当CPU将 一个发送数据写入串行口发送缓冲器时,就启动了发 送过程。每发送完一个串行帧,由硬件置位TI。CPU 响应中断时,不能自动清除TI,TI必须由软件清除。
IE0= 1,外部中断0向CPU申请中断。
中断触发方式控制位 TCON.0
串行发送中断标志 SCON.1
当IT0= 0,外部中断0控制为电平触发方式;当IT0 = 1,外 部中断0控制为边沿(下降沿)触发方式。
CPU将数据写入发送缓冲器SBUF时,启动发送,每发送完 一个串行帧,硬件都使TI置位;但CPU响应中断时并不自 动清除TI,必须由软件清除。
RI
串行接收中断标志
SCON.0
当串行口允许接收时,每接收完一个串行帧,硬件都使RI 置位;同样,CPU在响应中断时不会自动清除RI,必须由 软件清除。
中断的开放和禁止
MCS-51系列单片机的5个中断源都是可屏蔽中断,中断系统内部设 有一个专用寄存器IE,用于控制CPU对各中断源的开放或屏蔽。IE寄 存器格式如下:
INT0
2
INT1
外部中断1请求
3 4
TF0 TF1
T0溢出中断请求 T1溢出中断请求
5
RI或TI
串行口中断请求
当接收或发送完一个串行帧时,内部串行口中断请求 标志位RI(SCON.0)或TI(SCON.1)置位(由硬件 自动执行),请求中断。
二、中断请求标志
1、TCON的中断标志
IT0(TCON.0),外部中断0触发方式控制位。 当IT0=0时,为电平触发方式。 当IT0=1时,为边沿触发方式(下降沿有效)。 IE0(TCON.1),外部中断0中断请求标志位。 IT1(TCON.2),外部中断1触发方式控制位。 IE1(TCON.3),外部中断1中断请求标志位。 TF0(TCON.5),定时/计数器T0溢出中断请求标志位。 TF1(TCON.7),定时/计数器T1溢出中断请求标志位。 当中断源向CPU申请中断时,相应中断标志位由硬件自动置1。 CPU在响应中断后即由硬件将各标志位自动复位。(串行中断除外)
1、4个与中断有关的寄存器:中断标志TCON、SCON、IE、IP 2、5个中断源:INT0、INT1、T0、T1、RI/TI 3、中断标志位 4、中断允许控制位 5、中断源的中断优先级
MCS-51系列单片机中断源
序号
1
中断源
外部中断0请求
说 明
由P3.2引脚输入,通过IT0位(TCON.0)来决定是低 电平有效还是下降沿有效。一旦输入信号有效,即向 CPU申请中断,并建立IE0(TCON.1)中断标志。任 务9中采用下降沿有效,由按键产生下降沿。 由P3.3引脚输入,通过IT1位(TCON.2)来决定是低 电平有效还是下降沿有效。一旦输入信号有效,即向 CPU申请中断,并建立IE1(TCON.3)中断标志。 当T0产生溢出时,T0溢出中断标志位TF0(TCON.5) 置位(由硬件自动执行),请求中断处理。 当T1产生溢出时,T1溢出中断标志位TF1(TCON.7) 置位(由硬件自动执行),请求中断处理。
PT1
IP.3
PX1
IP.2
PT0
T0中断优先控制位
IP.1
PT0 = 1,设定定时器T0为高优先级中断;PT0 = 0, 设定定时器T0为低优先级中断。
PX0 = 1,设定外部中断0为高优先级中断;PX0 = 0, 设定外部中断0为低优先级中断。