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

📄 键盘程序1

📁 使用汇编语言的89C2051键盘输入程序源码
💻
字号:
;
;
                ORG     0000H
                AJMP    START
                ORG     0013H
                AJMP    KEY_INT
                ORG     0080H

START:

                SETB    EA
                SETB    EX1
                CALL    CLR_P4
                CALL    DS_1S
                CALL    P4_P
                AJMP    START
                CALL    DS_1S
                AJMP    START
;=============================================
;             键盘接收——处理
;=============================================
KEY_INT:
                PUSH    ACC
                PUSH    PSW
                PUSH    DPH
                PUSH    DPL
                CALL    DS_KEY
                mov     p1,#0ffh
                MOV     A,P1
                JNB     ACC.7,KEY_4
                JNB     ACC.6,KEY_3
                JNB     ACC.5,KEY_2
                JNB     ACC.4,KEY_1
                POP     DPL
                POP     DPH
                POP     PSW
                POP     ACC
                RETI
KEY_4:
                MOV     A,P1
                JNB     ACC.7,$
                CALL    DS_KEY
                CLR     IE1
                MOV     P4,07H
                MOV     P1,#0F0H
                RETI
KEY_3:
                MOV     A,P1
                JNB     ACC.6,$
                CALL    DS_KEY
                CLR     IE1
                CLR     28H.6
                POP     DPL
                POP     DPH
                POP     PSW
                POP     ACC
                RETI
KEY_2:
                MOV     A,P1
                JNB     ACC.5,$
                CALL    DS_KEY
                CLR     IE1
                CLR     28H.5
                POP     DPL
                POP     DPH
                POP     PSW
                POP     ACC
                RETI
KEY_1:
                MOV     A,P1
                JNB     ACC.4,$
                CALL    DS_KEY
                CLR     IE1
                CLR     28H.4
                POP     DPL
                POP     DPH
                POP     PSW
                POP     ACC
                RETI

DS_KEY:
                MOV     R7,#0FFH
                DJNZ    R7,$
                RET
DS_1S:          MOV     R7,#0FFH
DS_255us:       MOV     R6,#0FFH
                DJNZ    R6,$
                DJNZ    R6,$
                DJNZ    R7,DS_255us
                RET
;
;==================================================
PLAY:
            MOV         P1,#0F0H
            MOV         DPTR,#0F00H
            MOV         R1,#0F0H
            MOV         A,@R1
            INC         R1
            MOVC        A,@A+DPTR
            MOV         P4,A
            MOV         P1,#0F1H
            MOV         A,@R1
            MOVC        A,@A+DPTR
            MOV         P4,A
            INC         R1
            mov         P1,#0F2H
            MOV         A,@R1
            MOVC        A,@A+DPTR
            MOV         P4,A
            INC         R1
            mov         P1,#0F3H
            MOV         A,@R1
            MOVC        A,@A+DPTR
            ORL         A,#80H
            MOV         P4,A
            INC         R1
            mov         P1,#0F4H
            MOV         A,@R1
            MOVC        A,@A+DPTR
            MOV         P4,A
            INC         R1
            mov         P1,#0F5H
            MOV         A,@R1
            MOVC        A,@A+DPTR
            MOV         P4,A
           ;ACALL       WAIT_CLR
            RET
WAIT_CLR:
            MOV         R7,#0FFH
            DJNZ        R7,WAIT_CLR
            RET
CLR_P4:
                MOV     P4,#00H
                MOV     P1,#0F0H
                MOV     P1,#0F1H
                MOV     P1,#0F2H
                MOV     P1,#0F3H
                MOV     P1,#0F4H
                MOV     P1,#0F5H
                RET
P4_P:
                MOV     P4,#0F6H
                MOV     P1,#0F8H
                CALL    DS_1S
                RET

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

⌨️ 快捷键说明

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