版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章MCS-51单片机的中断系统第5章MCS-51单片机的中断系统【学习目的和要求】通过本章的学习,应该了解MCS-51单片机中断系统的概念、结构、功能,中断源的种类和产生中断的方式;掌握中断控制寄存器IE、中断优先级寄存器IP、定时器控制寄存器TCON的使用方法;了解中断的响应过程、外部中断源的扩展原理。能熟练地编制中断初始化和中断服务程序。
5.1中断系统概述第5章MCS-51单片机的中断系统当CPU正在处理某件事情(例如,正在执行主程序)的时候,外部或内部发生的某一事件(如某个引脚上电平的变化,一个脉冲沿的发生或计数器的计数溢出等)请求CPU迅速去处理,于是,CPU暂时终止当前的工作,转去处理所发生的事件。中断服务程序处理完该事件后,再回到原来被终止的地方,继续原来的工作,这样的过程称为中断中断过程示意5.2中断系统的功能第5章MCS-51单片机的中断系统中断系统的主要功能是:(1)实现中断及中断返回当某一中断源发出中断请求时,CPU根据正在执行任务的重要性(中断优先级)来决定是否响应该中断请求。若允许响应这个中断请求,CPU在执行完相关指令后,会自动保护程序断点,然后转到此中断源对应的服务程序入口地址,执行该中断服务程序。在此中断处理完后再恢复现场,CPU返回到被中断处继续执行程序。(2)实现优先级排队每个中断源可编程为两种级别的中断,高级中断请求和低级中断请求,因此可实现两级中断服务嵌套。有时会出现两个或两个以上的中断源同时提出中断请求的情况。这时,CPU能够判别中断源的优先级别,根据中断源的优先级原则,在优先级别高的中断源处理完后,再响应级别较低的中断源。即使同一级别的中断源,在同时请求中断时,CPU响应也有先后顺序的区别。5.2中断系统的功能第5章MCS-51单片机的中断系统(3)实现优先级控制当CPU响应某一中断源的请求而进行中断处理时,若有优先级更高的中断源发出中断请求,则CPU中断正在执行的中断服务程序,保留程序的断点和现场,响应更高一级的中断。在高级中断处理完之后,再返回到被中断的服务程序继续执行。若发出中断请求的中断源优先级别与正在处理的中断源同级或更低时,CPU不响应这个中断请求,直到正在处理的中断的服务程序执行完后,才去处理新的中断请求。5.3中断系统结构第5章MCS-51单片机的中断系统5.3.1中断系统组成
MCS-51的中断系统主要由4个特殊功能寄存器和硬件查询电路等组成,定时器控制寄存器TCON、串行口控制寄存器SCON、中断允许寄存器IE和中断优先级寄存器IP,特殊功能寄存器主要用于控制中断的开放和关闭、保存中断信息、设定优先级别。硬件查询电路主要用于判定5个中断源的自然优先级别。图5-2MCS-51的中断系统结构5.3.2中断请求源第5章MCS-51单片机的中断系统MC5-51单片机的中断系统有5个中断请求源,具有两个中断优先级,可实现两级中断服务程序嵌套。MCS-51中断系统的五个中断请求源是:⑴—外部中断0请求,由
引脚输入,中断请求标志为IE0。—外部中断l请求,由⑶定时器/计数器T0溢出中断请求,中断请求标志为TF0。⑷定时器/计数器T1溢出中断请求,中断请求标志为TF1。⑸串行口中断请求,中断请求标志为TI或RI。各中断源向CPU请求中断的方式可以通过特殊功能寄存器用软件设置。⑵
引脚输入,中断请求标志为IE1。1.定时器控制寄存器TCONTCON的字节地址88H,位地址8FH~88H,与中断请求有关的各位如图5-3所示:
D7D6D5D4D3D2D1D088H
各标志位的功能如下:⑴IT0—外部中断0触发方式选择位。 IT0=0,为电平触发方式,5.4中断控制第5章MCS-51单片机的中断系统TCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H
引脚上低电平有效IT0=1,为脉冲触发方式,
引脚上的电平从高到低的负跳变有效。IT0位可由软件置“1”或清“0”。第5章MCS-51单片机的中断系统⑵IE0—外部中断0请求标志位。当IT0=0,即电平触发方式时,每个机器周期的S5P2采样引脚,若
脚为低电平,则置“1”IE0,否则清“0”IE0。当IT0=1,即跳沿触发方式时,在第一个机器周期采样为低电平,则置“1”IE0。IE0=1,表示外部中断0正在向CPU申请中断。当CPU响应中断,转向中断服务程序时,由硬件清“0”IE0。⑶IT1—外部中断1触发方式选择位,其功能同IT0。⑷IE1—外部中断1中断请求标志位,其功能同IE0。第5章MCS-51单片机的中断系统⑸TF0—定时器/计数器0溢出标志位。定时器/计数器0被启动计数后,从初值开始加1计数,当定时器/计数器0计数满而产生溢出时,由硬件自动使TF0置1,并向CPU申请中断。该标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。⑹TF1—定时器/计数器1溢出标志位,其功能同TF0。TR1(D6位)、TR0(D4位)这2个位与中断无关,仅与定时器/计数器T1和T0有关。它们的功能将在定时器/计数器一章介绍。当MC5-51单片机复位后,TCON被清0,所有的中断请求被禁止。2.串行口控制寄存器SCON串行中断请求由TI、RI的逻辑“或”得到。即不论是发送标志还是接收标志,都将发生串行中断请求。字节地址98H,可以位寻址,与中断请求有关的两位格式如图5-4所示。 D7D6D5D4D3D2D1D098HSCON中标志位的功能如下:⑴TI—串行口发送中断请求标志位。CPU将一个字节的数据写入发送缓冲器SBUF时,就启动一帧串行数据的发送,每发送完一帧串行数据后,由硬件自动使TI置1。但CPU响应中断时,CPU并不清除TI,必须在中断服务程序中用软件对TI清0。⑵RI—串行口接收中断请求标志位。在串行口允许接收时,每接收完一个串行帧,硬件自动使RI置1。CPU在响应中断时,并不清除RI,必须在中断服务程序中用软件对RI清0。
第5章MCS-51单片机的中断系统SCONTIRI位地址99H98H第5章MCS-51单片机的中断系统IEEAESET1EX1ET0EX0位地址AFHACHABHAAHA9HA8H3.中断允许寄存器IEMCS-51的CPU对中断源的开放或屏蔽,是由片内的中断允许寄存器IE控制的。IE的字节地址为A8H,位地址为AFH~A8H。中断允许寄存器IE对中断的开放和关闭实现两级控制。
D7D6D5D4D3D2D1D0A8H第5章MCS-51单片机的中断系统IE中各位的功能如下:⑴EA: 中断允许总控制位
EA=0, CPU屏蔽所有的中断请求(也称CPU关中断)。
EA=1, CPU开放所有的中断请求(也称CPU开中断)。⑵ES: 串行口中断允许位
ES=0, 禁止串行口中断;
ES=1, 允许串行口中断。⑶ET1: 定时器/计数器T1的溢出中断允许位
ET1=0, 禁止T1中断;
ET1=1, 允许T1中断。⑷EX1: 外部中断1中断允许位
EX1=0, 禁止外部中断1中断;
EX1=1, 允许外部中断1中断。⑸ET0: 定时器/计数器T0的溢出中断允许位
ET0=0, 禁止T0中断;ET0=1, 允许T0中断。⑹EX0: 外部中断0中断允许位EX0=0, 禁止外部中断0中断;EX0=1, 允许外部中断0中断。更新IE的内容,可由位操作指令来实现,也可用字节操作指令实现。第5章MCS-51单片机的中断系统【例5-1】设允许外部中断0和串行口中断,禁止其它中断源的中断申请。试根据假设条件设置IE的相应值。解:⑴用位操作指令来编写如下程序段:SETB EX0 ;允许外部中断0中断SETB ES ;允许串行口中断CLR EX1 ;禁止外部中断1中断CLR ET0 ;禁止定时器/计数器T0中断CLR ET1 ;禁止定时器/计数器T1中断SETB EA ;CPU开中断⑵用字节操作指令来编写:MOVIE,#91H第5章MCS-51单片机的中断系统4.中断优先级控制寄存器IPMCS-51的中断请求源有两个中断优先级,对于每一个中断请求源可由软件定为高优先级中断或低优先级中断,可实现两级中断嵌套。两条基本规则:⑴低优先级可被高优先级中断,反之则不能。⑵任何一种中断(不管是高级还是低级)一旦得到响应,不会再被它的同级中断源所中断。如果某一中断源被设置为高优先级中断,在执行该中断源的中断服务程序时,则不能被任何其它的中断源所中断。第5章MCS-51单片机的中断系统MCS-51的片内有一个中断优先级寄存器IP,其字节地址为B8H,位地址为BFH~B8H。只要用程序改变其内容,即可进行各中断源中断级别的设置,IP寄存器格式如下图所示。IPPSPT1PX1PT0PX0位地址BCHBBHBAHB9HB8H
D4D3D2D1D0B8H中断优先级控制寄存器IP的格式第5章MCS-51单片机的中断系统中断优先级控制寄存器IP各位的含义如下:⑴PS—串行口中断优先级控制位 PS=1,串行口定义为高优先级中断; PS=0,串行口定义为低优先级中断。⑵PT1—定时器T1中断优先级控制位
PT1=1,定时器T1定义为高优先级中断;
PT1=0,定时器T1定义为低优先级中断。⑶PX1—外部中断1中断优先级控制位
PX1=1,外部中断1定义为高优先级中断;
PX1=0,外部中断1定义为低优先级中断。⑷PT0—定时器T0中断优先级控制位
PT0=1,定时器T0定义为高优先级中断; PT0=0,定时器T0定义为低优先级中断。⑸PX0—外部中断0中断优先级控制位
PX0=1,外部中断0定义为高优先级中断;
PX0=0,外部中断0定义为低优先级中断。第5章MCS-51单片机的中断系统在同时收到几个同一优先级的中断请求时,哪一个中断请求能优先得到响应,取决于内部的查询顺序。这相当于在同一个优先级内,还同时存在另一个辅助优先级结构。中断源中断级别外部中断0T0溢出中断外部中断1T1溢出中断串行口中断最高
最低表5-1中断查询顺序表第5章MCS-51单片机的中断系统【例5-2】
设置中断优先级控制寄存器IP的初始值,使得8031的2个外中断请求为高优先级,其它中断请求为低优先级。解:⑴用位操作指令SETB PX0
;2个外中断为高优先级SETB PX1
CLR PS
;串行口、2个定时器为低
优先级中断CLR PT0CLR PT1⑵用字节操作指令
MOVIP,#05H5.5中断响应第5章MCS-51单片机的中断系统一个中断源的中断请求被响应,需满足以下条件:⑴该中断源发出中断请求。⑵CPU开中断,即中断总允许位EA=1。⑶申请中断的中断源的中断允许位=1,即该中断没有被屏蔽。⑷无同级或更高级中断正在被服务。中断响应的主要内容是由硬件自动生成一条长调用指令LCALLaddr16。这里的addr16就是程序存储区中的相应的中断源的中断入口地址。例如,对于外部中断1的响应,产生的长调用指令为:LCALL0013H第5章MCS-51单片机的中断系统生成LCALL指令后,紧接着由CPU执行该指令。首先是将程序计数器PC的内容压入堆栈以保护断点,再将中断入口地址装入PC,使程序转向相应的中断入口地址。各中断源服务程序的入口地址是固定的,如下所示。两个中断入口间只相隔8个字节,一般情况下难以安排一个完整的中断服务程序。因此,通常总是在中断入口地址处放置一条无条件转移指令,使程序执行转向在其它地址存放的中断服务程序。中断源入口地址外部中断00003H定时器/计数器T0000BH外部中断10013H定时器/计数器T1001BH串行口中断0023H第5章MCS-51单片机的中断系统中断响应是有条件的,并不是查询到的所有中断请求都能被立即响应,当遇到下列三种情况之一时,中断响应被封锁。(1)CPU正在处理相同的或更高优先级的中断。因为当一个中断被响应时,要把对应的中断优先级状态触发器置“1”(该触发器指出CPU所处理的中断优先级别),从而封锁了低级中断和同级中断。(2)所查询的机器周期不是所执行指令的最后一个机器周期。作这个限制的目的是使当前指令执行完毕后,才能进行中断响应,以确保当前指令完整的执行。(3)正在执行的指令是RETI或是访问IE或IP的指令。因为按MCS-51中断系统特性的规定,在执行完这些指令后,需要再执行一条指令才能响应新的中断请求。如果存在上述三种情况之一,CPU将不能进行中断响应。5.6外部中断的响应时间第5章MCS-51单片机的中断系统外部中断的最短响应时间为3个机器周期。其中中断请求标志位查询用1个机器周期,而这个机器周期恰好是处于正在执行指令的最后一个机器周期,在这个机器周期结束后,中断即被响应,CPU接着执行一条硬件子程序调用指令LCALL以转到相应的中断服务程序入口,而该硬件调用指令本身需2个机器周期。外部中断响应最长时间为8个机器周期。该情况发生在中断标志查询时,刚好是开始执行RETI或是访问IE或IP的指令,则需把当前指令执行完再继续执行一条指令后,才能响应中断。执行上述的RETI或是访问IE或IP的指令,最长需要2个机器周期。而接着再执行的一条指令按最长的指令(乘法指令MUL和除法指令DIV)来算,也只有4个机器周期。在加上硬件子程序调用指令LCALL的执行,需要2个机器周期。所以,外部中断响应的最长时间为8个机器周期。5.7外部中断的触发方式选择第5章MCS-51单片机的中断系统外部中断的触发有两种触发方式:电平触发方式跳沿触发方式第5章MCS-51单片机的中断系统电平触发方式若外部中断定义为电平触发方式,外部中断申请触发器的状态随着CPU在每个机器周期采样到的外部中断输入线的电平变化而变化,这能提高CPU对外部中断请求的响应速度。当外部中断源被设定为电平触发方式时,在中断服务程序返回之前,外部中断请求输入必须无效(即变为高电平),否则CPU返回主程序后会再次响应中断。所以电平触发方式适合于外部中断以低电平输入而且中断服务程序能消除外部中断请求源(即外部中断输入电平又变为高电平)的情况。第5章MCS-51单片机的中断系统跳沿触发方式外部中断若定义为跳沿触发方式,外部中断申请触发器能锁存外部中断输入线上的负跳变。即便是CPU暂时不能响应,中断申请标志也不会丢失。在这种方式中,如果相继连续两次采样,一个机器周期采样到外部中断输入为高,下一个机器周期采样为低,则置“1”中断申请触发器,直到CPU响应此中断时才清0。这样不会丢失中断,但输入的负脉冲宽度至少保持12个时钟周期(若晶振频率为6MHz,则为2uS),才能被CPU采样到。外部中断的跳沿触发方式适合于以负脉冲形式输入的外部中断请求。5.8中断请求的撤消第5章MCS-51单片机的中断系统1.定时器/计数器中断请求的撤消定时器/计数器的中断请求被响应后,硬件会自动把中断请求标志位(TF0或TF1)清"0",因此定时器/计数器中断请求是自动撤消的。2.外部中断请求的撤消
(l)跳沿方式外部中断请求的撤消这种类型中断请求的撤消,包括两项内容:中断标志位的清"0"和外部中断信号的撤消。中断标志位(IE0或IE1)的清"0"是在中断响应后由硬件自动完成的。外部中断请求信号的撤消,由于跳沿信号过后也就消失了,所以跳沿方式外部中断请求也是自动撤消的。第5章MCS-51单片机的中断系统(2)电平方式外部中断请求的撤消对于电平方式外部中断请求的撤消,中断请求标志的撤消是自动的,但中断请求信号的低电平若继续保持,则在以后的机器周期采样时,又会把已清“0”的IE0或IE1标志位重新置“1”。因此,要彻底解决电平方式外部中断请求的撤消,除了标志位清“0”之外,必要时还需在中断响应后把中断请求信号引脚从低电平强制改变为高电平。第5章MCS-51单片机的中断系统电平方式外部中断请求的撤消电路只要P1.0端输出一个负脉冲就可以使D触发器置“1”,从而撤消了低电平的中断请求信号。所需的负脉冲可通过在中断服务程序中增加如下两条指令得到。SETB P1.0 ;P1.0为“1”CLRP1.0 ;P1.0为“0”可见,电平方式的外部中断请求信号的完全撤消,是通过软硬件相结合的方法来实现的。第5章MCS-51单片机的中断系统3.串行口中断请求的撤消串行口中断请求的撤消只有标志位清“0”的问题。串行口中断的标志位是TI和RI,但对这两个中断标志不进行自动清“0”。因为在中断响应后,CPU无法知道是接收中断还是发送中断,还需测试这两个中断标志位的状态,以判定是接收操作还是发送操作,然后才能清除。所以串行口中断请求的撤消只能使用软件的方法,在中断服务程序中进行,即用如下的指令来进行标志位的清除:CLR TI ;清TI标志位CLR RI ;清RI标志位5.9中断服务程序的设计第5章MCS-51单片机的中断系统
1.中断服务程序设计的任务中断程序设计需要考虑许多问题,但中断程序设计的基本任务有下列几条:(1)设置中断允许控制寄存器IE:允许相应的中断请求源中断。
(2)设置中断优先级寄存器IP,确定并分配所使用的中断源的优先级。
(3)若是外部中断源,还要设置中断请求的触发方式IT1或IT0,以决定采用电平触发方式还是跳沿触发方式。
(4)编写中断服务程序,处理中断请求。前3条一般放在主程序的初始化程序段中。第5章MCS-51单片机的中断系统【例5-3】假设允许外部中断0中断,并设定它为高级中断,其它中断源为低级中断,采用跳沿触发方式。在主程序中可编写如下程序段:SETB EA ;EA位置“1”,CPU开中断
SETB EX0 ;EX0位置“1”,允许外部中断0产
生中断
SETB PX0 ;PX0位置“1”,外部中断0为高级
中断
SETB IT0 ;IT0位置“1”,外部中断0为跳沿
触发方式第5章MCS-51单片机的中断系统2.采用中断时的主程序结构
由于各中断入口地址是固定的,而程序又必须先从主程序起始地址0000H执行。所以,在0000H起始地址的几个字节中,要用无条件转移指令,跳转到主程序。另外,各中断入口地址之间依次相差8个字节。中断服务程序超过8个字节就占用了其它的中断入口地址,影响其它中断源的中断。为此,一般在中断进入后,利用一条无条件转移指令,把中断服务程序跳转到远离其它中断入口的适当地址。第5章MCS-51单片机的中断系统常用的主程序结构如下: ORG0000H LJMPMAIN ORG0013H
LJMPINT1MAIN:INT1:注意:在以上的主程序结构中,如果有多个中断源,就对应有多个“ORG中断入口地址”,多个“ORG中断入口地址”必须依次由小到大排列。第5章MCS-51单片机的中断系统3.中断服务程序的流程
MCS-51响应中断后,就进入中断服务程序。中断服务程序的基本流程第5章MCS-51单片机的中断系统⑴现场保护和现场恢复
所谓现场是指中断时刻单片机中某些寄存器和存储器单元中的数据或状态。
现场保护:为使中断服务程序的执行不破坏现场,以免在中断返回后影响主程序的运行,要把现场送入堆栈中保存。
现场恢复:在中断处理结束后,返回主程序之前,把保存的现场内容从堆栈中弹出,以恢复寄存器和存储器单元中的原有内容。
MCS-51的堆栈操作指令PUSHdirect和POPdirect,主要是供现场保护和现场恢复使用的。至于要保护哪些内容,应该由用户根据中断处理程序的具体情况来决定。第5章MCS-51单片机的中断系统⑵关中断和开中断
在保护现场和恢复现场前关中断,是为了防止此时有高一级的中断进入破坏现场;在保护现场和恢复现场之后的开中断是为了下一次的中断作准备,也为了允许有更高级的中断进入。
这样做的结果是,中断处理可以被打断,但原来的现场保护和恢复不允许更改,除了现场保护和现场恢复的片刻外,仍然保持着中断嵌套的功能。
但有时对于一个重要的中断必须执行完毕,不允许被其它的中断所嵌套。对此可在现场保护之前先关闭中断系统,彻底屏蔽其它中断请求,待中断处理完成后再开中断。
至于具体中断请求源的关与开,可通过CLR或SETB指令清“0”或置“1”中断允许寄存器IE中的有关位来实现。第5章MCS-51单片机的中断系统⑶中断处理
中断处理是中断源请求中断的具体目的。应用设计者应根据任务的具体要求,来编写中断处理部分的程序。
⑷中断返回
中断服务程序的最后一条指令必须是返回指令RETI,RETI指令是中断服务程序结束的标志。CPU执行完这条指令后,把响应中断时所置“1”的优先级状态触发器清“0”,然后从堆栈中弹出栈顶上的两个字节的断点地址送到程序计数器PC,弹出的第一个字节送入PCH,弹出的第二个字节送入PCL,CPU从断点处重新执行被中断的主程序。第5章MCS-51单片机的中断系统【例5-4】根据中断服务程序流程,编写出中断服务程序。假设现场保护只需要将PSW寄存器和累加器A的内容压人堆栈中保护起来。 CLR EA ;CPU关中断
POP A ;现场恢复
POP PSW SETB EA ;CPU开中断
RETI ;中断返回解一个典型的中断服务程序如下:INT: CLR EA ;CPU关中断
PUSH PSW ;现场保护
PUSH A SETB EA ;CPU开中断第5章MCS-51单片机的中断系统上述程序有几点需要说明的是:
⑴本例的现场保护假设仅仅涉及到PSW和A的内容,如果还有其它的需要保护的内容,只需要在相应的位置再加几条PUSH和POP指令即可。注意,对堆栈的操作是先进后出,次序不可颠倒。
⑵中断服务程序中的“中断处理程序段”,设计者应根据中断任务的具体要求,来编写这部分中断处理程序。
⑶如果本中断服务程序不允许被其它的中断所中断。可将“中断处理程序段”前后的"SETBEA"和“CLREA”两条指令去掉。
⑷中断服务程序的最后一条指令必须是返回指令RETI,千万不可缺少。它是中断服务程序结束的标志。CPU执行完这条指令后,返回断点处,从断点处重新执行被中断的主程序。5.10多外部中断源系统设计第5章MCS-51单片机的中断系统MCS-51为用户提供两个外部中断申请输入端
和
,实际的应用系统中,两个外部中断请求源往往不够用,需对外中断源进行扩充。1.定时器/计数器作为外部中断源的使用方法
MCS-51有两个定时器/计数器(有关定时器/计数器的工作原理将在下一章介绍),当它们选择为计数器工作模式,T0或T1引脚上发生负跳变时,T0或T1计数器加1,利用这个特性,可以把T0、T1引脚作为外部中断请求输人引脚,而定时器/计数器的溢出中断TF1或TF0作为外部中断请求标志。第5章MCS-51单片机的中断系统例如:T0设置为方式2(自动恢复常数方式)外部计数工作模式,计数器TH0、TL0初值均为0FFH,并允许T0中断,CPU开放中断,初始化程序如下:
ORG 0000H
AJMP INTL ;跳到初始化程序
…
INTL:MOV TMOD,#06H;设置T0的工作方式
寄存器
MOV TL0,#0FFH;给计数器设置初值
MOV TH0,#0FFH
SETB TR0 ;启动T0,开始计数
SETB ET0 ;允许T0中断
SETB EA ;CPU开中断
第5章MCS-51单片机的中断系统当连接在P3.4的外部中断请求输入线上的电平产生负跳变时,TL0加1,产生溢出,置“1”TF0,向CPU发出中断请求,同时TH0的内容0FFH送TL0,即TL0恢复初值0FFH,这样,P3.4相当于跳沿触发的外部中断请求源输入端。对P3.5也可做类似的处理。第5章MCS-51单片机的中断系统第5章MCS-51单片机的中断系统2.中断和查询结合的方法若系统中有多个外部中断请求源,可以按它们的轻重缓急进行排队,把其中最高级别的中断源IR0直接接到MCS-51的一个外部中断输入端
,其余的中断源IR1~IR4用“线或”的办法连到另一个外部中断输入端
,同时还连到P1口,中断源的中断请求由外设的硬件电路产生,这种方法原则上可处理任意多个外部中断。第5章MCS-51单片机的中断系统例如,5个外部中断源的排队顺序依此为:IR0、
IR1、……IR4,对于这样的中断源系统,可以采用如下所示的中断电路。中断和查询相结合的多外部中断源系统设IR1~IR4这四个中断请求源的高电平可由相应的中断服务程序所清“0”。第5章MCS-51单片机的中断系统的中断服务程序如下:
ORG0013H LJMPINT1 …INT1:PUSHPSW ;保护现场
PUSHA JBP1.0,IR1 ;如P1.0脚为高,则IR1有中断请求,跳标号IR1处理
JBP1.1,IR2 ;如P1.1脚为高,则IR2有中断请求,跳标号IR2处理
JBP1.2,IR3 ;如P1.2脚为高,则IR3有中断请求,跳标号IR3处理
JBP1.3,IR4 ;如P1.3脚为高,则IR4有中断请求,跳标号IR4处理INTIR:POPA ;恢复现场
POPPSW ;
RETI ;中断返回IR1: AJMPINTIR;IR1中断处理完毕,跳标号INTIR处执行IR2: AJMPINTIR ;IR2中断处理完毕,跳标号INTIR处执行IR3: AJMPINTIR ;IR3中断处理完毕,跳标号INTIR处执行IR4: AJMPINTIR ;IR4中断处理完毕,跳标号INTIR处执行查询法扩展外部中断源比较简单,但是扩展的外部中断源个数较多时,查询时间较长。第5章MCS-51单片机的中断系统3.用优先权编码器扩展外部中断源
当所要处理的外部中断源的数目较多而其响应速度又要求很快时,采用软件查询的方法进行中断优先级排队常常满足不了时间上的要求。由于这种方法是按照从优先级最高到优先级最低的顺序,由软件逐个进行查询,在外部中断源很多的情况下,响应优先级最高的中断和响应优先级最低的中断所需的时间可能相差很大。如果采用硬件对外部中断源进行排队就可以避免这个问题。这里将讨论有关采用优先权编码器扩展MCS-51单片机外部中断源的问题。第5章MCS-51单片机的中断系统输
入输
出01234567A2A1A0H××××××××LHHHHHHHHL×××××××LL××××××LHL×××××LHHL××××LHHHL×××LHHHHL××LHHHHHL×LHHHHHHLLHHHHHHHHHHHHHLLLLLHLHLLHHHLLHLHHHLHHHHHLLLLLLLL74LS148真值表第5章MCS-51单片机的中断系统用74LS148扩展8031外部中断源的基本硬件电路图中编码器输出端A2~A0连至8031P1口的P1.1~P1.3,编码器输出端和8031的外部中断源相连。当8个中断源中有中断申请时(低电平有效),与其对应的一组编码就出现在8031P1口的P1.1~P1.3线上,这时编码器输出端为低电平,则8031外部中断输入引脚也就为低电平。这时,若8031的中断开放,就可以响应外部中断源所提出的中断请求。第5章MCS-51单片机的中断系统引导程序: ORG 0013H ;中断服务程序入口
AJMPLAB ORG 0040HLAB: ORL P1,#0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省扬州市江都区五校2026年校初三下学期9月阶段性检测试题英语试题含解析
- 天津市静海县名校2026届初三8月月考试语文试题含解析
- 河北省沧州青县联考2026年初三第二次中考模拟考英语试题含解析
- 江苏省无锡江阴市华士片2026届全国中考英语试题必刷模拟卷含解析
- 浙江省绍兴市2025-2026学年初三调研测试(二)语文试题理试题含解析
- 江苏省扬州市大丰区2026届初三一模(期末)英语试题含解析
- 上海外国语大秀洲外国语校2026年初三年级三模数学试题试卷含解析
- 江苏省淮安市2025-2026学年初三下学期自主练习语文试题含解析
- 陕西省汉中学市实验中学2025-2026学年初三第七次考试英语试题含解析
- 涂料工程承包合同
- 2026新疆兵团第七师胡杨河市公安机关社会招聘辅警358人笔试备考试题及答案解析
- 企业车间绩效考核制度
- 乡镇禁毒举报奖惩制度
- 2026年云南省公务员考试《行政职业能力测验》(省直卷)真题解析
- 2026年江西赣州市高三一模高考数学试卷试题(含答案详解)
- 2026年安徽新闻出版职业技术学院单招综合素质考试题库及一套答案详解
- 2026创新药licenseout交易模式与价值评估体系
- 抗衰品招商课件
- 全过程造价咨询服务的质量、进度、保密等保证措施
- 2026年高考数学复习讲练测专题04 导数题型全归纳(题型专练)(原卷版)
- 学生介绍班级
评论
0/150
提交评论