📄 dtsy.asm
字号:
MOV LENGTH,#1AH
MOV RADD1,#MBUY1
LCALL CERTIFY
MOV R5,#02H
MOV R3,#07EH
MOV R2,#00H
MOV R0,#BUFFER_A
LCALL RDCAR
MOV R0,#BUFFER_A
LCALL PBCD1
JB BCDERR,TERET
MOV A,MNO1
JZ TEST1
TERET:
MOV LED_BUFF1,#00H ;NO
MOV LED_BUFF2,#13H
MOV LED_BUFF3,#11H
MOV LED_BUFF4,#11H
MOV DISPTIME,#66
CLR DISPBLK
RET
TEST1:
MOV A,BUFFER_A
MOV MFIELD1,A
MOV A,BUFFER_B
MOV MFIELD2,A
TESTP2: MOV R5,#02H
MOV R3,#050H
MOV R2,#00H
MOV R0,#BUFFER_A
LCALL RDCAR
MOV R0,#BUFFER_A
LCALL PBCD1
JB BCDERR,TERET
MOV MLEF1,BUFFER_A
MOV MLEF2,BUFFER_B
MOV MNOW1,BUFFER_A
MOV MNOW2,BUFFER_B
MOV MLOAD1,#80H ;MLOAD1
MOV MLOAD2,#08H
MOV MALP1,#00H ;MALP1
CLR A
MOV MALL1,A
MOV MALL2,A
MOV MALP2,A
MOV R0,#HLOAD1
MOV R7,#4
TEST2:
MOV @R0,A
INC R0
DJNZ R7,TEST2
MOV R0,#MUSE1
MOV R7,#05H
MOV A,#0FFH
TEST3: MOV @R0,A
INC R0
DJNZ R7,TEST3
MOV rADD1,#mbuy1
MOV LENGTH,#1AH
MOV ADDr,#00h
LCALL WRRAM
lcall powend
TESTT:
MOV LED_BUFF1,#12H ;CAL
MOV LED_BUFF2,#0AH
MOV LED_BUFF3,#0CH
MOV LED_BUFF4,#11H
MOV DISPTIME,#66
CLR DISPBLK
SETB SAL_BIT
RET
;R0,R2,R3,R5,R6=========
RDCAR: CLR EA
clr fo
mov rdtimes,#10h
rdcar_1: lcall watdog
djnz rdtimes,rdstar1
ajmp rdend1
rdstar1: LCALL CSTAR
MOV A,#10100000B
ORL A,R2
ACALL SEND1
ACALL CACK
JB FO,rdcar_1
MOV A,R3
ACALL SEND1
ACALL CACK
JB FO,rdcar_1
LCALL CSTAR
MOV A,#10100001B
ORL A,R2
ACALL SEND1
ACALL CACK
JB FO,rdcar_1
MOV R6,#8
CLR A
RDCAR5: SETB CARD_sda
NOP
SETB CARD_clk
NOP
NOP
nop
MOV C,CARD_SDA
NOP
NOP
CLR CARD_CLK
NOP
NOP
RLC A
DJNZ R6,RDCAR5
lcall mnack
LCALL CAEND
MOV @R0,A
INC R0
MOV A,R3
ADD A,#01
MOV R3,A
MOV A,R2
RR A
ADDC A,#0
RL A
ANL A,#0EH
MOV R2,A
DJNZ R5,RDCAR_1
rdend1: CLR CARD_SDA
SETB EA
RDRET: RET
;*******************************
SEND1: MOV R6,#8
RDCAR2: RLC A
MOV CARD_SDA,C
LCALL CPLUS
DJNZ R6,RDCAR2
RET
;R0,R2,R3,R5,R6,R7*******************
WRCAR: CLR EA
clr fo
mov rdtimes,#10h
wrcar_1: lcall watdog
djnz rdtimes,wrstar1
ajmp wrend2
wrstar1: LCALL CSTAR
MOV A,#10100000B
ORL A,R2
ACALL SEND1
ACALL CACK
JB FO,wrcar_1
MOV A,R3
ACALL SEND1
ACALL CACK
JB FO,wrcar_1
MOV A,@R0
ACALL SEND1
ACALL CACK
JB FO,wrcar_1
LCALL CAEND
MOV A,R3
ADD A,#01H
MOV R3,A
MOV A,R2
RR A
ADDC A,#00H
RL A
ANL A,#0EH
MOV R2,A
MOV R7,#088H
WRCAR6: NOP
NOP
NOP
LCALL WATDOG
DJNZ R7,WRCAR6
INC R0
DJNZ R5,WRCAR_1
wrend2: clr card_sda
SETB EA
RET
;-------------------------
CSTAR: SETB CARD_SDA
NOP
SETB CARD_CLK
NOP
NOP
NOP
NOP
CLR CARD_SDA
NOP
NOP
NOP
NOP
CLR CARD_CLK
NOP
RET
CAEND: CLR CARD_SDA
NOP
NOP
SETB CARD_CLK
NOP
NOP
NOP
SETB CARD_SDA
NOP
NOP
NOP
CLR CARD_CLK
NOP
NOP
RET
CPLUS: SETB CARD_CLK
NOP
NOP
NOP
NOP
CLR CARD_CLK
NOP
NOP
NOP
NOP
RET
;*******************************
MACK: CLR CARD_SDA
NOP
SETB CARD_CLK
NOP
NOP
NOP
CLR CARD_CLK
NOP
SETB CARD_SDA
NOP
RET
MNACK: SETB CARD_SDA
NOP
SETB CARD_CLK
NOP
NOP
NOP
CLR CARD_CLK
NOP
CLR CARD_SDA
NOP
RET
CACK: SETB CARD_SDA
NOP
SETB CARD_CLK
NOP
NOP
MOV C,CARD_SDA
MOV FO,C
CLR CARD_CLK
NOP
RET
;*********************************
LEDTES: JB TLEDBIT1,LEDRET
MOV DISPTIME,#66
SETB TLEDBIT1
MOV A,TLED
CJNE A,#4,LEDTES1
MOV LED_BUFF4,#000H
MOV LED_BUFF3,#0FFH
MOV LED_BUFF2,#0FFH
MOV LED_BUFF1,#0FFH
MOV TLED,#03H
RET
LEDTES1: CJNE A,#3,LEDTES2
MOV LED_BUFF4,#0FFH
MOV LED_BUFF3,#000H
MOV LED_BUFF2,#0FFH
MOV LED_BUFF1,#0FFH
MOV TLED,#02H
RET
LEDTES2: CJNE A,#2,LEDTES3
MOV LED_BUFF4,#0FFH
MOV LED_BUFF3,#0FFH
MOV LED_BUFF2,#000H
MOV LED_BUFF1,#0FFH
MOV TLED,#01H
RET
LEDTES3: CJNE A,#1,LEDTES4
MOV LED_BUFF4,#0FFH
MOV LED_BUFF3,#0FFH
MOV LED_BUFF2,#0FFH
MOV LED_BUFF1,#000H
LEDTES4: MOV TLED,#00H
LEDRET: RET
;======
WATDOG: ;SETB RXD
mov 0a6h,#01eh
NOP
NOP
;CLR RXD
mov 0a6h,#0e1h
NOP
NOP
RET
;===================================
DISPPRO: JNB DISPBLK,DSPRET
MOV DISPTIME,#88
CLR DISPBLK
JNB CARDISP,RAMDISP
JB DISP_BIT,RAMDISP
LCALL carddisp
DSPRET: RET
RAMDISP: JNB RAMERR,FHDISP
MOV LED_BUFF1,#14H
MOV LED_BUFF2,#0AH
MOV LED_BUFF3,#0BH
MOV LED_BUFF4,#0EH ;EBAD
RET
FHDISP: JNB FHBIT2,LESDISP
MOV LED_BUFF1,#0DH
MOV LED_BUFF2,#17H
MOV LED_BUFF3,#05H
MOV LED_BUFF4,#11H ;SUP
RET
LESDISP: JNB LESBIT,JDQDISP
MOV LED_BUFF1,#0DH
MOV LED_BUFF2,#0EH
MOV LED_BUFF3,#0EH
MOV LED_BUFF4,#0BH ;BEEP
RET
JDQDISP:; JNB JDQERR,S30DSP
; MOV LED_BUFF1,#14H
; MOV LED_BUFF2,#0AH
; MOV LED_BUFF3,#0BH
; MOV LED_BUFF4,#11H ;BAD
; RET
S30DSP: JNB DSP30,DISPRET
MOV DISPTIME,#200 ;100
; JB DISPALL,S30DSP1
MOV LED_BUFF1,MLEF1
MOV LED_BUFF2,MLEF2
MOV DSPLOOP,#02H
LCALL ZHUAN
CLR DSP30
; SETB DISPALL
RET
;S30DSP1: MOV DISPTIME,#166
; MOV LED_BUFF1,MALL1
; MOV LED_BUFF2,MALL2
; MOV DSPLOOP,#03H
; LCALL ZHUAN
; CLR DSP30
; CLR DISPALL
; RET
DISPRET: RET
;-==================
CARDDISP: JNB TLEDBIT,CARDdisp1
ACALL LEDTES
RET
CARDDISP1: JB DISPH,DISPDATA
mov a,dsploop
jz cardispret
CLR DISPFH
CLR POIBIT
MOV LED_BUFF1,DSPLOOP
MOV LED_BUFF2,#0FH
MOV LED_BUFF3,#11H
MOV LED_BUFF4,#11H
SETB DISPH
cardispret: RET
DISPDATA: CLR DISPH
MOV A,DSPLOOP
CJNE A,#01H,CARDSP1
jnb sal_bit,dispda1
MOV LED_BUFF1,MNOW1
MOV LED_BUFF2,MNOW2
clr sal_bit
ajmp cardsp
dispda1: MOV LED_BUFF1,#00
MOV LED_BUFF2,#00
CARDSP01: AJMP CARDSP
CARDSP1: CJNE A,#02H,CARDSP2
MOV LED_BUFF1,MLEF1
MOV LED_BUFF2,MLEF2
AJMP CARDSP
CARDSP2: CJNE A,#03H,CARDSP3
MOV LED_BUFF1,MALL1
MOV LED_BUFF2,MALL2
AJMP CARDSP
CARDSP3: CJNE A,#04H,CARDSP4
MOV LED_BUFF1,MLOAD1
MOV LED_BUFF2,MLOAD2
AJMP CARDSP
CARDSP4: CJNE A,#05H,CARDSP5
MOV LED_BUFF1,MALP1
MOV LED_BUFF2,MALP2
AJMP CARDSP
CARDSP5: CJNE A,#06H,CARDSP6
MOV LED_BUFF1,LOAD1
MOV LED_BUFF2,LOAD2
CARDSP: LCALL ZHUAN
INC DSPLOOP
MOV A,DSPLOOP
XRL A,#07H
JNZ CARDSP6
MOV DSPLOOP,#01H
clr cardisp
CLR DSP30
MOV S30,#240
CARDSP6: RET
;======
;DISPLEFT: MOV A,LED_BUFF2
; ANL A,#0F0H
; JZ DISPLEFT1
; CLR POIBIT
; RET
;DISPLEFT1: MOV A,LED_BUFF2
; SWAP A
; ANL A,#0F0H
; MOV LED_BUFF2,A
; MOV A,LED_BUFF1
; SWAP A
; ANL A,#0FH
; ORL LED_BUFF2,A
; MOV A,LED_BUFF1
; SWAP A
; ANL A,#0F0H
; MOV LED_BUFF1,A
; clr EA
; LCALL PZERO
; SETB EA
; MOV A,R7
; ORL LED_BUFF1,A
; SETB POIBIT
; RET
;=========
ZHUAN: CLR DISPFH
CLR POIBIT
CLR DISPH1
MOV A,DSPLOOP
XRL A,#04H
JZ PX00
MOV A,DSPLOOP
XRL A,#6
JZ PX00
MOV A,DSPLOOP
XRL A,#2
JZ PX01
AJMP ZH0
PX01: CLR POIBIT ;ACALL DISPLEFT
AJMP ZH0
PX00: SETB DISPFH
ZH0: MOV A,LED_BUFF2
SWAP A
ANL A,#0FH
JNZ ZH1
MOV A,#11H
AJMP ZH11
ZH1: SETB DISPH1
ZH11: MOV LED_BUFF4,A
MOV A,LED_BUFF2
ANL A,#0FH
JNZ ZH2
JB DISPH1,ZH21
JB DISPFH,ZH2
MOV A,#11H
AJMP ZH21
ZH2: SETB DISPH1
ZH21: MOV LED_BUFF3,A
MOV A,LED_BUFF1
SWAP A
ANL A,#0FH
JNZ ZH3
JB DISPH1,ZH3
JB DISPFH,ZH3
JB POIBIT,ZH3
MOV A,#11H
ZH3: MOV LED_BUFF2,A
ANL LED_BUFF1,#0FH
RET
;===========
PLUSE: PUSH PSW
PUSH ACC
MOV PSW,#00H
setb plus
nop
JB PLUS,PLRET1
NOP
setb plus
nop
JB PLUS,PLRET1
NOP
setb plus
nop
JB PLUS,PLRET1
NOP
JB FHBIT1,PLOK
MOV A,FHBUFF1
ADD A,#01H
DA A
MOV FHBUFF1,A
MOV A,FHBUFF2
ADDC A,#0
DA A
MOV FHBUFF2,A
PLOK: INC DTIME
MOV A,DTIME
CJNE A,#16,PLRET
PLAD:
MOV DTIME,#0
SETB PLUBIT
SETB C
PLRET: JNC PLAD
;JNB STOPBIT,PLRET1
;INC INFOREG
PLRET1: POP ACC
POP PSW
RETI
;===================================
T1INT: PUSH ACC
PUSH PSW
MOV PSW,#00H
MOV TH1,#0BH
MOV TL1,#0E7H
DJNZ LIMT2,NEXT31
MOV LIMT2,#90
INC LIMT1
MOV A,LIMT1
CJNE A,#20,NEXT22
NEXT23:
SETB FHBIT1
SETB C
NEXT22: JNC NEXT23
NEXT31: JNB FHBIT2,NEXT4
INC LOADL
MOV A,LOADL
CJNE A,#240,NEXT3
NXT2: MOV LOADL,#0
INC LOADH
SETB C
NEXT3: JNC NXT2
NEXT4: DJNZ S30,next6
SETB DSP30
MOV S30,#240
NEXT6: JNB CHAKA_BIT,NEXT7
DJNZ CHAKA_TIME,NEXT7
CLR CHAKA_BIT
NEXT7: POP PSW
POP ACC
RETI
;========================
T0INT: PUSH ACC
PUSH PSW
PUSH DPH
PUSH DPL
MOV PSW,#00H
MOV TH0,#0FAH
MOV TL0,#2BH
MOV INFOREG,#01AH
JNB DISPBLK,T0I1
AJMP LD4
T0I1: MOV A,P2JC
CJNE A,#07H,LD1
MOV P0,#0FFH
ANL P2,#0F0H
ORL P2,A
MOV A,LED_BUFF1
JB TLEDBIT1,LD00
MOV DPTR,#TABLE
MOVC A,@A+DPTR
LD00: MOV P0,A
MOV P2JC,#0BH
AJMP LD6
LD1: CJNE A,#0BH,LD2
MOV P0,#0FFH
ANL P2,#0F0H
ORL P2,A
MOV A,LED_BUFF2
JB TLEDBIT1,LD5
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JNB POIBIT,LD5
ANL A,#7FH
LD5: MOV P0,A
MOV P2JC,#0DH
AJMP LD6
LD2: CJNE A,#0DH,LD3
MOV P0,#0FFH
ANL P2,#0F0H
ORL P2,A
MOV A,LED_BUFF3
JB TLEDBIT1,LD20
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JNB DISPFH,LD20
ANL A,#7FH
LD20: MOV P0,A
MOV P2JC,#0EH
SJMP LD6
LD3: CJNE A,#0EH,LD4
MOV P0,#0FFH
ANL P2,#0F0H
ORL P2,A
MOV A,LED_BUFF4
JB TLEDBIT1,LD300
MOV DPTR,#TABLE
MOVC A,@A+DPTR
LD300: MOV P0,A
DJNZ DISPTIME,LD4
JB DISPBLK1,LD30
JNB TLEDBIT1,LD301
MOV A,#0FFH
AJMP LD302
LD301: MOV A,#011H
LD302: MOV LED_BUFF4,A
MOV LED_BUFF3,A
MOV LED_BUFF2,A
MOV LED_BUFF1,A
MOV DISPTIME,#15
CLR POIBIT
CLR DISPFH
SETB DISPBLK1
SJMP LD4
LD30: SETB DISPBLK
CLR DISPBLK1
JNB TLEDBIT1,LD4
CLR TLEDBIT1
MOV A,TLED
CJNE A,#00H,LD4
CLR TLEDBIT
LD4: MOV P2JC,#07H
LD6: POP DPL
POP DPH
POP PSW
POP ACC
RETI
;================================
TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB 88H,083H,0C6H,8CH,086H,8EH
DB 0BFH,0FFH,0C7H,0C8H,0A1H,0A3H,0F0H,0C1H,0ABH
MTABLE: DB 0F9H,0D7H,0C9H,0D8H,082H,0D1H,0C3H,050H,0BDH,0C6H
DB 0B0H,097H,0C2H,0CCH,0A8H,0D1H,081H,035H
DB 0E1H,02CH,097H,06BH,0B3H,087H,086H,0FEH
DB 0CFH,004H,0C9H,092H,0C0H,031H,0A2H,062H
DB 0B6H,062H,0BEH,031H,0E7H,012H,0F9H,0FCH
DB 081H,095H,0C9H,025H,0E3H,0CCH,080H,041H
DB 0FFH,06EH,09FH,04BH,0F9H,02EH,0E4H,082H
DB 098H,0CCH,090H,09BH,093H,007H,0F2H,0BAH
DB 0E6H,0DCH,0C6H,006H,099H,02BH,0A6H,015H
DB 0A1H,00FH,0EFH,0FEH,0C1H,0F8H,0B6H,0D5H
DB 0EEH,01EH,0A5H,046H,0BCH,049H,080H,0B1H
DB 0D9H,06AH,0F9H,07DH,08AH,0A4H,0D0H,015H
DB 0ACH,03EH,0E6H,0ACH,0BAH,01CH,0B6H,0E0H
DB 0C0H,08AH,088H,0A1H,082H,0EAH,0C2H,0CFH
DB 0EBH,035H,0ACH,0AFH,0CDH,0D1H,0CEH,0C2H
DB 0CAH,07CH,096H,043H,0B8H,045H,0CEH,0D2H
DB 096H,078H,094H,064H,0F4H,014H,08FH,0AEH
DB 0F8H,056H,0CFH,0EBH,080H,039H,0A7H,076H
DB 08AH,09DH,083H,02DH,0E7H,0D5H,092H,02EH
DB 0F1H,08FH,095H,014H,08FH,0B0H,08AH,0BCH
DB 0A1H,0E0H,0EBH,05DH,0E4H,09BH,0BEH,0F7H
DB 0E3H,012H,0FBH,018H,08AH,01AH,0DAH,088H
DB 0D2H,084H,0BCH,087H,0C4H,010H,086H,0EEH
DB 0FEH,053H,0BDH,0D1H,090H,082H,0C3H,091H
DB 092H,0D3H,0E9H,094H,0CAH,0D9H,0C4H,051H
DB 0C8H,037H,0B0H,041H,0FCH,03CH,0DAH,0A5H
DB 094H,064H,0F2H,02EH,0DEH,05CH,0A5H,043H
DB 09DH,07AH,096H,04AH,0C6H,04FH,0EFH,05EH
DB 0E4H,074H,0C7H,051H,0B0H,040H,0B7H,028H
DB 0E8H,06FH,098H,0BAH,0E5H,0DCH,0F8H,0D6H
DB 0CAH,032H,0FEH,0E0H,08DH,033H,09BH,0E2H
DB 09BH,082H,099H,0A5H,0E8H,02BH,0F9H,0D7H
TABLE_2:
DW 07263H,07D53H,08142H,00F33H,02831H,04831H,09927H,04A54H
DW 09860H,07C52H,0764FH,01032H,0C542H,0821DH,0EA1AH,0FB6DH
DW 0DE4EH,0F445H,0E56CH,0E03CH,0D037H,0E90FH,0F674H,08458H
DW 0CE3EH,00F70H,09656H,0EB1AH,09D62H,0FB6EH,07360H,03E43H
DW 07938H,03B69H,0283AH,07B17H,0F954H,0442CH,0BA6EH,02D16H
DW 02E78H,02270H,0B020H,0B251H,0B849H,05D14H,0314EH,0F741H
DW 04A0BH,01620H,01A25H,0BE3FH,0255BH,08438H,07F4DH,08729H
DW 03720H,0DC0DH,0932AH,04165H,0FC52H,00425H,0BE5EH,0CE3EH
DW 0D243H,07864H,0EF12H,0E93CH,0D660H,06864H,07B67H,00506H
DW 09F41H,06568H,04028H,00B22H,0206AH,04A1CH,0B610H,0064CH
DW 09406H,0BF7AH,00E20H,0D753H,0C073H,01B2AH,0E316H,0EC0FH
DW 0B444H,07F1CH,0526BH,05445H,0A50BH,0BF0CH,08133H,0AC6CH
DW 0764CH,01058H,0AD39H,0313AH,06632H,0284EH,08453H,0E135H
DW 0C455H,0EB2AH,06649H,08F63H,03F2BH,05653H,0B84DH,09B14H
DW 0C81CH,0C808H,09B6AH,03863H,0AE65H,0542CH,02D19H,0C13DH
DW 0864BH,09F2BH,07B02H,06668H,03D1AH,06C17H,0FA69H,07B28H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -