📄 int3_isr.asm
字号:
;.mmregs
.include MMRegs.h
.global _INT3_ISR ,write_7279
.ref us_delay ,ms_delay
;.bss _key_code_vlue,1,0,0
**************************************************************
_INT3_ISR:
;CS<=DX, C_KEY_7279<=FSR, CLK<=CLKX, DATA<=CLKR(CLKR<=DATA)
; LD #0, DP ; reset data-page pointer
STM #0x2900,ST1 ; ST1 at default (note:INTX=1
; STM #0xF7FF,CLKMD
******* Disable All Interrupts *******
STM #0,AR0
STM PCR, McBSP0_SPSA
STM #3F24h, McBSP0_SPSD ; 1x x100
NOP
NOP
STM #3F04h, McBSP0_SPSD ; 0x x100
NOP ; delay 45us
stm #90,ar3
call us_delay
; 0x15 + data
STM #3F06h, McBSP0_SPSD ;0x x110
stm #36,ar3
call us_delay
STM #3F04h, McBSP0_SPSD ;0x x100 1
stm #40,ar3
call us_delay
STM #3F06h, McBSP0_SPSD ;0x x110
stm #36,ar3
call us_delay
STM #3F04h, McBSP0_SPSD ;0x x100 2
stm #40,ar3
call us_delay
STM #3F06h, McBSP0_SPSD ;0x x110
stm #36,ar3
call us_delay
STM #3F04h, McBSP0_SPSD ;0x x100 3
stm #40,ar3
call us_delay
STM #3F07h, McBSP0_SPSD ;0x x111
stm #36,ar3
call us_delay
STM #3F05h, McBSP0_SPSD ;0x x101 4
stm #40,ar3
call us_delay
STM #3F06h, McBSP0_SPSD ;0x x110
stm #36,ar3
call us_delay
STM #3F04h, McBSP0_SPSD ;0x x100 5
stm #40,ar3
call us_delay
STM #3F07h, McBSP0_SPSD ;0x x111
stm #36,ar3
call us_delay
STM #3F05h, McBSP0_SPSD ;0x x101 6
stm #40,ar3
call us_delay
STM #3F06h, McBSP0_SPSD ;0x x110
stm #36,ar3
call us_delay
STM #3F04h, McBSP0_SPSD ;0x x100 7
stm #40,ar3
call us_delay
STM #3F07h, McBSP0_SPSD ;0x x111
stm #36,ar3
call us_delay
STM #3F05h, McBSP0_SPSD ;0x x101 8
stm #40,ar3
call us_delay
STM #3F04h, McBSP0_SPSD ;0x x100
stm #16,ar3
call us_delay
STM #3F05h, McBSP0_SPSD ;0x x101
;CS<=DX, C_KEY_7279<=FSR, CLK<=CLKX, DATA<=CLKR(CLKR<=DATA)
nop
nop
stm #160,ar3
call us_delay
nop
STM #3F03h, McBSP0_SPSD ;0x x011
stm #10,ar3
call us_delay
STM #3E02h, McBSP0_SPSD ;0x x01x
stm #40,ar3
call us_delay
LDM McBSP0_SPSD,A
AND #0001h,A
SFTL A,+7
STL A,AR0
STM #3E00h, McBSP0_SPSD ;0x x00x 9
stm #36,ar3
call us_delay
STM #3E02h, McBSP0_SPSD ;0x x01x
stm #40,ar3
call us_delay
PSHM B
LD #0,B
LDM McBSP0_SPSD,A
AND #0001h,A
SFTL A,+6,B
LDM AR0,A
OR B,A
STL A,AR0
POPM B
STM #3E00h, McBSP0_SPSD ;0x x00x 10
stm #36,ar3
call us_delay
STM #3E02h, McBSP0_SPSD ;0x x01x
stm #40,ar3
call us_delay
PSHM B
LD #0,B
LDM McBSP0_SPSD,A
AND #0001h,A
SFTL A,+5,B
LDM AR0,A
OR B,A
STL A,AR0
POPM B
STM #3E00h, McBSP0_SPSD ;0x x00x 11
stm #36,ar3
call us_delay
STM #3E02h, McBSP0_SPSD ;0x x01x
stm #40,ar3
call us_delay
PSHM B
LD #0,B
LDM McBSP0_SPSD,A
AND #0001h,A
SFTL A,+4,B
LDM AR0,A
OR B,A
STL A,AR0
POPM B
STM #3E00h, McBSP0_SPSD ;0x x00x 12
stm #36,ar3
call us_delay
STM #3E02h, McBSP0_SPSD ;0x x01x
stm #40,ar3
call us_delay
PSHM B
LD #0,B
LDM McBSP0_SPSD,A
AND #0001h,A
SFTL A,+3,B
LDM AR0,A
OR B,A
STL A,AR0
POPM B
STM #3E00h, McBSP0_SPSD ;0x x00x 13
stm #36,ar3
call us_delay
STM #3E02h, McBSP0_SPSD ;0x x01x
stm #40,ar3
call us_delay
PSHM B
LD #0,B
LDM McBSP0_SPSD,A
AND #0001h,A
SFTL A,+2,B
LDM AR0,A
OR B,A
STL A,AR0
POPM B
STM #3E00h, McBSP0_SPSD ;0x x00x 14
stm #36,ar3
call us_delay
STM #3E02h, McBSP0_SPSD ;0x x01x
stm #40,ar3
call us_delay
PSHM B
LD #0,B
LDM McBSP0_SPSD,A
AND #0001h,A
SFTL A,+1,B
LDM AR0,A
OR B,A
STL A,AR0
POPM B
STM #3E00h, McBSP0_SPSD ;0x x00x 15
stm #36,ar3
call us_delay
STM #3E02h, McBSP0_SPSD ;0x x01x
stm #40,ar3
call us_delay
PSHM B
LD #0,B
LDM McBSP0_SPSD,A
AND #0001h,A
SFTL A,+0,B
LDM AR0,A
OR B,A
STL A,AR6
POPM B
STM #3F04h, McBSP0_SPSD ;0x x100 16
stm #80,ar3
call us_delay
STM #3F24h, McBSP0_SPSD ;1x x110
NOP
nop
STM #0x6900,ST1 ; ST1 at default (note:INTX=1
NOP
NOP
NOP
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -