(2)中断允许控制寄存器IE 80C51对中断源的开放或关闭由中断允许控 制寄存器IE控制 IE的结构、位名称和位地址如下: IE D7 D6 D5 D4 D3 D2 D1 DO 位名称EA ES ET1 EX1 ETO EXO 位地址AFH ACH ABH AAH A9H A8H 中断源CPU 串行口T1INT1T0INT0
80C51对中断源的开放或关闭由中断允许控 制寄存器IE控制。 ⑵ 中断允许控制寄存器IE IE的结构、位名称和位地址如下: IE D7 D6 D5 D4 D3 D2 D1 D0 位名称 EA — — ES ET1 EX1 ET0 EX0 位地址 AFH — — ACH ABH AAH A9H A8H 中断源 CPU — — 串行口 T1 T0
①EA CPU中断允许控制位(总开关) EA=1,CPU开中; EA=0,CPU关中,且屏蔽所有5个中断源。 ②EX0 外中断INT0中断允许控制位 EX0=1,IN0开中;EX0=0,珏m9关中。 ③EX1 外中断INT1中断允许控制位 EX1=1,INT开中;EX1=0,珏H关中。 ④ET0 定时/计数器T0中断允许控制位 ET0=1,T0开中;ET0=0,T0关中 ⑤ET1 定时/计数器T1中断允许控制位 ET1=1,T1开中;ET1=0,T1关中。 ⑥ES 串行口中断(包括串发、串收)允许控制位 ES=1,串行口开中;ES=0,串行口关中。 说明:80C51对中断实行两级控制,总控制位是EA, 每一中断源还有各自的控制位。首先要EA=1,其 次还要自身的控制位置“1
① EA —— CPU中断允许控制位(总开关) EA=1,CPU开中; EA=0,CPU关中,且屏蔽所有5个中断源。 ② EX0 —— 外中断INT0中断允许控制位 EX0=1,INT0开中;EX0=0,INT0关中。 ③ EX1 —— 外中断INT1中断允许控制位 EX1=1,INT1开中;EX1=0,INT1关中。 ④ ET0 —— 定时/计数器T0中断允许控制位 ET0=1,T0开中;ET0=0,T0关中。 ⑤ ET1 —— 定时/计数器T1中断允许控制位 ET1=1,T1开中;ET1=0,T1关中。 ⑥ ES —— 串行口中断(包括串发、串收)允许控制位 ES=1,串行口开中;ES=0,串行口关中。 说明: 80C51对中断实行两级控制,总控制位是EA, 每一中断源还有各自的控制位。首先要EA=1,其 次还要自身的控制位置“1
例如:要使INT0开中(其余关中),可执行下列指令: MOⅴIE,#10000001B; 或者: SETB EA SETB EXO IE D7 D6 D5 D4 D3 D2 D1 DO 位名称EA ES ET1 EX1 ETO EXO 位地址|AFH ACH ABH AAH A9HA8H 中断源CPU 串行口T1INTm0INT0 中断允许控制寄存器IE
例如:要使INT0开中(其余关中),可执行下列指令: MOV IE,#1000000lB ; 或者: SETB EA ; SETB EX0 ; IE D7 D6 D5 D4 D3 D2 D1 D0 位名称 EA — — ES ET1 EX1 ET0 EX0 位地址 AFH — — ACH ABH AAH A9H A8H 中断源 CPU — — 串行口 T1 T0 中断允许控制寄存器IE
(3)中断优先级控制寄存器IP 80C51有5个中断源,划分为2个中断优先级: 高优先级和低优先级。 IP的结构、位名称和位地址如下 IE D7 D6 D5 D4 D3D2D1DO 位名称 PS PT1 PX1 PTO PXO 位地址一-- BCH BBH BAH B9HB8H 中断源 串行口T1INT1T0|INT0 ①PX0:INT0中断优先级控制位。PX0=1,为高优先级; PX0=0,为低优先级; ②PX1:INT中断优先级控制位。控制方法同上。 ③PT0:T0中断优先级控制位。控制方法同上。 ④PT1:T1中断优先级控制位。控制方法同上。 ⑤PS:串行口中断优先级控制位。控制方法同上
① PX0 :INT0中断优先级控制位。PX0=1,为高优先级; PX0=0,为低优先级; ② PX1 :INT1中断优先级控制位。控制方法同上。 ③ PT0 :T0中断优先级控制位。控制方法同上。 ④ PT1 :T1中断优先级控制位。控制方法同上。 ⑤ PS :串行口中断优先级控制位。控制方法同上。 ⑶ 中断优先级控制寄存器IP 80C51有5个中断源,划分为2个中断优先级: 高优先级和低优先级。 IP的结构、位名称和位地址如下: IE D7 D6 D5 D4 D3 D2 D1 D0 位名称 — — — PS PT1 PX1 PT0 PX0 位地址 — — — BCH BBH BAH B9H B8H 中断源 — — — 串行口 T1 INT1 T0 INT0
例如:若要将INT、串行口设置为高优先级,其余 中断源设置为低优先级,可执行下列指令: MOV IP,#00010100B; 需要指出的是,若置5个中断源全部为高优先级, 就等于不分优先级。 IE D7 D6 D5 D4 D3 D2 D1 DO 位名称 PS PT1 PX1 PTO PXO 位地址 BCH BBH BAH B9H B8H 中断源 串行口T1INTT0INT0 中断优先级控制寄存器IP
例如:若要将INT1、串行口设置为高优先级,其余 中断源设置为低优先级,可执行下列指令: MOV IP,#00010100B; 需要指出的是,若置5个中断源全部为高优先级, 就等于不分优先级。 IE D7 D6 D5 D4 D3 D2 D1 D0 位名称 — — — PS PT1 PX1 PT0 PX0 位地址 — — — BCH BBH BAH B9H B8H 中断源 — — — 串行口 T1 INT1 T0 INT0 中断优先级控制寄存器IP