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

📄 demo_key.asm

📁 这是我写的一个超强的键盘程序
💻 ASM
📖 第 1 页 / 共 2 页
字号:

;=====================================================
; the demo file is for NJ chamical universty and key_boarb
;----------------------start-----------------------
   
         KEY_NUM EQU 30H
         MD EQU 31H
         CS      BIT   P0.0
	   CLK    BIT    P0.1
	   DIO     BIT   P0.2
	   KEY    BIT    P0.3
	   BIT_N  EQU 50H
	   DEL   EQU  51H
	   SND_BUF   EQU  52H
	   REC_BUF   EQU  53H
	   DECI      EQU  54H

        org 0000h
        JMP main
        org 000bh
        ljmp timer0
        org 0023h
        ljmp  rx_int       
        ORG 0100H
   main:MOV SP ,#60H
        MOV TCON,#00H
        mov tmod,#21h
        mov scon,#50h
        mov th1,#0e6h    ;1200-n-1
        setb tr1
        setb es
        setb ea

        MOV P1,#00H      ;TEST
        MOV P0,#00H
        MOV P2,#00H
        LCALL DELAY
        MOV P1,0FFH      ;INIT 
        MOV P2,0FFH
        MOV P0,0FFH
        MOV P3,0FFH
        CLR A
        MOV MD ,#00H
        MOV A,P3
        CPL A
        ;SWAP A
        ANL A,#0F0H
        SWAP A
        MOV MD,A
        RL A
        MOV DPTR,#JUMP
        JMP @A+DPTR
  JUMP: AJMP MOD0
        AJMP MOD1
        AJMP MOD2
        AJMP MOD3
        AJMP MOD4
        AJMP MOD5
        AJMP MOD6
        AJMP MOD7
        AJMP MOD8
        AJMP MOD9
        AJMP MOD10
        AJMP MOD11
        AJMP MOD12
        AJMP MOD13
        AJMP MOD14
        AJMP MOD15
;----------P0:KEY INTO BIN-------------        
  MOD0: MOV A,MD
        LCALL DISP0
        LCALL DELAY
        LCALL DELAY
     M0:LCALL KEY_r
        MOV P0,#0FFH
        MOV A,KEY_NUM
        MOV DPTR,#LED_CODE
        MOVC A,@A+DPTR
        MOV P2,A
        MOV A,KEY_NUM
        SWAP A
        CPL A
        MOV P1,A
        JMP M0
;---------P1 KEY INTO BCD------------        
  MOD1:MOV A,MD
       LCALL DISP0
       LCALL DELAY
       LCALL DELAY
    M1:LCALL KEY_r
       MOV P0,#0FFH
       MOV A,KEY_NUM
       DA A
       LCALL DISP1     
       MOV A,KEY_NUM
       SWAP A
       CPL A
       MOV P1,A
       JMP M1      
;------------P2 SEC_WATCH_TABLE---------------        
  MOD2:MOV A,MD
       LCALL DISP0
       LCALL DELAY
       LCALL DELAY
       MOV P1,#0FFH
       MOV R0,#00H
       MOV A,#00H
       JB P3.0,$
       MOV P0,#0C0H
       MOV P2,#0C0H
   M21:MOV R3,#10h
   M22:LCALL DELAY   ;SEC_LOOP
       CPL P1.4
       DJNZ R3,M22
       CPL P1.7
       MOV A,R0
       ADD A,#01H
       DA A
       MOV R0,A
       LCALL DISP1
       CJNE R0,#60h,M21
       clr p2.7
       lcall delay
       setb p2.7
       JMP MOD2
;-----------P3 TRAFFIC------------         
  MOD3:MOV A,MD
       LCALL DISP0
       LCALL DELAY
       LCALL DELAY
   M3: MOV R0,#30
       CLR P1.2
   M31:LCALL DELAY
       DJNZ R0,M31
       SETB P1.2
       MOV R0,#06H
       CLR P1.1
   M32:LCALL DELAY
       LCALL DELAY
       CPL P1.1
       DJNZ R0,M32
       SETB P1.1
       MOV R0,#30
       CPL P1.0
   M33:LCALL DELAY
       DJNZ R0,M33    
       SETB P1.0
       JMP M3    
;--------P4 DISPLAY_DEMO1------------
  MOD4: MOV A,MD
        LCALL DISP0
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        JB P3.0,$        ;a
        MOV P2,#0FFH
        MOV P0,#88H
    M41:LCALL DELAY
        LCALL DELAY
        CPL P2.0
        JB P3.0,M41
        SETB P2.0    
        MOV P0,#83H      ;b
    M42:LCALL DELAY
        LCALL DELAY
        CPL P2.1
        JB P3.0,M42
        SETB P2.1         
        MOV P0,#0C6H
    M43:LCALL DELAY      ;C
        LCALL DELAY
        CPL P2.2
        JB P3.0,M43
        SETB P2.2    
        MOV P0,#0A1H     ;D
    M44:LCALL DELAY
        LCALL DELAY
        CPL P2.3
        JB P3.0,M44
        SETB P2.3    
        MOV P0,#86H     ;E
    M45:LCALL DELAY
        LCALL DELAY
        CPL P2.4
        JB P3.0,M45
        SETB P2.4    
        MOV P0,#8EH    ;F
    M46:LCALL DELAY
        LCALL DELAY
        CPL P2.5
        JB P3.0,M46
        SETB P2.5    
        MOV P0,#90H    ;G
    M47:LCALL DELAY
        LCALL DELAY
        CPL P2.6
        JB P3.0,M47
        SETB P2.6
        MOV P0,#89H    ;H
    M48:LCALL DELAY
        LCALL DELAY
        CPL P2.7
        JB P3.0,M48
        SETB P2.7
        JMP MOD4        
;---------P5,DISP_DEMO2------------------        
  MOD5: MOV A,MD
        LCALL DISP0
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        JB P3.0,$
        MOV P0,#0FFH
        MOV P2,#0FFH
        CLR P2.0
        CLR P0.0
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        CLR P2.1
        CLR P0.5
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        CLR P2.2
        CLR P0.4
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        CLR P2.3
        CLR P0.3
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        CLR P2.4
        CLR P0.2
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        CLR P2.5
        CLR P0.1
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        CLR P2.6
        CLR P0.6
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        MOV P2,#0FFH
        MOV P0,#0FFH
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        MOV P2,#00H                           
        MOV P0,#00H
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        MOV P2,#0FFH
        MOV P0,#0FFH
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        MOV P2,#0FFH
        MOV P0,#0FFH
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        JMP MOD5       
;---------P6 DISP_DEMO3-------------------------
  MOD6: MOV A,MD
        LCALL DISP0
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        JB P3.0,$
        MOV R0,#00H
    M6: MOV A,R0
        MOV DPTR,#LED_CODE
        MOVC A,@A+DPTR
        MOV P0,A
        MOV P2,A
        MOV A,R0
        SWAP A
        CPL A
        MOV P1,A
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        INC R0
        CJNE R0,#10H,M6   
        MOV R0,#00H
        JMP M6
;------------P7 DISP_DEMO4----------------  
  MOD7: MOV A,MD
        LCALL DISP0
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        JB P3.0,$
   M71: MOV P0,#0FFH
        MOV P2,#0FFH
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        MOV P0,#0FFH
        MOV P2,#0C0H
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        MOV R0,#00H
        MOV R3,#01H
   M72: MOV A,R0
        MOV DPTR,#LED_CODE
        MOVC A,@A+DPTR
        MOV P0,A
        INC R0
        MOV A,R3
        MOV DPTR,#LED_CODE
        MOVC A,@A+DPTR 
        MOV P2,A
        INC R3
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        CJNE R3,#11H,M72
        MOV P0,#0FFH
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        JMP MOD7
;----------P8 DISP_DEMO5--------        
  MOD8: MOV A,MD
        LCALL DISP0
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        JB P3.0,$
   M81: MOV P0,#0FFH
        MOV P2,#0FFH
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        MOV P2,#0FFH
        MOV P0,#0C0H
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        MOV R0,#00H
        MOV R3,#01H
   M82: MOV A,R0
        MOV DPTR,#LED_CODE
        MOVC A,@A+DPTR
        MOV P2,A
        INC R0
        MOV A,R3
        MOV DPTR,#LED_CODE

⌨️ 快捷键说明

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