51单片机,汇编语言,按键操作控制
扫描二维码
随时随地手机看文章
硬件电路:
P1.0~P1.5外接6个LED,分别称为D1~D6,低电平发光。
P0.0~P0.3外接4个按键,分别称为K1~K4。
P3.2~P3.3外接2个按键,分别称为K5~K6。
用汇编语言编程进行控制,要求:
当按下K1时,D1发光;
按下K2时,D2、D3发光;
按下K3时,D4、D5、D6发光;
按下K4时,D1、D3、D6发光;
按下K5时,全部熄灭;
按下K6时,全亮。
用查询方式完成上述动作。
做而论道编写的程序如下:
2013-04-1923:06
ORG0000H
START:
JNBP0.0,K1
JNBP0.1,K2
JNBP0.2,K3
JNBP0.3,K4
JNBP3.2,K5
JNBP3.3,K6
SJMPSTART
;-----------------------
K1:
CALLDL10MS
JBP0.0,START
JNBP0.0,$
CLRP1.0;按下K1键时,D1二极管发光;
SJMPSTART
;-----------------------
K2:
CALLDL10MS
JBP0.1,START
JNBP0.1,$
CLRP1.1;按下K2键时,D2、D3发光;
CLRP1.2
SJMPSTART
;-----------------------
K3:
CALLDL10MS
JBP0.2,START
JNBP0.2,$
CLRP1.3;按下K3键时,D4、D5、D6发光;
CLRP1.4
CLRP1.5
SJMPSTART
;-----------------------
K4:
CALLDL10MS
JBP0.3,START
JNBP0.3,$
CLRP1.0;按下K4键时,D1、D3、D6发光。
CLRP1.4
CLRP1.5
SJMPSTART
;-----------------------
K5:
CALLDL10MS
JBP3.2,START
JNBP3.2,$
MOVP1,#255;按下K5是全部熄灭;
SJMPSTART
;-----------------------
K6:
CALLDL10MS
JBP3.3,START
JNBP3.3,$
MOVP1,#0;按下K6是全亮;
SJMPSTART
;-----------------------
DL10MS:
MOVR6,#10
DJNZR7,$
DJNZR7,$
DJNZR6,$-4
RET
;-----------------------
END