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

標題: 單片機交通燈設計源碼 [打印本頁]

作者: 51hei小山    時間: 2016-11-2 11:37
標題: 單片機交通燈設計源碼
/**************************************************
實驗名:交通燈設計
實驗內容:利用中斷,定時/計數器,數碼管和led燈進行交通燈的設計
*************************************************/                                                               
                                       #include <reg52.h>
                                 #define uint unsigned int
                                        #define uchar unsigned char
                                        sbit wei1=P2^4;             //定義位選 0
                                        sbit wei2=P2^5;             //1
                                        sbit wei3=P2^6;             //2
                                        sbit wei4=P2^7;             //3
                                        sbit green_we=P1^2;         //定義交通燈綠東西
                                        sbit green_ns=P1^3; //定義交通燈綠南北
                                        sbit red_we=P1^0;    //定義交通燈紅東西
                                        sbit red_ns=P1^1;      //定義交通燈紅南北
                                        sbit yellow_we=P1^4;        //定義交通燈黃東西
                                        sbit yellow_ns=P1^5;         //定義交通燈黃南北
                                        uchar num,num1,shi_we,shi_ns,ge_we,ge_ns;
                                        uint xianshi_we,xianshi_ns;
                                        uchar code table[]={
                                        0x3f,0x06,0x5b,0x4f,0x66,
                                        0x6d,0x7d,0x07,0x7f,0x6f}; //定義數值0,1,2....9
                                        void delayms(uint xsm) //延時程序
                                        {
                                        uint i,j;
                                        for(i=xsm;i>0;i--)
                                        for(j=110;j>0;j--);
                                        }
                                        void display(uchar shi_we,uchar ge_we,ucharshi_ns,uchar ge_ns)          //定義數碼管函數
                                        {
                                        wei1=1;
                                        wei2=0;
                                        wei3=0;
                                        wei4=0;
                                        P0=table[shi_we];
                                        delayms(5);
                                        wei1=0;
                                        wei2=1;
                                        wei3=0;
                                        wei4=0;
                                        P0=table[ge_we];
                                        delayms(5);
                                        wei1=0;
                                         wei2=0;
                                        wei3=1;
                                        wei4=0;
                                        P0=table[shi_ns];
                                        delayms(5);
                                        wei1=0;
                                        wei2=0;
                                        wei3=0;
                                        wei4=1;
                                        P0=table[ge_ns];
                                        delayms(5);
                                        }
                                        void main()
                                        {
                                        num=0;
                                        num1=0;
                                        xianshi_we=99;
                                        xianshi_ns=99;
                                        shi_we=9;
                                        ge_we=9;
                                        shi_ns=9;
                                        ge_ns=9;
                                        TMOD=0x51;                                   //設置定時器0和計數器1為工作方式1
                                        TH0=(65536-46080)/256;    //設置初值
                                        TL0=(65536-46080)%256;
                                        TH1=(65536-46080)/256;
                                        TL1=(65536-46080)%256;
                                        EA=1;                                        //開總中斷
                                        ET0=1;                                               //開定時器0中斷
                                        ET1=1;                                               //開定時器1中斷
                                        TR0=1;                                               //啟動定時器0
                                        TR1=1;                                               //啟動定時器1
                                        P1=0xff;         //led燈全滅
                                        P1=0xf6;  //定義東西亮紅燈,南北亮綠燈;
                                        while(1)
                                        {
                                               display(shi_we,ge_we,shi_ns,ge_ns);
                                                 if(num1==1140)
                                               {
                                               P1=0xde;//定義東西亮紅燈,南北亮黃燈;
                                               }
                                    if(num1==1200)
                                               {
                                               P1=0xf9;//定義東西亮綠燈,南北亮紅燈;
                                               xianshi_we=60;
                                    xianshi_ns=60;
                                               }
                                    if(num1==2340)
                                               {
                                               P1=0xed;//定義東西亮黃燈,南北亮紅燈;
                                               }
                                    if(num1==2400)
                                               {
                                               num1=0;
                                               xianshi_we=60;
                                    xianshi_ns=60;
                                               P1=0xf6;//定義東西亮紅燈,南北亮綠燈;
                                               }
                                        }
                                        }
                                        void T0_time()interrupt 1
                                        {
                                               TH0=(65536-46080)/256;
                                               TL0=(65536-46080)%256;
                                               num++;
                                               if(num%20==0)
                                               {
                                          num=0;
                                                xianshi_we--;
                                           xianshi_ns--;
                                                shi_we=xianshi_we/10;
                                                ge_we=xianshi_we%10;
                                                shi_ns=xianshi_ns/10;
                                                ge_ns=xianshi_ns%10;
                                                }
                                        }
                                        void T1_count() interrupt 3
                                        {
                                        TH1=(65536-46080)/256;
                                        TL1=(65536-46080)%256;
                                        num1++;
                                        }






歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 天天操操操操 | 亚洲经典一区二区 | 久久精品久久精品 | 日韩一区三区 | 国产欧美一区二区精品性色超碰 | 免费观看a级片 | 丰满少妇高潮无套内谢 | 亚洲专区一区 | 国产精品欧美在线 | 欧美一级免费看 | 五月在线视频 | 人人爽人人爽人人爽 | 久久久网站 | 精品国产区一区二 | 欧美日韩在线免费 | 国产免费小视频 | 亚洲欧美日韩成人 | 亚洲一区在线播放 | 特黄一级片 | 人人爱人人草 | 国产精品视频久久 | 香蕉视频色版 | 中文字幕一区在线观看 | 日韩一区二区三区在线 | 国产成人亚洲精品自产在线 | 久久国产99| 国产成人久久精品麻豆二区 | 一区二区三区四区视频 | 欧美区日韩区 | 国产福利视频在线 | 成人一级黄色片 | 91精品国产成人观看 | 毛片网页| 国产一区二区精品在线 | 黄色三级视频网站 | 午夜精品视频在线观看 | 黄色网av| 极品av在线 | 欧美色图一区二区 | 天堂网在线资源 | 久久综合国产 |