📄 nokia4.asm
字号:
CALL DELAY4
CALL DELAY4
SBIM COUNT,01H
BNZ $-4
LDI COUNT,0EH
CALL DELAY7
SBIM COUNT,01H
BNZ $-2
CALL DELAY7
CALL DELAY7
CALL DELAY7
CALL DELAY7
RTNI
;*****************************
FAMA2
ADI H_KEYNUMBER,02H
STA TBR,00H
LDA KEYNUMBER,00H
CALL 0300H
STA L_SENT,00H
LDA TBR,00H
STA H_SENT,00H
SBI H_SENT,0FH
BAZ SETUP
LDI PORTA,00H
LDI PAOUT,08H
CALL BOOTMA
SBI FAMA_FLAG,01H
BAZ $+4
LDI FAMA_FLAG,01H
CALL DELAY4
CALL DELAY4
LDI SENTCODE,09H
CALL SEND_BIT
LDI SENTCODE,08H
CALL SEND_BIT
LDI SENTCODE,07H
CALL SEND_BIT
LDI SENTCODE,07H
CALL SEND_BIT
LDA L_SENT,00H
STA SENTCODE,00H
CALL SEND_BIT
LDA H_SENT,00H
STA SENTCODE,00H
CALL SEND_BIT
EORIM L_SENT,0FH
STA SENTCODE,00H
CALL SEND_BIT
EORIM H_SENT,0FH
STA SENTCODE,00H
CALL SEND_BIT
CALL FA_CODE12
LDI COUNT,09H
CALL DELAY4
CALL DELAY4
CALL DELAY4
CALL DELAY4
SBIM COUNT,01H
BNZ $-5
CALL DELAY4
CALL DELAY4
CALL DELAY4
CALL DELAY4
JMP SETUP
;*******************************
;4 TIMES SENT 1 BIT AFTER SHIFT
;********************************
SEND_BIT
LDA SENTCODE,00H
BA0 SB11
LDA CM5,00H
BA0 $+3
CALL FA_CODE01
JMP SB10
CALL FA_CODE02
JMP SB10
SB11
LDA CM5,00H
BA0 $+3
CALL FA_CODE11 ;unit "1" ---_______
JMP SB10
CALL FA_CODE12
SB10
LDA SENTCODE,00H
BA1 SB21
LDA CM5,00H
BA0 $+3
CALL FA_CODE01 ;unit "0" ---____
JMP SB20
CALL FA_CODE02
JMP SB20
SB21
LDA CM5,00H
BA0 $+3
CALL FA_CODE11
JMP SB20
CALL FA_CODE12
SB20
LDA SENTCODE,00H
BA2 SB31
LDA CM5,00H
BA0 $+3
CALL FA_CODE01
JMP SB30
CALL FA_CODE02
JMP SB30
SB31
LDA CM5,00H
BA0 $+3
CALL FA_CODE11
JMP SB30
CALL FA_CODE12
SB30
LDA SENTCODE,00H
BA3 SB41
LDA CM5,00H
BA0 $+3
CALL FA_CODE01
RTNI
CALL FA_CODE02
RTNI
SB41
LDA CM5,00H
BA0 $+3
CALL FA_CODE11
RTNI
CALL FA_CODE12
RTNI
;*******************************
;SENT CODE "1" (7461)
;****************************FA_CODE11
LDI COUNT,09H
CALL CLOCK
CALL CLOCK
SBIM COUNT,01H
BNZ $-3
CALL CLOCK
LDI COUNT,07H
CALL CLOCK1
CALL CLOCK1
SBIM COUNT,01H
BNZ $-3
CALL CLOCK1
CALL CLOCK1
CALL CLOCK1
CALL CLOCK1
CALL CLOCK1
RTNI
;****************************
;SENT CODE WHEN IS "0" (7461)
;****************************
FA_CODE01
LDI COUNT,07H
CALL CLOCK1
CALL CLOCK1
SBIM COUNT,01H
BNZ $-3
CALL CLOCK1
CALL CLOCK1
CALL CLOCK1
CALL CLOCK1
LDI COUNT,06H
CALL CLOCK
CALL CLOCK
CALL CLOCK
SBIM COUNT,01H
BNZ $-4
CALL CLOCK
RTNI
;***********************************
FA_CODE12
LDI COUNT,0BH
CALL CLOCK
CALL CLOCK
SBIM COUNT,01H
BNZ $-3
CALL CLOCK
CALL CLOCK
LDI COUNT,07H
LDI CN,08H
CALL CLOCK1
SBIM CN,01H
BNZ $-2
SBIM COUNT,01H
BNZ $-5
RTNI
;************************************
FA_CODE02
LDI COUNT,0BH
CALL CLOCK
CALL CLOCK
SBIM COUNT,01H
BNZ $-3
CALL CLOCK
CALL CLOCK
CALL CLOCK
CALL CLOCK
LDI COUNT,09H
CALL CLOCK1
CALL CLOCK1
SBIM COUNT,01H
BNZ $-3
RTNI
;**********************************
BOOTMA
LDI COUNT,0AH
LDI CN,06H
CALL CLOCK
CALL CLOCK
CALL CLOCK
CALL CLOCK
CALL CLOCK
CALL CLOCK
SBIM CN,01H
BNZ $-6
SBIM COUNT,01H
BNZ $-10
LDI COUNT,0AH
CALL CLOCK
CALL CLOCK
CALL CLOCK
SBIM COUNT,01H
BNZ $-4
CALL CLOCK
CALL CLOCK
CALL CLOCK
CALL CLOCK
CALL CLOCK
CALL CLOCK
LDI COUNT,09H
LDI CN,0AH
CALL CLOCK1
SBIM CN,01H
BNZ $-2
SBIM COUNT,01H
BNZ $-5
CALL CLOCK1
RTNI
;***************************
NOKEY
SBI CM5,01H
BAZ $+6
SBI FAMA_FLAG,01H
BNZ $+4
LDI PORTA,00H
LDI PAOUT,08H
CALL JIESHUMA
LDI WDT,1000B ;CLEAR WDT
LDI PBOUT,00H LDI PCOUT,00H
LDI PAOUT,0FH
LDI PORTA,00H
LDI IEX,0001B
LDI IRQ,00H
STOP
NOP
JMP START
;****************************
;DELAY TIME
;****************************
DELAY4
LDI CM0,0AH
LDI CM1,0FH
NOP
NOP
NOP
NOP
SBIM CM1,01H
BNZ $-5
SBIM CM0,01H
BNZ $-8
LDI CM0,05H
SBIM CM0,01H
BNZ $-1
RTNI ;(6*16+2)*10+2+12=1000μs
;***********************************************8
DELAY5
LDI CM0,0AH
LDI CM1,0FH
NOP
NOP
SBIM CM1,01H
BNZ $-3
SBIM CM0,0AH
BNZ $-6
LDI CM0,04
SBIM CM2,01H
BNZ $-1
RTNI ;500μs
;****************************
DELAY6
LDI CM0,03H
NOP
SBIM CM0,01H
BNZ $-2
RTNI
;**********************************
DELAY7
LDI CM0,0AH
NOP
NOP
NOP
SBIM CM0,01H
BNZ $-4 ; 50
RTNI
;******************************8
;KEY DATA CODES DEFINE TABLE
;****************************
ORG 0300H
TJMP
ORG 0310H
RTNW 03H,08H ;K25=19h
RTNW 03H,0CH ; 0Eh
RTNW 03H,05H ; 0Fh
RTNW 03H,0DH ;K28=12h
RTNW 03H,0EH ;K29=null
RTNW 03H,0FH ; null
RTNW 0FH,0FH ; null
RTNW 0FH,0FH ;K32=null
RTNW 08H,01H ;K17=13h
RTNW 00H,03H ; 14h
RTNW 00H,06H ; 15h
RTNW 00H,09H ;K20=10h
RTNW 0FH,0FH ;K21=16h
RTNW 02H,0AH ; 17h
RTNW 03H,03H ; 18h
RTNW 02H,0EH ;K24=11h
ORG 0320H
RTNW 00H,0FH ;K9= 08h
RTNW 00H,02H ; 09h
RTNW 00H,05H ; 0Ah
RTNW 00H,08H ;K12=0Bh
RTNW 00H,00H ;K13=0Ch
RTNW 02H,08H ; 0Dh
RTNW 07H,00H ; 1Ah
RTNW 00H,0EH ;K16=1Bh
RTNW 00H,0CH ;K1= 00h
RTNW 00H,01H ;K2= null
RTNW 00H,04H ;K3= null
RTNW 00H,07H ;K4= 02h
RTNW 0FH,0FH ;K5= 04h
RTNW 02H,0DH ; 05h
RTNW 02H,09H ; 06h
RTNW 02H,0FH ;K8= 07h
ORG 0330H
RTNW 00H,0FH ;K33= 08h
RTNW 01H,06H ; 09h
RTNW 00H,03H ; 0Ah
RTNW 00H,02H ;K36=0Bh
RTNW 00H,01H ;K37=0Ch
RTNW 00H,06H ; 0Dh
RTNW 0FH,0FH ; 1Ah
RTNW 0FH,0FH ;K40=1Bh
RTNW 0FH,0FH ;K41= 00h
RTNW 04H,02H ;K42= null
RTNW 04H,05H ;K43= null
RTNW 04H,08H ;K44= 02h
RTNW 0FH,0FH ;K45= 04h
RTNW 0FH,0FH ; 05h
RTNW 0FH,0FH ; 06h
RTNW 05H,08H ;K48= 07h
ORG 0340H
RTNW 05H,0DH ;K9= 08h
RTNW 04H,01H ; 09h
RTNW 04H,04H ; 0Ah
RTNW 04H,07H ;K12=0Bh
RTNW 04H,09H ;K13=0Ch
RTNW 0FH,0FH ; 0Dh
RTNW 01H,07H ; 1Ah
RTNW 05H,0CH ;K16=1Bh
RTNW 01H,03H ;K9= 08h
RTNW 04H,00H ; 09h
RTNW 04H,03H ; 0Ah
RTNW 04H,06H ;K12=0Bh
RTNW 0FH,0FH ;K13=0Ch
RTNW 05H,01H ; 0Dh
RTNW 0FH,0FH ; 1Ah
RTNW 05H,09H ;K16=1Bh
;*****************************
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -