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

📄 key.asm

📁 基于PROTEUS的仿真 含带源代码 C语言编程
💻 ASM
字号:
ORG 0000H
LJMP START
ORG 000BH
LJMP T0ZD
START:MOV 60H,#30H;显示0
      MOV TMOD,#11H;设置20ms定时中断(6M)
      MOV TH0,#0ECH
      MOV TL0,#78H
      SETB EA;启动定时中断
      SETB ET0
      SETB TR0
LOOP:MOV P0,60H;送控制端口显示
     SJMP LOOP;循环等待
T0ZD:CLR EA;定时中断子程序
     MOV TH0,#0ECH
     MOV TL0,#78H
     MOV A,P2
     CJNE A,#0FFH,KEY1
     LJMP EXIT;无键按下中断返回
KEY1:CJNE A,#0FEH,KEY2;判断1键是否按下,是则进行相应处理
     LCALL DELAY;防止抖动
K1W:MOV P0,60H
     JNB P2.0,K1W;按抬起后进行处理程序
     MOV A,#01H;处理程序
     LJMP EXIT1;结束,准备返回
KEY2:CJNE A,#0FDH,KEY3
     LCALL DELAY
K2W:MOV P0,60H
    JNB P2.1,K2W
    MOV A,#02H
    LJMP EXIT1
KEY3:CJNE A,#0FBH,KEY4
     LCALL DELAY
K3W:MOV P0,60H
     JNB P2.2,K3W
     MOV A,#03H
     LJMP EXIT1
KEY4:CJNE A,#0F7H,KEY5
     LCALL DELAY
K4W:MOV P0,60H
     JNB P2.3,K4W
     MOV A,#04H
     LJMP EXIT1
KEY5:CJNE A,#0EFH,KEY6
     LCALL DELAY
K5W:MOV P0,60H
     JNB P2.4,K5W
     MOV A,#05H
     LJMP EXIT1     
KEY6:CJNE A,#0DFH,KEY7
     LCALL DELAY
K6W:MOV P0,60H
     JNB P2.5,K6W
     MOV A,#06H
     LJMP EXIT1  
KEY7:CJNE A,#0BFH,KEY8
     LCALL DELAY
K7W:MOV P0,60H
     JNB P2.6,K7W
     MOV A,#07H
     LJMP EXIT1
KEY8:CJNE A,#7FH,EXIT
     LCALL DELAY
K8W:MOV P0,60H
     JNB P2.7,K8W
     MOV A,#08H
     LJMP EXIT1
EXIT1:ORL A,#30H
     MOV 60H,A
EXIT:SETB EA
     RETI
;============================1sm延时子程序(6M)
DELAY:MOV R6,#02H
AGAIN:MOV R7,#0F8H
DELAY1:DJNZ R7,DELAY1
       DJNZ R6,AGAIN
       RET

⌨️ 快捷键说明

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