A-A+
已知电路见图4-2 要求实现: ①S0单独按下 红灯亮 其余灯灭: ②S1单独按下
问题详情
已知电路见图4-2,要求实现:
①S0单独按下,红灯亮,其余灯灭:
②S1单独按下,绿灯亮,其余灯灭;
③S0、S1均按下,红绿黄灯全亮;
④其余情况黄灯亮。
参考答案
程序如下
SGNL: ORL P1,#11000111B ;置P1.6、P1.7输入态,红绿黄灯灭,P1.3~P1.5状态不变
SL0: JB P1.7,SL1 ;P1.7=1,S0未按下,转判S1
JB P1.6,RED ;P1.7=0,S0按下;且P1.6=1,S1未按下,转红灯亮
ALIT: CLR P1.2 ;红灯亮
CLR P1.1 ;绿灯亮
CLR P1.0 ;黄灯亮
SJMP SL0 ;转循环
SL1: JB P1.6,YELW ;P1.7=1,S0未按下;且P1.6=l,S1未按下,转黄灯亮
GREN: CLR P1.1 ;绿灯亮
SETB P1.2 ;红灯灭
SETB P1.0 ;黄灯灭
SJMP SL0 ;转循环
RED: CLR P1.2 ;红灯亮
SETB P1.1 ;绿灯灭
SETB P1.0 ;黄灯灭
SJMP SL0 ;转循环
YELW: CLR P1.0 ;黄灯亮
SETB P1.2 ;红灯灭
SETB P1.1 ;绿灯灭
SJMP SL0 ;转循环