8个彩灯控制电路设计_彩灯控制电路设计报告
8个彩灯控制电路设计由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“彩灯控制电路设计报告”。
程序和PROTEUS图已经做出来了(如下),preteus图可以运行简单的彩灯程序,但是运行这个程序时灯只是全亮不动,程序和proteus图都找不出问题,希望高手指点一二。要求:从左到右排列,编号为1~8号。系统启动后,灯管 点亮的顺序依次为:1号→2号→3号→...→7号→8 号,时间间隔为1S。8根彩灯全亮后,持续10S。然 后按照8号→7号→6号→...→2号→1号的顺序依次 熄灭,时间间隔为1S。灯管全部熄灭后,等待2S,再从8号灯管开始,按照8号→7号→6号→...→2号 →1号的顺序依次点亮,时间间隔为1S。全部点亮后 持续20S,再按照1号→2号→3号→...→7号→8号的 顺序熄灭,时间间隔仍为1S。灯管全部熄灭后,等 待2S,再重新开始上述过程的循环。下面是已经做出来的程序: ORG 0000H LJMP START ORG 0030H START: MOV TMOD,#10H
MOV TH1,#3CH
MOV TL1,#0B0H;定时器1工作于模式1,时间为50ms
MOV P1,#0FFH;低电平有效,灯熄灭
MOV R7,#00H
LOOP1: INC R7
MOV A,R7
MOV DPTR,#TAB1
MOVC A,@A+DPTR
MOV P1,A
LCALL DELAY1
CJNE R7,#8,LOOP1;8次没显示完则继续循环
LCALL DELAY2;过程1
MOV R7,#8
LOOP2: DEC R7
MOV A,R7
MOVC A,@A+DPTR
MOV P1,A
LCALL DELAY1
CJNE R7,#0,LOOP2;8次没完则继续循环
LCALL DELAY1
MOV R7,#0H
LOOP3:INC R7
MOV DPTR,#TAB2
MOV A,R7
MOVC A,@A+DPTR
MOV P1,A
LCALL DELAY1
CJNE R7,#8,LOOP3;8次未完继续循环
LCALL DELAY3
MOV R7,#8H
LOOP4:DEC R7
MOV A,R7
MOVC A,@A+DPTR
MOV P1,A
LCALL DELAY1
CJNE R7,#0,LOOP4;8次未完继续循环
LCALL DELAY1
LJMP START;开始下一个循环
DELAY1:MOV R0,#20
LOOP5:
SETB TR1
JNB TF1,$
DJNZ R0,LOOP5
CLR TR1
RET
;一秒延时
DELAY2:MOV R0,#9
LOOP6:LCALL DELAY1
DJNZ R0,LOOP6
RET;9秒延时
DELAY3:MOV R0,#19
LOOP7:LCALL DELAY1
DJNZ R0,LOOP7
RET
;19秒延时
TAB1:DB 0FFH,7FH,3FH,1FH,0FH
DB 07H,03H,01H,00H
TAB2:DB 0FFH,0FEH,0FCH,0F8H,0F0H
DB 0E0H,0C0H,080H,00H
END
这是proteus图