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

📄 键盘输入.asm

📁 初学者源代码 很好用的 希望对大家有帮助
💻 ASM
字号:
LEDBUF EQU 60H
OUTBIT EQU 08002H
OUTSEG EQU 08004H
IN EQU 08001H
LJMP START

LEDMAP:
     DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
     DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H

KEYTABLE:
         DB 16H,15H,14H,0FFH
         DB 13H,12H,11H,10H
         DB 0DH,0CH,0BH,0AH
         DB 0EH,03H,06H,09H
         DB 0FH,02H,05H,08H
         DB 00H,01H,04H,07H
DISPLAYLED:
           MOV R0,#LEDBUF
           MOV R1,#6
           MOV R2,#00100000B
           LOOP:
                MOV DPTR,#OUTBIT
                MOV A,#0
                MOVX @DPTR,A
                MOV A,@R0
                MOV DPTR,#OUTSEG
                MOVX @DPTR,A
                mov dptr,#outbit
                MOV A,R2
                MOVX @DPTR,A
                MOV R6,#1
                LCALL DELAY
                MOV A,R2
                RR A
                MOV R2,A
                INC R0
                DJNZ R1,LOOP
                RET
TESTKEY:
        MOV DPTR,#OUTBIT
        MOV A,#0
        MOVX @DPTR,A
        MOV DPTR,#IN
        MOVX A,@DPTR
        CPL A
        ANL A,#0FH
        RET
GETKEY:
       MOV DPTR,#OUTbit
       MOV P2,DPH
       MOV R0,#LOW(IN)
       MOV R1,#00100000B
       MOV R2,#6
       KLOOP:
             MOV A,R1
             CPL A
             MOVX @DPTR,A
             CPL A
             RR A
             MOV R1,A
             MOVX A,@R0
             CPL A
             ANL A,#0FH
             JNZ GOON1
             DJNZ R2,KLOOP
             MOV R2,#0FFH
             SJMP EXIT
             GOON1:
                   MOV R1,A
                   MOV A,R2
                   DEC A
                   RL A
                   RL A
                   MOV R2,A
                   MOV A,R1
                   MOV R1,#4
                   LOOPc:
                         RRC A
                         JC L1
                         INC R2
                         DJNZ R1,LOOPc
                        
                           L1:   MOV A,R2
                              MOV DPTR,#KEYTABLE
                              MOVC A,@A+DPTR
                              MOV R2,A
                             WAITRELEASE:
                                          MOV DPTR,#OUTBIT;
                                          CLR A
                                          MOVX @DPTR,A
                                          MOV R6,#10
                                          CALL DELAY
                                          CALL TESTKEY
                                          JNZ WAITRELEASE
                                         EXIT:  MOV A,R2
                                          RET


START:
     MOV LEDBUF,#0FFH
     MOV LEDBUF+1,#0FFH
     MOV LEDBUF+2,#0FFH
     MOV LEDBUF+3,#0FFH
     MOV LEDBUF+4,#00h
     MOV LEDBUF+5,#00h
MLOOP:
           CALL DISPLAYLED
           CALL TESTKEY
           JZ MLOOP
           CALL GETKEY
           ANL A,#0FH
           MOV DPTR,#LEDMAP
           MOVC A,@A+DPTR
           MOV LEDBUF+5,A
           LJMP MLOOP
           DELAY:
      MOV R7,#0
      DELAYLOOP:
               DJNZ R7,DELAYLOOP
               DJNZ R6,DELAYLOOP
               RET
           END

⌨️ 快捷键说明

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