pin_wakeup.dt
来自「台湾义隆(EM78P222N),DATASHEET.」· DT 代码 · 共 52 行
DT
52 行
;Defined registers
IOC6 == 0X6
PDCR == 0XB
PHCR == 0XD
WDTCR == 0XE
IMR == 0XF
;
PORT6 == 0X6
WUCR == 0XE
ISR == 0XF
ORG 0X0
NOP
JMP RESET ;Power on reset
;
ORG 0X8
NOP
JMP PIN_INT ;Interrupt vector
;
PIN_INT:
BANK 0
BC ISR, 1 ;Clear ICIF
RETI
RESET:
NOP
CALL INIT_222_DEVICE ; Initial 222
NOP
MAIN:
NOP
JMP $
;
INIT_222_DEVICE:
MOV A, @0B00011011
BANK 1
MOV WDTCR, A ; Select WDT prescaler,Disable WDT
;MOV A, @0X0F
;MOV PHCR, A ;Set PORT6.4~7 as pull high
CLR PDCR ; Set PORT6.0~7 as pull down
MOV A, @0XFF
MOV IOC6, A ;Set PORT6 as input
WDTC ; Clear WDT and prescaler
BANK 0
MOV PORT6, PORT6 ;Read PORT6
ENI ;Enable interrupt
MOV A, @0B00010000
MOV WUCR, A ;Enable PORT6 input change wale up
MOV A, @0B00000010
BANK 1
MOV IMR, A ;Enable PORT6 input change interrupt
SLEP ;
RET
;
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?