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

📄 4.asm

📁 单片机的键盘和显示,8031单片机的P1口作为8个按键的输入端
💻 ASM
字号:
ORG    0000H
AJMP   MAIN

ORG    0200H
MAIN:
       MOV   SCON,#00H
       MOV   20H,#04H
       MOV   21H,#02H
       MOV   R0,#20H
       MOV   R1,#21H
       MOV   DPTR,#TABLE
KEY:   
       MOV   A,P1
       CPL   A
       ANL   A,#0FH
       JZ    KEY
       LCALL DEL1
       MOV   A,P1
       CPL   A
       ANL   A,#0FH
       JZ    KEY
       MOV   B,A
       MOV   A,P1
       CPL   A
       ANL   A,#0FH
KEY1:
       JNZ   KEY1
       LCALL DEL1
       MOV   A,B
       JB    ACC.0,K1
       JB    ACC.1,K2
       JB    ACC.2,K3
       JB    ACC.3,K4
ERROR: RET
K1:    LCALL JIA
K2:    LCALL JIAN
K3:    LCALL  CHEN
K4:    LCALL  CHU

DEL1:  MOV   R7,#10H
DS1:   MOV   R6,#0FFH
DS2:   DJNZ  R6,DS2
       DJNZ  R7,DS1
    RET

X1:   
       MOV   A,@R0
       MOVX  A,@A+DPTR
       MOV   SBUF,A
       RET
X2:    
       MOV   A,@R1
       MOVX  A,@A+DPTR
       MOV   SBUF,A
       RET
X3:   
       MOV   A,B
       MOVX  A,@A+DPTR
       MOV   SBUF,A
       RET

JIA:   MOV   A,@R0
       ADD   A,@R1
       MOV   B,A
       SETB  P1.2
       LCALL X1
JIA1:  JNB   T1,JIA1
       CLR   T1
       MOV   A,#46H
       MOV   SBUF,A
JIA2:  JNB   T1,JIA2
       CLR   T1
       LCALL X2
JIA3:  JNB   JIA3
       CLR   T1
       LCALL DEL2
       LCALL X3
       CLR   P1.2
       RET 

JIAN:
       MOV   A,@R0
       SUBB  A,@R1
       MOV   B,A
       SETB  P1.2  
       LCALL X1
JIAN1: JNB   T1,JIAN1
       CLR   T1
       MOV   A,#40H
       MOV   SBUF,A
JIAN2: JNB   T1,JIAN2
       CLR   T1
       LCALL X2
JIAN3: JNB   T1,JIAN3
       CLR   T1
       LCALL DEL2
       LCALL X3
       CLR   P1.2
       RET

CHEN:
       MOV   A,@R0
       M0V   B,A
       MOV   A,@R1
       MUL   AB
       MOV   B,A
       SETB  P1.2
       LCALL X1
CHEN1: JNB   T1,CHEN1
       CLR   T1
       MOV   A,#41H
       MOV   SBUF,A
CHEN2: JNB   T1,CHEN2
       CLR   T1
       LCALL X2
CHEN3: JNB   T1,CHEN3
       CLR   T1
       LCALL DEL2
       LCALL X3
       CLR   P1.2
       RET

CHU:
       MOV   A,@R1
       M0V   B,A
       MOV   A,@R0
       MUL   AB
       MOV   B,A
       SETB  P1.2
       LCALL X1 
CHU1:  
       JNB   T1,CHU1
       CLR   T1
       MOV   A,#49H
       MOV   SBUF,A
CHU2:  JNB   T1,CHU2
       CLR   T1
       LCALL X2
CHU3:  JNB   T1,CHU3
       CLR   T1
       LCALL DEL2
       LCALL X3
       CLR   P1.2
       RET

DEL2: MOV   R2,#04H
W1:   MOV   R3,#F4H
W2:   MOV   R4,#FFH
L1:   DJNZ  R4,L1
L2:   DJNZ  R3,W2
L3:   DJNZ  R2,W1
    RET

  ORG   2000H  
TABLE: DB   3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
   
       

⌨️ 快捷键说明

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