中断系统及其应用.ppt

上传人:牧羊曲112 文档编号:6219833 上传时间:2023-10-06 格式:PPT 页数:80 大小:726.50KB
返回 下载 相关 举报
中断系统及其应用.ppt_第1页
第1页 / 共80页
中断系统及其应用.ppt_第2页
第2页 / 共80页
中断系统及其应用.ppt_第3页
第3页 / 共80页
中断系统及其应用.ppt_第4页
第4页 / 共80页
中断系统及其应用.ppt_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《中断系统及其应用.ppt》由会员分享,可在线阅读,更多相关《中断系统及其应用.ppt(80页珍藏版)》请在三一办公上搜索。

1、第六章 中断系统及其应用,6.1 中断的基本概念,6.1.1 中断概念6.1.2 中断源6.1.3 中断系统功能,6.1.1 中断概念,计算机在执行程序的过程中,由于CPU之外的某种原因,有必要尽快地中止该程序的执行,转而去执行相应的处理程序,待处理程序结束之后,再返回来继续执行从断点处开始的原程序。这种程序在执行过程中由于外界的原因而被中间打断的情况称为“中断”。,6.1.1 中断概念,中断之后,CPU执行的处理程序,称为中断服务程序,而把中断之前原来运行的程序称为主程序。主程序被断开的位置(地址)称为断点。能够向CPU发出中断申请的来源,称为中断源,它是引起CPU中断的原因。中断源向CPU

2、要求服务的请求称为中断请求,或中断申请。,6.1.1 中断概念,CPU响应中断,进行中断处理类似于调用子程序。其区别在于,由于引起中断的原因是随机发生的,因而转向中断服务程序进行中断处理也是随机的;而调用子程序,则是在程序中事先安排好的。,6.1.1 中断概念,引入中断的益处实现分时操作。CPU在启动外设之后,继续执行主程序,同时外设也开始工作。当外设需要服务时,便向CPU发出中断申请,CPU转去为外设作短暂的服务,中断处理完毕又返回执行主程序,外设也继续工作。这样就解决了快速的CPU与慢速的外设之间的矛盾,CPU可以和多个外设同时工作,大大提高了CPU的利用率。,6.1.1 中断概念,实现实

3、时处理。所谓实时,就是指物理事件发生的真实时间。实时处理,就是指计算机对外来信号的响应要及时,或者说对外来的信息要在限定的时间内对其进行处理,否则会丢失信息,产生错误的处理。微型机用于实时控制时,现场的各种参数、状态信息在任何时刻均可发出中断请求,要求CPU及时进行处理,引进中断后就能迅速作出响应处理。一般来说,实现实时任务的手段就是采用中断。,6.1.1 中断概念,及时处理故障。微型机在运行过程中,出现一些事先无法预料的故障是难免的,如电源突变,运算溢出等,采用中断,计算机便可自行处理而无需停机。由于中断请求是随机输入的,因中断错误而引起事故的再现性极差,所以对于中断故障方面的查错和测试比较

4、困难。在利用中断技术时,无论是在硬件设计或软件编制方面更应确保正确无误。,6.1 中断的基本概念,6.1.1 中断概念6.1.2 中断源6.1.3 中断系统功能,6.1.2 中断源,中断源是提出中断申请的来源。中断源通常可分为以下几种。设备中断由计算机系统各组成部分的外部设备发出的中断申请,称为设备中断。如键盘、行打印机、A/D转换器等。定时时钟 定时提出中断申请。例如,在定时控制或定时数据采集系统中,由外部时钟电路定时,一旦到达规定的时间,时钟电路就向CPU发出中断申请。,6.1.2 中断源,故障源目前,微型机的内存RAM是采用半导体存储器,所以在电源掉电时,需要接入备用电源供电电路,以便保

5、护存储器RAM中的信息。一般的做法是,在直流电源上并联电容,当电容电压因电源掉电下降到一定值时就发出中断申请,CPU响应中断执行保护现场信息的操作。,6.1.2 中断源,程序性中断源例如,为调试程序而设置断点、单步工作等。对于每个中断源,不仅要求能发出中断请求信号,而且这个信号还要能保持一定的时间,直至CPU响应这个中断请求后才能而且必须撤消这个中断请求信号。这样既不会因CPU未及时响应而丢失中断申请信号,也不会出现多次重复中断的情况。所以,要求每个中断源的接口电路中有一个中断请求触发器。另外,在实际系统中,往往有多个中断源,为了增加控制的灵活性,在每个中断源的接口电路中还设置一个中断屏蔽触发

6、器,由它控制该中断源的中断申请信号能否送到CPU。,6.1 中断的基本概念,6.1.1 中断概念6.1.2 中断源6.1.3 中断系统功能,6.1.3 中断系统功能,实现中断及返回当某一中断源发出中断申请时,若CPU允许响应这个中断请求,则CPU在现行指令执行完后,把断点处的PC值(即下一条要执行指令的地址)、有关寄存器的内容和标志位的状态推入堆栈保存下来(称为保护断点和保护现场);,6.1.3 中断系统功能,然后再转到相应的中断服务程序的入口,同时清除中断请求触发器;当中断服务程序执行完以后,再恢复被保留的寄存器的内容和标志位的状态(称为恢复现场);并将断点地址从堆栈中弹出到PC,使CPU返

7、回断点处,继续执行主程序。,6.1.3 中断系统功能,实现中断优先权排队通常在系统中有多个中断源,有时出现两个或多个中断源同时提出中断请求的情况,这就要求CPU既能区分各个中断源的请求,又能确定首先为哪一个中断源服务。为了解决这一间题,用户事先根据事件处理的紧迫性和实时性给各中断源规定了优先级别,即规定了中断源享有的先后不同的响应权利,称为中断优先权。CPU按中断优先权的高低逐次响应中断的过程称为中断优先权排队。当有两个或多个中断源同时提出中断请求时,CPU能识别出优先权高的中断源,并响应它的中断请求,待处理完后,再响应优先权低的中断源。,6.1.3 中断系统功能,实现中断嵌套当CPU响应某一

8、中断源请求而进行中断处理时,若有优先级别更高的中断源发出中断申请,则CPU应能中断正在执行的中断服务程序,保留这个程序的断点(类似于子程序嵌套),响应优先权级别高的中断,在高级中断处理完后,再返回被中断的中断眼务程序,继续原 先的处理,这个过程就是中断 嵌套。,6.1.3 中断系统功能,优先权低的中断不能中断优先权高的中断处理。所以,当CPU正在进行某一优先权的中断处理时,如果有同级或优先权级别低的中断源提出中断申请,则CPU暂不响应这个中断申请,直至正在处理的中断服务程序执行完以后才去处理新的中断申请。,6.2 MCS-51单片机的中断系统,MCS-51的中断系统主要由四个与中断有关的特殊功

9、能寄存器、中断入口、顺序查询逻辑电路等组成。,6.2 MCS-51单片机的中断系统,6.2.1 中断源6.2.2 中断控制6.2.3 中断处理过程,6.2.1 中断源,8051单片机有五个中断请求源。两个外部中断源INT0、INT1;两个片内定时器/计数器(T0、T1)的溢出中断源TF0和TF1;一个片内串行口接收或发送中断源RI或TI。,6.2.1 中断源,外部中断源外部中断源是由I/O设备请求信号或掉电故障等异常事件中断请求信号提供的。IT0外部中断0请求,由P3.2脚输入。通过外部中断0触发方式控制位IT0(TCON.0)来决定中断输入信号是低电平有效还是负跳变有效。一旦输入信号有效,便

10、使IE1标志置1,向CPU申请中断。,6.2.1 中断源,INT1外部中断1请求,由P3.3脚输入。通过外部中断1触发方式控制位IT1(TCON.1),来决定中断输人信号是低电平有效还是负跳变有效。一旦输入信号有效,便使IE1标志置1,向CPU申请中断。,6.2.1 中断源,2.内部中断源内部中断源是由单片机内部定时器溢出和串行口接收或发送数据提出的中断申请。TF0定时器T0溢出中断请求。当定时器T0产生溢出时,定时器T0中断请求标志TF0置1,请求中断处理。,6.2.1 中断源,TF1定时器T1溢出中断请求。当定时器T1产生溢出时,定时器T1中断请求标志TF1置1,请求中断处理。RI或TI串

11、行口中断请求。当串行口接收或发送完一帧数据时,内部串行口中断请求标志RI或TI置1,请求中断处理。,6.2.1 中断源,中断请求标志特殊功能寄存器TCON和SCON中与中断源有关的位;其作用有两种:一种是作为触发方式控制位,控制外部中断请求输入信号的有效极性;另一种是作为中断请求标志位,锁存中断源,向CPU提出中断申请,直到GPU响应中断,才由硬件或软件使相应的标志位清0。,6.2.1 中断源,TCON中的中断标志位TCON为定时器T0和T1的控制寄存器,同时也锁存T0和T1的溢出中断源和外部中断源等。TCON的字节地址为88H,与中断源有关的位如下:,6.2.1 中断源,TF1定时器T1溢出

12、中断标志。T1被允许计数以后,从初值开始加1计数,直至计满溢出时由硬件置TF1=1,向CPU请求中断。此标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。TF0定时器T0溢出中断标志。其功能、置1和清0与TF1相似。,6.2.1 中断源,IE1外部中断1请求标志。IE1=1时,外部中断1向CPU请求中断,当CPU响应该中断时,由硬件自动清0(边沿触发方式)。如果是电平触发方式,则在CPU执行完中断服务程序之前由外部中断源撤消有效电平,使IE1清0。,6.2.1 中断源,IT1 外部中断触发方式控制位。当IT1=0时,外部中断1控制为电平触发方式。在这种方式下

13、,CPU在每个机器周期的S5P2期间采样/INT1的输入电平,当检测为低电平时,则认为有中断申请,随即使IE1标志置1;当检测为高电平时,则认为无中断申请或中断申请已撤除,随即使IE1标志清0。在电平触发方式中,外部中断输入/INT1必须保持低电平,直到CPU响应该中断为止,并且在该中断服务程序执行完毕之前,外部中断请求信号必须撤除;否则,将产生另一次中断。,6.2.1 中断源,当IT1=I时,外部中断1控制为边沿触发方式。在这种方式下,CPU在每一个机器周期的S5P2期间采样/INT1的输入电平;如果相继的两次采祥中,一个周期内采样到/INT1为高电平,接着的下一个周期内采样到了/INT1为

14、低电平,则使IE1置1。此时表示外部中断1正在向CPU申请中断,IE1标志一直保持到该中断被CPU响应时为止,才由硬件自动清0。,6.2.1 中断源,因为每个机器周期内采样一次外部中断输入电平,所以采用边沿触发方式时,为保证CPU在两个机器周期内检测到中断请求信号由高到低的负跳变,外部中断源输入的高电平和低电平时间必须保持在12个振荡周期以上。,6.2.1 中断源,IE0外部中断请求标志,其功能与IE1类似。IT0外部中断触发方式控制位,其功能与IT1类似。,6.2.1 中断源,SCON中的中断标志SCON是串行口控制寄存器。它的字节地址是98H,其低2位为锁存串行口的接收中断和发送中断标志。

15、,6.2.1 中断源,T1串行口发送中断标志。串行口每发送完一帧数据,便由内部硬件使T1置1,表示串行口发送器向CPU申请中断。CPU响应发送器中断诸求时,并不清除T1,所以必须在中断服务程序中用CLR T1或ANL SCON,#0FDH等指令清除T1。,6.2.1 中断源,R1串行口接收中断标志。串行口每接收完一帧数据,由内部硬件置位R1,使R1=1,表示串行口接收器向CPU申请中断。CPU响应接收器中断请求时不会清除R1,必须由用户在中断服务程序中用软件使R1清0。MCS-51单片机复位后,TCON,SCON中各位均清0。,6.2 MCS-51单片机的中断系统,6.2.1 中断源6.2.2

16、 中断控制6.2.3 中断处理过程,6.2.2 中断控制,中断允许和禁止MCS-51单片机中,特殊功能寄存器IE为中断允许寄存器,通过向IE写入中断控制字,控制CPU对中断源的开放和屏蔽,以及每个中断源是否允许中断。中断允许寄存器IE的字节地址是A8H,它的格式如下;,6.2.2 中断控制,EA EA为CPU中断总允许位。当EA=1时,CPU开放中断,而每个中断源是否允许还是禁止,分别由各自的允许位确定;当EA=0时,CPU屏蔽所有的中断申请,称为关中断,或禁止中断。ESES为串行口中断允许位。ES=1,允许串行口中断;ES=0,禁止串行口中断。ET1ET1为定时器T1中断允许位。ET1=1,

17、允许T1中断;ET1=0,禁止T1中断。,6.2.2 中断控制,EX1EX1为外部中断1中断允许位。EX1=1,允许外部中断1中断;EX1=0,禁止外部中断1中断。ET0ET0为定时器T0中断允许位。ET0=1,允许T0中断;ET0=0,禁止T0中断;EX0EX0为外部中断0中断允许位。EX0=1,允许外部中断0中断;EX0=0,禁止外部中断0中断。,6.2.2 中断控制,MCS-51复位后,IE清0。由用户程序使IE中相应的位置1或清0,实现允许或禁止各中断源的中断请求。欲使某一个中断源允许中断,则必须同时使CPU开中断。控制字的写入,可用位操作指令或字节操作指令来实现。,6.2.2 中断控

18、制,中断优先级设定MCS-51有两个中断优先级,可用软件设置侮个中断源为高优先级中断或低优先级中断,可实现二级中断嵌套。高优先级中断源可中断正在执行的低优先级中断服务程序,除非在执行低优先级中断服务程序时设置了CPU关中断或禁止某些高优先级中断源的中断。,6.2.2 中断控制,同级或低优先级的中断源不能中断正在被执行的中断服务程序,一直到中断服务程序执行完毕,遇到返回指令RETI返回主程序后再执行下一条指令时才能响应新的中断申请。MCS-51的中断系统内部设有两个(用户不能访间)优先级状态触发器;其中一个触发器指示某高优先级的中断正在执行,所有后来的中断都将被阻止;另一个触发器指示某低优先级的

19、中断正在执行,所有同级的中断都将被阻止,但不阻断优先级较高的中断。,6.2.2 中断控制,特殊功能寄存器IP是中断优先级寄存器,锁存各中断源优先级的控制位,控制本中断源是高优先级中断还是低优先级中断,用户可用软件设定。IP寄存器的字节地址为B8H,它的格式如下:,6.2.2 中断控制,PS串行口中断优先级控制位。PS=1,设定串行口中断为高优先级中断;PS=0,串行口为低优先级中断。PT1定时器T1中断优先级控制位。PT1=1,设定定时器T1为高优先级中断;PT1=0,定时器T1为低优先级中断。PX1外部中断1中断优先级控制位。PX1=1,设定外部中断1为高优先级中断;PX1=0,外部中断1为

20、低优先级中断。,6.2.2 中断控制,PT0定时器T0中断优先级控制位。PT0=1,设定定时器T0为高优先级中断;PT0=0,定时器T0为低优先级中断。PX0外部中断0中断优先级控制位。PX0=1,设定外部中断。为高优先级中断;PX0=0,外部中断。为低优先级中断。,6.2.2 中断控制,当系统复位后,IP全部清0,将所有中断源设置为低优先级中断。如果CPU同时接收到两个不同优先级的中断。则处理高优先级中断请求。如果CPU同时接收到几个同一优先级的中断源的中断请求,则CPU通过内部硬件查询逻辑电路,按查询顺序确定该响应哪个中断请求。在同一级优先级中,优先级排列顺序如下:,6.2.2 中断控制,

21、这种排列顺序,在实际应用中很方便。如果重新设置了优先级,则顺序查询逻辑电路将会相应改变排列顺序。例如,如果给IP中设置的优先级控制字为12H,则PS和PT0均为高优先级中断;但当这两个中断源同时发出中断申请时,CPU将优先响应优先级高的PT0的中断申请。这种“同一级中的优先级”只能解决相同优先级中断同时请求中断的情况,而不能中断正在执行的同级优先级的中断。,6.2 MCS-51单片机的中断系统,6.2.1 中断源6.2.2 中断控制6.2.3 中断处理过程,6.2.3 中断处理过程,中断响应中断响应是指,在CPU响应中断的条件得到满足后,CPU对中断源中断请求的回答。这时,CPU应实现保护断点

22、和寻找中断源,把程序转向申请中断的中断源服务程序的入口地址。CPU响应中断的三个基本条件:首先要有中断源发出中断申请;CPU开放中断,即中断总允许位EA=1,CPU允许所有中断源申请中断;申请中断的中断源的中断允许位为1,即此中断源可以向CPU申请中断,称为对应中断源中断开放。,6.2.3 中断处理过程,如果前述条件满足,则CPU会响应中断。但是,若有下列任何一种情况存在,则中断响应会被阻止:CPU正在处理相同级的或更高优先级的中断。现行机器周期不是所执行的指令的最后一个机器周期,即在执行的指令完成之前,任何中断请求都得不到响应。这样就可保证必须是现行指令执行完后才可响应中断。正在执行的指令是

23、RETI或是访间IE或IP的指令,此时不会马上响应中断请求,而是在执行RETI或访间IE或IP之忘至少需要再执行一条其他指令,才会响应新的中断申请,以便保证能正确返回。若存在上述任何一种情况,CPU将丢弃中断查询结果;否则,将在紧接着的下一个机器周期内执行中断查询结果,响应中断。,6.2.3 中断处理过程,CPU在每个机器周期的S5P2期间对各中断源采样,设置相应的中断标志位;并下一个机器周期S6期间按优先级顺序查询各中断标志;如查询某个中断标志为1,将在再下一个机器周期S1期间按优先级进行中断处理。,6.2.3 中断处理过程,如果中断是由于上述三种情况之一未被及时响应。而且当上述阻止中断的条

24、件被撤消之后,中断标志却已经消失了,这次中断申请就不再会被响应。即是说,CPU不会记住某一中断申请曾经有效但没有被响应的事件。,6.2.3 中断处理过程,中断响应过程如果中断响应条件满足,且不存在阻止中断响应的情况,则CPU将响应中断。CPU响应中断时,先置位相应的优先级状态触发器,用于指示CPU开始处理的中断优先级别,然后由中断系统通过硬件生成长调用指令LCALL;CPU执行此指令,清除中断请求源申请标志(但TI和RI不清0),把断点地址压入堆栈保护起来;然后将被响应的中断入口地址装入程序计数器PC中,使CPU转向该中断入口地址,以执行中断服务程序。,6.2.3 中断处理过程,各中断源的中断

25、入口地址分配如下:,6.2.3 中断处理过程,由上述可见,各中断源的中断入口地址之间只相隔8个字节,一般的中断服务程序是容纳不下的;因而在实际应用中,通常是在中断入口地址处存放一条无条件转移指令(LJMP addr16),addr16就是中断服务程序的入口地址。这样,可以使中断服务程序灵活地安排在64K字节程序存储器的任何空间内。,6.2.3 中断处理过程,中断处理和中断返回中断服务程序从入口地址开始执行,直到返回指令RETI为止。这个过程称为中断处理,或中断服务。中断处理的具体内容,因中断源的要求不同而各不相同。中断服务程序的一般流程如图所示。,6.2.3 中断处理过程,一般微处理器在响应某

26、一中断后会自动地关中断,而MCS-51单片机不具备这种功能,必须在中断服务程序中用软件关中断。这样,可以保证本中断服务程序的迅速执行,而不会被更高的优先级中断源中断。,6.2.3 中断处理过程,所谓“现场”,是指进入中断服务程序入口地址之前,有关寄存器(如累加器A,P5W及其他寄存器)中的内容。如果在中断服务程序中,也会用到这些寄存器,就会破坏它原来寄存器中的内容,一旦返回主程序,就会造成主程序的混乱。进入中断服务程序后,应首先保护现场,然后再执行中断服务程序。在返回主程序之前,应恢复现场。在恢复现场之后,中断返回之前,用软件开中断,以便CPU响应新的中断申请。,6.2.3 中断处理过程,RE

27、TI指令是中断服务程序结束的标志。所以,中断服务程序的最后一条指令必须是中断返回指令 RETI。CPU执行这条指令之后,对中断响应时置1的优先级状态触发器清0,然后将堆找中保护的断点地址弹出到程序计数器PC中,于是CPU返回断点处继续执行主程序。,6.2.3 中断处理过程,如果现场信息不需要保护,则保护现场和恢复现场都可省去;此外,对MCS-51单片机中断嵌套的实现,除了通过硬件和软件来实现中断优先级外,还必须通过中断服务程序中编程的配合来实现。通常为了使现场信息不致受到破坏或者造成混乱、一般在保护现场和恢复现场时,CPU不能响应新的中断请求。,6.2.3 中断处理过程,在编写中断服务程序时,

28、要注意在保护现场之前关中断,在保护现场之后再开中断,即允许有更高优先级的中断打断它;恢复现场之前也要关中断,恢复现场之后,中断返回之前再开中断。这时,中断服务程序的编写格式如下:,CLR EA;关中断PUSH A;保护现场PUSH R1SETB EA;开中断;中断服务CLR EA;关中断POP R1;恢复现场POP ASETB EA;开中断RETI;中断返回,6.2.3 中断处理过程,中断请求的撤除CPU响应某中断请求后,在中断返回之前,必须撤除中断请求,否则会错误地引起另一次中断发生。对定时器T0或T1的中断,由于CPU在响应中断后,内部硬件自动清除了相应的中断请求标志TF0或TF1,所以无

29、需采取其他措施。,6.2.3 中断处理过程,对于边沿触发的外部中断,CFU在响应中断后,也是由硬件自动清除相应的中断请求标志IE0或IE1,因此也无需采取其他措施。对于电平触发的外部中断,CPU响应中断时不会自动清除中断请求标志IE0或IE 1、所以,在CPU响应中断后,应立即撤除INTI或INT0引脚上的低电平。对于串行口中断,CPU响应中断后,内部硬件没有清除TI或RI,故这些中断请求标志不会自动清除,必须在中断服务程序中用软件来清除中断请求标志TI或RI。,6.2.3 中断处理过程,中断响应时间中断响应时间:指CPU 查询到有效中断标志后,PC 转移到矢量入口的时间。以外部中断响应为例,

30、说明中断响应时间。CPU在每个机器周期的S5P2期间采样/INT0和/INT1电平并锁存到IE0或IE1标志位上,而CPU要在下一个机器周期才会查询这些标志位,这时如果满足中断响应条件,CPU便接着执行硬件长调用指令LCALL,转到相应的中断入口。调用指令本身需2个机器周期,这样,从外部中断请求有效到开始执行中断服务程序的第一条指令之间至少需要3个机器周期,这是最短的响应时间。,6.2.3 中断处理过程,如果遇到中断响应受阻的情况,则需要更长的响应时间。例如,当一个同级或更高级中断正在处理,则附加的等待时间取决于正在进行的中断服务程序。如果正在执行的指令还没有进行到最后的机器周期,则所需的附加

31、时间不会多于3个机器周期,因为最长的乘法、除法指令也只需4个机器周期;如果正在执行RETI或访问IE,IP的指令,则附加的等待时间不会多于5个机器周期(完成正在执行的指令最多还需1个机器周期,加上执行最长的指令需4个机器周期)。这样,在只有一个中断源的情况下,外部中断响应时间总是在38个机器周期之间。,6.2.3 中断处理过程,CPU对外部中断申请信号的要求如果出现如图所示的外部中断申请新号,则无论是低电平触发还是下降沿触发,都无法可靠地引起中断。高电平和低电平的持续时间不可短于一个机器周期,6.3 中断服务应用程序设计,中断结构初始化:选择触发方式、开放中断理解以下指令的作用:MOV SP,

32、#40H SETB IT0 SETB EX0 SENB EA,6.3 中断服务应用程序设计,中断服务程序设计例:利用外部中断0、1 设计一个加1、减1 计数器要求:按动开关K1 实现加1 计数;按动K2 实现减1 计数;硬件连线:(P.24)/INT0(P3.2 引脚)/INT1(P3.3 引脚),6.3 中断服务应用程序设计,主流程:/INT0 中断服务流程:,/INT1 中断服务流程:,6.3 中断服务应用程序设计,注意:1.中断入口的处理方法2.中断程序调试方法3.中断标志的变化过程4.RETI 与RET 的区别,6.3 中断服务应用程序设计,讨论:1.执行中断服务流程需要多长时间?2.

33、在开关拨动过程中能够正常计数吗?3.如何避免重复中断?,6.3 中断服务应用程序设计,思考:1.电平触发方式下如何避免重复中断?有哪些方法?2.在电平触发方式下中断会丢失吗?3.在边沿触发方式下应注意什么问题?,6.3 中断服务应用程序设计,按键抖动问题:,6.4 中断源扩展,中断和查询结合的方法若系统中有多个外部中断请求源,则可以按它们的轻重缓急程度进行排队,把其中最高优先级的中断源直接输入到/INT0,其余的中断源输入线经集电极开路门线与后再和/INT1连接,同时还分别连到一个I/O口,以供查询。例如,有5个外部中断源,其中IR0优先级最高,其次为IR1,IR2,IR3,IR4。,6.4

34、中断源扩展,INT1:PUSHPSW;保护现场PUSHAJBP1.0,IR1;查询中断源JBP1.1,IR2JBP1.2,IR3JBP1.3,IR4INTIR:POPA;恢复现场POPPSWRETIIR1:;IR1中断服务程序AJMPINTIRIR2:;IR2中断服务程序AJMPINTIRIR3:;IR3中断服务程序AJMPINTIRIR4:;IR4中断服务程序AJMPINTIR,6.4 中断源扩展,思考:中断申请电平高有效,还是低有效?如何判断IR1-IR4 的中断优先级别?若使IR4 的优先级别高于IR1 应如何修改程序?,本章小结,有关中断的基本概念中断、中断源、中断优先、中断响应、中断服务、中断返回中断屏蔽、中断等待、中断丢失,本章小结,51 单片机中断系统结构51 单片机的中断源、中断优先级别与中断结构相关的 SFR中断标志位:IE0,IE1外部中断类型选择位:IT0、IT1中断允许:EA、EX0、EX1中断优先控制位:PX0、PX1外部中断信号输入端:/INT0、/INT1,本章小结,中断标志IE0,IE1 置1 和清零的原则CPU 响应中断申请的基本条件和延缓响应的三种情况中断服务程序设计和调试方法,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号