SN8P2808
8-bit micro-controller build-in 4*32 LCD and 12-bit ADC.
7.6 INT0(P0.0)中断
INT0 被触发,则无论P00IEN 处于何种状态,P00IRQ 都会被置“1”。如果P00IRQ=1 且P00IEN=1,系统响应
该中断;如果P00IRQ=1 而P00IEN=0,系统并不会执行中断服务。在处理多中断时尤其需要注意。
注:P0.0 的中断触发方式由PEDGE 控制。
0BFH
PEDGE
读/写
Bit 7
Bit 6
Bit 5
Bit 4
P00G1
R/W
1
Bit 3
P00G0
R/W
0
Bit 2
Bit 1
Bit 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
复位后
Bit[4:3]
P00G[1:0]:P0.0 中断触发控制位。
00 = 保留;
01 = 上升沿触发;
10 = 下降沿触发;
11 = 上升/下降沿触发(电平触发)。
¾
例:INT0 中断请求设置,电平触发。
MOV
A, #18H
B0MOV
PEDGE, A
; INT0 置为电平触发。
B0BCLR
B0BSET
B0BSET
FP00IRQ
FP00IEN
FGIE
; INT0 中断请求标志清零。
; 使能INT0 中断。
; 使能GIE。
¾
例:INT0 中断。
ORG
8H
;
JMP
INT_SERVICE
INT_SERVICE:
…
; ACC 和PFLAG 入栈保护。
B0BTS1
JMP
FP00IRQ
EXIT_INT
; 检测P00IRQ。
; P00IRQ = 0,退出中断。
B0BCLR
FP00IRQ
; P00IRQ 清零。
…
…
; INT1 中断服务程序。
EXIT_INT:
…
; ACC 和PFLAG 出栈恢复。
; 退出中断。
RETI
SONiX TECHNOLOGY CO., LTD
Page 61
Version 1.1