久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2867|回復(fù): 3
收起左側(cè)

模擬現(xiàn)實(shí)生活中十字路口的單片機(jī)交通燈仿真

[復(fù)制鏈接]
ID:399107 發(fā)表于 2018-10-10 08:31 | 顯示全部樓層 |閱讀模式
模擬現(xiàn)實(shí)生活中十字路口的交通燈
源代碼:
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
        uchar temp,aa,nn;
        sbit rn=P2^0;                                
        sbit nb=P2^1;
        sbit gn=P2^2;
        sbit rw=P2^3;
        sbit dx=P2^4;
        sbit gw=P2^5;
        sbit shi=P3^6;
        sbit ge=P3^7;                            /*對(duì)要使用的單片機(jī)各個(gè)口進(jìn)行定義*/
        bit flag=0;

        uchar code table[]={
        0x3f,0x06,0x5b,0x4f,
        0x66,0x6d,0x7d,0x07,
        0x7f,0x6f,0x77,0x7c,
        0x39,0x5e,0x79,0x71};         /*將數(shù)字0123456789的16進(jìn)制數(shù)定義成數(shù)組用以顯示*/

        void delay(uint z);
        void disp(uint n);
        void nb_flash(void);
        void dx_flash(void);
        void  xint0();
        void timer0();
        void  LED_ON();
        void  xint1();
        void  LED_OFF();
        void nanbei();
        void dongxi();                 /*將所使用的子函數(shù)定義*/

        void main()
        {
                uint num;
                num=0;
                aa=0;
                TMOD=0x01;
                TH0=(65536-50000)/256;
                TL0=(65536-50000)%256;
                EA=1;
                ET0=1;
                TR0=1;
                EX0=1;
                IT0=0;
                EX1=1;
                IT1=1;                       /*中斷初始化*/
                while(1)
                {
                        nanbei();        
                        nb_flash();
                        dongxi();
                        dx_flash();                /*主函數(shù)中顯示部分*/
        }
        }

        void delay(uint z)                    /*延時(shí)子函數(shù)*/
        {
                uint x,y;
                for(x=z;x>0;x--)
                        for(y=110;y>0;y--);
        }

        void timer0() interrupt 1             /*定時(shí)器初始化*/
        {
                TH0=(65536-50000)/256;
                TL0=(65536-50000)%256;
                aa++;
                if(aa==18)
                {
                        aa=0;
                        flag=1;
                }        
        }
        void disp(uint n)                    /*顯示子函數(shù)*/
        {
          while(!flag)
          {
                  ge=0;
                  P0=table[n%10];
                  delay(50);
                  shi=1;ge=1;
                  shi=0;
                  P0=table[n/10];
                  delay(50);
                  shi=1;ge=1;
           }
          if(flag==1)
             flag=0;
        }
        void nanbei()                    /*南北方向的紅綠燈和數(shù)碼管顯示子函數(shù)*/
        {                uint num;
                        num=60;
                        disp(num);
                        while(num<=60&&num>0)
                        {         num--;
                             P2=0xde;
                                    disp(num);                        
                        }
        }
        void dongxi()                     /*東西方向的紅綠燈和數(shù)碼管顯示子函數(shù)*/
        {                uint num;                        
                         num=60;
                        while(num<=60&&num>0)
                        {        P2=0xf3;         
                                disp(num);
                                num--;
                        }
        }
        void nb_flash(void)              /*南北方向的黃燈和數(shù)碼管顯示子函數(shù)*/
        {
                uint a;
                for(a=3;a>0;a--)
                {        P2=0xdd;
                         nb=1;
                         delay(100);
                        nb=0;
                        disp(a);
                }
        }
        void dx_flash(void)                /*東西方向的黃燈和數(shù)碼管顯示子函數(shù)*/
        {
                uint a;
                for(a=3;a>0;a--)
                {         P2=0xeb;
                         dx=1;
                         delay(100);
                         dx=0;
                         disp(a);
                }
        }
        void  xint0()  interrupt 2                     /*中斷定義*/
{        
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;        
         LED_ON();        
}
void  LED_ON()                       /*開關(guān)控制燈的子函數(shù)*/   
{                        uint b;
                        rn=0;
                        rw=0;

篇幅限制,完整代碼請(qǐng)參考附件
proteus電路圖:

交通.png

交通燈.zip

48.06 KB, 下載次數(shù): 45, 下載積分: 黑幣 -5

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:612109 發(fā)表于 2019-9-16 15:25 | 顯示全部樓層
我想問問這個(gè)數(shù)碼管是共陰極的接法嗎?
回復(fù)

使用道具 舉報(bào)

ID:612109 發(fā)表于 2019-9-16 15:32 | 顯示全部樓層
這個(gè)數(shù)碼管是共陰極的接法嗎?
回復(fù)

使用道具 舉報(bào)

ID:612109 發(fā)表于 2019-9-17 18:52 | 顯示全部樓層
你好,這個(gè)電路沒畫完整額
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 午夜免费电影院 | 99精品久久久久 | 天天爽网站 | 久久国产一区二区三区 | 国产精品美女久久久久久免费 | 免费艹逼视频 | 日本电影网站 | 天天操天天拍 | 精品久久久久久18免费网站 | 日韩免费av | 欧美精品一区在线 | 日韩a视频| 国产三级日本三级 | 亚洲精品久久久久久久久久久 | 欧美日韩国产在线观看 | 国产视频在线观看一区二区三区 | 国产高清免费在线 | 亚洲毛片| 亚洲国产精选 | 欧美午夜精品理论片a级按摩 | 国产在线视频一区二区董小宛性色 | 亚洲 欧美 日韩 精品 | 麻豆精品国产91久久久久久 | 特级毛片爽www免费版 | 色网在线播放 | 中文字幕国产精品 | 国产成人亚洲精品自产在线 | 日韩欧美中文字幕在线观看 | 日韩乱码在线 | 精久久久久 | 综合视频在线 | 国产精品一区一区 | 国产精品三级久久久久久电影 | 成人永久免费视频 | 久久亚洲国产精品日日av夜夜 | 国产av毛片| av中文在线| 99精品国产一区二区青青牛奶 | 国产在线一区二 | 精品久久久久久久久久久久久 | 国产成人精品a视频一区www |