【例2】信号灯控制电路如下图所示,其功能是当按下不同的键时发光二极管有不同的亮灭规律。按1号键LED从左到右依次亮,按2号键从右到左依次亮,按3号键闪烁,按4号键呈流水追逐效果。解:电路图中P1口分别接了4个开关,每个开关都有相对应的功能,当某一开关闭合时,相应的口线变为低电平,而其他口线依然为高电平,因此,可以用4条JNB指令对开关状态进行检测。如果某一按键按下,则跳转执行其所对应的控制功能。八个发光二极管经74LS04接P2口,主要因单片机的驱动能力较差,故用74LS04来加大驱动能力。P2口输出控制信号控制发光规律。程序设计流程图如下图所示
【例2】 信号灯控制电路如下图所示,其功能是当按下不同的 键时发光二极管有不同的亮灭规律。按1号键LED从左到右依 次亮,按2号键从右到左依次亮,按3号键闪烁,按4号键呈 流水追逐效果。 解:电路图中P1口分别接了4个开关,每个开关都有相对应的 功能,当某一开关闭合时,相应的口线变为低电平,而其他 口线依然为高电平,因此,可以用4条JNB指令对开关状态进 行检测。如果某一按键按下,则跳转执行其所对应的控制功 能。八个发光二极管经74LS04接P2口,主要因单片机的驱动 能力较差,故用74LS04来加大驱动能力。P2口输出控制信号 控制发光规律。 程序设计流程图如下图所示
Vee信号灯控制电路4702X8LEDUIAUIBUICUDU2AU2BOCU2DVccO4.710×4P21P20P22P23P24P25P26SO38江82898512213aINTIINTO22205PGND28BSVee031EANP19茗1812MH910VecORESE1830pF30pF10μF17DALEP.1609TWRPSEN
▪ 信号灯控制电路
信号灯控制程序设计流程图开始YP1.0按下?执行P1.0键功能程序NYP1.1按下?执行P1.1键功能程序NYP1.2按下?执行P1.2键功能程序NP1.3按下?执行P1.3键功能程序N
信号灯控制程序设计流程图
ORGO00OHMOVSP,#60HMOVP2,#OOHMOVP1,#OFHP1.0,AOSTART:JNB如P1.0键按下,就跳至A0A1JNBP1.1,如P1.1键按下,就跳至A1JNBP1.2,A2如P1.2键按下,就跳至A2JNBA3P1. 3,:如P1.3键按下,就跳至A3SJMPSTART*****************************************左移MOVAO:DPTR,##TAB:左移常数表首地址送DPTRACALLDISPSJMPSTART:*********右移********************************MOVA1:DPTR,#TAB1:右移常数表首地址送DPTRACALLDISPSJMPSTART*水***水**水闪烁********水******水**************A2:MOVDPTR,#TAB2;闪烁常数表首地址送DPTRDISPACALLSJMPSTART
ORG 0000H MOV SP, #60H MOV P2, #00H MOV P1, #0FH START: JNB P1.0, A0 ; 如P1.0键按下,就跳至A0 JNB P1.1, A1 ; 如P1.1键按下,就跳至A1 JNB P1.2, A2 ; 如P1.2键按下,就跳至A2 JNB P1.3, A3 ; 如P1.3键按下,就跳至A3 SJMP START ;********** 左移 ******************************* A0: MOV DPTR, #TAB ; 左移常数表首地址送DPTR ACALL DISP SJMP START ;********* 右移 ******************************** A1: MOV DPTR, #TAB1 ; 右移常数表首地址送DPTR ACALL DISP SJMP START ;********* 闪烁 ******************************** A2: MOV DPTR, #TAB2 ; 闪烁常数表首地址送DPTR ACALL DISP SJMP START
:********流水追逐******水*水*水*冰*水**水水*水水**水*水水MOVA3:DPTR.##TAB3:流水追逐常数表首地址送DPTRDISPACALLSJMPSTART·*********LED显示控制子程序******水*********:功能:根据常数表控制P2口的LED发光:入口:常数表的地址送到DPTR:出口:无***************************冰*水*******水*水*水ADISP:CLRMOVCA.@A+DPTRCJNEA,#OAH,L0OP1RETP2,ALOOP1:MOVMOVR3,#20ACALLDELAYINCDPTRJMPDISP
;******** 流水追逐 ***************************** A3: MOV DPTR, #TAB3 ; 流水追逐常数表首地址送DPTR ACALL DISP SJMP START ;********* LED显示控制子程序 ***************** ; 功能:根据常数表控制P2口的LED发光 ;入口:常数表的地址送到DPTR ; 出口:无 ;******************************************** DISP: CLR A MOVC A, @A+DPTR CJNE A,#0AH,LOOP1 RET LOOP1: MOV P2,A MOV R3,#20 ACALL DELAY INC DPTR JMP DISP