红灯亮3秒,然后灭了绿灯亮6秒,如此循环,用单片机C语言编程怎么编??

2025-03-20 20:18:56
推荐回答(2个)
回答(1):

uchar time = 0;
uchar step = 0; //0:红灯亮,1:绿灯亮
void TimeoutPro(){
if(time > 0){
time--;
if(time == 0){
switch(step){
case 0 :LR = 0; LG = 1;
step = 1; time = 6; break; //红灯亮结束,跳成绿灯
case 1 :LR = 1; LG = 0;
step = 0; time = 3; break; //绿灯亮结束,跳成红灯
}}}}
void main(){
LR = 1;
LG = 0;
step = 0;time = 3; //初始化:红灯亮,3秒,
while(1){
TimeoutPro(); //
delayS(1); //1秒延时,或者用定时器中断。
}
}

回答(2):

这个很难给一个具体答案,要看什么样的单片机和红绿灯怎么和单片机连接的。