《交通红绿灯单片机控制课程设计》由会员分享,可在线阅读,更多相关《交通红绿灯单片机控制课程设计(29页珍藏版)》请在金锄头文库上搜索。
1、交通红绿灯课程设计交通红绿灯课程设计要求: 任务目标: 某十字路口,南北向为主干道,东西向为支道,每个道口安装一组交通灯:红、黄、绿。设计十字路口的交通灯控制器,使交通灯按状态 1 状态 2 状态 3 状 态 4 的规律变化,循环不止。 状态1:东西向绿灯亮,南北向红灯亮,其他灯全灭,保持25 秒; 状态2:东西向黄灯亮,南北向红灯亮,其他灯全灭,保持5 秒;状态3:东西向红灯亮,南北向绿灯亮,其他灯全灭,保持25秒;状态4:东西向红灯亮,南北向黄灯亮,其他灯全灭,保持5 秒。原理图:原理图:调试效果图:调试效果图:C 语言运行程序:语言运行程序:#includesbit gre1=P20;s
2、bit yel1=P21;sbit red1=P22;sbit gre3=P30;sbit yel3=P31;sbit red3=P32;sbit bi1=P36;sbit bi2=P37;void dx();void yan(int cs);void display2();void display3();void display31();void display32();void display33();void display34();void display35();int a,b=0;unsigned char table110=0xc0,0xf9,0xa4,0xb0,0x99,0x9
3、2,0x82,0xf8,0x80,0x90 ;void main()P1=0X00;P0=0X00;EA=1;EX1=1;/IT0=0;while(1)dx();void dx()red1=0;gre3=0;display3();gre3=1;yel3=0;display31();yel3=1;display32();yel3=0;display33();yel3=1;display34();yel3=0;display35();red1=1;yel3=1;gre1=0;red3=0;display2();gre1=1;yel1=0;display31();yel1=1;display32()
4、;yel1=0;display33();yel1=1;display34();yel1=0;display35();yel1=1;red3=1;void display2()int i; for(i=0;i50;i+)bi1=0;bi2=1;P1=table10;P0=table15;yan(10);bi2=0;bi1=1;P1=table12;P0=table12;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table19;P0=table14;yan(10);bi2=0;bi1=1;P1=table11;P0=table12;yan(10);for(i=0;
5、i50;i+)bi1=0;bi2=1;P1=table18;P0=table13;yan(10);bi2=0;bi1=1;P1=table11;P0=table12;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table17;P0=table12;yan(10);bi2=0;bi1=1;P1=table11;P0=table12;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table16;P0=table11;yan(10);bi2=0;bi1=1;P1=table11;P0=table12;yan(10);for(i=0;i50
6、;i+)bi1=0;bi2=1;P1=table15;P0=table10;yan(10);bi2=0;bi1=1;P1=table11;P0=table12;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table14;P0=table19;yan(10);bi2=0;bi1=1;P1=table11;P0=table11;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table13;P0=table18;yan(10);bi2=0;bi1=1;P1=table11;P0=table11;yan(10);for(i=0;i50;i+
7、)bi1=0;bi2=1;P1=table12;P0=table17;yan(10);bi2=0;bi1=1;P1=table11;P0=table11;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table11;P0=table16;yan(10);bi2=0;bi1=1;P1=table11;P0=table11;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table10;P0=table15;yan(10);bi2=0;bi1=1;P1=table11;P0=table11;yan(10);for(i=0;i50;i+)bi
8、1=0;bi2=1;P1=table19;P0=table14;yan(10);bi2=0;bi1=1;P1=table10;P0=table11;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table18;P0=table13;yan(10);bi2=0;bi1=1;P1=table10;P0=table11;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table17;P0=table12;yan(10);bi2=0;bi1=1;P1=table10;P0=table11;yan(10);for(i=0;i50;i+)bi1=0
9、;bi2=1;P1=table16;P0=table11;yan(10);bi2=0;bi1=1;P1=table10;P0=table11;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table15;P0=table10;yan(10);bi2=0;bi1=1;P1=table10;P0=table11;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table14;P0=table19;yan(10);bi2=0;bi1=1;P1=table10;P0=table10;yan(10);for(i=0;i50;i+)bi1=0;bi
10、2=1;P1=table13;P0=table18;yan(10);bi2=0;bi1=1;P1=table10;P0=table10;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table12;P0=table17;yan(10);bi2=0;bi1=1;P1=table10;P0=table10;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table11;P0=table16;yan(10);bi2=0;bi1=1;P1=table10;P0=table10;yan(10);void display3()int i; for(
11、i=0;i50;i+)bi1=0;bi2=1;P1=table15;P0=table10;yan(10);/ bi1=1;bi2=0;bi1=1;P1=table12;P0=table12;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table14;P0=table19;yan(10);bi2=0;bi1=1;P1=table12;P0=table11;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table13;P0=table18;yan(10);bi2=0;bi1=1;P1=table12;P0=table11;yan(10)
12、;for(i=0;i50;i+)bi1=0;bi2=1;P1=table12;P0=table17;yan(10);bi2=0;bi1=1;P1=table12;P0=table11;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table11;P0=table16;yan(10);bi2=0;bi1=1;P1=table12;P0=table11;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table10;P0=table15;yan(10);bi2=0;bi1=1;P1=table12;P0=table11;yan(10);fo
13、r(i=0;i50;i+)bi1=0;bi2=1;P1=table19;P0=table14;yan(10);bi2=0;bi1=1;P1=table11;P0=table11;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table18;P0=table13;yan(10);bi2=0;bi1=1;P1=table11;P0=table11;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table17;P0=table12;yan(10);bi2=0;bi1=1;P1=table11;P0=table11;yan(10);for(i
14、=0;i50;i+)bi1=0;bi2=1;P1=table16;P0=table11;yan(10);bi2=0;bi1=1;P1=table11;P0=table11;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table15;P0=table10;yan(10);bi2=0;bi1=1;P1=table11;P0=table11;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table14;P0=table19;yan(10);bi2=0;bi1=1;P1=table11;P0=table10;yan(10);for(i=0;
15、i50;i+)bi1=0;bi2=1;P1=table13;P0=table18;yan(10);bi2=0;bi1=1;P1=table11;P0=table10;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table12;P0=table17;yan(10);bi2=0;bi1=1;P1=table11;P0=table10;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table11;P0=table16;yan(10);bi2=0;bi1=1;P1=table11;P0=table10;yan(10);for(i=0;i50;i+)bi1=0;bi2=1;P1=table10;P0=table15;y