交通灯程序:单片机交通灯控制系统的程序怎么写?要快啊

<p>使用AT89C51,红灯20秒,黄灯3秒,绿灯17秒,时间可更改交通灯程序。程序是最简单的一种,可以直接给P1口诵断码,也可以让绿灯闪烁几下在亮黄灯</p> <p>#include&lt;reg51.h&gt;</p> <p>#define uchar unsigned char</p> <p>#define uint unsigned int</p> <p>//======1组灯定义======</p> <p>sbit red_1=P1^0;</p> <p>sbit yellow_1=P1^1;</p> <p>sbit green_1=P1^2;</p> <p>//======2组灯定义======</p> <p>sbit red_2=P1^3;</p> <p>sbit yellow_2=P1^4;</p> <p>sbit green_2=P1^5;</p> <p>delay1ms(uint x)</p> <p>{</p> <p> uchar a;</p> <p> while(x--)</p> <p>      {</p> <p>       for(a=0;a&lt;125;a++);</p> <p>      }</p> <p>}</p> <p>main()</p> <p>{P1=0xff;</p> <p> while(1)</p> <p>      {//1组亮红灯,2组亮绿灯。延时17秒</p> <p>       yellow_1=1; </p> <p>       red_2=1;</p> <p>       green_1=1;</p> <p>       red_1=0;</p> <p>       green_2=0;</p> <p>       delay1ms(17000);</p> <p>       //2组亮黄灯。延时3秒</p> <p>       green_2=1;</p> <p>       yellow_2=0; </p> <p>       delay1ms(3000);</p> <p>       //1组亮绿灯,2组亮红灯。延时17秒</p> <p>       yellow_2=1; </p> <p>       red_1=1;</p> <p>       green_2=1;</p> <p>       red_2=0;</p> <p>       green_1=0;</p> <p>       delay1ms(17000);</p> <p>       //1组亮黄灯。延时3秒</p> <p>       green_1=1;</p> <p>       yellow_1=0; </p> <p>       delay1ms(3000);</p> <p>   }</p> <p>}</p> <p></p>

交通灯程序:单片机交通灯控制系统的程序怎么写?要快啊