📄 int0_f .dt
字号:
;Defined register(BANK0)
R0 == 0X0
R1 == 0X1
R3 == 0X3
R4 == 0X4
ISR == 0XF
;Defined register(BANK1)
IOC5 == 0X5
IOC6 == 0X6
IOC7 == 0X7
IOC8 == 0X8
COMCON == 0XA
IMR == 0XF
;
ORG 0X0
NOP
JMP RESET ;power on reset
;
ORG 0X8
NOP
JMP INT0_F ;interrupt vector
;
INT0_F:
BANK 0
BC ISR, 2 ; Clear INT0IF
RETI
;
ORG 0X50
RESET:
DISI
NOP
CALL CLEAR_222_SRAM ;
NOP
CALL INIT_222_DEVICE ; Initial CHIP
NOP
ENI ;Enable interrupt
MAIN:
NOP
JMP $
;
INIT_222_DEVICE:
BANK 1
MOV A, @0
MOV IOC5, A ; Set PORT5 as output
MOV IOC6, A ; Set PORT6 as output
MOV IOC8, A ; Set PORT8 as output
MOV A, @0X80
MOV IOC7, A ; Set P7.7 as input
BS COMCON, 6 ;SET P77 AS INT0
MOV A, @4
MOV IMR, A ;Enable EXIE interrupt
MOV A, @0XC0 ;
CONTW
BANK 0
CLR ISR ;Clear interrupt flag
RET
;
CLEAR_222_SRAM:
MOV A, @0X10
MOV R4, A ; Initial SRAM
SRAM_LOOP:
CLR R0
INC R4
MOV A, @0X3F
AND A, R4
JBS R3, 2
JMP SRAM_LOOP
INC R1
BS R4, 5
MOV A, @0X3
AND A, R1
JBS R3, 2
JMP SRAM_LOOP
RET
;
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -