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

📄 key.asm

📁 此程序是提供ipod座测试用的
💻 ASM
字号:

 SECOND1  EQU 60H
 SECOND2  EQU 61H
 SECOND3  EQU 62H
 SECOND4  EQU 63H

	ORG 0000h
	AJMP MAIN
	ORG   000BH            
    LJMP  DISPLAY
	ORG 0030h
MAIN:
        MOV P1,#00H
        MOV P2,#03FH
		MOV P0,#0FFH
                MOV P3,#0FFH
		MOV SECOND1,#00H
		MOV SECOND2,#00H
		MOV SECOND3,#00H
		MOV SECOND4,#00H
		MOV 64H,#00H
		MOV 65H,#00H
		MOV TMOD,#01H
		MOV TL0,#0e5H           ;wait 
        MOV TH0,#0BeH
		SETB  ET0
	    SETB  TR0
		SETB  EA
MAIN1:   MOV P3,#0FFH	
         JB P3.4, KEY
KEY1:    LCALL DELAY2
         LCALL DELAY2
		 LCALL DELAY2
		 LCALL DELAY2
		 LCALL DELAY2
		 JB P3.4, KEY
		 AJMP MAIN

KEY: MOV P0,#0FFH                    
    SETB P3.6
    SETB P3.7
	CLR	P3.5
LK:	LCALL DELAY2
      	JB P0.0,L1
    	MOV A,SECOND1
        ORL A,#01H
       MOV SECOND1,A
 L1:      MOV A,SECOND2    	                         
        JB P0.4,L2 
     	ORL A,#02H                         
L2:    JB P0.5,L3 
     	MOV 64H,#04H                       
L3:   JB P0.6,L4
     	ORL A,#020H                        
L4:    JB P0.7,L5
	ORL A,#040H
L5:   MOV SECOND2,A
      SETB P3.5
      LCALL DELAY2
	  JNB P0.5,L35
       MOV A,64H
      ANL A,#04H
	  JZ  L35
	  MOV A,SECOND2
	  ORL A,#04H
	  MOV SECOND2,A
L35:  MOV 64H,#00H
      SETB P3.5
	  CLR P3.6
      SETB P3.7
	  MOV P0,#0FFH
      LCALL DELAY2
       JB P0.0,L7
       MOV 64H,#02H
L7:   MOV A,SECOND1
       JB P0.1,L8
        MOV 65H,#04H
L8:    JB P0.2,L9
	    ORL A, #020H
L9:    JB P0.3,L10
        ORL A,#040H
L10:   MOV SECOND1,A
       SETB P3.6
	   LCALL DELAY2
	   JNB P0.0,L110
	   MOV A,64H
	   ANL A,#02H
	   JZ L110
	   MOV A,SECOND1
	   ORL A,#02H
	   MOV SECOND1,A
L110:  JNB P0.1,L111
       MOV A,65H
	   ANL A,#04H
	   JZ  L111
	   MOV A,SECOND1
	   ORL A,#04H
       MOV SECOND1,A
L111:   MOV P0,#0FFH
       CLR P3.6
       LCALL DELAY2
       MOV 64H,#00H
       MOV 65H,#00H
       JB P0.5,L11
       MOV 64H,#08H
L11:  JB P0.6,L12
        MOV 65H,#010H 
L12:  SETB P3.6
	  LCALL DELAY2
	  JNB  P0.5, L32
        MOV A,64H
	  ANL A,#08H
	  JZ  L32
	  MOV A,SECOND2
	  ORL A,#08H
	  MOV SECOND2,A
L32:  JNB  P0.6,L33
        MOV A,65H
	  ANL A,#010H
	  JZ   L33
	  MOV A,SECOND2
	  ORL  A,#010H
	  MOV SECOND2,A      
L33: MOV 64H,#00H
     MOV 65H,#00H
     MOV A,SECOND1
      CLR  P3.7
      SETB P3.5
      MOV P0,#0FFH
      LCALL DELAY2
	JB P0.1,L13
	 ORL A,#08H
L13: JB P0.2,L14
        ORL A, #010H
L14:    JB P0.3,L15
        ORL A, #080H
L15:  MOV SECOND1,A
      MOV A,SECOND2 
      JB P0.4,L16
        ORL A, #01H
L16:  JB P0.7,L17                    
        MOV 64H,#080H 
 
L17:  MOV SECOND2,A
        SETB P3.7
       LCALL DELAY2
	   JNB P0.7,L107
	   MOV A,64H
	   ANL A,#080H
	   JZ L107
	   MOV A,SECOND2
	   ORL A,#080H  	                         
          MOV SECOND2,A
L107:     CLR P3.7
          SETB P2.0
          LCALL DELAY2
	   MOV 64H,#00H
          JB P2.0,L171
          MOV A,SECOND3
         ORL A,#01H
        MOV SECOND3,A
L171:    MOV P2,#0BFH
         SETB P3.7
       LCALL DELAY2
	   LCALL DELAY2
	   LCALL DELAY2	
       MOV A,SECOND3
	    JB P2.0,L18
       MOV 64H,#02H 
L18:    JB P2.1,L19                       
     	ORL A,#08H                           	
L19:   JB P2.2,L20                    
     	ORL A,#040H                         
L20:    JB  P2.3,L21
    	ORL A,#080H 
L21:   MOV SECOND3,A
        JB P2.4,L22
          MOV A,SECOND4
	    ORL A, #04H
         MOV SECOND4,A
L22:    JB P2.5, L23
        MOV 65H,#08H
L23:     SETB P2.6
	   LCALL DELAY2
	   JNB  P2.5,L231
	   MOV  A,65H
	   ANL  A,#08H
	   JZ L231
	   MOV A,SECOND4
	   ORL A,#08H    
        MOV SECOND4,A 
L231:     JNB P2.0,L232
	   MOV A,64H
	   ANL A,#02H
	   JZ  L232
	   MOV A,SECOND3
	   ORL A,#02H
	   MOV A,SECOND3
L232:  MOV 65H,#00H
	   MOV 64H,#00H
       MOV P2,#07FH
        LCALL DELAY2
		LCALL DELAY2
		LCALL DELAY2
		MOV A,SECOND4
        JB P2.4,L241
        ORL A,#02H 
L241:   JB P2.3,L24
        ORL A,#01H
L24:    MOV SECOND4,A
       MOV A,SECOND3 
       JB P2.1,L25
        ORL A,#010H
L25:	JB P2.2,L26
    	ORL A, #020H

L26:   MOV SECOND3,A
	  NOP
	   LJMP MAIN1                    
	   NOP
	   LJMP MAIN1                             
      NOP 
      AJMP   0000H


DELAY2:                                 ;延时去抖动子程序
        MOV R5,#01H
L70: 
        MOV R6,#0FAH
L80: 
        DJNZ R6,L80
        DJNZ R5,L70
        RET
DLIM:    MOV 43H,#14H           ; every LED(2ms)
DL2:     MOV 44H,#14H
DL1:     NOP
         NOP
         DJNZ 44H,DL1
         DJNZ 43H,DL2
         RET
DISPLAY: PUSH  ACC
         PUSH  PSW
         MOV   TL0,#0e0H          ;wait how long to display (20ms)
         MOV   TH0,#0b0H
DIS2:    MOV  A,SECOND1
         CPL  A
		 MOV  P1,A
		 MOV  P1,A
                CLR  P3.0
		 LCALL DLIM
		 SETB P3.0
           MOV  A,SECOND2
		 CPL  A
		 MOV  P1,A
		 CLR  P3.1
		 LCALL DLIM
		 SETB P3.1
		 MOV A,SECOND3
		 CPL A
		 MOV P1,A
		 CLR P3.2
		 LCALL DLIM
		 SETB P3.2
		 MOV A,SECOND4
		 CPL A
		 MOV P1,A
		 CLR P3.3
		 LCALL DLIM
		 SETB P3.3 
		 SETB  TR0
           POP   PSW
           POP   ACC
           NOP
           NOP
           RETI
           NOP
           NOP
           AJMP  MAIN1
      	END

⌨️ 快捷键说明

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