📄 biao.asm
字号:
ADDC A,R2
DA A
MOV R2,A
DJNZ R7,SBCDT1
MOV A,R2
ANL A,#0FH
MOV SEE16,A
MOV A,R2
SWAP A
ANL A ,#0FH
MOV SEE17,A
MOV A ,R3
ANL A,#0FH
MOV SEE14,A
MOV A,R3
SWAP A
ANL A,#0FH
MOV SEE15,A
MOV A,R4
ANL A,#0FH
MOV SEE12,A
MOV A,R4
SWAP A
ANL A,#0FH
MOV SEE13,A
MOV A,R5
ANL A,#0FH
MOV SEE10,A
MOV A,R5
SWAP A
ANL A,#0FH
MOV SEE11,A
RET
;--------------------------------------------------------------
;外中断0初始化程序-----------
DDJCRST: SETB IT0
SETB EA
SETB EX0
RET
;--------------------------------------------------------------
;外中断0服务程序
DDJC: PUSH A
PUSH B
PUSH DPL
PUSH DPH
PUSH 00H
PUSH 01H
PUSH 02H
PUSH 03H
PUSH 04H
PUSH 05H
PUSH 06H
PUSH 07H
MOV JWW,C
MOV MTD1,YDL1
MOV MTD2,YDL2
MOV MTD3,YDL3
MOV MTD4,YDL4
MOV MTD5,SDL1
MOV MTD6,SDL2
MOV MTD7,SDL3
MOV MTD,#00H
MOV NUMBYT,#8
MOV SLA,#0A0H
LCALL WRNBYT
MOV C,JWW
POP 07H
POP 06H
POP 05H
POP 04H
POP 03H
POP 02H
POP 01H
POP 00H
POP DPH
POP DPL
POP B
POP A
RETI
;----------------------------------------------------------------
;键盘复位程序
KEYRST: SETB S1
MOV KEYW,#01H
MOV SEER,#0FFH
MOV SEE,#00H
RET
;-----------------------------------------------------------------
; 键扫描程序
KEY: JB S1,KEY4
MOV DEL,#26
LCALL DELY
JB S1,KEY4
MOV A,KEYW
RL A
MOV KEYW,A
JNB KEYW.03H,KEY1
SETB KEYW.00H
CLR KEYW.03H
KEY1: JNB KEYW.00H,KEY2
MOV SEE,#0
KEY2: JNB KEYW.01H,KEY3
MOV SEE,#1
KEY3: JNB KEYW.02H,KEY4
MOV SEE,#2
KEY4: RET
DELY: PUSH DEL
DELY1: PUSH DEL
DELY2: PUSH DEL
DELY3: DJNZ DEL,DELY3
POP DEL
DJNZ DEL,DELY2
POP DEL
DJNZ DEL,DELY1
POP DEL
DJNZ DEL,DELY
RET
;--------------------------------------------------------------
; E2PROM复位程序
AT24RST: MOV SLA,#00H
MOV NUMBYT,#00H
MOV MTD,#00H
MOV MTD1,#00H
MOV MTD2,#00H
MOV MTD3,#00H
MOV MTD4,#00H
MOV MTD5,#00H
MOV MTD6,#00H
MOV MTD7,#00H
MOV MTD8,#00H
MOV MRD,#00H
MOV MRD1,#00H
MOV MRD2,#00H
MOV MRD3,#00H
MOV MRD4,#00H
MOV MRD5,#00H
MOV MRD6,#00H
MOV MRD7,#00H
MOV MRD8,#00H
RET
WRNBYT: NOP
NOP
LCALL STA
NOP
NOP
MOV A,SLA
NOP
NOP
LCALL WRB
NOP
NOP
LCALL CACK
NOP
NOP
JB F0,WRNBYT
MOV R0,#MTD
MOV R5,NUMBYT
WRDA: MOV A,@R0
LCALL WRB
NOP
NOP
LCALL CACK
NOP
NOP
JB F0,WRNBYT
INC R0
DJNZ R5,WRDA
LCALL STOP
RET
RDNBYT: NOP
NOP
LCALL STA
NOP
NOP
MOV A,SLA
LCALL WRB
NOP
NOP
LCALL CACK
NOP
NOP
JB F0,RDNBYT
MOV A,MRD
NOP
NOP
LCALL WRB
NOP
NOP
LCALL CACK
NOP
NOP
JB F0,RDNBYT
NOP
NOP
LCALL STA
MOV A,SLA
SETB ACC.0
LCALL WRB
NOP
NOP
LCALL CACK
NOP
NOP
JB F0,RDNBYT
MOV R1,#MRD1
GO_ON: LCALL RDB
MOV @R1,A
DJNZ NUMBYT,ACK
LCALL MNACK
NOP
NOP
LCALL STOP
RET
ACK: LCALL MACK
INC R1
AJMP GO_ON
STA: SETB SDA
SETB SCL
NOP
NOP
NOP
NOP
NOP
CLR SDA
NOP
NOP
NOP
NOP
NOP
CLR SCL
RET
STOP: CLR SDA
SETB SCL
NOP
NOP
NOP
NOP
NOP
SETB SDA
NOP
NOP
NOP
NOP
NOP
CLR SDA
RET
WRB: MOV R7,#8
WLP: RLC A
JC WR1
CLR SDA
SETB SCL
NOP
NOP
NOP
NOP
NOP
CLR SCL
DJNZ R7,WLP
RET
WR1: SETB SDA
SETB SCL
NOP
NOP
NOP
NOP
NOP
CLR SCL
CLR SDA
DJNZ R7,WLP
RET
CACK: SETB SDA
SETB SCL
NOP
NOP
NOP
MOV C,SDA
MOV F0,C
CLR SCL
NOP
NOP
NOP
RET
RDB: MOV R7,#8
RLP: SETB SDA
SETB SCL
MOV C,SDA
MOV A,R6
RLC A
MOV R6,A
CLR SCL
DJNZ R7,RLP
RET
MACK: CLR SDA
SETB SCL
NOP
NOP
NOP
NOP
NOP
CLR SCL
SETB SDA
RET
MNACK: SETB SDA
SETB SCL
NOP
NOP
NOP
NOP
NOP
CLR SCL
CLR SDA
RET
;---------------------------------------------------------------
; IC卡复位程序
AT24RSTI: MOV SLA,#00H
MOV NUMBYT,#00H
MOV MTDI,#00H
MOV MTD1I,#00H
MOV MTD2I,#00H
MOV MTD3I,#00H
MOV MTD4I,#00H
MOV MTD5I,#00H
MOV MTD6I,#00H
MOV MTD7I,#00H
MOV MTD8I,#00H
MOV MRDI,#00H
MOV MRD1I,#00H
MOV MRD2I,#00H
MOV MRD3I,#00H
MOV MRD4I,#00H
MOV MRD5I,#00H
MOV MRD6I,#00H
MOV MRD7I,#00H
MOV MRD8I,#00H
RET
WRNBYTI: NOP
NOP
LCALL STAI
NOP
NOP
MOV A,SLA
NOP
NOP
LCALL WRBI
NOP
NOP
LCALL CACKI
NOP
NOP
JB F0,WRNBYTI
MOV R0,#MTDI
MOV R5,NUMBYT
WRDAI: MOV A,@R0
LCALL WRBI
NOP
NOP
LCALL CACKI
NOP
NOP
JB F0,WRNBYTI
INC R0
DJNZ R5,WRDAI
LCALL STOPI
RET
RDNBYTI: MOV RE,#200
RDNBYTI1: DJNZ RE,RDNBYTI2
MOV SEERR,SEE
MOV SEE,#6
MOV SEER,SEE
MOV TH1,#00H
MOV TL1,#00H
MOV COL,#100
SETB EA
SETB ET1
SETB TR1
RET
RDNBYTI2: NOP
NOP
LCALL STAI
NOP
NOP
MOV A,SLA
LCALL WRBI
NOP
NOP
LCALL CACKI
NOP
NOP
JB F0,RDNBYTI1
MOV A,MRDI
NOP
NOP
LCALL WRBI
NOP
NOP
LCALL CACKI
NOP
NOP
JB F0,RDNBYTI1
NOP
NOP
LCALL STAI
MOV A,SLA
SETB ACC.0
LCALL WRBI
NOP
NOP
LCALL CACKI
NOP
NOP
JB F0,RDNBYTI1
MOV R1,#MRD1I
GO_ONI: LCALL RDBI
MOV @R1,A
DJNZ NUMBYT,ACKI
LCALL MNACKI
NOP
NOP
LCALL STOPI
RET
ACKI: LCALL MACKI
INC R1
AJMP GO_ONI
STAI: SETB SDAI
SETB SCLI
NOP
NOP
NOP
NOP
NOP
CLR SDAI
NOP
NOP
NOP
NOP
NOP
CLR SCLI
RET
STOPI: CLR SDAI
SETB SCLI
NOP
NOP
NOP
NOP
NOP
SETB SDAI
NOP
NOP
NOP
NOP
NOP
CLR SDAI
RET
WRBI: MOV R7,#8
WLPI: RLC A
JC WR1I
CLR SDAI
SETB SCLI
NOP
NOP
NOP
NOP
NOP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -