4.3中断允许与中断优先级的控制 中断允许控制由中断允许寄存器E控制。 中断优先级控制由中断优先级寄存器P控制。 4.3.1中断允许寄存器E AT89S52的对各中断源的开放或屏蔽,是由中断允许寄存器 E控制的。 E字节地址为A8H,可位寻址,格式如图4-6所示。 D7 D6 D5 D3 D2 DO E EA ET2 ES ET1 EX1 ETO EXO A8H 位地址 AFH ADH ACH ABH AAH A9H A8H 图4-6 中断允许寄存器E的格式 16
16 4.3 中断允许与中断优先级的控制 中断允许控制由中断允许寄存器IE控制。 中断优先级控制由中断优先级寄存器IP控制。 4.3.1 中断允许寄存器IE AT89S52的对各中断源的开放或屏蔽,是由中断允许寄存器 IE控制的。 IE字节地址为A8H,可位寻址,格式如图4-6所示。 图4-6 中断允许寄存器IE的格式
E对中断的开放和关闭实现两级控制。 有一个总的开关中断控制位EA(E.7位), EA=0时,所有的中断请求被屏蔽; EA=1时,开放中断,但6个中断源的中断请求是否允许,还 要由E中的低6位所对应的6个中断请求允许控制位的状态来决 定(图4-6)。 E中各位功能如下: (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)ET0一定时器/计数器T0的溢出中断允许位。 ET0=0,禁止T0溢出中断。 ET0=1,允许T0溢出中断。 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”,所有的中断请求被禁止。 E中与各个中断源相应的位可用指令置“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”,即可允 许或禁止各中断源的中断申请。若使某一个中断源被允许中
断,除了E相应的位被置“1”外,还必须使EA位置“”,即 EA位置“1”为中断请求的必要条件。 改变E的内容,可由位操作指令来实现(即SETB bit; CLR bit),也可用字节操作指令实现。AT89S51复位以后, E被清“0”,所有中断请求被禁止。E中与各个中断源相应 的位可用指令置“1”或清“0”。 20
20 断,除了IE相应的位被置“1”外,还必须使EA位置“1”,即 EA位置“1”为中断请求的必要条件。 改变IE的内容,可由位操作指令来实现(即SETB bit; CLR bit),也可用字节操作指令实现。 AT89S51复位以后, IE被清“0”,所有中断请求被禁止。IE中与各个中断源相应 的位可用指令置“1”或清“0”。 20