51单片机STC89C52 4个独立按键的检测

KEY1 BIT P3.4
KEY2 BIT P3.5
KEY3 BIT P3.6
KEY4 BIT P3.7
LED1 BIT P1.0
LED2 BIT P1.1
LED3 BIT P1.2
LED4 BIT P1.3
LED5 BIT P1.4
LED6 BIT P1.5
LED7 BIT P1.6
LED8 BIT P1.7

ORG 0000H
LOOP0:
SETB KEY1
JNB KEY1,KEY1DOWN0
LOOP1:
SETB KEY2
JNB KEY2,KEY2DOWN0
LOOP2:
SETB KEY3
JNB KEY3,KEY3DOWN0
LOOP3:
SETB KEY4
JNB KEY4,KEY4DOWN0
SJMP LOOP0

KEY1DOWN0:
LCALL DELAY
JNB	KEY1,KEY1DOWN1
SJMP LOOP1
KEY1DOWN1:
CPL LED1
CPL LED2
JNB KEY1,$
SJMP LOOP1 

KEY2DOWN0:
LCALL DELAY
JNB	KEY2,KEY2DOWN1
SJMP LOOP2
KEY2DOWN1:
CPL LED3
CPL LED4
JNB KEY2,$
SJMP LOOP2 

KEY3DOWN0:
LCALL DELAY
JNB	KEY3,KEY3DOWN1
SJMP LOOP3
KEY3DOWN1:
CPL LED5
CPL LED6
JNB KEY3,$
SJMP LOOP3

KEY4DOWN0:
LCALL DELAY
JNB	KEY4,KEY4DOWN1
SJMP LOOP0
KEY4DOWN1:
CPL LED7
CPL LED8
JNB KEY4,$
SJMP LOOP0

DELAY:
SETB RS1
DELAY2:
MOV R1,#150
DELAY1:
MOV R0,#250
DELAY0:
NOP
NOP 
DJNZ R0,DELAY0
DJNZ R1,DELAY1
CLR RS1
RET

END


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值