基于51�片机的交通信��系统本科毕设论文 - 百度文库

N T0ÏìÓ¦ 0.5sµ½ Y Äϱ±»ÆµÆ±ê־λΪ1 N ¶«Î÷»ÆµÆ±ê־λΪ1 N N 1sµ½ Y µ¹¼ÆÊ±¼õ1,¼ÆÊýÖµÖÃ0 ·µ»Ø Y ¶«Î÷»ÆµÆÎ»Ö÷´ Y Äϱ±»ÆµÆÎ»Ö÷´ ͼ3.2 ¶¨Ê±0ÖжÏÁ÷³Ìͼ

2.³ÌÐò

#include #include\

/*************¶Ë¿Ú¶¨Òå*************/

sbit EW_ShuMa2=P2^3; //EW·½ÏòµÍλÊýÂë¹Ü¿ØÖÆÎ» sbit EW_ShuMa1=P2^2; //EW·½Ïò¸ßλÊýÂë¹Ü¿ØÖÆÎ» sbit SN_ShuMa2=P2^1; //SN·½ÏòµÍλÊýÂë¹Ü¿ØÖÆÎ» sbit SN_ShuMa1=P2^0; //SN·½Ïò¸ßλÊýÂë¹Ü¿ØÖÆÎ»

sbit SN_Yellow=P1^1; //SN»ÆµÆ

sbit EW_Yellow=P1^5; //EW»ÆµÆ

sbit EW_ManGreen=P2^7; //EWÈËÐеÀÂÌµÆ sbit SN_ManGreen=P2^4; //SNÈËÐеÀÂÌµÆ sbit EW_ManRed=P2^6; //EWÈËÐеÀºìµÆ sbit SN_ManRed=P2^5; //SNÈËÐеÀºìµÆ sbit EW_Red=P1^6; //EWÖ±ÐеÀºìµÆ sbit SN_Red=P1^2; //SNÖ±ÐеÀºìµÆ

sbit shezhi1=P3^0; //ģʽÉèÖüü

sbit shezhi2=P3^1; //ģʽÉèÖüü sbit stop1=P3^7; //½ô¼±Çé¿ö¼ü

bit Flag_SN_Yellow; //SN»ÆµÆ±ê־λ bit Flag_EW_Yellow; //EW»ÆµÆ±ê־λ

char Time_EW; //¶«Î÷·½Ïòµ¹¼ÆÊ±µ¥Ôª char Time_SN; //Äϱ±·½Ïòµ¹¼ÆÊ±µ¥Ôª

uchar EW=30,SN=20,EWL=9,SNL=9; //³ÌÐò³õʼ»¯¸³Öµ£¬Õý³£Ä£Ê½ uchar EW1=30,SN1=20,EWL1=9,SNL1=9;

uchar code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //0-9¶ÎÑ¡Âë

uchar code State[8]={0xBE,0xBD,0xB7,0xBD,0xEB,0xDB,0x7B,0xDB}; /*************º¯ÊýÉùÃ÷***************/ void Delay_ms(uint z); void ShuMa_Display(); void timer0_init(); void state1(); void state2();

void state3(); void state4();

/**************Ö÷º¯Êý************/ void main() {

timer0_init(); //¶¨Ê±Æ÷³õʼ»¯ EW1=read(10); //24c02¶Á²Ù×÷ SN1=read(11); EWL1=read(12);

SNL1=read(13); EW=EW1; SN=SN1; EWL=EWL1; SNL=SNL1; //Int_init(); while(1) { state1();

state2();

state3(); state4(); } }

/*************ÑÓʱº¯Êý*************/ /*void Delay_ms(uint z) { uint x,y;

for(x=120;x>0;x--) for(y=z;y>0;y--);

}*/

/**************ÊýÂë¹ÜÏÔʾº¯Êý*****************/ void ShuMa_Display() {

uchar H,L;

H=Time_EW/10; L=Time_EW;

P0=table[L];

EW_ShuMa2=0; //µãÁÁEW_LED2

Delay_ms(1);

EW_ShuMa2=1; //ϨÃðEW_LED2 P0=table[H];

EW_ShuMa1=0; //µãÁÁEW_LED1 Delay_ms(1); EW_ShuMa1=1; H=Time_SN/10; L=Time_SN;

P0=table[L];

SN_ShuMa2=0; //µãÁÁSN_LED2 Delay_ms(1); SN_ShuMa2=1; P0=table[H]; SN_ShuMa1=0; //µãÁÁSN_LED1 Delay_ms(1); SN_ShuMa1=1;

}

/***************ģʽº¯Êý****************/ void state1() {

/*********SNͨÐÐSW½ûÖ¹*********/ SN_ManRed=1; SN_ManGreen=0; //SNÈËÐеÀͨÐÐ EW_ManRed=0; //EWÈËÐеÀ½ûÖ¹ EW_ManGreen=1; Flag_SN_Yellow=0; //SN¹Ø»ÆµÆÏÔʾÐźŠFlag_EW_Yellow=0; //EW¹Ø»ÆµÆÏÔʾÐźÅ

Time_EW=EW; Time_SN=SN;

while(Time_SN>=5) {

P1=State[0]; //SNÂ̵ƣ¬EWºìµÆ ShuMa_Display(); }

P1=0xff;//¹Ø±ÕP1¿ÚËùÓÐµÆ while(Time_SN>=0) {

Flag_SN_Yellow=1; //SN¿ª»ÆµÆÐźÅλ EW_Red=0; //P1=P1 |0XB0; //±£³ÖEWºìµÆ ShuMa_Display(); } }

void state2() { /************SN·½Ïò×ó¹Õ״̬**********/

SN_ManRed=0; //SNÈËÐеÀ½ûÖ¹ SN_ManGreen=1;

EW_ManRed=0; //EWÈËÐеÀ½ûÖ¹ EW_ManGreen=1;

Flag_SN_Yellow=0; //SN¹Ø»ÆµÆÏÔʾÐźŠFlag_EW_Yellow=0; //EW¹Ø»ÆµÆÏÔʾÐźŠTime_SN=SNL; Time_EW=EWL; while(Time_SN>=5)

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@) ËÕICP±¸20003344ºÅ-4