4.3中断允许与中断优先级的控制中断允许控制由中断允许寄存器IE控制。中断优先级控制由中断优先级寄存器IP控制。4.3.1中断允许寄存器IEAT89S52的对各中断源的开放或屏蔽,是由中断允许寄存器IE控制的。可位寻址,格式如图4-6所示。IE字节地址为A8HD7D5D4D3D2D1DOD6EAIEESET1EX1ETOEXOA8HET2位地址AFHADHACHABHAAHA9HA8H图4-6中断允许寄存器IE的格式16
16 4.3 中断允许与中断优先级的控制 中断允许控制由中断允许寄存器IE控制。 中断优先级控制由中断优先级寄存器IP控制。 4.3.1 中断允许寄存器IE AT89S52的对各中断源的开放或屏蔽,是由中断允许寄存器 IE控制的。 IE字节地址为A8H,可位寻址,格式如图4-6所示。 图4-6 中断允许寄存器IE的格式
IE对中断的开放和关闭实现两级控制有一个总的开关中断控制位EA(IE.7位),EA=0时,所有的中断请求被屏蔽:EA=1时,开放中断,但6个中断源的中断请求是否允许,还要由IE中的低6位所对应的6个中断请求允许控制位的状态来决定(图4-6)。IE中各位功能如下:(1)EA一中断允许总开关控制位。EA=0,所有的中断请求被屏蔽。EA=1,所有的中断请求被开放。(2)ES一串行口中断允许位。ES=0,禁止串行口中断。17
17 IE对中断的开放和关闭实现两级控制。 有一个总的开关中断控制位EA(IE.7位), EA=0时,所有的中断请求被屏蔽; EA=1时,开放中断,但6个中断源的中断请求是否允许,还 要由IE中的低6位所对应的6个中断请求允许控制位的状态来决 定(图4-6)。 IE中各位功能如下: (1)EA—中断允许总开关控制位。 EA=0,所有的中断请求被屏蔽。 EA=1,所有的中断请求被开放。 (2)ES——串行口中断允许位。 ES=0,禁止串行口中断。 17
ES=1,允许串行口中断。(3)ET1一一定时器/计数器T1的溢出中断允许位。ET1=0,禁止T1溢出中断。ET1=1,允许T1溢出中断。(4)EX1一外部中断1中断允许位。EX1=0,禁止外部中断1中断。EX1=1,允许外部中断1中断(5)ETO一一定时器/计数器TO的溢出中断允许位。ETO=0,禁止TO溢出中断ET0=1,允许TO溢出中断。18
18 ES=1,允许串行口中断。 (3)ET1——定时器/计数器T1的溢出中断允许位。 ET1=0,禁止T1溢出中断。 ET1=1,允许T1溢出中断。 (4)EX1——外部中断1中断允许位。 EX1=0,禁止外部中断1中断。 EX1=1,允许外部中断1中断。 (5)ET0——定时器/计数器T0的溢出中断允许位。 ET0=0,禁止T0溢出中断。 ET0=1,允许T0溢出中断。 18
(6)EX0一一外部中断0中断允许位。EX0=0,禁止外部中断0中断。EX0=1,允许外部中断0中断。(7)EX0一一外部中断0中断允许位。EX0=0,禁止外部中断0中断。EX0=1,允许外部中断0中断AT89S52复位以后,IE被清“0”,所有的中断请求被禁止,IE中与各个中断源相应的位可用指令置“1”或清“0”,即可允许或禁止各中断源的中断申请。若使某一个中断源被允许中19
19 (6)EX0——外部中断0中断允许位。 EX0=0,禁止外部中断0中断。 EX0=1,允许外部中断0中断。 (7)EX0——外部中断0中断允许位。 EX0=0,禁止外部中断0中断。 EX0=1,允许外部中断0中断。 AT89S52复位以后,IE被清“0”,所有的中断请求被禁止。 IE中与各个中断源相应的位可用指令置“1”或清“0”,即可允 许或禁止各中断源的中断申请。若使某一个中断源被允许中
断,除了IE相应的位被置“1”外,还必须使EA位置“1”,即EA位置“1”为中断请求的必要条件。改变IE的内容,可由位操作指令来实现(即SETBbit;CLRbit),也可用字节操作指令实现。AT89S51复位以后IE被清“0”,所有中断请求被禁止。IE中与各个中断源相应的位可用指令置“1”或清“0”。20
20 断,除了IE相应的位被置“1”外,还必须使EA位置“1”,即 EA位置“1”为中断请求的必要条件。 改变IE的内容,可由位操作指令来实现(即SETB bit; CLR bit),也可用字节操作指令实现。 AT89S51复位以后, IE被清“0”,所有中断请求被禁止。IE中与各个中断源相应 的位可用指令置“1”或清“0”。 20