源程序
#include <reg52.h> sbit guang=P1^0; sbit hongwai=P1^1; sbit LED1=P0^0; sbit LED2=P0^1; void delay1()//光敏电阻检测防止错误信号延时,延时可调 { unsigned long a; for(a=100000;a;a--); } void delay2()//汽车来往路灯延时熄灭,延时可调 { unsigned long a; for(a=250000;a;a--);//while(--a); } void main() { LED1=1;//初始化灭灯 LED2=1;//初始化灭灯 while(1) { if(guang==1) { LED1=0; while(1) { if(hongwai==1) { LED1=0; LED2=0; delay2(); if(guang==0) { delay1(); if(guang==0)break;//跳出循环 } } else { LED2=1; if(guang==0) { delay1(); if(guang==0)break;//跳出循环 } } } if(guang==0) { delay1(); if(guang==0)break;//跳出循环 } } else { delay1(); if(guang==0) { LED1=1; LED2=1; } } }
|