硬件電路:
P1.0~P1.5外接6個LED,分別稱為D1~D6,低電平發(fā)光。
P0.0~P0.3外接4個按鍵,分別稱為K1~K4。
P3.2~P3.3外接2個按鍵,分別稱為K5~K6。
用匯編語言編程進行控制,要求:
當(dāng)按下K1時,D1發(fā)光;
按下K2時,D2、D3發(fā)光;
按下K3時,D4、D5、D6發(fā)光;
按下K4時,D1、D3、D6發(fā)光;
按下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二極管發(fā)光;
SJMPSTART
;-----------------------
K2:
CALLDL10MS
JBP0.1,START
JNBP0.1,$
CLRP1.1;按下K2鍵時,D2、D3發(fā)光;
CLRP1.2
SJMPSTART
;-----------------------
K3:
CALLDL10MS
JBP0.2,START
JNBP0.2,$
CLRP1.3;按下K3鍵時,D4、D5、D6發(fā)光;
CLRP1.4
CLRP1.5
SJMPSTART
;-----------------------
K4:
CALLDL10MS
JBP0.3,START
JNBP0.3,$
CLRP1.0;按下K4鍵時,D1、D3、D6發(fā)光。
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