急!求助!!用汇编或C语言设计红绿交通灯!AT89C51芯片
要求:东西方向和南北方向各由三个信号灯(red、green、yellow)和两位数码管组成,信号灯指示车辆,数码管显示倒计时时间。控制过程如下:倒计时时间从25s开始,绿灯点亮,其它灯不亮;当倒计时到5s时,绿灯闪亮;倒计时到3秒时,黄灯点亮,其它灯不亮;直至倒计时为0,转换下一次25s倒计时,切换为红灯,其它类似。以此为周期,不断循环。 红、黄、绿灯我用的管脚是P1.0~P1.5,一个两位数码管,管脚是P2.0~P2.7,1、2接P3.0、P3.1
下面是我的程序:
ORG 0000H
setb p1.6
jb p1.6,$
jnb p1.6,$
DISP: MOV P1,#0F3H
MOV R2,#100
DISP1: ACALL DELAY
DJNZ R2,DISP1
MOV R2,#10
WARN1: CPL P1.2
ACALL DELAY
DJNZ R2,WARN1
MOV P1,#0F5H
MOV R2,#15
YEL1: ACALL DELAY
DJNZ R2,YEL1
DIS: MOV P1,#1EH
MOV R2,#100
DIS1: ACALL DELAY
DJNZ R2,DIS1
MOV R2,#10
WAR1: CPL P1.5
ACALL DELAY
DJNZ R2,WAR1
MOV P1,#2EH
MOV R2,#15
YE1: ACALL DELAY
DJNZ R2,YE1
LJMP DISP
DELAY: MOV R3,#4
MOV TMOD, #01H
MOV TH0,#3CH
MOV TL0,#0B0H
SETB TR0
LP1: JBC TF0,LP2
SJMP LP1
LP2: MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R3,LP1
RET
END
现在要弄的是把数码管的程序加进去,就是灯亮的时候开始倒计时...到这里我就不会了
希望高手帮帮忙
或者重新编一个程序也行!!
谢了!!!
交通灯程序.zip
(901 Bytes)