新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于89C52單片機的紅外遙控雙模式交通燈控制系統

        基于89C52單片機的紅外遙控雙模式交通燈控制系統

        作者: 時間:2012-08-31 來源:網絡 收藏

        void display(shi,ge)

        { dula=1;

        P0=table[shi];

        dula=0;

        wela=1;

        P0=table1[0];

        wela=0;

        delay(5);

        P0=0xff; // 對數碼管消影

        dula=1;

        P0=table[ge];

        dula=0;

        wela=1;

        P0=table1[1];

        wela=0;

        delay(5);

        P0=0xff;}

        模式一函數:

        void mod1()

        { if(num==1gtime>5) // 東西道紅燈亮,南北道綠燈亮,最后5 秒切換成黃燈

        { LED5=0;

        LED1=0; }

        if(num==2) // 東西道綠燈亮,南北道紅燈亮

        { LED2=0;

        LED6=0;

        LED5=1;

        LED3=1;

        LED1=1; }

        if(num==1gtime==5) // 東西道紅燈亮,南北道黃燈亮5 秒

        { LED5=1;

        LED2=1;

        LED3=0; }

        shi=gtime/10;

        ge=gtime%10;

        if(aa==20) // 50ms×20=1s, 即過1s 數碼管數字減1

        { aa=0;

        gtime--; }

        display(shi,ge);

        if(gtime==0num!=2)

        { gtime=60;

        num=2; }

        if(gtime==0num==2)

        { num=1;

        gtime=60;

        LED2=1;

        LED6=1; } }

        模式二函數:

        如同模式一,只是參數有變化。如將gtime=60 換成rtime=40;num=1 換成numa=1;僅此而已。

        主函數:

        void main()

        { init();

        while(1)

        /* 模式一,平常模式,紅綠燈切換時間為60 秒*/

        { if(MODEL1==1||HMODE1==0) // 按鍵或紅外控制切換模式

        { mod1(); }

        /* 通過按鍵切換工作模式*/

        if(KEY1==0)

        { delay(5); //按鍵消抖

        while(KEY1==0)

        { MODEL1++;

        rtime=40;

        if(MODEL1==3)

        { MODEL1=1;

        gtime=60; }

        while(!KEY1); } }

        … …

        /*模式二,上下班高峰期模式。紅綠燈切換時間為40 秒*/

        if(MODEL1==2||HMODE1==1)

        { mod2(); }

        } }

        void timer0() interrupt 1

        { TH0=15536/256;

        TL0=15536%256;

        aa++; }

        紅外遙控器相關文章:紅外遙控器原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 临西县| 湛江市| 襄汾县| 宁城县| 政和县| 乌兰县| 福建省| 仪陇县| 连山| 岚皋县| 简阳市| 保康县| 灌南县| 建平县| 噶尔县| 永城市| 广宗县| 江永县| 卓尼县| 南和县| 田东县| 宣化县| 黄山市| 秦安县| 桦南县| 千阳县| 景泰县| 宝山区| 新干县| 日照市| 黄平县| 泸水县| 塔城市| 嘉峪关市| 阜新市| 河津市| 达尔| 海口市| 利津县| 西藏| 育儿|