新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 交通信號燈的控制

        交通信號燈的控制

        作者: 時間:2012-09-14 來源:網絡 收藏
        此程序是在黃鶯老師的源程序上加以修改,在單片機板子上運行成功,這里是板子的硬件資料http://www.51hei.com/mcu/1019.html,數碼管是四位子,程序沒有進行

        點擊瀏覽下一頁

         #include reg51.h>#define uint unsigned int#define uchar unsigned charuint temp,temp1,temp2,num,shi,ge,i,j;uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};sbit WX1=P0^0;sbit WX2=P0^1;sbit WX3=P0^2;sbit WX4=P0^3;sbit NBL=P2^2;sbit NBY=P2^1;sbit NBR=P2^0;sbit DXL=P2^5;sbit DXY=P2^4;sbit DXR=P2^3;void init(){P0=0xff;P2=0xff;temp=0;temp1=0;temp2=0;shi=0;ge=0;TMOD=0x21;  TH0=0x3c; //50msTL0=0xb0;EA=1;ET0=1;TF0=0;TR0=1;}void delay(uchar z){uchar x,y;for(x=110;x>0;x--)for(y=z;y>0;y--);}void display(){shi=num/10;ge=num%10;P1=table[ge];WX3=1;WX2=0;WX1=0;WX4=0;delay(10);WX2=1;P1=table[shi];WX2=1;WX3=0;WX1=0;WX4=0;delay(10);WX3=1;  }void time0() interrupt 1 using 1{temp++;temp1++;TH0=0x3c;TL0=0xb0;TR0=1; }void main(){init();while(1){if(temp==0){DXR=1;NBY=1;DXL=0;NBR=0;num=21;temp1=0;for(i=20;i>0;i--){num--;while(temp1!=20){display();}temp1=0;}}if(temp==400)  {DXY=1;NBR=0;DXL=0;num=3;j=0; for(i=7;i>0;i--){j++;if(j%2==0){num--;}temp2=temp;DXL=!DXL;  //燈閃爍while(temp-temp2!=10){display();};}     }if(temp==470){   DXL=1;DXY=0;NBR=0;num=3;temp1=0;for(i=3;i>0;i--){num--;while(temp1!=20){display();}temp1=0;}if(temp==530){DXY=1;DXR=0;NBR=1;NBL=0;num=26;temp1=0;for(i=25;i>0;i--){num--;while(temp1!=20){display();}temp1=0;}}if(temp==1030){DXY=1;DXR=0;NBL=0;num=3;j=0; for(i=7;i>0;i--){j++;if(j%2==0){num--;}temp2=temp;NBL=!NBL;  //燈閃爍while(temp-temp2!=10){display();};}     }if(temp==1100){   DXL=1;DXR=0;NBY=0;num=3;temp1=0;for(i=3;i>0;i--){num--;while(temp1!=20){display();}temp1=0;}temp=0;}}}}


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 保山市| 甘孜县| 安康市| 梁山县| 莆田市| 革吉县| 泗洪县| 北流市| 游戏| 锡林浩特市| 西充县| 朔州市| 长汀县| 龙岩市| 沁阳市| 肥西县| 淮安市| 绩溪县| 清水河县| 永顺县| 湖州市| 福安市| 道真| 兰州市| 松滋市| 垦利县| 体育| 自治县| 岳西县| 聂拉木县| 衡阳县| 巨鹿县| 彭泽县| 吉木乃县| 永新县| 富源县| 松桃| 长白| 唐山市| 芜湖县| 湘潭市|