源程序
#include <reg52.h> sbit guang=P1^0; sbit hongwai=P1^1; sbit LED1=P0^0; sbit LED2=P0^1; void delay1()//光敏電阻檢測防止錯誤信號延時,延時可調(diào) { unsigned long a; for(a=100000;a;a--); } void delay2()//汽車來往路燈延時熄滅,延時可調(diào) { 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;//跳出循環(huán) } } else { LED2=1; if(guang==0) { delay1(); if(guang==0)break;//跳出循環(huán) } } } if(guang==0) { delay1(); if(guang==0)break;//跳出循環(huán) } } else { delay1(); if(guang==0) { LED1=1; LED2=1; } } }
|