第5章中断修改
单片机原理及应用教程(C语言版)-第5章 MCS-51单片机的中断系统
5.2.5 中断允许控制
例5-1 假设允许INT0、INT1、T0、T1中断,试 设置IE的值。 (2)汇编语言程序 按字节操作: MOV IE,#8FH 按位操作: SETB EX0 ;允许外部中断0中断 SETB ET0 ;允许定时器/计数器0中断 SETB EX1 ;允许外部中断1中断 SETB ET1 ;开定时器/计数器1中断 SETB EA ;开总中断控制位
IP (B8H)
D7 —
D6 D5 D4 D3 D2 D1 D0 — PT2 PS PT1 PX1 PT0 PX0
PT2:定时器/计数器T2的中断优先级控制位 PT2设置1则T2为高优先级,PT2设置0则T2为 低优先级。 后面各位均是如此,设置1为高优先级,设置0 为低优先级,不再一一赘述。 PS:串行口的中断优先级控制位。 PT1:定时器/计数器1的中断优先级控制位。 PX1:外部中断1的中断优先级控制位。 PT0:定时器/计数器0的中断优先级控制位。 PX0:外部中断0的中断优先级控制位。
5.2.4 中断请求标志
4.定时器/计数器T2中断请求标志
T2CON D7 D6 D5 (C8H) TF2 EXF2 D4 D3 D2 D1 D0
EXF2:定时器/计数器2的外部触发中断请求标志 位。T2以自动重装或外部捕获方式定时、计数,当 T2EX(P1.1)引脚出现负跳变时,TF2由硬件置1, 向CPU请求中断,CPU响应中断后,EXF2不会被硬 件清0,需要在程序中以软件方式清0。
5.2.3 外中断触发方式
TCON格式如下:
D7 D6 D5 D4 D3 D2 D1 D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
IT0=1,外中断0为下降沿触发 CPU在每一个机器周期的S5P2期间对P3.2引 脚采样,若上一个机器周期检测为高电平,紧挨着 的下一个机器周期为低电平,则使IE0置1。 IT1:外中断1触发方式控制位。功能同IT0
第05章 MCS-51单片机的中断与定时(1-4)
2
1
TH0
;P1.0输出“0” ;P1.0输出“1”
5.2 MCS-51单片机的中断系统
五、外中断应用举例
1. 中断初始化程序
设置外中断源的触发方式 设置中断允许寄存器IE 设置中断优先级寄存器IP
2. 中断服务程序
保护现场 中断处理 恢复现场
23/65
5.2 MCS-51单片机的中断系统
【例5-3】 设外部中断0为下降沿触发方 式,高优先级,试编写中断初始化程序
5.2 MCS-51单片机的中断系统
【例5-4】 将单脉冲接到外中断0(INT0)引脚,利 用P1.0作为输出,经反相器接发光二极管。编写程 序,每按动一次按钮,产生一个外中断信号,使发 光二极管的状态发生变化,由亮变暗,或反之
P1.0 单脉冲 发生器 INT0
1
+5V
8031
26/65
5.2 MCS-51单片机的中断系统
串口:0023H
20/65
5.2 MCS-51单片机的中断系统
四、中断请求的撤除
1.定时/计数器中断请求标志TF0/TF1会自动撤除 2.串行口中断请求标志TI/RI要用指令撤除
CLR TI ;清TI标志位 CLR RI ;清RI标志位
3.负脉冲触发的外中断请求标志IE0/IE1会自动撤除 4.低电平触发的外中断请求信号需要外加电路撤除
下次课前请预习5.3节
30/65
5.3 51单片机的定时器/计数器
MCS-51单片机内部有两个16位定时/计数器 T0和T1,简称定时器0和定时器1
在特殊功能寄存器TMOD和TCON的控制下, 它们既可以设定成定时器使用,也可以设定 成计数器使用
定时/计数器有4种工作方式,具有中断功能, 可以完成定时、计数、脉冲输出等任务
第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 微机得输入/输出方式
第五章 MCS-51的中断系统
第5章MCS-51单片机的中断系统【例5-1】设允许外部中断0和串行口中断,禁止其它中断源的中断申请。
试根据假设条件设置IE的相应值。
解:⑴用位操作指令来编写如下程序段:SETB EX0 ;允许外部中断0中断SETB ES ;允许串行口中断CLR EX1 ;禁止外部中断1中断CLR ET0 ;禁止定时器/计数器T0中断CLR ET1 ;禁止定时器/计数器T1中断SETB EA ;CPU开中断⑵用字节操作指令来编写:MOV IE, #91H【例5-2】设置中断优先级控制寄存器IP的初始值,使得8031的2个外中断请求为高优先级,其它中断请求为低优先级。
解:⑴用位操作指令SETB PX0;2个外中断为高优先级SETB PX1CLR PS ;串行口、2个定时器为低优先级中断CLR PT0CLR PT1⑵用字节操作指令MOV IP,#05H【例5-3】假设允许外部中断0中断,并设定它为高级中断,其它中断源为低级中断,采用跳沿触发方式。
在主程序中可编写如下程序段:SETB E A ;EA位置“1”,CPU开中断SETB E X0 ;EX0位置“1”,允许外部中断0产生中断SETB P X0 ;PX0位置“1”,外部中断0为高级中断SETB I T0 ;IT0位置“1”,外部中断0为跳沿触发方式【例5-4】根据图5-9的中断服务程序流程,编写出中断服务程序。
假设现场保护只需要将PSW寄存器和累加器A的内容压人堆栈中保护起来。
解一个典型的中断服务程序如下:INT: CLR E A ;CPU关中断PUSH PSW ;现场保护PUSH ASETB E A ;CPU开中断中断处理程序段CLR E A ;CPU关中断POP A ;现场恢复POP PSWSETB E A ; CPU开中断RETI ;中断返回,恢复断点上述程序有几点需要说明的是:⑴本例的现场保护假设仅仅涉及到PSW和A的内容,如果还有其它的需要保护的内容,只需要在相应的位置再加几条PUSH和POP指令即可。
第5章 中断系统
例7 如图,试编写程序实现以下功能:系统初始上电时,四 个发光二极管都熄灭,每当按下图中开关时,四个发光二极 管就能反映出与其对应的四个开关状态,开关闭合则对应二 极管亮,开关断开则对应二极管熄灭。
ORG 0000H AJMP MAIN ORG 0003H LJMP INT ORG 0030H MAIN:CLR IT0 SETB EX0 SETB EA SJMP $ ORG 0200H INT:MOV A,#0FFH MOV P1,A MOV A,P1 SWAP A MOV P1,A RETI
第 5章
MCS-51系列单片机 的中断系统
本章介绍的主要内容
★ 中断的基本概念 ★ 中断的系统结构 ★ 中断的响应 ★ 中断的应用编程
5.1 什么是中断
一、中断
中断是指CPU在执行程序的过程中,当某种 特殊状态出现时,CPU暂停现在正在执行的程序, 转向去对引起特殊状态的事件进行处理,处理完毕 后再返回继续执行原来程序的过程。 简单地说,中断就是在运行一段程序的过程中 由于某种原因临时插入了另一段程序的运行。
1. 开中断总控开关EA,置位中断源的中断允许位。 2. 对外部中断INT0、INT1,应选择中断触发方式。 3. 多个中断源中断,应设定中断优先级,预置IP。
例5 若系统需要响应定时/计数器0中断和由下降沿信号引起 的外部中断0中断,且若这两个中断源同时提出中断请求则先 响应内部中断,试编写程序,对相关寄存器进行初始化。
EA 中断 总控 允/ 禁
-
ET2
ES
ET1
EX1
ET0
EX0
不 用
T2 串行口 T1 INT1 T0 INT0 允/ 禁 允/ 禁 允/ 禁 允/ 禁 允/ 禁 允/ 禁
第5章中断技术ppt课件
具有锁存功能,其内容可用OCW3命令读出。
(2)中断屏蔽寄存器(IMR)
是对中断请求IR起屏蔽作用,即对中断请 求IR是禁止还是允许,寄存器8位对应8级中断 屏蔽。哪一级中断被屏蔽,哪位就写“1”, 即禁止IR提出中断请求。
其内容可用OCW1命令写入,该寄存器 命令不可读。
0 开中断 Di=
1 关中断
(3)正在服务寄存器ISR 在中断响应之后,第一个获准中断请求的中
断级在相应的ISR中置位。 如IR3获准,ISR中的IS3置位,表明IR3正处
于服务。
其内容可用OCW3命令读出。
(4)优先权分析器(PR)
这是中断请求的判优电路,当在IR输入端有 中断产生时,送到PR,PR检查进来的中断请求的 优先级并和“正在服务中的中断”进行比较,确 定是否让这个中断请求送给处理器。
INTA
INT
D0~D7
数据总线 缓冲器
控制逻辑
RD WR A0 CS CAS0 CAS1 CAS2
SP/EN
Hale Waihona Puke 读/写 控制逻辑级联 缓冲 /比较器
IR0
正在服务 优先级 中断请求
IR1
寄存器
分析器
寄存器
IR2 IR3
ISR
PR
IRR
IR4 IIIRRR567
中断屏蔽寄存器 IMR
内部逻辑框图
1、外部特性 引脚有3组信号线,与其他外围芯片(2组)不同。
④ 没有获得允许中断请求称为中断被屏蔽。 ⑤ 不允许中断请求的情况:
第5章 中断管理
OSIntExit (void)
void OSIntExit (void) {#if OS_CRITICAL_METHOD==3 OS_CPU_SR cpu_sr; #endif OS_ENTER_CRITICAL(); if ((--OSIntNesting | OSLockNesting) == 0) {
OSCtxSwCtr++;
OSIntCtxSw(); } } OS_EXIT_CRITICAL();}
μC/OS-II中断时序图
μC/OS-II的中断服务子程序ISR
μC/OS-II中断特点
• 内核抢占式中断 • 允许嵌套
第5章 中断管理
中断的基本概念
中断处理过程 中断评价指标 μC/OS-II的中断和中断服务程序 关于任务切换
中断接管程序
• 硬件中断发生后,中断接管程序获得控制权,先由中断 接管程序进行处理,然后才将控制权交给相应的用户中 断服务程序。 • 用户中断服务程序执行完成后,又回到中断接管程序。
物理中断向量表 中断向量号0 中断向量号1 中断向量号2 中断向量号3 …… 中断向量号n 虚拟中断向量表 中断向量号0 中断向量号1 用户中断服务程序 用户中断服务程序0 用户中断服务程序1 用户中断服务程序2 用户中断服务程序3
第5章 中断管理
中断的基本概念
中断处理过程 中断评价指标 μC/OS-II的中断和中断服务程序
1. 中断概念
所谓中断是指某个事件 发生
正在执行 的程序 中断进入 中断处 理程序 中断 返回 中断信号 继续执行
时,系统中止现行程序的运 行、引出处理事件程序对该 事件进行处理,处理完毕后 返回断 点,继续执行。
第5章AT89S51单片机的中断系统PPT课件
时, 由硬件清“0”IE0 (边沿触发方式)。
IT0:外部中断0触发方式控制位,其意义和功能与IT1类似。
7
2.串行口中断 SCON为串行口控制寄存器,字节地址为98H。SCON的低二位 锁存串行口的接收中断和发送中断标志,其格式如下:
1 0
1
0
0
图5-2 AT89S51中断系统示意图
高 级 中 断
低 级 中 断
5
1.定时器/计数器中断锁存寄存器TCON TCON为定时器/计数器T0、T1的控制寄存器,同时也锁存T0、T1的 溢出中断源和外部请求中断源等,与中断源有关的位如下:
TCON D 7 位 地 址T F 1
8FH
D 6
D 5 T F 0 8DH
1 0
1 TI
中断标志位 TCON
外部 中断0 ( IE0)
定时 器0
( TF0)
外部 中断1 ( IE1)
定时 器1
( TF1)
TX
串 TI
行
+
RX
口 RI
SCON
中断允许寄存器 IE
中断优先寄存器 IP
PX0 EX0
PT0 ET0
PX1 EX1
PT1 ET1
PS
ES
EA
源允许 总允许
1
0
1
0
1
1 0
9
3.中断允许控制 AT89S51中断允许和禁止由寄存器控制。中断允许寄存器(
IE)的字节地址为A8H,其格式如下:
位地址 AFH AEH 符 号 EA --
ADH ACH ABH AAH A9H A8H ET2 ES ET1 EX1 ET0 EX0
单片机原理及其接口技术--第5章 MCS-51单片机中断系统
下来,这称为保护现场,由用户自己编程完成。
保护断点和现场后即可执行中断服务程序,执行完毕, CPU由中断服务程序返回主程序。 主目录 上一页 下一页 结 束
15
……
响应
单片机原理及其接口技术
主程序A
断点
返回
中断返回过程如下:
RETI 中断服务程序B
首先恢复原保留寄存器的内容和标志位的状态,这称为恢 复现场,由用户编程完成。 然后,再加返回指令RETI,RETI指令的功能是恢复PC值, 使CPU返回断点,这称为恢复断点。 恢复现场和断点后,CPU将继续执行原主程序,中断响应 过程到此为止。 主目录 上一页 下一页 结 束
主目录 上一页 下一页 结 束
单片机原理及其接口技术
5.2.2 中断标志与中断控制
1.中断标志
(1) 定时器控制寄存器TCON
SFR之一,锁存中断请求标志,字 节地址88H,可位寻址。
其结构、位名称、位地址及其功能 如表5.1所示。
主目录 上一页 下一页 结 束
单片机原理及其接口技术 表5.1 TCON的结构、位名称、位地址和功能
单片机原理及其接口技术
第5章 MCS-51单片机中断系统
教学目标 5.1 中断概述 5.2 MCS-51中断系统 5.3 中断系统的应用 本章小结 思考题与习题主目录上一页来自下一页结束
单片机原理及其接口技术
教学目标
通过本章教学,要求达到以下目标: 1.熟记MCS-51 5个中断源及其中断入口地址。 2.熟悉TCON、SCON、IE、IP的结构、控制 作用和设置方法。 3.理解MCS-51中断响应过程。 4.了解中断响应等待时间。 5.理解中断请求撤除情况和应对措施。 6.熟悉中断优先控制的方法。 7.掌握中断应用程序的编制方法。
第五章 中断系统
四、中断系统的功能 一般来说,一个中断系统具有以下功能: (一)实现中断及返回 当某中断源发出中断请求后,CPU应决定是否响应这个中断请求,如当前正 在执行更重要的工作可暂时不响应中断,若响应这个中断请求,CPU在当前指令 执行完后,就要保护断点地址和现场(即下条指令地址和相关寄存器内容),以便 执行完中断服务程序后能正确返回原处执行,然后转到需要处理的中断服务程序 的人口地址,去执行中断服务程序,当中断服务程序执行完毕再恢复现场和断点 ,去继续执行主程序。 (二)实现优先级排队 当计算机带有多个中断源时,可能会出现两个或两个以上中断源同时向CPU提 出中断请求的情况。这时CPU应能够根据事先确定的中断源的优先级别来先响应 高优先级的中断 并为它服务,然后再响应较低优先级的中断请求。 (三)实现中断嵌套 当CPU正在响应某一中断源的中断请求时,又有新的中断源发出请求,如果 新的请求的优先级别高于正在执行的中断源的优先级,则CPU暂停现行的服务程 序,转去执行更高级别的中断源的服务程序,执行完毕后再回到被中断的较低中 断源的服务程序继续执行,即实现了中断嵌套。若新的中断源的优先级别低于或 是等于正执行的中断源,则CPU不响应这个请求,直到正在处理的中断服务程序 执行完毕后,才去处理新的中断请求。
三、中断的分类 按中断产生的位置,中断可分为: (1)外部中断,或称外部硬件实时中断,它是由外部送到CPU的某一特定引脚 上产生的。 (2)内部中断,或称软件指令中断,是为了处理程序运行过程中发生的一些意 外情况或调试程序方便而提供的中断。 按接受中断的方式,中断可分为: (1)可屏蔽中断,可以通过指令使CPU根据具体情况决定是否接受中断请求。 (2)非屏蔽中断,只要中断源提出请求,CPU就必须响应,主要用于一些紧急 情况的处理,如掉电等。 以上从不同的角度对中断进行了分类,对于某一种类型的计算机可能只具备 其中的某几种方式,例如MCS—51就不具备非屏蔽中断方式。
第5章 电压暂降与短时间中断
第五节 电压暂降的幅值、临界距离与凹陷域
一、辐射状配电系统的电压暂降幅值与临界距离
设Us=1p.u.,故障点引起的PCC 点即负荷端的电压暂降幅值为: ZF U = sag Z F + Z S
电压暂降的电压分配器模型
令ZF = zl ( l 为故障点与PCC间的距离; z 为单位长度线路阻抗) zl U sag = zl + Z s
中断持续时间的概率分布函数曲线 (未超出指定持续时间的中断百分数)
中断频次与持续时间的函数关系
1~30s是短时间电压中断的典型持续时 间,小于6c的事件极少发生。
三、电压中断次数的随机预估
在随机预估某一馈线用户所承受的短时间 电压中断之前,必须了解重合闸装置和熔断器 的安装位置、重合闸装置多次重合的第一次成 功率和第二次成功率,此外还需了解主馈线和 分支线路长度以及线路的故障率。
第四节 电压暂降对敏感用电设备的影响
随着经济的发展,复杂电子设备在各用电部门 中得到广泛应用,其中有很多对短时间的电压变化 较为敏感,短时电压暂降可引起计算机系统紊乱 (幅值下降大于10%,持续时间大于0·1s)、调速 设备跳闸(幅值下降大于15%,持续时间0·5周波) 以及机电设备误操作等。
一、CBEMA曲线与ITIC曲线
Z F 故障点与PCC之间的线路阻抗 Z PCC与电源之间的系统阻抗 s
临界距离:当PCC电压降低到等于临界电压U时,故障点与 PCC之间的距离即为临界距离 假设线路阻抗与系统阻抗的X/R值相等,则可得临界距离 计算公式为:
lcrit
Zs U = × z 1−U
在临界距离 lcrit 内发生的故障将使PCC的敏感性负荷非正 常工作。
2
2
其中 Z s= R s + jX s , z = r + jx , α 为系统阻抗与线路阻抗在复平面上 的夹角,即阻抗角为: -1 X s -1 x a = tg ( ) - tg ( ) Rs r 为简化计算,在阻抗角较大时,临界距离计算机公式为:
第五章GPIO和中断
例如:实现下列LED的闪烁程序
#include "stm32f10x.h“
#define LED_ALL GPIO_Pin_0| GPIO_Pin_1| GPIO_Pin_2| GPIO_Pin_3| GPIO_Pin_4
int main(void) { unsigned char j=0; chLsd=0xFE; //打开相应外设的时钟:GPIOA RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);
GPIOx_BSRR和GPIOx_BRR寄存器允许 对任何GPIO寄存器的读/更改的独立访问
端口位配置表
I/O端口位的基本结构
输入浮空/上拉/下拉配置
输出配置
复用功能配置
复用功能
对于复用的输入功能,端口必须配置成输入模 式(浮空、上拉或下拉)且输入引脚必须由外部 驱动
对于复用输出功能,端口必须配置成复用功能 输出模式(推挽或开漏)。
函数GPIO_ReadOutputData
读出C口的数据
ReadValue = GPIO_ReadOutputData(GPIOC);
函数GPIO_PinLockConfig
锁定A口的0和1管脚
GPIO_PinLockConfig(GPIOA, GPIO_Pin_0 | GPIO_Pin_1);
GPIO编程实现步骤
1启动外设模块 2设定管脚控制模式 3对GPIO寄存器进行操作
例如:实现下列LED的闪烁程序
#include "stm32f10x.h" int main(void) {
//打开相应外设的时钟:GPIOB RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE); //初始化GPIOB,用于驱动LED GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//最高输出速度为50MHz GPIO_Init(GPIOB, &GPIO_InitStructure); while (1) {
第5章MCS-51的中断系统
例:写出INT1为低电平触发的中断系统初始化程序
SETB EA; SETB EX1 SETB PX1 CLR IT1
二、 中断服务程序
1、编写中断程序应注意以下几点: ① 为了要跳到用户设计的中断服务程序,在相应入口 地址安排一条跳转指令; ② 在中断服务程序的末尾,安排一条返回指令RETI; ③ 由于在响应中断时,CPU只自动保护断点,所以 CPU的其他现场的保护和恢复也必须由用户在中断服 务程序中安排。
1、T0/T1中断撤除:自动清除TF0 TF1
2、TX/RX中断撤除:不能自动撤除,必须软件清“0” CLR RI CLR TI ANL SCON ,#0FCH
3、外部中断请求的撤除
对于负边沿触发的外部中断,CPU在响应中断后是 用硬件自动清除中断请求标志IE0或IE1。
电平触发时,虽然自动清除中断请求标志IE0或IE1。但 不及时撤除低电平的话会重复响应中断,必须采取措施。
中断允许寄存器IE的单元地址是A8H,各控制位也可 位寻址,故既可以用字节传送指令也可以用位操作指 令来对各个中断请求加以控制。 例:开放T/C1的溢出中断
MOV IE,#88H;
SETB EA SETB ET1
二、 对中断优先级的控制
MCS-51具有两个中断优先级,可由软件设置每个中断 源为高优先级中断或低优先级中断,可实现二级中断 嵌套。
可在中断服务程序开 头安排如下程序: INSVR:ANL P1 ,#0FEHORL Fra bibliotek1,#01H …
RETI END
§4 中断系统的初始化及应用
一、中断系统的初始化 中断初始化是指用户对TCON、SCON、IE等特殊功能 寄存器中的各控制位进行赋值。
中断系统的初始化步骤: 1、 CPU开中断或关中断 2、 某中断源中断请求的允许或禁止(屏蔽) 3、 设定所用中断的中断优先级 4、若为外部中断,则应规定低电平还是负边沿的中断 触发方式
第5章 89C51的中断系统---部分习题解答
答:在CPU未执行同级或更高优先级中断服务程序的条 件下,中断响应等待时间最少需要3个机周,最长需要8个 机周。
19.简述89C51外中断的触发方式,电平触发方式时,如何防 止CPU重复响应外中断? 答:80C51外中INT0/INTl有两种触发方式:电平触发和边 沿触发方式。采用电平触发方式时,CPU响应中断后,虽用硬件 自动清除了相应中断请求标志IE0/IEl,但相应引脚(P3.2/P3.3) 的低电平信号若继续保持下去(一般可能保持时间较长),中断 请求标志IE0/IEl就无法清零,就会发生重复响应中断情况, 引起出错。需要采取软硬件结合的方法撤消引起重复中断相应 引脚的低电平信号。 硬件电路如教材书图5-4所示。当外部设备有中断请求时, 中断请求信号经反相,加到锁存器CP端,作为CP脉冲。由于 D端接地为0,Q端输出低点平,触发INT0产生中断。当CPU 响应中断后,应在该中断服务程序中按排两条指令: CLR P1.0; SETB P1.0; 使P1.0输出一个负脉冲信号,加到锁存器Sp端(强迫置“1” 端),Q端输出高点平,从而撤消引起重复中断的INT0低电平 信号。因此一般来说,对外中断INT0、INT1,应尽量采用边 沿触发方式,以简化硬件电路和软件程序。
14.89C51中断处理过程包括哪四个步骤?简述中断处理过程。 答:中断处理过程大致可分为四步:中断请求、中断响应、中 断服务和中断返回。 ①中断请求:由中断源向CPU发出中断请求信号。 ②中断响应:在满足中断响应条件下,响应中断,保存断点地 址,将相应中断的入口地址送入PC。 ③中断服务:执行中断服务程序,完成中断源要求的相应操作。 ④中断返回:恢复断点地址,开放同级中断。 15.89C51响应中断有什么条件? 答:中断响应条件: ①该中断已经“开中”; ②CPU此时没有响应同级或更高优先级的中断; ③当前正处于所执行指令的最后一个机器周期; ④正在执行的指令不是RETI或者是访向IE、IP的指令;否则必 须再另外执行一条指令后才能响应。
单片机讲义(第五章MCS-51的中断系统)
5.6.2 跳沿触发方式(下降沿触发方式)
如果相继连续两次采样,一个机器周期采样到外部中断输入为高, 下一个机器周期采样为低,则置1中断申请触发器,直到CPU响应此 中断时,该标志才清0。这样不会丢失中断,输入的负脉冲宽度至少保
持12个时钟周期(若晶振频率为6 MHZ,则为2μs),才能被CPU采样到。
(2)用字节操作指令
MOV IP,#05H ;000 00101 或者用: MOV 0B8H,#05H ;B8H为IP寄存器的字节地址
5.5 外部中断的响应时间
从外部中断请求有效(外部中断请求标志置1)到转 向中断入口地址所需要的响应时间。 外部中断的最短响应时间为3个机器周期。其中中断
请求标志位查询占1个机器周期,而这个机器周期恰好是处于指令 的最后一个机器周期,在这个机器周期结束后,中断即被响应, CPU接着执行1条硬件子程序调用指令 LCALL以转到相应的中断服 务程序入口,则需要2个机器周期。
外部中断响应的最长时间为8个机器周期。执行RETI或
是访问IE或IP的指令,最长需要2个机器周期。而接着再执行的1条 指令,按最长的指令(乘法指令MUL和除法指令DIV)来算,需4 个机器周期。再加上硬件子程序调用指令LCALL的执行,需要2个 机器周期,所以,外部中断响应最长时间为8个机器周期。
5.3.3中断允许寄存器IE
IE中各位的功能如下:
(l)EA——中断允许总控制位 EA=0,CPU屏蔽所有的中断请求(CPU关中 断); EA=1,CPU开放所有中断(CPU开中断)。 (2)ES——串行口中断允许位 ES=0,禁止串行口发送/接收中断; ES=1,允许串行口发送/接收中断。 (3) ET1——定时器/计数器T1的溢出中断允许 位 ET1= 0,禁止T1计数溢出中断; ET1= 1,允许T1计数溢出中断。
第5章-中断技术-实例讲解
3.项目电路原理框图 项目电路原理框图如图6-1所示。电路由8086CPU、
8255A芯片、8259A芯片、继电器及驱动和脉冲按钮UP组成。
图6-1 外部中断控制继电器电路图
4.项目程序设计 (1)程序流程图
外部中断控制继电器程序流程图如6-2所示。
(a)主程序 (b)IR0中断服务程序 图6-2 外部中断控制继电器程序流程图
2.项目电路连接与说明 (1)项目电路连接:如图6-9所示的粗线为要接的连线,接 线描述如下:8259A的片选CS连至地址译码处的210H~217 H插孔;8255A的片选CS连至地址译码处的200H~207H插 孔;将8只LED发光二极管连接至8255A的PA0~PA7插孔; 将UP脉冲按钮连接至8259A的IR0插孔。 (2)项目说明:8259可外接8个中断源,本项目只响应 INT0中断,8259也可以多级连接,以响应多个中断源。将 单脉冲信号接到8259的INT0脚。每按一下UP,8259A就中 断一次,LED发光二极管灯左循环亮。在编程时应注意:
MOV DX,210H ; 8259地址 OUT DX,AL MOV AL,8 ; ICW2中断类型号为8 MOV DX,211H OUT DX,AL MOV AL,01H ; ICW4不用缓冲方式,正常中断结束, 非特殊的全嵌套方式
OUT DX,AL
MOV AX,0 ; 清零源自MOV DS,AX ; 数据段清零
ASSUME CS:CODE,DS: DATA ,SS:STACK START :MOV AL,13H ; 00010011B,ICW1:边沿触发,单片,要ICW4
MOV DX,210H ; 8259地址 OUT DX,AL MOV AL,8 ; ICW2中断类型号为8 MOV DX,211H OUT DX,AL
第五章中断系统1
第五章 中断系统5. 1 输入/输出数据的传输控制方式一、输入/输出的一般概念1.引言输入/输出是微机系统与外部设备进行信息交换的过程。
输入/输出设备称为外部设备,与存储器相比,外部设备有其本身的特点,存储器较为标准,而外部设备则比较复杂,性能的离散性比较大,不同的外部设备,其结构方式不同,有机械式、电动式、电子式等;输入/输出的信号类型也不相同,有数字信号,也有模拟信号;有电信号,也有非电信号;输入/输出信息的速率也相差很大。
因此,CPU与外部设备之间的信息交换技术比较复杂。
CPU与外设之间的信息交换,是通过它们之间接口电路中的I/O端口来进行的,由于同一个外部设备与CPU之间所要传送的信息类型不同,方向不同,作用也不一样(例如数据信息、状态信息、控制信息、输入/输出等),所以接口电路中可以设置多个端口来分别处理这些不同的信息。
2.输入/输出端口的寻址方式微机系统采用总线结构形式,即通过一组总线来连接组成系统的各个功能部件(包括CPU、内存、I/O端口),CPU、内存、I/O端口之间的信息交换都是通过总线来进行的,如何区分不同的内存单元和I/O 端口,是输入/输出寻址方式所要讨论解决的问题。
根据微机系统的不同,输入/输出的寻址方式通常有两种形式:(1).存储器对应的输入、输出寻址方式这种方式又称为存储器统一编址寻址方式或存储器映象寻址方式。
方法:把外设的一个端口与存储器的一个单元作同等对待,每一个I/O 端口都有一个确定的端口地址,CPU与I/O端口之间的信息交换,与存储单元的读写过程一样,内存单元与I/O端口的不同,只在于它们具有不同的的地址。
优点:①CPU对I/O端口的读/写操作可以使用全部存储器的读/写操作指令,也可以用对存储器的不同寻址方式来对I/O端口中的信息,直接进行算术、逻辑运算及循环、移位等操作。
②内存与外设地址的分配,可以用统一的分布图。
③不需要专门的输入、输出操作指令。
缺点:1 内存与I/O端口统一编址时,在地址总线根数一定的情况下,使系统中实际可以直2 接寻址的内存单元数减少。
第5章89C51的中断系统
当系统复位时,IP寄存器被清0,将5个中 断源均设置为低优先级中断。 如果同一级的几个中断源同时向CPU申请 中断,CPU便通过内部硬件查询逻辑按自 然优先级决定响应顺序。
SETB EA ; 总中断允许 SETB EX1 ;INT1允许 SETB ET1 ;T1允许 SETB ES ;TI 和RI允许 SETB PS ; TI 和RI高优先级别 SETB PT1 ;T1高优先级别 SETB PX0 ;INT0高优先级别 则: ______________________可以被响应. A. CPU 正在执行INT1中断,T1请求. B. CPU正在执行TF1中断, TI请求. C. CPU正在执行INT1中断, INT0请求 . D. CPU正执行主程序, T1出现请求
对事件整个处理过程称为中断处理(或中断 服务)。 能够实现中断处理的功能部件称为中断系统。 产生中断请求的源称为中断请求源。 中断源向CPU提出的处理请求称为中断请求 (或中断申请)。 CPU完成中断服务程序,继续执行被中断的 主程序称为中断返回。
5.2 MCS-51中断系统的结构
外部输入中断源INT1(P3.3),中断请求标志为IE1 定时器T0的溢出,中断请求标志为TF0 定时器T1的溢出,中断请求标志为TF1 串行口发送或接收中断源,中断请求标志为发送中断
TI或接收中断RI
5.2.2 中断控制
1.中断请求标志寄存器 •分别由TCON和SCON的相应位锁定 TCON为定时器/计数器的控制寄存器,字节地址为88H
第5章 MCS-51的中断系统
5.1 概述
所谓中断,是指CPU正在处理某些事务的 时候,外部又发生了某一事件,请求CPU 及时处理。于是,CPU暂时中断当前的工 作,转而处理所发生的事件。处理完毕, 再回到原来被中断的地方,继续原来的工 作。这样的过程,称为中断。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第5章 MCS - 51单片机的中断 2. 中断响应过程 中断响应过程 ①根据优先级别,使优先级状态触发器置1 根据优先级别,使优先级状态触发器置1 ②保护现场,把程序计数器PC内容压栈 保护现场,把程序计数器PC内容压栈 ③清除相应的中断请求标志位IE0、IE1、TF0、TF1。 清除相应的中断请求标志位IE0、IE1、TF0、TF1。 ④把被响应的中断服务子程序的入口地址送入PC,从而 把被响应的中断服务子程序的入口地址送入PC, 转入相应的中断服务程序
第5章 MCS - 51单片机的中断 5. 采用中断系统改善了计算机的性能 , 主要表现在以下几 采用中断系统改善了计算机的性能, 个方面: 个方面: (1) 有效地解决了快速 CPU与慢速外设之间的矛盾, 可 有效地解决了快速CPU 与慢速外设之间的矛盾 与慢速外设之间的矛盾, CPU与外设并行工作 大大提高了工作效率。 与外设并行工作, 使CPU与外设并行工作,大大提高了工作效率。 (2)可以及时处理控制系统中许多随机产生的参数与信 即计算机具有实时处理的能力, 息 , 即计算机具有实时处理的能力 , 从而提高了控制系统的 性能。 性能。 (3) 使系统具备了处理故障的能力 , 提高了系统自身的 使系统具备了处理故障的能力, 可靠性。 可靠性。
INT1: PUSH ACC ; 中断服务程序 PUSH DPH PUSH DPL PUSH 0 PUSH 1 … POP 1 POP 0 POP DPL POP DPH POP ACC RETI
第5章 MCS - 51单片机的中断 编程中应注意: 编程中应注意 (1) 在 0000H放一条跳转到主程序的跳转指令 这是因为 ) 放一条跳转到主程序的跳转指令, 放一条跳转到主程序的跳转指令 MCS-51单片机复位后 PC的内容变为 0000H, 程序从 单片机复位后, 程序从0000H 开 单片机复位后 的内容变为 始执行, 是中断程序入口地址, 始执行 紧接着 0003H是中断程序入口地址 故在此中间只能插 是中断程序入口地址 故在此中间只能插 入一条转移指令; 入一条转移指令 (2 ) 响 应 中 断 时 , 先 自 动 执 行 一 条 隐 指 令 “ LCALL 0013H”, 而 0013H至 001BH(定时器 1 溢出中断入口地址)之 溢出中断入口地址) 至 ( 间可利用的存储单元不够, 放一条无条件转移指令。 间可利用的存储单元不够 故放一条无条件转移指令。 (3) 在中断服务程序的末尾 必须安排一条中断返回指令 ) 在中断服务程序的末尾, 必须安排一条中断返回指令 RETI, 使程序自动返回主程序。 使程序自动返回主程序。
(2) 位功能 IT0/1 外部中断 触发方式选择 0 电平触发 1沿触发 外部中断0/1触发方式选择 沿触发 IE0/1 外部中断 中断申请标志位 1时自动申请中断 外部中断0/1中断申请标志位 时自动申请中断 TF0/1 定时 计数器 溢出中断申请标志位 时自动申 定时/计数器 溢出中断申请标志位1时自动申 计数器0/1溢出中断申请标志位 请中断 IE0/1, TF0/1中断响应后由硬件自动清零。 中断响应后由硬件自动清零。 中断响应后由硬件中断 表 5.2 同级内第二优先级次序
第5章 MCS - 51单片机的中断 例如, 某软件中对寄存器IE、 IP设置如下: MOV IE, # 8FH;(IE)=10001111B MOV IP, # 06H;(IP)=00000110B EA AFH ET2 ABH ES ET1 EX1 AAH ET0 A9H EX0 A8H
第5章 MCS - 51单片机的中断
第5章 MCS - 51单片机的中断 章 单片机的中断
5.1 概述 5.2 MCS - 51中断系统 中断系统 5.3 中断系统的应用
第5章 MCS - 51单片机的中断
教学目的
了解中断的基本概念和功能。 了解中断的基本概念和功能。 掌握中断系统的结构和控制方式。 掌握中断系统的结构和控制方式。 掌握中断系统的中断处理过程。 掌握中断系统的中断处理过程。
学习重点和难点
中断响应的条件和中断优先级的应用。 中断响应的条件和中断优先级的应用。 外部中断源的扩展方法。 外部中断源的扩展方法。
第5章 MCS - 51单片机的中断
5.1 概 述
微机的一般控制方法 查询法: 查询法:由主程序对被控对象在每个程序循环中依次查 看是否需要对被控对象进行处理。 询,看是否需要对被控对象进行处理。 中断法: 中断法:由需要优先处理的外部或定时器中断产生的中 断请求信号进入中断服务子程序, 断请求信号进入中断服务子程序,执行完成后自动返回 主程序。 主程序。 DMA法 在多CPU系统中 DMA法:在多CPU系统中,如果有大量的数据需要传 系统中, 送的话,就是采用中断的方式也会占用CPU大量的工作 送的话,就是采用中断的方式也会占用CPU大量的工作 时间,假如主CPU将总线控制权让给下位机 将总线控制权让给下位机CPU, 时间,假如主CPU将总线控制权让给下位机CPU,而 自己则可以进行其它的工作, 自己则可以进行其它的工作,这种出让总线控制权的方 法被称为DMA法 法被称为DMA法。
第5章 MCS - 51单片机的中断
5.2.2 中断控制
1. 中断屏蔽IE寄存器 中断屏蔽IE寄存器 EA AFH ET2 ABH ES ET1 EX1 AAH ET0 A9H EX0 A8H
ACH ABH
位功能 EA CPU总中断开放 CPU总中断开放 ES 串行口中断开放 1 开放 0 屏蔽 ET0/1 定时/计数器0/1中断开放 1 开放 0 屏蔽 定时/计数器0/1中断开放 EX0/1 外部中断0/1中断开放 1 开放 0 屏蔽 外部中断0/1中断开放
第5章 MCS - 51单片机的中断
5.2 MCS - 51中断系统 中断系统
图5.1 MCS - 51中断系统结构框图 中断系统结构框图
第5章 MCS - 51单片机的中断
5.2.1 中断源
表 5.1 8051 中 断 源
第5章 MCS - 51单片机的中断
MCS-51单片机 个中断源的中断请求信号分别锁存在特 单片机5个中断源的中断请求信号分别锁存在特 单片机 殊功能寄存器TCON和SCON中: 殊功能寄存器 和 中 (1)TCON为定时 计数器控制寄存器 字节地址为 为定时/计数器控制寄存器 字节地址为88H,其中 为定时 计数器控制寄存器,字节地址为 其中 锁存的中断源请求标志如图5.2所示 所示。 锁存的中断源请求标志如图 所示。
MOV IP, # 06H;(IP)=00000110B 允许中断源的中断优先次序为: 定时器 /计数器 0>外部中断 1>外部中断 0> 定时器/计数器 1。
第5章 MCS - 51单片机的中断
5.2.3 中断响应
1.
中断被阻止的条件
①CPU正在处理相同或更高级别的中断; CPU正在处理相同或更高级别的中断 正在处理相同或更高级别的中断; ②现行的机器周期不是所执行指令的最后一个机器周期; 现行的机器周期不是所执行指令的最后一个机器周期; ③正在执行的指令是RETI或是访问IE或IP的指令。 正在执行的指令是RETI或是访问 或IP的指令 或是访问IE 的指令。
ACH ABH
则此时该系统中: 则此时该系统中: CPU总中断允许 总中断允许; · CPU总中断允许; 允许外部中断0 外部中断1 定时器/ · 允许外部中断0、 外部中断1、 定时器/计数 定时器/计数器1提出的中断申请; 器0、 定时器/计数器1提出的中断申请;
第5章 MCS - 51单片机的中断
第5章 MCS - 51单片机的中断
程 序
主
1. 中断 中断 中断是指计算机在执行某一程序的过程 由于计算机系统内、 外的某种原因, 中, 由于计算机系统内、 外的某种原因 而 必须中止原程序的执行, 必须中止原程序的执行 转去执行相应的处
程 序 主
断
应中断
中 断 服 务 程 序
回 程序 RETI
第5章 MCS - 51单片机的中断
(3). 特殊功能寄存器 特殊功能寄存器SCON
图 5.3 SCON格式 格式 (4). 位功能 TI串行口发送中断标志位 串行口发送中断标志位 RI串行口接收中断标志位 串行口接收中断标志位 注意:中断服务程序时并不复位 注意:中断服务程序时并不复位TI,TI必须由用户在 必须由用户在 中断服务程序中用软件清0(可用 中断服务程序中用软件清 可用CLR TI或其 可用 或其 它指令)。 它指令 。
第5章 MCS - 51单片机的中断 3. 中断优先级 中断优先级 中断优先级越高, 则响 中断优先级越高
程 序 主
响应 级 中断 响应高级 中断
应优先权就越高。 应优先权就越高。 中断 。
断
高 级 中 断 服 务 程 序
级 中断 断 级 中断
主 程 序
RETI
级 中断 RETI
第5章 MCS - 51单片机的中断 4. 中断响应的过程 中断响应的过程 (1) 在每条指令结束后 系统都自动检测中断请求信号 如果 在每条指令结束后, 系统都自动检测中断请求信号, 检测中断请求信号 有中断请求, 处于开中断状态下, 有中断请求,且CPU处于开中断状态下 则响应中断。 处于开中断状态下 则响应中断。 (2) 保护现场 在保护现场前 一般要关中断 以防止现场被 保护现场, 在保护现场前, 一般要关中断, 破坏。 破坏。保护现场一般是用堆栈指令将原程序中用到的寄存器推 入堆栈。 入堆栈。 (3) 中断服务 即为相应的中断源服务。 中断服务, 即为相应的中断源服务。 (4) 恢复现场 用堆栈指令将保护在堆栈中的数据弹出来 在 恢复现场, 用堆栈指令将保护在堆栈中的数据弹出来, 恢复现场前要关中断, 以防止现场被破坏。 恢复现场前要关中断 以防止现场被破坏。在恢复现场后应及 时开中断。 时开中断。 (5) 返回 此时 CPU将推入到堆栈的断点地址弹回到程序计 返回, 将推入到堆栈的断点地址弹回到程序计 数器, 从而使CPU继续执行刚才被中断的程序。 继续执行刚才被中断的程序。 数器 从而使 继续执行刚才被中断的程序