中断系统
4_中断系统
3.1 TCON定时控制寄存器
TFl和TF0: 定时器1和定时器0的溢出标志。 当定时器计满产生溢出时,由硬件自动置 “1”,并可申请中断。进入中断服务程序后, 由硬件自动清0。 也可作为程序查询的标志位,在查询方式 下应由软件来清0。
3.1 TCON定时控制寄存器
TR1和TR0: 为定时器1和定时器0的启停控制位。 将TRx清0后,可停止定时器的工作。 将该位置“1”后,可启动定时器工作。
3.3 IE中断允许寄存器
D7 EA D6 D5 ET2 D4 ES D3 ET1 D2 EX1 D1 ET0 D0 EX0
EA:CPU中断总允许位。 ES :串行口中断允许位。 ET1:定时器1中断允许位。 EX1:外部中断1的中断允许位。 ET0:定时器0的中断允许位 EX0:外部中断0的中断允许位。 ET2:定时器2中断允许位
TCON定时控制寄存器ቤተ መጻሕፍቲ ባይዱSCON串行口控制寄存器 IE中断允许寄存器
IP中断优先级寄存器
3.1 TCON定时控制寄存器
作用: 控制定时器/计数器的启、停 外部中断源的触发方式 定时器的溢出中断标志 外部中断源的中断请求标志。 其地址为88H。
3.1 TCON定时控制寄存器
中断源的入口地址分别为: 外部中断0中断: 0003H 最高级 T0定时器0中断: 000BH 外部中断1中断: 0013H T1定时器l中断: 001BH 串行口输入/输出中断: 0023H 最低级 定时器2中断: 002BH 最低级(52系列单片 机中)
3 MCS-51单片机中断系统使用
MCS-51单片机中断控制部分由4个专用 寄存器组成:
中断系统
1 中断系统概述 2 MCS-51单片机的中断系统 3 MCS-51单片机中断系统使用 4 C51中中断系统的应用
中断系统名词解释
中断系统是计算机的重要指标之一。
可以解决快速CPU与慢速外设之间的矛盾,使之能并行工作。
可以及时处理随机参数及故障,提高可靠性。
1. 中断流程中断请求-中断响应-保护断点-中断服务-中断返回。
2. 中断概念(1)中断系统:实现中断功能的硬件系统和软件系统(2)中断源:产生中断的请求源(3)中断请求:中断源向CPU提出的处理请求。
(4)中断响应:CPU暂时中止自身的事情,转去处理事件的过程(5)中断服务:对事件的整个处理过程。
也称为中断处理(6)中断返回:中断处理完毕,在返回到原来被中止的地方3. 中断系统的一般功能中断系统一般应具有如下功能:•实现中断及返回当某中断源发出中断申请时,若允许响应,CPU必须在现行的指令执行完后,把断点处的PC值压入堆栈保存,称为保护断点。
(硬件自动完成)保护现场——响应中断后,将有关的寄存器内容和状态标志位压入堆栈保存。
恢复现场——执行中断服务程序后,恢复原保留的寄存器的内容和标志位的状态,并执行返回指令“RETI”(用户编程实现)•实现优先权排队当同时有多个中断请求信号,先响应优先级别高的中断请求。
•实现中断嵌套中断申请的中断源的优先权级别与正在处理的中断源同级或更低时,CPU暂时不响应这个中断申请,直至正在处理的中断服务程序执行完以后才去处理新的中断申请。
•实现中断的撤除在响应中断后,返回主程序之前,中断请求应该撤除,否则,将影响对其它中断申请的响应。
MCS-51中断系统只能对一部分中断申请,在响应后自动撤除,使用中应注意。
4. 调用中断服务程序与调用子程序的区别相同点:均能中断主程序执行本程序,然后再返回断点地址继续执行主程序。
不同点:•事先安排和随机发生•软件调用和硬件自动完成•中断服务程序入口地址是固定的,子程序调用入口地址是用户自己设定的。
•中断服务子程序返回指令除具有子程序返回指令所具有的全部功能之外,还有清除中断响应时被置位的中断请求标志位的功能。
单片机教程 第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位定时/计数器的初值可由用户设定。
第5章 中断系统
计算机与外设交换信息时,慢速工作的外设与快速工作的CPU之间形成一个很大的矛盾。 例如:计算机与打印机相连接,CPU处理和传送字符的速度是微秒级的,而打印机打印字符 的速度远比CPU慢。CPU不得不花大量时间等待和查询打印机打印字符。中断就是为解决这 类问题而提出的。
02
02
Hale Waihona Puke 023.中断允许控制寄存器IE CPU对中断系统的所有中断以及某个中断源的开放和屏蔽是由中断允许控制寄存器IE控制 的。IE的状态可通过程序由软件设定。某位设定为1,相应的中断源中断允许;某位设定为0, 相应的中断源中断屏蔽。CPU复位时,IE各位清0,禁止所有中断。IE的结构、位名称和位地址 见表5-3。
03
4.中断返回 中断服务程序的最后一条指令必须是中断返回指令RETI。RETI指令能使CPU结束中断服务程序的执 行,返回到曾经被中断过的程序处,继续执行主程序。RETI指令的具体功能如下。 (1)恢复断点地址 将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序。 注意,不能用RET指令代替RETI指令,因为用RET指令虽然也能控制PC返回到原来中断的地方,但 RET指令没有清0中断优先级状态触发器的功能,中断控制系统会认为中断仍在进行,其后果是与此同级 的中断请求将不被响应。 若用户在中断服务程序中进行了入栈操作,则在RETI指令执行前应进行相应的出栈操作,使栈顶指 针SP与保护断点后的值相同,即在中断服务程序中PUSH指令与POP指令必须成对使用,否则不能正确 返回断点。 (2)开放同级和低级中断 上述中断响应过程大部分操作是CPU自动完成的,用户只需要了解来龙去脉。而用户需要做的事情是 编制中断服务程序,并在此之前完成中断初始化,即设置堆栈,定义外中断触发方式,定义中断优先级, 开放中断等。
第十八讲中断系统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
中断系统中断概念一中断的概念中断是指在计算机执行
中断源
入口地址
INT0
0003H
T0
000BH
INT1
0013H
T1
001BH
串行口
0023H
(5)中断返回
S(E串ETM串串5(1.FEXSO)1行行行用10T:)V串:B口 口 口字EI行定自PEX节,T口#1时然00操:外中8/优计作HR断部先数指X允中级D器令00许断00:(T22控0133),中外HH制T断部位X标D中志(断位1)中断允许控制位
5.5 中断优先级控制 1、中断优先级寄存器
IP
BCH BCH BBH BAH B9H B8H
B8H X X X PS PT1 PX1 PT0 PX0
高优先级
MCS-51系列单片机有两级中断级
低优先级
PX0,PT0,PX1,PT1,PS分别为INT0,T0,INT1,T1 串行口中断优先级控制位,当相应位为0时为低优先级,相应 为1时为高优先级。
例5 .2 要将T1定时器定义为最高优先级,其他中断定义为低 优先级,如何设置IP?
(1M M)用OO字VV 节AIE操8,H作,##指88E令EHH E串串 例串P中IT串(TCTRRTUP0行行:行断行1000US:)::口 口口 源 口HE响外置TI定定应N1部相PT时时,中ES_中应//TWT断计计断2R的0:后数数:X定0优D触,器器00入0时先000(发于TT口222计级00333)方中地运 运数HHH触式断T址行行器发X选返控控TD器0择回制制(,状T前位位1)态,,T为2应中1该断撤控销制中位断请求。 (2S)E用T位B E操A作 P中生S…ITUE1断的…TS:B是 事 .H外E指件部TP在,1S中W计待断算处0机理触执完发行毕方程后式序,选的再择过返程回当来中执,行当原外来部被设中备断发的生程某序一。事件时,请求CPU处时,CPU暂时中断当前程序的执行,转去处理所发 SSSEEETTTBBB EEETTX010 EI(P先为ST中S1中生N0EXES假4级了断断的T0TT:)1串设,BB。 使 处 是 事转行允PEE这理指件T入TA口许些过在,00相中,打单程计待应断P开0元可算处X0的允0I的分机理01N0中B许,1T值为执完H31断控PH在三行毕及T服制1中个程后定,务位断阶序,时P程程段的再器S序分序:过返T入0别中中程回,T口为不断当来1,I禁被响中执NT止冲应,行0其,掉,当原他T,中外来0中在断部被,断进处设中IN,入理备断T试1中,发的设,断中生程置T1服断某序IE串务返一。. 行程回事口序。件中前时断,,优要请先将求级有C控P关U制寄处位存时,器,当保C相P护U应起暂位来时为。中0断时当为前低程优序先的级执,行相,应转为去1时处为理高所优发
第7章 中断系统
可 屏 蔽 中 断 请 求
软件中断
硬件中断
小结: 中断分类及中ຫໍສະໝຸດ 类型码8086/8088系统最多可处理256级不同类型的中断。
可屏蔽中断(INTR) 外部中断(硬件中断) 非屏蔽中断(NMI,中断类型码2) 中断分类 单步中断(中断类型码1) 内部中断(软件中断) 断点中断(中断类型码3) 溢出中断(中断类型码4) Int n 中断
器退出暂停状态,响应中断,进入中断处理程序。
若现行指令为WAIT指令,且 TEST 引脚加入低电平信号, 则中断请求信号INTR产生后,便使处理器脱离等待状态,响 应中断,进入中断处理程序。
HLT: 暂停指令
(4) 8259A连续两次接收(2个总线周期) INTA = 0的中断 响应信号后,便通过总线将中断矢量号送CPU。 (5) 保护断点。将标志寄存器内容、当前CS内容及当前IP 内容压入堆栈: (SP)←(SP)-2
((SP)+1:(SP))←(PSW)
(SP)←(SP)-2 ((SP+l:(SP))←(CS) (SP)←(SP)-2 ((SP)+1:(SP))←(IP)
(6) 清除IF及TF(IF←0,TF←0),以便禁止其它可屏蔽中 断或单步中断发生。 (7) 求中断程序的入口地址 :根据8259A向CPU送的中断 矢量号n求得矢量地址,再查中断矢量表,得相应中断处理程 序首地址(段内偏移地址和段地址),并将 位首地址置入CS及
7.1 概述
中断和异常是处理器处理突发事件时所采取的两种不同 的处理方法,具体来说,中断指的是处理器暂停当前的程序, 转而去处理中断事件;而异常虽然也会对异常事件作出反应, 但不一定会暂停当前的程序。 在8086/8088处理器时代,中断主要包括外部中断 和 内 部中断两种。 在386/486等32位处理器时代,内部中断的数量和功能被 扩充,习惯上,称内部中断为异常,而中断则主要指外部中 断。
第8章 中断系统
中断执行示意图如下:
第18页
2012年6月11日星期一
第8章
结束当前指令?
内部中断?
中断系统
①
关中断 标志寄存器入栈 TEMP=TF(暂存) 清除IF、TF标志 断点(CS,IP)入栈 取中断向量 进入中断服务程序 开中断 执行中断服务程序 Y
N
有NMI?
有
无 N
无
有INTR?
有
IF=1?
Y Y
TF= N 1? 取中断类型码
第8页 2012年6月11日星期一
第8章
8.2.2 中断处理
中断系统
1.中断的处理过程 ⑴关中断。目的:在现场保护过程中,CPU不应该 响应更高级的中断源申请。 ⑵保存断点和现场。即将现行状态字和断点地址相 继压入堆栈。目的:在中断处理完后返回主程序时, 恢复原程序运行状态。 ⑶开中断。目的:允许更高级中断请求能够及时得 到响应,实现中断嵌套。 ⑷转入中断服务程序。目的:完成的最终目的。 ⑸ 退出中断。返回到主程序的执行。
第20页 2012年6月11日星期一
第8章
8.3.4 软件中断
中断系统
软件中断有如下特点: 1.INT n 指令,中断类型码是 n。 2.不执行中断响应总线周期,不读取中断类型码。 3.软件中断不受IF的影响。 4.可进行中断嵌套,即可以响应非屏蔽中断;当被软 件中断调用的中断处理子程序使IF=1时,那么也可响 应屏蔽中断的高优先级请求。 5.软件中断没有随机性,这是因为软件中断是由程序 中的中断指令引起的,何时执行,是事先知道的,所 以软件中断失去了随机性。
第21页 2012年6月11日星期一
第8章
8.4 中断控制器8259A
一、引言
中断系统
第五章 中断系统
四、中断系统的功能 一般来说,一个中断系统具有以下功能: (一)实现中断及返回 当某中断源发出中断请求后,CPU应决定是否响应这个中断请求,如当前正 在执行更重要的工作可暂时不响应中断,若响应这个中断请求,CPU在当前指令 执行完后,就要保护断点地址和现场(即下条指令地址和相关寄存器内容),以便 执行完中断服务程序后能正确返回原处执行,然后转到需要处理的中断服务程序 的人口地址,去执行中断服务程序,当中断服务程序执行完毕再恢复现场和断点 ,去继续执行主程序。 (二)实现优先级排队 当计算机带有多个中断源时,可能会出现两个或两个以上中断源同时向CPU提 出中断请求的情况。这时CPU应能够根据事先确定的中断源的优先级别来先响应 高优先级的中断 并为它服务,然后再响应较低优先级的中断请求。 (三)实现中断嵌套 当CPU正在响应某一中断源的中断请求时,又有新的中断源发出请求,如果 新的请求的优先级别高于正在执行的中断源的优先级,则CPU暂停现行的服务程 序,转去执行更高级别的中断源的服务程序,执行完毕后再回到被中断的较低中 断源的服务程序继续执行,即实现了中断嵌套。若新的中断源的优先级别低于或 是等于正执行的中断源,则CPU不响应这个请求,直到正在处理的中断服务程序 执行完毕后,才去处理新的中断请求。
三、中断的分类 按中断产生的位置,中断可分为: (1)外部中断,或称外部硬件实时中断,它是由外部送到CPU的某一特定引脚 上产生的。 (2)内部中断,或称软件指令中断,是为了处理程序运行过程中发生的一些意 外情况或调试程序方便而提供的中断。 按接受中断的方式,中断可分为: (1)可屏蔽中断,可以通过指令使CPU根据具体情况决定是否接受中断请求。 (2)非屏蔽中断,只要中断源提出请求,CPU就必须响应,主要用于一些紧急 情况的处理,如掉电等。 以上从不同的角度对中断进行了分类,对于某一种类型的计算机可能只具备 其中的某几种方式,例如MCS—51就不具备非屏蔽中断方式。
第6章 中断系统
中断系统的功能
CPU响应中断时,会停止当前执行程序,转去执行中断处 理程序,原程序被打断的地方称为“断点”。
断点地址是指中断处理程序结束后,返回原程序恢复执 行的第一条指令的地址,又称“返回地址”。
现场是指进入中断服务程序之前CPU各个寄存器的状态。
正常程序 CS : IP 断点 CS : IP+1 继续执行 中断服务程序
中断系统的功能
2. 链式优先权排队电路(应答方式)
外设1
+5V D7 ~ D0 INTA INTR IOR IOW
外设2
IEI 接口2 IEO
SEL1 SEL2
外设3
IEI 接口3 IEO
SEL3
IEI 接口1 IEO
※ 电路说明
① 每个接口有一个中断允许输入IEI和中断允许输出IEO, 只有IEI为高电平时才允许该接口芯片发中断请求; ② IEO=IEI•INT INT表示该设备有中断请求; ③ 每个接口芯片的中断请求输出为OC门,具有负逻辑的 “线或”关系; ④ 响应中断时由INTA从接口读取中断矢量。 计算机原理讲义
中断 处理
返回断点
3. 中断服务完成时将中断申请信号撤销 4. 中断服务完成后恢复现场和断点,返回原程序 计算机原理讲义
中断系统的功能
(二)对中断进行控制
1. 对中断申请进行控制 例1 一个输入设备的中断接口电路
三 态 缓冲器 D7~D0 INTR IOW A15 ~ A0 IOR INTA 地址 译码 器 三 态 缓冲器 B Q R C D 中断类型 码(0FH) D7~D0
中断系统
第六章 中断系统
计算机原理讲义
中断的作用
第6.1节 计算机中断系统
单片机的中断系统
单片机的中断系统单片机是一种集成电路,具有微处理器的功能。
它在各种电子设备中广泛应用,包括家电、汽车电子、通信设备等等。
单片机的中断系统是其核心功能之一,它允许单片机能够在处理其他任务的同时快速响应重要事件。
本文将介绍单片机的中断系统的原理、实现方式和应用场景。
一、中断系统的原理中断系统是单片机实现多任务处理的一种机制。
它基于硬件和软件的联合工作,使得单片机能够在执行某个任务的过程中,以快速响应的方式中断当前任务,去处理其他紧急或优先级更高的任务。
中断系统的原理可以简单地概括为如下几步:1. 系统中断源发生中断信号,例如外部设备向单片机发送中断请求;2. 单片机硬件或者软件检测到中断源的信号,暂停当前任务的执行;3. 单片机保存当前任务的状态,包括程序计数器、寄存器等等;4. 单片机跳转到中断服务程序(ISR)中执行,处理中断源的任务;5. 中断服务程序执行完成后,恢复之前被中断的任务,继续执行。
二、中断系统的实现方式单片机的中断系统可以通过硬件和软件两种方式来实现。
硬件中断是通过设置硬件电路来实现中断响应的。
例如,外部设备可以通过给单片机一个脉冲信号来触发中断。
单片机内部有一个专门的硬件电路来检测和处理这个脉冲信号,以启动中断服务程序的执行。
软件中断则是通过软件指令来触发中断。
单片机提供了一些特殊的指令,用于主动地产生中断信号。
软件中断通常在一些特定的场景下使用,例如在实时操作系统中,通过软件中断来处理实时任务的请求。
根据中断响应的时间,中断可以分为可屏蔽中断和不可屏蔽中断。
可屏蔽中断可以在执行指定指令时被屏蔽,不会触发中断;不可屏蔽中断则无法被屏蔽,必须立即响应。
三、中断系统的应用场景单片机的中断系统在各种应用场景中都有广泛的应用。
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溢出中断 出厂前已由厂家固化顺序 ——事先约定 高
单片机-第五章 单片机中断系统
单片机-第五章单片机中断系统单片机第五章单片机中断系统在单片机的世界里,中断系统就像是一位高效的调度员,能够在各种任务之间迅速切换,确保系统能够及时响应紧急事件和重要任务。
这一章,咱们就来深入了解一下单片机中断系统的奥秘。
先来聊聊什么是中断。
想象一下,单片机正在有条不紊地执行着一个任务,比如计算一组数据的平均值。
突然,有个更紧急的事情发生了,比如外部设备传来了一个重要的信号,需要单片机立即处理。
这时候,单片机就会暂时放下手头正在进行的任务,转而去处理这个紧急事件。
等处理完紧急事件后,再回到之前被打断的地方继续执行原来的任务。
这个过程就是中断。
中断系统之所以重要,是因为它大大提高了单片机系统的工作效率和实时响应能力。
如果没有中断,单片机就得按照顺序依次完成所有任务,哪怕遇到紧急情况也不能停下来,这在很多实际应用中是无法接受的。
单片机的中断系统通常由几个部分组成。
首先是中断源,也就是那些能够触发中断的事件或信号。
常见的中断源包括外部中断、定时中断、串口中断等等。
外部中断一般是由外部设备的状态变化引起的。
比如说,一个按键被按下,就会产生一个外部中断信号,通知单片机进行相应的处理。
定时中断则是根据预先设定的时间间隔产生中断。
这在需要周期性执行某些任务的场合非常有用,比如每隔一定时间采集一次温度数据。
串口中断是在串口通信过程中,当接收到数据或者发送完成时产生的中断。
接下来是中断控制寄存器。
它就像是中断系统的“指挥官”,决定哪些中断被允许,哪些被禁止,以及中断的优先级等。
通过设置这些寄存器,我们可以灵活地控制中断的行为。
然后是中断向量。
当发生中断时,单片机会根据中断向量跳转到相应的中断服务程序去执行。
中断向量就像是一个地址索引,告诉单片机中断服务程序在哪里。
在实际编程中,使用中断系统需要经过一系列的步骤。
首先,要初始化中断相关的寄存器,设置中断的触发方式、允许或禁止中断、确定中断的优先级等。
然后,编写中断服务程序。
中断系统及中断控制器
详细描述
根据来源不同,中断可分为硬件中断和软件中断。硬件 中断是由硬件设备产生的,如键盘输入、时钟中断等; 软件中断则是由程序中的特定指令或异常条件触发的。 根据是否可屏蔽,中断可分为可屏蔽中断和不可屏蔽中 断。可屏蔽中断可以被允许或禁止,而不可屏蔽中断则 无法被禁止。根据优先级是否可变,中断可分为优先级 可变中断和优先级固定中断。优先级可变中断的优先级 可以在运行时动态改变,而优先级固定中断的优先级是 固定的。
中断优先级通常由硬件设备或操作系统进行设置和管理,以确保系统的正 常运行。
中断优先级的管理对于系统的性能和稳定性至关重要,不当的设置可能导 致系统崩溃或性能下降。
中断向量表
中断向量表是计算机系统中用于映射中断信号和处理 程序的表格,它包含了不同中断的地址信息,以便在
中断发生时快速找到相应的处理程序。
流量控制
中断在网络通信和可靠性。
05 中断技术的发展趋势
可编程中断控制器的发展
早期中断控制器
采用硬件连线方式实现中断优先级分配,功能较为简单。
可编程中断控制器
允许通过软件编程实现中断优先级、向量表等配置,提高了中断控制器的灵活性和可扩展 性。
资源管理
中断用于实时系统中的资源管理,如内存分配、设备驱动等,确 保资源的高效利用和合理分配。
中断在网络通信中的应用
数据传输
中断在网络通信中用于数据传输控制,如 TCP/IP协议中的数据包接收和发送,确保数 据的可靠传输。
事件处理
中断用于处理网络通信中的事件,如连接建立、数 据包丢失等,实现快速响应和恢复。
可编程中断控制器的发展趋势
随着技术的进步,可编程中断控制器将进一步集成更多的功能,如中断共享、中断嵌套等 ,以满足复杂系统的需求。
微机原理--第八章-中断系统
裁决器
0
IR6
0
IR7
选 CS 译 码
RD
WR
INTA INT
ICW1 芯片控制 A0
A0
1 × I3 I4 0 1 0 0 1 0 1 0 0 1
ICW2 中断类型号 1
ICW3 主从片连接关系
1 ICW4 方式控制
1
OCW1 中断屏蔽寄存器 IMR
00
0
SP/EN
CA0
OCW2 优先级设置、发EOI
上有中断申请,则将IRR相应位置1;
总线
D0 ~ D7 A0
A5 ~ A9
IOR IOW INTA INTR
数据线 D0 ~ D7
A0
ISR 0
当前 0
中断 服务
• 非屏蔽中断 – 由NMI引脚引起的中断,称非屏蔽中断。 – 当NMI引脚上产生上升沿信号,CPU必响应此中断请 求,即NMI引脚上的中断请求不受IF标志的控制, – IF不能屏蔽NMI引脚上的中断请求。
8086/8088CPU的中断分类图
中断源
外部中断 内部中断
非屏蔽中断 可屏蔽中断 内部硬件中断
SP/EN CA0 CA1 CA2
GND
+ 5V
电子钟时间基准
键盘 保留 串 口2 串 口1 硬盘 软盘 打印机
用于多片 8259A
级连情况
7.3.4 8259A的控制字
8259A中断控制器
处理部分
0
ISR 0
当前 0
中断 0
服务 0
寄存器
0 0
0
IRR
中断申请
0 0
寄存器 0
0
PR
0
优先级
中断系统
在另外的新型号中,PIC16F870单片机的芯片内部集成了10个外围 设备模块, PIC16F871单片机的芯片内部集成了13个外围设备模 块, PIC16F872单片机的芯片内部也集成了10个外围设备模块(比 PIC16F870多了1个USART模块,少了一个SSP模块)。而该公司早 期生产的PIC12CXX和PIC16C5X系列不具备中断功能。 这些外围设备模块在投入工作时以及在工作过程中,都或多 或少的需要CPU参与控制、协调或交换数据等各种服务工作。外 围设备模块的数量和种类如此的多,而CPU只有一个;各个外围 设备模块不仅工作速度不同,而且对于时间上轻重缓急程度要求 也不同,他们在工作过程中需要CPU参与的程度也不同。那么, 一个CPU如何“照顾”得过来这样多的外围设备模块呢?怎样才 能保障单片机内部的各个部分运行得协调和高效呢?在实际工作 中这两个问题都得到了很好的解决。解决这些问题基于2个条件: 一个是CPU的运行速度非常高,而各个外围设备模块的工作速度 却非常低,况且这些外围设备模块也不都是频繁的要求CPU对其 服务;二是采取一种让众多外围设备模块分享一个CPU,并且能 够及时得到CPU服务的调速方法——中断。
CCPIF CCPIE
TMR2IF TMR2IE TMR1IF TMR1IE GIE
中断源第二梯队 (d) PIC16F871中断逻辑
中断源第一梯队
EEIF EEIE
ADIF ADIE RCIF RCIE TXIF TXIE T0IF T0IE INTF INTE RBIF RBIE PEIE CCPIF CCPIE TMR2IF TMR2IE TMR1IF TMR1IE GIE 中断CPU当 前的程序 唤醒CPU(如果 处于模式)
在上述的9个阶段中,第1、2、3和9阶段是由硬件自动实现的, 而第4、5、6、7、8阶段则是用户软件完成的。 CPU相应中断后转入中断服务子程序的处理方法,欲“CPU 汇编语言程序设计基础”部分中讲道德子程序条用的处理过程有 类似之处,都需要在跳转时保护现场和返回时恢复现场。但是, 应该说中断转子程序的情况更为复杂一些。原因分析如下,调用 子程序的指令是程序设计者预先安排的,也就是说,主程序执行 到何处发生到子程序的跳转是可以预知的。于是,保护现场和恢 复现场的工作,既可以安排在主程序内,也可以放到子程序中去 完成。并且需要保护的寄存器的数量也可以视跳转到子程序的时 机而进行适当的减少。而在出程序执行过程中何时发生中断,或 者说,主程序执行到何处会发生到中断服务子程序的跳转完全是 随机的。于是,保护现场和恢复现场的任务,只能是放到中断服 务子程序中去实现。并且由于跳转到子程序的时机不可预料,因 此凡是主程序中用到过的和子程序中也将会用到(或影响到)的寄 存器,原则上都需要保护。
第四章中断系统
一、中断源和中断请求标志
8051单片机有5个中断请求源:
▪ 外部输入中断源INT0(P3.2) 或
▪ 外部输入中断源INT1(P3.3)
或
▪ 片内定时器T0的溢出
▪ 片内定时器T1的溢出 ▪ 片内串行口发送或接收中断源
(2)中断服务程序入口地址(也称为中断向量)由硬件 决定,与CPU类型有关,不能更改。而子程序入口地 址由用户安排。
(3) 子程序中可以任意调用另一子程序,但中断有优先 级,同级或低级中断不能打断正在执行的同级或更高优 先级中断服务程序。
(4) 尽管子程序返回指令RET和中断返回指令RETI均会 将栈顶两个字节信息装入PC,恢复断点,但RETI还清 除相应中断优先级触发器,因此中断返回指令不可用子 程序返回指令RET代替。
INT0 INT1
单片机 T0 T1
串行口
MCS-51的中断系统——中断标 志
中断源
中断标志位
CPU
INT0
IE0
T0
TF0
主
INT1
IE1
程 序பைடு நூலகம்
T1
TF1
串口
TI
RI
▪ 每一个中断源都有相应的中断标志位;
▪ 某一个中断源申请中断,相应中断标志位置1。
MCS-51的中断系统——中断允许
中断源
中断标志位 中断允许
• IE0:外部中断0中断标志。其操作功能与IE1 相同。
• IT0:外中断0触发方式控制位。其操作功能与 IT1相同。
SCON寄存器——串行口控制寄存 器
SCON
76 5 4
3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图5-6
可归纳为下面两条基本规则: (1)低优先级可被高优先级中断,反之则不能。 (2)同级中断不会被它的同级中断源所中断。
若CPU正在执行高优先级中断,则不能被任何中断源所中断。 中断优先级寄存器IP,其字节地址为B8H,格式如图5-7。
IP各个位的含义: (1)PS——串行口中断优先级控制位
0:CPU屏蔽所有的中断请求(CPU关中断); 1:CPU开放所有中断(CPU开中断)。
(2)ES:串行口中断允许位 0:禁止串行口中断; 1:允许串行口中断。
(3)ET1:定时器/计数器T1的溢出中断允许位 0:禁止T1溢出中断; 1:允许T1溢出中断。
(4)EX1:外部中断1中断允许位 0:禁止外部中断1中断; 1:允许外部中断1中断。
SCON为串行口控制寄存器,字节地址为98H。串行口的发送中断和接收中断 的中断请求标志TI和RI,格式如图5-4。
各标志位的功能: (1)TI—发送中断请求标志位。串口每发送完一帧串行数据后,硬件自 动 置“1”TI。必须在中断服务程序中用软件对TI标志清“0”。
(2)RI—接收中断请求标志位。串口接收完一个数据帧,硬件自动置“1” RI标志。必须在中断服务程序中用软件对RI标志清“0”。
;禁止外部中断0中断
SETB ET0
;允许定时器/计数器T0中断
SETB ET1
;允许定时器/计数器T1中断
SETB EA
;CPU开中断
(2)用字节操作指令来编写:
MOV IE,#8AH
或者用: MOV 0A8H,#8AH ;A8H为IE寄存器字节地址
5.4.2 中断优先级寄存器IP 两个中断优先级,可实现两级中断嵌套。如图5-6。
图5-2 89C51的中断系统结构示意图
5.3 中断请求源 五个中断请求源 : (1)INT0*—外部中断请求0,由引脚INT0*输入,中断请求标
志为IE0。 (2)INT1*—外部中断请求1,由引脚INT1*输入,中断请求标
志为IE1。 (3)定时器/计数器T0溢出中断请求,中断请求标志为TF0。 (4)定时器/计数器T1溢出中断请求,中断请求标志为TF1。 (5)串行口中断请求,中断请求标志为TI或RI。 特殊功能寄存器TCON和SCON的相应位锁存各中断请求标志。
(5)ET0:定时器/计数器T0的溢出中断允许位 0:禁止T0溢出中断; 1:允许T0溢出中断。
(6)EX0:外部中断0中断允许位。 0:禁止外部中断0中断; 1:允许外部中断0中断。
89C51复位后,IE清0,所有中断请求被禁止。 若使某一个中断源被允许中断,除了IE相应的位的被置“1” ,还必须
TCON为定时器/计数器的控制寄存器,字节地址为88H。 TCON包含: (1)T0和T1的溢出中断请求标志位TF1和TF0 (2)外部中断请求标志位IE1与IE0。格式如图5-3所示:
各标志位的功能: (1)IT0—选择外中断请求0为跳沿触发方式还是电平触发方
式: IT0=0,为电平触发方式。IT0=1,为跳沿触发方式。 可由软件置“1”或清“0”。
1:高优先级中断; 0:低优先级中断。
(2)PT1——定时器T1中断优先级控制位 1:高优先级中断; 0:低优先级中断。
(3)PX1——外部中断1中断优先级控制位 1:高优先级中断; 0:低优先级中断。
(4)PT0——定时器T0中断优先级控制位 1:高优先级中断; 0:低优先级中断。
(5)PX0——外部中断0中断优先级控制位 1:高优先级中断; 0:低优先级中断。
使EA位=1。 改变IE的内容,可由位操作指令来实现,即:
SETB bit; CLR bit。
例5-1 若允许片内2个定时器/计数器中断,禁止其它中断源
的中断请求。编写设置IE的相应程序段
(1)用位操作指令来编写如下程序段:
CLR ES
;禁止串行口中断
CLR EX1
;禁止外部中断1中断
CLR EX0
图5-1 中断响应过程
能够实现中断处理功能的部件称为中断系统; 产生中断的请求源称为中断请求源。 中断源向CPU提出的处理请求,称为中断请求(或中断申请)。
进入中断→保护现场→中断处理恢复现场 →中断返回
中断方式优点:大大地提高了CPU的工作效率。
5.2 89C51中断系统的结构 有5个中断请求源,两个中断优先级,可两级嵌套。 中断系统结构示意图如图5-2所示。
5.1 中断的概念
CPU正在执行程序时,单片机外部或内部发生的某一事件, 请求CPU迅速去处理。
CPU暂时中止当前的工作,转到中断服务处理程序处理所 发生的事件。
处理完该事件后,再回到原来被中止的地方,继续原来的 工作,这称为中断。
CPU处理事件的过程,称为CPU的中断响应过程。
如图5-1所示,对事件的整个处理过程,称为中断处理(或中断服务)。
T0计数后,溢出时,由硬件置“1”TF0,向CPU申请中断,CPU响应TF0 中断时,硬件自动清“0”TF0,TF0也可由软件清0。 (6)TF1—T1的溢出中断请求标志位,功能和TF0类似。
TR1、TR0 2个位与中断无关。 当89C51复位后,TCON被清0,则CPU关中断,所有中断请求被禁止。
5.4 中断控制 5.4.1 中断允许寄存器IE
CPU对中断源的开放或屏蔽,由片内的中断允许寄存器IE控制。 字节地址A8H,可位寻址。格式如图5-5。
IE对中断的开放和关闭为两级控制 总的开关中断控制位EA(IE.7位):
EA=0,所有中断请求被屏蔽。 EA=1,CPU开放中断,但五个中断源的中断请求是否允许, 还要由IE中的5个中断请求允许控制位决定。 IE中各位的功能如下: (1)EA:中断允许总控制位
(2)IE0—外部中断请求0的中断请求标志位。 IE0=0,无中断请求。IE0=1,外部中断0有中断请求。 当CPU响应该中断,转向中断服务程序时,由硬件清“0”IE0。
(3)IT1—外部中断请求1为跳沿触发方式还是电平触发方式,意义与IT0 类似。
(4)IE1—外部中断请求1的中断请求标志位,意义与IE0类似。 (5)TF0—T0溢出中断请求标志位。