右图就是我们试验板上的四个按键和四个指示灯(注意:指示灯旁边的拨码开关全部拨向左边,否则指示灯处于常亮状态),这个实验
实现的功能是:按下KEY1则下面第一只指示灯点亮,即P0.0为低电平;再次按下KEY1则下面第一只指示灯熄灭,即P0.0为高电平;按下KEY2则下面第二只指示灯点亮,即P0.1为低电平;再次按下KEY1则下面第二只指示灯熄灭,即P0.1为高电平;同理,其它按键一样,实现功能程序如下:
ORG
0000H
STAR: JNB P3.3,STAR1 ;判断KEY1按下否?
JNB P0.6,STAR2
JNB P0.5,STAR3
JNB P0.4,STAR4
AJMP STAR
;转到开始
STAR1: LCALL DELAY
JB P3.3,STAR
;延时消抖
DENG1: JNB P3.3,DENG1 ;等待放开按键
CPL P0.0
;点亮第一只发光管
LJMP STAR
;转到开始
STAR2: LCALL DELAY
JB P0.6,STAR
DENG2: JNB P0.6,DENG2
CPL P0.1
LJMP STAR
STAR3: LCALL DELAY
JB P0.5,STAR
DENG3: JNB P0.5,DENG3
CPL P0.2
LJMP STAR
STAR4: LCALL DELAY
JB P0.4,STAR
DENG4: JNB P0.4,DENG4
CPL P0.3
LJMP STAR
DELAY: MOV R4,#10 ;5毫秒延时子程序
D1: MOV R5,#248
DJNZ R5,$
DJNZ R4,D1
RET
END
需要单片机试验开发板请进!
|