1、智能交通灯简单控制程序c51 #include unsigned char a;unsigned char b;unsigned char c;unsigned char d;unsigned char e;sbit hh=P37;sbit hong1=P10;sbit huang1=P11;sbit lv1=P12;sbit hong2=P13;sbit huang2=P14;sbit lv2=P15;sbit hong3=P16;sbit huang3=P17;sbit lv3=P30;sbit hong4=P31;sbit huang4=P32;sbit lv4=P33;unsigned
2、 char code Tab11=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff; unsigned char int_time1;unsigned char int_time2; unsigned char second1=30; unsigned char second2=30; unsigned char second3=30; unsigned char second4=30; /*/void delay1ms(unsigned int l)unsigned char n; while(l-) for(n=0;n=3) ho
3、ng1=1; huang1=1; lv1=0; hong2=0; huang2=1; lv2=1; hong3=0; huang3=1; lv3=1; hong4=0; huang4=1; lv4=1; else if(b=0&(a=1|a=2) hong1=1; huang1=0; lv1=1; hong2=0; huang2=1; lv2=1; hong3=0; huang3=1; lv3=1; hong4=0; huang4=1; lv4=1; void biandeng2(void)if(b=1&(a!=1|a!=2) hong1=0; huang1=1; lv1=1; hong2=1
4、; huang2=1; lv2=0; hong3=0; huang3=1; lv3=1; hong4=0; huang4=1; lv4=1; if(b=1&(a=1|a=2) hong1=0; huang1=1; lv1=1; hong2=1; huang2=0; lv2=1; hong3=0; huang3=1; lv3=1; hong4=0; huang4=1; lv4=1; void biandeng3(void)if(b=2&(a!=1|a!=2)hong1=0; huang1=1; lv1=1; hong2=1; huang2=0; lv2=1; hong3=1; huang3=1;
5、 lv3=0; hong4=0; huang4=1; lv4=1; if(b=2&(a=1|a=2) hong1=0; huang1=1; lv1=1; hong2=0; huang2=1; lv2=1; hong3=1; huang3=0; lv3=1; hong4=0; huang4=1; lv4=1; void biandeng4(void)if(b=3&(a!=1|a!=2)hong1=0; huang1=1; lv1=1; hong2=0; huang2=1; lv2=1; hong3=0; huang3=1; lv3=1; hong4=1; huang4=1; lv4=0; if(
6、b=3&(a=1|a=2) hong1=0; huang1=1; lv1=1; hong2=0; huang2=1; lv2=1; hong3=0; huang3=1; lv3=1; hong4=1; huang4=0; lv4=1; /* */void delay(void) unsigned char m; for(m=0;m250;m+) ;/*/ void DisplaySecond1(unsigned char h) P2=0xfe; P0=Tabh/10; delay(); P2=0xff; P0=0xff; delay(); P2=0xfd; P0=Tabh%10; delay(
7、); P2=0xff; P0=0xff; delay(); /*-*/ void DisplaySecond2(unsigned char i) P2=0xfb; P0=Tabi/10; delay(); P2=0xff; P0=0xff; delay(); P2=0xf7; P0=Tabi%10; delay(); P2=0xff; P0=0xff; delay(); /*-*/ void DisplaySecond3(unsigned char j) P2=0xef; P0=Tabj/10; delay(); P2=0xff; P0=0xff; delay(); P2=0xdf; P0=T
8、abj%10; delay(); P2=0xff; P0=0xff; delay(); /*-*/ void DisplaySecond4(unsigned char k) P2=0xbf; P0=Tabk/10; delay(); P2=0xff; P0=0xff; delay(); P2=0x7f; P0=Tabk%10; delay(); P2=0xff; P0=0xff; delay(); /*/ void chuzhi1(void) DisplaySecond1(second1); DisplaySecond2(second2); DisplaySecond3(second3); D
9、isplaySecond4(second4); void chuzhi2(void) DisplaySecond1(second4); DisplaySecond2(second1); DisplaySecond3(second2); DisplaySecond4(second3); void chuzhi3(void) DisplaySecond1(second3); DisplaySecond2(second4); DisplaySecond3(second1); DisplaySecond4(second2); void chuzhi4(void) DisplaySecond1(seco
10、nd2); DisplaySecond2(second3); DisplaySecond3(second4); DisplaySecond4(second1); /*/ void main(void) TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TH1=(65536-1000)/256; TL1=(65536-1000)%256; EA=1; ET0=1; TR0=1; ET1=1; TR1=1; a=30; b=0; c=0; d=0; e=0; int_time1=0; int_time2=0; while(1) chu
11、zhi1(); biandeng1(); biandeng2(); biandeng3(); biandeng4(); /*/* void interserve1(void ) interrupt 1 using 1 TR0=0; int_time1 +; if(int_time1=20) int_time1=0; second1-,second2-,second3-,second4-,a-; if(second1=0) second1=30; if(second2=0) second2=30; if(second3=0) second3=30; if(second4=0) second4=30; if(a=0) b+,a=30; if(b=4) b=0; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; /*/* void interserve2(void ) interrupt 3 using 1 TR1=0; int_time2 +; if(int_time2=100) int_time2=0; if(c=1) d+; if(d=250) d=0; e+; if(e=250) e=0; TH1=(65536-1000)/256; TL1=(65536-1000)%256; TR1=1;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1