1、/*十字路口红绿灯控制,四个路口分别控制,每个路口 30s 绿灯,3s 绿灯闪烁,3s 黄灯,如此循环往复*/#include #define uint unsigned int#define uchar unsigned char/东sbit RED_E=P00;sbit YELLOW_E=P01;sbit GREEN_E=P02;/西sbit RED_W=P03;sbit YELLOW_W=P04;sbit GREEN_W=P05;/南sbit RED_S=P10;sbit YELLOW_S=P11;sbit GREEN_S=P12;/北sbit RED_N=P13;sbit YELLOW
2、_N=P14;sbit GREEN_N=P15;uchar a=30,b=3,c=3;/a:红、绿灯时间,b:绿灯闪烁时间,c:黄灯时间,单位 suchar time=0,i=0,j=1;/红绿灯显示程序void Traffic_light()switch(j)case 1: /东西绿灯,南北红灯,30sRED_E=1;YELLOW_E=1;GREEN_E=0;RED_W=0;YELLOW_W=1;GREEN_W=1;RED_S=0;YELLOW_S=1;GREEN_S=1;RED_N=0;YELLOW_N=1;GREEN_N=1;if(time=40)i=0;time+; /1s 时间Traffic_light();/定时器 0 中断函数void timer0()interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;i+;