新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機控制交通燈c51程序

        單片機控制交通燈c51程序

        作者: 時間:2012-11-15 來源:網絡 收藏

        先上圖

        點擊瀏覽下一頁


        點擊瀏覽下一頁

        /*
        程序效果:單片機模擬控制程序,規則如下:當南北通車時,此時南北的綠燈亮,東西的紅燈亮,之后南北的綠燈閃爍3次,過后黃燈亮,延時片刻,轉東西綠燈亮同時南北紅燈亮,之后東西的綠燈閃爍3次,過后黃燈亮,延時片刻;數碼管顯示的值都同步,結束。全部代碼由http://www.51hei.com站長開發(由于站長對的規則不是特別了解,產生于事實沖突,敬請包涵)
        */
        #includereg52.h> //頭文件
        #define uchar unsigned char//宏定義
        #define uint unsigned int
        uchar code table[]={0x00,0x01,0x02,0x03, //數碼管顯示的值
        0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11,
        0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,
        0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
        0x28,0x29,0x30,0x31,0x32,0x33,0x34,0x35,
        0x36,0x37,0x38,0x39,0x40,0x41,0x42,0x43,
        0x44,0x45};
        void delay(uint x)//延時子函數
        {
          uint i,j;
          for(i=x;i>0;i--)
          for(j=500;j>0;j--);
        }
        void main() //主函數
        {
          uchar i; //定義局部變量
          P1=table[0]; //數碼管顯示0
          delay(400); //延時一會兒,在此之前所有數碼管全為0,
          while(1) //所有的都亮
          {
            for(i=0;i45;i++) //南北通車較多,故延時較多
            {
              P2=0x0a; //南北綠燈亮,東西紅燈亮
               P1=table[i];
              delay(200);
            }
            for(i=0;i3;i++) //南北綠燈閃爍3次,同時東西紅燈亮
             {
               P2=0x0a;
              delay(200);
              P2=0x02;
              delay(200);
            }
            P2=0x22; //南北黃燈亮,同時東西紅燈亮
            delay(600); //延時片刻
            for(i=0;i35;i++) //東西開始通車,由于車輛較少,故延時較少
            {
              P2=0x11; //南北的紅燈亮 ,東西的綠燈亮
              P1=table[i];
              delay(200);
            }
            for(i=0;i3;i++) //東西的綠燈閃爍3次
            {
              P2=0x11;
              delay(200);
              P2=0x10;
              delay(200);
            }
            P2=0x14; //東西的黃燈亮
            delay(600); //延時片刻
          }
        }



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 兰考县| 安康市| 湖南省| 牙克石市| 台州市| 新巴尔虎右旗| 六安市| 冕宁县| 微山县| 八宿县| 阿克| 兴安盟| 海盐县| 扎囊县| 信阳市| 花垣县| 安化县| 佛山市| 依兰县| 三明市| 霸州市| 嘉义县| 贡觉县| 无锡市| 九龙城区| 三穗县| 崇明县| 宁陕县| 井冈山市| 巴彦淖尔市| 赤峰市| 栖霞市| 米脂县| 沿河| 庆元县| 宁乡县| 永顺县| 犍为县| 错那县| 平果县| 花垣县|