- #include <REGX51.H>
- void delay(unsigned int a) //@12.000MHz
- {
- unsigned char i, j;
- while(a)
- {
- i = 2;
- j = 239;
- do
- {
- while (--j);
-
- } while (--i);
- a--;
- }
- }
- void main()
- {
- int b;
- while(1)
- {
- P1_0=0; //南北绿灯
- P1_4=0; //东西红灯
- while(1)
- {
- if(P1_6==1) //东西通行
- {
- delay(20); //按键消抖
- while(P1_6==1);
- delay(20);
- P1_0=1; //南北绿灯熄灭
- for(b=0;b<5;b++) //黄灯闪烁
- {
- P1_2=0;
- delay(500);
- P1_2=1;
- delay(500);
- }
- P1_4=1; //东西红灯熄灭
- P1_1=0; //南北红灯
- P1_5=0; //东西绿灯
- }
- if(P1_7==1) //南北同行
- {
- delay(20);
- while(P1_7==1);
- delay(20); //按键消抖
- P1_5=1; //东西绿灯熄灭
- for(b=0;b<5;b++) //黄灯闪烁
- {
- P1_3=0;
- delay(500);
- P1_3=1;
- delay(500);
- }
- P1_1=1; //南北红灯熄灭
- P1_0=0; //南北绿灯
- P1_4=0; //东西红灯
- }
- }
- }
- }
复制代码
|