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

📄 s8000.asm

📁 汇编语言与键盘扫描
💻 ASM
字号:
;////////////////////////////////////////////////////////
;LED----GOOD
;KEY----GOOD
;MM-----GOOD    
;UV---- GOOD 
;//////////////////////////////////////////////////////// 
            ORG   0000H
            AJMP  MAIN
            ORG   0030H
MAIN:     MOV      SP,        #30H
          MOV      21H,       #00H
          MOV      22H,       #00H
          MOV      23H,       #00H
          MOV      24H,       #00H
          MOV      25H,       #00H
          MOV      P0,        #80H
          MOV      P2,        #00H
          CLR      P1.3
          CLR      P1.7
          
STAR:    
          MOV      P3,       #00000011B
          MOV      A,        P3
          CJNE     A,        #00000011B,     SCAN1  
          LJMP     STAR
SCAN1:    LCALL    DELAY10m
          LCALL    DELAY10m
          LCALL    DELAY10m
          LCALL    DELAY10m
          MOV      A,        P3 
          CJNE     A,        #00000011B,     IR_K
          LJMP     STAR  
;/////////////////////////////////////////////////////////          
IR_K:     MOV      P3,        #00111011B 
          JB       P3.0,      WH_K
          MOV      22H,       #00H
          MOV      23H,       #00H
          MOV      24H,       #00H
          MOV      25H,       #00H
          INC      21H
          MOV      A,         21H
          CJNE     A,       #01H,            IR_K1
          LCALL    IR1_D
          LCALL    DELAY10m
          LCALL    DELAY10m
          LCALL    DELAY10m
          LJMP     STAR
IR_K1:    CJNE     A,       #02H,            WH_K
          MOV      21H,     #00H
          LCALL    IR2_D
          LCALL    DELAY10m
          LCALL    DELAY10m
          LCALL    DELAY10m
          LJMP     STAR       
WH_K:     JB       P3.1,             TOU_K   
          MOV      21H,       #00H 
          MOV      22H,       #00H
          MOV      23H,       #00H
          MOV      24H,       #00H 
          MOV      25H,       #00H                  
          LCALL    WH_D
          LCALL    DELAY10m
          LCALL    DELAY10m
          LCALL    DELAY10m
          LJMP     STAR 
;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
TOU_K:    MOV      P3,        #00110111B
          JB       P3.0,      CE_K
          MOV      21H,       #00H
          MOV      23H,       #00H
          MOV      24H,       #00H
          MOV      25H,       #00H
          INC      22H
          MOV      A,         22H
          CJNE     A,         #01H,            IR_T_K
          LCALL    WH_T
          LCALL    DELAY10m
          LCALL    DELAY10m
          LCALL    DELAY10m
          LJMP     STAR
IR_T_K:   CJNE     A,       #02H,              CE_K 
          MOV      22H,     #00H
          LCALL    IR_T
          LCALL    DELAY10m
          LCALL    DELAY10m
          LCALL    DELAY10m
          LJMP     STAR       
CE_K:     JB       P3.1,        UV_K 
          MOV      21H,       #00H
          MOV      22H,       #00H
          MOV      24H,       #00H
          MOV      25H,       #00H                
          INC      23H
          MOV      A,         23H
          CJNE     A,         #01H,            IR_C_K
          LCALL    WH_C
          LCALL    DELAY10m
          LCALL    DELAY10m
          LCALL    DELAY10m
          LJMP     STAR
IR_C_K:   CJNE     A,       #02H,              UV_K 
          MOV      23H,     #00H
          LCALL    IR_C
          LCALL    DELAY10m
          LCALL    DELAY10m
          LCALL    DELAY10m
          LJMP     STAR
;///////////////////////////////////////////////////////////     
UV_K:     MOV      P3,        #00101111B
          JB       P3.0,      MM_K
          MOV      21H,       #00H
          MOV      22H,       #00H
          MOV      23H,       #00H
          MOV      24H,       #00H
          INC      25H
          MOV      A,         25H
          CJNE     A,         #01H,            UV_IR_K
          LCALL    UV_D
          LCALL    DELAY10m
          LCALL    DELAY10m
          LCALL    DELAY10m
          LJMP     STAR
UV_IR_K:  CJNE     A,       #02H,              MM_K 
          MOV      25H,     #00H
;************************ZuHeGuangYuan********************************
          CLR      P1.7         
          SETB     P1.4     ;IR-T-LED
          CLR      P1.5     ;
          CLR      P1.6     ;IR-T-LED  
          ;SETB    P2.1     ;IR-T
          SETB    P0.6     ;IR_C  
          SETB    P1.7 
          CLR     P0.2
          CLR     P0.3
          CLR     P0.4
          CLR     P0.5
          CLR     P2.1
          CLR     P2.0
          CLR     P2.2
          CLR     P2.3
          CLR     P2.4
          CLR     P2.5
          CLR     P2.6 
          LCALL   DELAY1m
;************************ZuHeGuangYuan********************************             
          LCALL    DELAY10m
          LCALL    DELAY10m
          LCALL    DELAY10m
          LJMP     STAR        
MM_K:     JB       P3.1,      WHOLE_K
          MOV      21H,       #00H
          MOV      22H,       #00H
          MOV      23H,       #00H
          MOV      24H,       #00H
          MOV      25H,       #00H
          LCALL    MM_D
          LCALL    DELAY10m
          LCALL    DELAY10m
          LCALL    DELAY10m
          ;LJMP     STAR
          LJMP     IR_K
;///////////////////////////////////////////////////////////
WHOLE_K:  MOV      P3,        #00011111B
          JB       P3.0,      JI_K
          MOV      21H,       #00H
          MOV      22H,       #00H
          MOV      23H,       #00H
          MOV      25H,       #00H
          INC      24H
          MOV      A,         24H
          CJNE     A,       #01H,            HALF1
          LCALL    WHOLE
          LCALL    DELAY10m
          LCALL    DELAY10m
          LCALL    DELAY10m
          LJMP     STAR
HALF1:    CJNE     A,       #02H,            JI_K
          MOV      24H,     #00H
          LCALL    HALF
          LCALL    DELAY10m
          LCALL    DELAY10m
          LCALL    DELAY10m
JI_K:     JB       P3.1,     OVER
          MOV      21H,       #00H
          MOV      22H,       #00H
          MOV      23H,       #00H
          MOV      25H,       #00H
          LCALL    JI_D
          LCALL    DELAY10m
          LCALL    DELAY10m
          LCALL    DELAY10m
                  
OVER:     LJMP    STAR

;////////////////////LED-RET//////////////////////////////////////
WH_D:     CLR     P1.3
          CLR     P1.7
 
          CLR     P1.0   
          CLR     P1.1
          CLR     P1.2 
          SETB    P1.3
          CLR     P0.1
          CLR     P0.2
          CLR     P0.3
          SETB    P0.4
          CLR     P0.5
          CLR     P0.6
          ;CLR     P0.7
          CLR     P2.0
          CLR     P2.1
          CLR     P2.2
          LCALL   DELAY1m      
          RET
IR1_D:    CLR     P1.3
          CLR     P1.7
          SETB    P1.0   
          CLR     P1.1
          CLR     P1.2 
          CLR     P0.1
          SETB    P0.2
          CLR     P0.3
          CLR     P0.4
          CLR     P0.5
          CLR     P0.6
          ;CLR     P0.7 
          CLR     P2.0
          CLR     P2.1
          CLR     P2.2
          SETB    P1.3 
          LCALL   DELAY1m 
          RET
WH_C:     CLR     P1.3
          CLR     P1.7
          CLR     P1.0   
          SETB    P1.1
          CLR     P1.2
          CLR     P0.1
          CLR     P0.2
          CLR     P0.3
          CLR     P0.4
          SETB    P0.5
          CLR     P0.6
          ;CLR     P0.7
          CLR     P2.0
          CLR     P2.1
          CLR     P2.2
          SETB    P1.3 
          LCALL   DELAY1m
          RET
WH_T:     CLR     P1.3
          CLR     P1.7
          SETB    P1.0   
          SETB    P1.1
          CLR     P1.2
          ;MOV     P2,     #00000001B
          CLR     P0.1
          CLR     P0.2
          CLR     P0.3
          CLR     P0.4
          CLR     P0.5
          CLR     P0.6
          ;CLR     P0.7
          SETB    P2.0
          CLR     P2.1
          CLR     P2.2
          SETB    P1.3 
          LCALL   DELAY1m
          RET
          
MM_D:    
          CLR     P1.3
          CLR     P1.7
          CLR     P1.0   
          CLR     P1.1
          SETB    P1.2
          SETB    P1.3 
          LCALL   DELAY1m
          CLR     P0.1
          SETB    P0.3
          CLR     P0.2
          CLR     P0.4
          CLR     P0.5
          CLR     P0.6
          CLR     P2.0
          CLR     P2.1
          CLR     P2.2
          ;CLR     P0.3
          LCALL   DELAY60m
          LCALL   DELAY60m
MMM_D:    CPL     P0.2
          LCALL   DELAY60m
          LCALL   DELAY60m
          LCALL   DELAY60m
          LCALL   DELAY60m
          MOV     P3,      #00000011B
          MOV     A,       P3
          ANL     A,       #00000011B
          CJNE    A,       #00000011B,    MMMM_D
          LJMP    MMM_D
MMMM_D:   CLR     P0.3
          CLR     P0.2
          RET


UV_D:     CLR     P1.3
          CLR     P1.7
          SETB    P1.0   
          CLR     P1.1
          SETB    P1.2
          SETB    P0.1
          CLR     P0.2
          CLR     P0.3
          CLR     P0.4
          CLR     P0.5
          CLR     P0.6
          CLR     P2.0
          CLR     P2.1
          CLR     P2.2
          SETB    P1.3 
          LCALL   DELAY1m
          RET
JI_D:     CLR     P1.3
          CLR     P1.7
          CLR     P1.0   
          SETB    P1.1
          SETB    P1.2
          CLR     P0.1
          CLR     P0.2
          CLR     P0.3
          CLR     P0.4
          CLR     P0.5
          CLR     P0.6
          ;CLR     P0.7
          CLR      P2.0
          CLR      P2.1
          SETB     P2.2
          SETB     P1.3 
          LCALL    DELAY1m
          RET
WHOLE:    SETB      P0.0
          SETB      P2.7
          CLR       P0.7
          LCALL    DELAY10m
          RET


IR2_D:    CLR     P1.3
          CLR     P1.7
          CLR     P1.4  
          CLR     P1.5
          CLR     P1.6
          CLR     P0.1
          CLR     P0.2
          SETB    P0.3
          CLR     P0.4
          CLR     P0.5
          CLR     P0.6
          ;CLR     P0.7
          CLR     P2.0
          CLR     P2.1
          CLR     P2.2
          SETB    P1.7 
          LCALL   DELAY1m
          RET
IR_C:     CLR     P1.3
          CLR     P1.7
          SETB    P1.4  
          CLR     P1.5
          CLR     P1.6
          CLR     P0.1
          CLR     P0.2
          CLR     P0.3
          CLR     P0.4
          CLR     P0.5
          SETB    P0.6
          ;CLR     P0.7
          CLR     P2.0
          CLR     P2.1
          CLR     P2.2
          SETB    P1.7 
          LCALL   DELAY1m
          RET
IR_T:     CLR     P1.3
          CLR     P1.7
          CLR     P1.4  
          SETB    P1.5
          CLR     P1.6       
          CLR     P0.1
          CLR     P0.2
          CLR     P0.3
          CLR     P0.4
          CLR     P0.5
          CLR     P0.6
          ;CLR     P0.7
          CLR     P2.0
          SETB    P2.1
          CLR     P2.2
          SETB    P1.7 
          LCALL   DELAY1m
          RET
HALF:     CLR       P0.0
          CLR       P2.7
          SETB      P0.7
          LCALL    DELAY10m
          RET





DELAY60m: MOV      R1,     #0FFH
DEL60_1:  MOV      R0,     #0FFH
          DJNZ     R0,     $
          DJNZ     R1,     DEL60_1
          RET 

DELAY10m: MOV      R1,     #27H
DEL10_1:  MOV      R0,     #0FFH
          DJNZ     R0,     $
          DJNZ     R1,     DEL10_1
          RET 

DELAY1m: MOV      R1,     #01H
DEL1_1:  MOV      R0,     #0FFH
          DJNZ     R0,     $
          DJNZ     R1,     DEL1_1
          RET 

          END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -