88问答网
所有问题
什么是51 单片机中断允许触发器
如题所述
举报该问题
推荐答案 2011-12-25
中断源与中断请求
由图3.2可以看出,MCS-51系列单片机有5个中断源,它们是:外部中断INTO(P3.2) 、INTI(P3.3);定时器肼数器T0、Tl溢出中断;串行口的发送(TXD)和接收(RXD)中断源(只占1个中断源)。外部中断的中断请求标志位和T0、Tl的溢出中断请求标志位锁存在定时器/计数器控制寄存器TCON中,而串行口对应的中断请求标志位锁存在串行口控制寄存器SCON中。
1.定时器/计数器控制寄存器TCON
TCON为定时器/计数器控制寄存器,其字节映像地址为88H,可位寻址,它除了控制定时器/计数器T0、Tl的溢出中断外,还控制着两个外部中断源的触发方式和锁存两个外部中断源的中断请求标志。其格式如下:
TFl
TRl
TF0
TRO
IEl
ITl
IEO
IT0
TCON寄存器各位的含义如下:
IT0:外部中断INTO的中断触发方式选择位。
当IT0位清为0时,外部中断INTO为电平触发方式。在这种触发方式中,CPU在每一个机器周期的$5P2采样INTO(P3.2)引脚的输入电平,当采样到低电平时,置INT0的中请求标志位为1,采样到高电平清IE0位为0。在采用电平触发方式时,外部中断源(输入到INTO,即P3.2引脚)上的必须保持低电平有效,直到该中断被CPU响应,同时在该中断服务程序执行结束之前,外部中断源的有效信号必须被清除,否则将产生另一次中断。为了保证CPU能正确采样电平状态,要求外部中断源INTO有效的低电平信号至少要维持一个机器周期以上。
当IT0位置为1时,外部中[新IN-T0为边沿触发方式。在这种触发方式中,CPU在每个机器周期的$5P2采样INTO(P3.2)引脚上的输入电平。如果在相继的两个机器周期,一个周期采样到INTO为高电平,而接着的下一个周期采样到低电平,则置INTO的中断请求标志位IE0为1,即当IE0位为l时,表示外部中断INTO正在向CPU请求中断,直到该中断被CPU响应时,才由硬件自动将IE0位清为0。因为CPU在每一个机器周期采样一次外部中断源输入引脚的电平状态,因此采用边沿触发方式时,外部中断源输入的高电平信号和低电平信号时间必须保持在一个机器周期以上,才能保证CPU检测到此信号由高到低的负跳变。
IE0:外部中断:INT0的中断请求标志位。当IE0位为0时,表示外部中断源INT0没有向CPU请求中断;当IE0位为l时,表示外部中断INTO正在向CPU请求中断,且当CPU响应该中断时由硬件自动对IE0进行清0。
1T1:外部中断INTO的中断触发方式选择位。功能与ITo相同。
IEl:外部中断INTO的中断请求标志位。功能与IE0相l司。
TR0:定时器/计数器T0的启动标志位。当TR0位为0时,不允许T0计数工作;当TRO位为l时,允许T0定时或计数工作。
TF0:定时器/计数器T0的溢出中断请求标志位。在定时器/计数器T0被允许计数后,从初值开始加l计数,当产生计数溢出时由硬件自动将TF0位置为1,通过TF0位向CPU申请中断,一直保持到CPU响应该中断后才由硬件自动将TF0位清为0。当TF0位为0时,表示T0未计数或计数未产生溢出。当T0工作在不允许中断时,TF0标志可供程序查询。
TRl:定时器/计数器Tl的启动标志位。功能与TR0相l司。
TFl:定时器/计数器Tl的溢出中断请求标志位。功能与TF0相I司。
2.串行口控制寄存器SC,ON
’SCON为串口控制寄存器,其字节映像地址为98H,也可以进行位寻址。串口的接收和发送数据中断请求标志位(R1、TI)被锁存在串口控制寄存器SCON中,其格式如下:
SM0
SMl
SM2
REN
TB8
RB8
TI
RI
SCON寄存器各位的含义如下:
R1:串口接收中断请求标志位。当串行以一定方式接收数据时,每接收完一帧数据,由硬件自动将Rl位置为1。而Rl位的清0必须由用户用指令来完成。
T1:串l3发送中断请求标志位。当串口以一定方式发送数据时,每发送完一帧数据,由硬件自动将Tl位置为l。而Tl位的清0也必须由用户用指令来完成。
注意:在中断系统中,将串行口的接收中断Rl和发送中断Tl经逻辑或运算后作为内部的一个中断源。当CPU响应串口的中断请求时,CPU并不清楚是由接收中断产生的中断请求还是由发送中断产生的中断请求,所以用户在编写串口的中断服务程序时,在程序中必须识别是RI还是Tl产生的中断请求,从而执行相应的中断服务程序。
SCON其他位的功能和作用与串行通信有关,将在第6章中介绍。
在上述的特殊功能寄存器中的所有中断请求标志位,都可以由软件加以控制,即用软件置位或清0。当某位置位时,就相当于该位对应的中断源向CPU发出中断请求,如果清。就撤销中断请求。
3.2.2中断允许控制
在计算机中断系统中有两种不同类型的中断:一类为非屏蔽中断,另一类为可屏蔽中断。对于非屏蔽中断,用户不能用软件方法加以禁止,一旦有中断请求,CPU就必须予以响应。而对于可屏蔽中断,用户则可以通过软件方法来控制它们是否允许CPU去响应。允许CPU响应某一个中断请求称为中断开放(或中断允许),不允许CPU响应某一个中断请求称为中断屏蔽(或中断禁止)。
MCS一51系列单片机的5个中断源都是可屏蔽中断。由图3.2可知,CPU对中断源的中断开放或中断屏蔽的控制是通过中断允许控制寄存器IE来实现的。IE的字节映像地址为0A8H,既可以按字节寻址,也可以按位寻址。当单片机复位时,IE被清为0。
通过对IE的各位的置1或清0操作,实现开放或屏蔽某个中断,也可以通过对EA位的清O来屏蔽所有的中断源。IE的格式如下.
EA
----
-----
ES
ET1
EX1
ETO
EX0
IE寄存器各位的含义为:
EA:总中断允许控制位。当EA位为0时,屏蔽所有的中断;当EA位为l时,开放所有的中断。
ES:串口中断允许控制位。当ES位为0时,屏蔽串口中断;当ES位为l且EA位也为1时,开放串口中断。
ETl:定时器/计数器Tl的中断允许控制位。当ETl位为0时,屏蔽Tl的溢出中断;当ETl位为l且EA位也为1时,开放Tl的溢出中断。
EXl:INT1的中断允许控制位。当EXl位为0时,屏蔽INTl;当EXl位为l且EA位也为1时,开放丽。
ET0:定时器/计数器T0的中断允许控制位。功能与ETl相同。
EX0:INT0的中断允许控制位。功能与EXl相同。比如要开放INTl和Tl的溢出中断,屏蔽其他中断,则对应的中断允许控制字为:l00011008,即8CH。只要将这个结果送人IE中,中断系统就按所设置的结果来管理这些中断源。形成这个控制结果的方法可以对IE按字节操作,也可以按位操作。
按字节操作形式 按位操作形式
SETB EXl
MOV IE,#8CH SETB ETl
SETB EA
思考题3.1:如果要开放外部中断0和串口的中断,而屏蔽其他中断的控制字是什么?如何来实现这个控制结果呢?
3.2.3中断优先权管理
在中断系统中,要使某一个中断被优先响应的话,就要依靠中断优先权控制。MCS-51系列单片机对所有中断设置了两个优先权,每一个中断请求源都可以编程设置为高优先权中断或低优先权中断,从而实现二级中断嵌套。为了实现对中断优先权的管理,在MCS一51内部提供了一个中断优先级寄存器IP,其字节地址为088H,既可以按字节形式访问,又可以按位的形式访问。其格式如下:
—
-------
--------
PS
PTl
PXl
PT0
PXO
IP寄存器各位的含义如下:
PX0、PT0、PXl、PTl和PS分别为INTO、TO、INT1、Tl和串口中断优先级控制位。当相应的位为0时,所对应的中断源定义为低优先级,相反则定义为高优先级。
比如要将T0定义为高优先级,使CPU优先响应其中断,其他中断均定义为低优先级,对应的优先级控制字为O00000108,即02H。只要将这个控制字送人IP中,CPU就优先响应TO产生的溢出中断,并将其他中断按低优先级中断处理。具体操作形式如下:
按字节操作形式 按位操作形式
MOV IP,#02H SETB PT0
在同一个优先级中,各中断源的优先级别由一个内部的硬件查询序列来决定,所以在同级的中断中按硬件查询序列也确定了一个自然优先级,其从高到低的优先级排列如下:
INTO—TO—INT1—Tl--串口(RI、TI)
按中断优先权设置后,响应中断的基本原则是:
.若多个中断请求同时有效,CPU优先响应优先权最高的中断请求。
.同级的中断或更低级的中断不能中断CPU正在响应的中断过程。
.低优先权的中断响应过程可以被高优先权的中断请求所中断,CPU会暂时中止当前低优先权的中断过程,而优先响应高优先权中断。等到高优先权中断响应结束后再继续响应原低优先权的中断过程,形成中断的嵌套。为了实现上述功能和基本原则,在MCS.51系列单片机中断系统的内部设置了两个不可寻址的优先级触发器,一个是指出CPU是否正在响应高优先权中断的高优先级触发器,另一个是指出CPU是否正在响应低优先权中断的低优先级触发器。当高优先级触发器状态为l时,屏蔽所有的中断请求;当低优先级触发器状态为1时,屏蔽所有同级的中断请求而允许高优先权中断的中断请求。
MCS一51系列单片机复位后,特殊功能寄存器IE、IP的内容均为0,由用户的初始化程序对IE、IP进行初始化,开放或屏蔽某些中断并设置它们的优先权。
3.2.4中断响应
单片机一旦工作,并由用户对各中断源进行使能和优先权初始化编程后,MCS-51系列单片机的CPU在每个机器周期顺序检查每一个中断源。那么,在什么情况下CPU可以及时响应某一个中断请求呢?若CPU响应某一个中断请求,它又是如何工作的呢?
1.中断响应条件
单片机的CPU在每个机器周期的最后一个状态周期采样并按优先权设置的结果处理所有被开放中断源的中断请求。一个中断源的请求要得到响应,必须满足一定的条件。
(1)CPU正在处理相同的或更高优先权的中断请求。这种情况下只有当前中断响应结
束后才可能响应另一个中断请求。
(2)现行的机器周期不是当前所执行指令的最后一个机器周期。此时只有在当前指令执行结束周期的下一个机器周期才可能响应中断请求。
(3)正在执行的指令是中断返回指令(RETI)或者是对IE、IP的写操作指令。在这种情况下,只有在这些指令执行结束并至少再执行一条其他指令后才可能响应中断请求。如果上述条件中有一个存在,CPU将自动丢弃对中断查询的结果;若一个条件也不存在,则将在紧接着的下一个机器周期执行中断查询的结果,响应相应的中断请求。
2.中断响应过程
如果某一个中断被开放,且中断请求符合响应条件,CPU会及时响应该中断请求,并按下列过程进行处理:
(1)置相应的优先级触发器状态为1,指明了CPU正在响应的中断优先权的级别,并通过它屏蔽所有同级或更低级的中断请求,允许更高级的中断请求。
(2)执行一条硬件子程序调用,清相应的中断请求标志位为0(R1、Tl和电平触发的外部中断除外)。
(3)保护断点。即将被中断程序的断点位置(Pc的值)压人堆栈保存起来。
(4)将被响应的中断源的中断服务程序入口地址送程序计数器PC。各中断源的中断服务程序入口地址的分配情况如表l.4所示。
(5)执行相应的中断服务程序。当CPU执行完中断服务程序中的中断返回指令后,清相应的优先级触发器为0,然后恢复断点,即将保存在堆栈中的程序计数器PC的值再弹给PC,使CPU再继续执行原来被中断的程序。
3.中断响应的时间
在MCS.51系列单片机中的外部中断请求信号在每一个机器周期的第5个状态周期的第2个时钟脉冲被采样并锁存到相应的中断请求标志中,这个状态等到下一个机器周期才被查询。如果中断被开放,并符合响应条件,CPU接着执行一个硬件子程序调用指令以转到相应的中断服务程序入口,该调用指令需要2个机器周期,所以从外部产生中断请求到CPU开始执行中断服务程序的第l条指令之间,最少需要3个完整的机器周期。如果中断请求被阻止,则需要更长的时间。如果已经在处理同级或更高级中断,额外的等待取决于中断服务程序的处理过程。如果正处理的指令没有执行到最后的机器周期,即使是需要时间最长的乘法或除法指令,所需的额外等待时间不会超过3个机器周期;如果是CPU正在执行中断返回指令RETl或对IE、IP的写操作指令,加上另外一条指令的执行时间,额外的等待时间不会多于5个机器周期。所以在单一中断系统中,外部中断响应时间总是在3~8个机器周期。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://88.wendadaohang.com/zd/tVKtM1VaB.html
其他回答
第1个回答 2011-12-25
哈!一堆开关,一个让51单片机在发生的突发事件(一般51中是五个,二个外部中断,二个计时中断,一个串口中断)如它们满或有符合要求的动作时去不去执行相关的程序的开关,可要注意,这不只有单的!还有个总开关哟!EA!
相似回答
51单片机
外部
中断
是哪几个管脚?
答:
五个中断有指定的IO口,一般
51单片机
是P3.2是INT0,P3.3是INT1,P3.4是T0,P3.5是T1,INT0和INT1是外部中断,T0和T1是定时器,ES是串行口
中断允许
位,ET1是定时器1中断允许位,EX1是外部中断允许位,ET0和EX0类似。要产生中断,必须先配置好并使能中断线。根据需要的边沿检测设置两个
触发
...
51单片机
能设置几个优先级别?同一级别的
中断
源同时发出中断请求,CPU先...
答:
MCS-
51单片机
能设置两个优先级别,为使系统能及时响应并处理发生的所有
中断
,系统根据引起中断事件的重要性和紧迫程度,硬件将中断源分为若干个级别,称作中断优先级。同一级别的中断源同时发出中断请求,即在此过程中所有的中断源都属于同一级,所有中断请求
触发器
排成一行,其优先次序是离CPU越近优先级...
说明80C51
单片机
的
中断
过程.
答:
当通过软件将寄存器TCON的IT0(或IT1)位设置为0时,/INT0(或/INT1)为电平
触发
方式,CPU在每个机器周期的S5P2(第五个状态第2拍节)期间对/INT0(或/INT1)采样,一旦在P3.2(或P3.3)上检测到低电平时,则认为有外部
中断
申请,随即由硬件使TCON的IE0(或IE1)位置1,向CPU申请中断。在中断响应完成后转向中断服务子...
单片机
的指令系统是如何区分访问程序存储器空间、内部数据存储器空间...
答:
DMAC发存储器地址和读写信号 DMA控制结束,恢复CPU对总线控制 5-13 中断允许寄存器IE各位的定义是什么?请写出允许定时器/计数器T/C1溢出中断的指令。IE.8:EA,
中断允许触发器
IE.4:ES,串行口中断允许位 IE.3:ET1, 定时器/计数器1中断允许位 IE.2:EX1,外部中断1允许位 IE.1:ET0, 定时...
单片机
psw是
什么
意思?
答:
单片机
中中断的处理过程是:1、中断请求:当中断源发出中断请求时,将相应的中断请求标志位置“1”,向CPU请求一次中断服务。如果
中断允许
寄存器IE中的总控开关和相应的分控开关是闭合的,那么这个中断标志位就会传送到CPU中。2、中断响应:CPU响应中断时,先置位相应的优先级状态
触发器
,指明CPU开始处理的...
AT89S51响应
中断
是有条件的,请说出这些条件。中断响应的全过程如何...
答:
(2)中断中允许位EA=1.即CPU开中断 (3)申请中断的中断源的
中断允许
位为1,即中断没有被屏蔽 (4)无同级或更高级中断正在服务 (5)当前指令周期已经结束 (6)若现行指令为RETI或访问IE或IP指令时,该指令以及紧接着的另一条指令已执行完毕 AT89S51
单片机
的中断响应全过程:CPU在每个机器周期S5P2期间...
80c51
单片机
的RST引脚有
什么
作用?有哪几种复位方式?复位后的状态是什么...
答:
2、复位方式:要求RST保持高电平一段时间,通常上电RC电路或专用电源监控芯片做到。3、状态:是运行状态,于是CPU从0000H地址开始干活。
51单片机
是高电平复位的,如果RST引脚维持2个机器周期时间长的高电平,那么内部寄存器将会被置为合适的数值,使得系统顺序启动,正常工作时,RST 脚保持低电平。
谁能告诉我下
单片机
80c51的各引脚的作用?
答:
但RAM,定时器,计数器,串口和
中断
系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 串口通讯
单片机
的结构和特殊寄存器,这是你编写软件的关键。至于串口通信需要用到那些特殊功能寄存器呢,它们是SCON,TCON,TMOD,SCON等,各代表什么含义呢? SBUF 数据缓冲寄存器...
大家正在搜
中断请求触发器和中断允许触发器
中断允许触发器和中断屏蔽触发器
中断允许触发器的功能是什么
中断允许触发器是用来
允许中断触发器
中断允许触发器内容为83H
允许中断触发器置0
允许中断触发器英文
允许中断触发装置
相关问题
中断允许触发器是用来控制什么
控制cpu内部中断允许触发器的指令是
51单片机外部中断是哪几个管脚?
51的中断允许触发器内容83H,CPU将响应的中断请求: A...
单片机习题解答
说明80C51单片机的中断过程.
51单片机能设置几个优先级别?同一级别的中断源同时发出中断请...
单片机的中断系统是什么?