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 + -
显示快捷键?