📄 main11.asm
字号:
;@@@@@@@@@@@@@@@@@@@@@___MAIN____@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
MAIN: AJMP UPKEYA3;STORE;WRITESN1 ; USER2
;*******************PASSWORD NUMBER****************************
NUM1 EQU 20H
NUM2 EQU 21H
NUM3 EQU 22H
NUM4 EQU 23H
NUM5 EQU 24H
NUM6 EQU 25H
LINSHI1 EQU 26H
LINSHI2 EQU 27H
LINSHI3 EQU 28H
LINSHI4 EQU 29H
LINSHI5 EQU 2AH
LINSHI6 EQU 2BH
LED1 EQU 30H
LED2 EQU 31H
LED3 EQU 32H
LED4 EQU 33H
LED5 EQU 34H
KEYTEST EQU 35H
GROUPLINSHI EQU 36H
BAOYUANZHI EQU 37H
ADH EQU 38H
ADL EQU 39H
;STOREDATA:40H~~~ 70H
MOV SP,#71H
;HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
;----------------------DATA RESTORE---------------------------
READDATA: MOV R0,#40H
MOV R1,#30H
CLR CS
MOV A, #03H
LCALL L_W_BETY
MOV A,#040H
LCALL L_W_BETY
READDATA1: LCALL L_R_BETY
MOV @R0,A
INC R0
DJNZ R1,READDATA1
SETB CS
;----------------------PASSWORD RESTORE------------------------
;SHI FU GAI GUO PASSWORD
TESTCSN: CLR CS
MOV A, #03H
LCALL L_W_BETY
MOV A,#016H
LCALL L_W_BETY
TESTCSN1: LCALL L_R_BETY
CJNE A,#12H,TESTCSN3
LCALL L_R_BETY
CJNE A,#34H,TESTCSN3
AJMP READSN
TESTCSN3: MOV R0,#20H
MOV R1,#6H
TESTCSN2: MOV @R0,#1H
INC R0
DJNZ R1,TESTCSN2
AJMP START
;PASSWORD ARE IN "#0F0H" OF WATCHDOG
READSN: MOV R0,#20H
MOV R1,#6H
CLR CS
MOV A, #03H
LCALL L_W_BETY
MOV A,#010H
LCALL L_W_BETY
READSN1: LCALL L_R_BETY
MOV @R0,A
INC R0
DJNZ R1,READSN1
SETB CS
;----------------------MAIN-----------------------------------
START:
LCALL L_TESTKEY
MOV R4,A
ANL A,#0FH
CJNE A,#0FH,USER
;*******************ZJ CALL PROGRAM**************************
MOV A,R4
CPL A
ANL A,#0F0H
SWAP A
JNB ACC.3,ZJ0
AJMP START
ZJ0: CJNE A,#01H,ZJ1
LCALL L_LEDTEST
AJMP START
ZJ1: CJNE A,#02H,ZJ2
LCALL L_BEEPTEST
AJMP START
ZJ2: CJNE A,#03H,ZJ3
LCALL L_KEYTEST
AJMP START
ZJ3: CJNE A,#04H,ZJ4
LCALL L_ADTEST
AJMP START
ZJ4: CJNE A,#05H,ZJ5
LCALL L_WDOGTEST
AJMP START
ZJ5: MOV R5,#030H
ZJ6: LCALL L_PLAYERRO
DJNZ R5,ZJ6
AJMP START
;*******************ZJ CALL PROGRAM END********************
;*******************USER PROGRAM*****************************
USER:
;********************INPUT PASSWORD**************************
USER1:
LCALL KEY_TEST1
CJNE A,NUM1,INPUTERROR
LCALL KEY_TEST1
CJNE A,NUM2,INPUTERROR
LCALL KEY_TEST1
CJNE A,NUM3,INPUTERROR
LCALL KEY_TEST1
CJNE A,NUM4,INPUTERROR
LCALL KEY_TEST1
CJNE A,NUM5,INPUTERROR
LCALL KEY_TEST1
CJNE A,NUM6,INPUTERROR
AJMP USER2
INPUTERROR: MOV R4,#030H
INPUTERRORC: LCALL L_PLAYERRO
DJNZ R4, INPUTERRORC
AJMP START
;********************INPUT SET KEK MODE***********************
USER2F: CJNE A,#4H,USER2
AJMP START
USER2: LCALL KEY_TEST2
CJNE A,#1H,USER2F ;SET MODE
;************************STORE DATA****************************
STORE: LCALL KEY_TEST3
CJNE A,#4H,ZZOTHER
AJMP START
ZZOTHER: CJNE A,#2H,ZZOTHER1
AJMP TAKE
ZZOTHER1: CJNE A,#1H,STORE
UPKEY:
MOV LED1,#0
MOV LED2,#07EH
MOV LED3,#07EH
MOV LED4,#07EH
MOV LED5,#07EH
MOV R0,#LED5
UPKEY3: MOV R4,#0H
;MOV R3,#0AH
UPKEY1: LCALL KEY_TEST0
CJNE A,#4H,ZUMINF
AJMP START
ZUMINF: CJNE A,#3H,UPKEY4
AJMP STORE
UPKEY4: CJNE A,#2H,UPKEY2
INC R4
MOV A,R4
MOV DPTR,#L_TAB
MOVC A,@A+DPTR
MOV @R0,A
CJNE R4,#09H,UPKEY1
;DJNZ R3,UPKEY1
MOV R4,#0FFH
AJMP UPKEY1
UPKEY2: CJNE A,#1,UPKEY1 ;CAN INSTAND OF LEFT KEY
;------------------STORE GROUP AND DATA-----------------------
GROUP: MOV 36H,R4
UPKEYA: LCALL KEY_TEST1
CJNE A,#4H,UKTS1
AJMP START
UKTS1: CJNE A,#3H,UKTS2
AJMP STORE
UKTS2: CJNE A,#1H,UPKEYA
MOV LED1,#0
MOV LED2,#07EH
MOV LED3,#07EH
MOV LED4,#07EH
MOV LED5,#07EH
MOV R0,#LED5
UPKEYA3: ;MOV R3,#09H
MOV R4,#0
UPKEYA1: LCALL KEY_TEST0
CJNE A,#4H,UPKEYA4
INC @R0
AJMP UPKEYA1
UPKEYA4: CJNE A,#2H,UPKEYA2
MOV R2,#1H
AJMP BAOZHI
GUOSHU: MOV R4,#0H
DJNZ R2,POLIKOU
BAOZHI: MOV A,R4
CLR C ;
SUBB A,#09H ;
JNC GUOSHU ; YIWAI HOU CAI JUMP
MOV A,R4 ;
MOV DPTR ,#L_TAB ;
MOVC A,@A+DPTR ;
MOV 37H,@R0 ;
INC R4 ;
CJNE A,37H,BAOZHI
POLIKOU: MOV A,R4 ;
MOV DPTR,#L_TAB ;hai ke yi baoliu yuan zhi
MOVC A,@A+DPTR ;danxuyao zenjian chengxu
MOV @R0,A ;
;CJNE R4,#09H,UPKEYA1
AJMP UPKEYA1
;POLI: ;INC R4
;AJMP PILIKOU
UPKEYA2: CJNE A,#1,LEFTKEY ;
MOV A,36H ;
MOV B,#5H ;
MUL AB ;
ADD A,#40H ;STORE DATA
MOV R1,#30H ;
MOV R0,A
MOV R3,A ;
MOV R2,#5H ;
STOREDATA: MOV A,@R1 ;
MOV @R0,A ;
INC R1 ;STORE TO RAM
INC R0 ;
DJNZ R2,STOREDATA ;
STORE_DOG: MOV A,R3 ;ADDRESS OF WATHCHDOG
MOV R1,A ;EQU ADDRESS OF RAM
WRITEDATA: CLR CS
MOV A,#06H
ACALL L_W_BETY
SETB CS
CLR CS
MOV A,#02H
ACALL L_W_BETY
MOV A,R1
ACALL L_W_BETY
MOV R2,#5H
WRITEDATA1: MOV A,@R1
ACALL L_W_BETY
INC R1
DJNZ R2,WRITEDATA1
SETB CS
;WRITEDATAB: CLR CS
; MOV A,#06H
; ACALL L_W_BETY
; SETB CS
;; CLR CS
; MOV A,#0AH
; ACALL L_W_BETY
; MOV A,R1
; ACALL L_W_BETY
; MOV A,@R1
; ACALL L_W_BETY
; SETB CS
AJMP STORE
;---------------------LEFTKEY---------------------------------
LEFTKEY: CJNE A,#3H,UPKEYA1
DEC R0
MOV A,R0
SUBB A,#31H
JC LEFTROL
AJMP UPKEYA1
LEFTROL: MOV A,R0
SUBB A,#2FH
JNC CHULILED1
MOV R0, #34H
AJMP UPKEYA1
CHULILED1:
CHULI1: LCALL KEY_TEST0 ;
CJNE A,#4H,CHULI4 ;
INC @R0 ;
AJMP CHULI1 ;
CHULI4: CJNE A,#2H,UPKEYA2 ;
MOV A,R4
CLR C ; LED1 PLAY CHULI
SUBB A,#3H ;
JNC CLRR4 ;
INC R4 ;
CLRR4F: MOV A,R4 ;
MOV DPTR,#L_LED1B ;
MOVC A,@A+DPTR ;
MOV @R0,A ;
AJMP CHULI1 ;
CLRR4: MOV R4,#0H ;
AJMP CLRR4F ;
;------------------------------------------------------------
L_LED1B: DB 0H,0CH,8CH,80H
;*************************STORE DATA END********************
;*************************TAKEMOVE DATA**********************
TAKE: LCALL KEY_TEST4
TAKEA: CJNE A,#4H,TAKETEST1
AJMP START
TAKETEST1: CJNE A,#2H,TAKETEST2
AJMP SETKEY
TAKETEST2: CJNE A,#1H,TAKE
MOV LED1,#0
MOV LED2,#07EH
MOV LED3,#07EH
MOV LED4,#07EH
MOV LED5,#07EH
MOV R0,#LED5
TAKE3: MOV R4,#0
MOV R3,#09H
TAKE1: LCALL KEY_TEST0
CJNE A,#4H,TKSTF1
AJMP START
TKSTF1: CJNE A,#3H,TKSTF2
AJMP TAKE
TKSTF2: CJNE A,#2H,TAKE2
INC R4
MOV A,R4
MOV DPTR,#L_TAB
MOVC A,@A+DPTR
MOV @R0,A
DJNZ R3,TAKE1
AJMP TAKE3
TAKE2: CJNE A,#1,TAKE1
;--------------------------------------------------------------
MOV A,R4 ;
MOV B,#5H ;
MUL AB ;
ADD A,#40H ;TAKE DATA
MOV R1,#30H ;
MOV R0,A ;
MOV R2,#5H ;
TAKEDATA: MOV A,@R0 ;
MOV @R1,A ;
INC R1 ;
INC R0 ;
DJNZ R2,TAKEDATA ;
TAKETEST: LCALL SEL8
MOV A,P1
LCALL L_PLAY5LED
CJNE A,#0FFH,TAKEOVER
AJMP TAKETEST
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -