⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main11.asm

📁 (1)完成键盘
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;@@@@@@@@@@@@@@@@@@@@@___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 + -