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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6041|回復: 8
打印 上一主題 下一主題
收起左側

51單片機交通燈控制實訓 可實現 警燈 夜間等功能 帶仿真 程序 原理圖

  [復制鏈接]
跳轉到指定樓層
樓主
可實現 警燈 夜間 等功能的51單片機交通燈


51單片機交通燈的仿真圖

交通燈的電路原理圖

源程序:
  1. #include<reg51.h>
  2. #define smg P1
  3. #define bit P3

  4. sbit red1=P0^0;//1方向紅燈
  5. sbit green1=P0^1;//1方向綠燈
  6. sbit yellow1=P0^2; //1方向黃燈
  7. sbit red2=P0^3;//2方向紅燈
  8. sbit green2=P0^4; //2方向綠燈
  9. sbit yellow2=P0^5; //2方向黃燈
  10. sbit setkey=P2^0; //設置按鍵
  11. sbit upkey=P2^1;//時間加
  12. sbit downkey=P2^2;//時間減
  13. sbit backkey=P2^3;//退出鍵
  14. sbit choosekey=P2^4;//選擇鍵
  15. unsigned char  tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  16. unsigned char time,s,s1,s2,t,t2,x1,x2,flag,temp,r,q;
  17. int t1;
  18. void delay(int x); //延時程序
  19. void timer0(void); //中斷
  20. void set();//設置程序
  21. void int0();//秒計數

  22. void main(void)         //主函數
  23. {  t=60;
  24.    s=1;
  25.    r=0;
  26.    timer0();         
  27.    int0();
  28.    while(1)
  29.   {   
  30.       set();
  31.           t1=t-s;
  32.           if(t1==-1)
  33.               {s=1;}
  34.           s1=t1%10;s2=t1/10;
  35.           bit=0xfd;smg=tab[s1];delay(2);bit=0xfe;smg=tab[s2];delay(2);   //個位,十位顯示賦值
  36.           if(t1==-1){r++;q=r%2; if(r==4){r=2;}}        //當數碼管顯示時間為-1時,對r進行加1并通過求余操作,產生兩種不同的紅綠燈狀態。
  37.           if(q==1){red1=0;green1=1;yellow1=0;red2=1;green2=0;yellow2=0;         //狀態1燈光。
  38.                            if(t1<3&&t1>-1){green1=0;if(time>9){yellow1=~yellow1;}}}        //狀態1黃燈閃爍。
  39.           if(q==0){red1=1;green1=0;yellow1=0;red2=0;green2=1;yellow2=0;          //狀態2燈光。
  40.                            if(t1<3&&t1>-1){ green2=0;if(time>9){yellow2=~yellow2;}}}        //狀態2黃燈閃爍。  
  41.            if(TF0==1)//定時器溢出操作
  42.          {TF0=0;break;}
  43.            }
  44.   }

  45. void set()
  46. {
  47.   if(setkey==0)
  48.   { delay(5); //防抖操作
  49.     if(setkey==0)
  50.       {flag=1;
  51.           while(flag)
  52.                   { TR0=0;
  53.                               bit=0xfd;smg=0x00;delay(1);        //數碼管全滅
  54.                     bit=0xfe;smg=0x00;delay(1);
  55.                                 if(backkey==0)
  56.                       {delay(15);
  57.                        if(backkey==0)          //設置程序返回操作
  58.                          {flag=0;TR0=1;}
  59.                        }
  60.                    if(choosekey==0)
  61.                       {delay(60);
  62.                        if(choosekey==0)
  63.                          {++temp;
  64.                           if(temp==6){temp=1;}
  65.                                         if(temp==1)
  66.                               {while(temp)  //時間加減操作
  67.                                                        {x1=t%10; x2=t/10;  
  68.                                     bit=0xfd;smg=tab[x1];delay(2);bit=0xfe;smg=tab[x2];delay(2);
  69.                                                                 if(upkey==0){delay(60);if(upkey==0)t++;if(t==100)t=10;}
  70.                                                                 if(downkey==0){delay(60);if(downkey==0)t--;if(t==9)t=10;}
  71.                                                                 red1=1;green1=0;yellow1=0;red2=1;green2=0;yellow2=0;
  72.                                                                 if(setkey==0){ delay(60);if(setkey==0){break;} }}
  73.                                                 }
  74.                                             else if(temp==2) {red1=1;green1=0;yellow1=0;red2=1;green2=0;yellow2=0;}        //禁行模式
  75.                                  else if(temp==3){red1=0;green1=1;yellow1=0;red2=1;green2=0;yellow2=0; }//方向1通行模式
  76.                                      else if(temp==4){red1=1;green1=0;yellow1=0;red2=0;green2=1;yellow2=0; } //方向2通行模式
  77.                                        else if(temp==5){red1=0;green1=0; red2=0;green2=0; //夜間模式
  78.                                                            while(1){delay(255);
  79.                                                                          yellow1=~yellow1;
  80.                                                                  yellow2=~yellow2;
  81.                                                                                    if(backkey==0)
  82.                                                                         {  delay(15);
  83.                                                                                                                                          if(backkey==0)
  84.                                                                                                                                          {break;}
  85.                                                                              }}}}}        
  86. }}}}
  87. void timer0(void)
  88. {   TMOD = 0x01;     
  89.     TH0  = 0x3C;         
  90.     TL0  = 0xB0;
  91.     EA   = 1;         
  92.     ET0  = 1;                 
  93.     TR0  = 1;        
  94. }
  95. void int0() interrupt 1 using 0        
  96. {
  97.         TH0=0x3C;
  98.         TL0=0xB0;
  99.         time++;
  100.         if(time==20)
  101.         {  s++;
  102.        time=0;}
  103. }
  104. void delay(int x)
  105. {   int i,j;
  106.     for(i=x;i>0l;i--)
  107.      for(j=255;j>0;j--);
  108. }
復制代碼




交通燈所有資料下載:
1352200108_趙曉杰_交通燈.rar (9.46 MB, 下載次數: 84)

評分

參與人數 2黑幣 +55 收起 理由
空夢 + 5 很給力!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:302686 發表于 2018-4-10 10:01 | 只看該作者
想學習一下
回復

使用道具 舉報

板凳
ID:364505 發表于 2018-7-4 09:19 | 只看該作者
很好,很給力

評分

參與人數 1黑幣 +5 收起 理由
zzzzzzz665 + 5

查看全部評分

回復

使用道具 舉報

地板
ID:364505 發表于 2018-7-4 09:30 | 只看該作者
想學習一下
回復

使用道具 舉報

5#
ID:371540 發表于 2018-7-15 08:02
黑黑黑,為什么我邀請朋友注冊了這個網站,沒有送我30黑幣呀。

6#
ID:413051 發表于 2018-10-21 12:21 | 只看該作者
想學習下。
回復

使用道具 舉報

7#
ID:313328 發表于 2018-11-12 20:21 | 只看該作者
感謝分享,讓我們學習
回復

使用道具 舉報

8#
ID:358801 發表于 2018-12-24 09:03 | 只看該作者
很好。炐
回復

使用道具 舉報

9#
ID:149799 發表于 2018-12-24 11:46 | 只看該作者
單片機無所不能
回復

使用道具 舉報

10#
ID:562096 發表于 2019-6-13 20:48 | 只看該作者
對我學單片機很有幫助
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美xxxx网站 | 91精品国产91久久久久久吃药 | 在线精品一区二区 | 男女爱爱福利视频 | 国产一区二区欧美 | 日韩和的一区二在线 | 日本特黄a级高清免费大片 国产精品久久性 | 欧美小视频在线观看 | 国产精品一区二区三区久久久 | 一区二区三区久久久 | 国产精品视频网 | 中文字幕日韩专区 | jizz在线看片| 欧美亚洲国产一区二区三区 | 成人在线不卡 | 在线91 | 中文字幕欧美日韩一区 | 天天影视亚洲综合网 | 亚洲在线一区二区三区 | 日韩av三区 | 五月天国产 | 国产一区二区精品在线 | 91高清视频 | 夜夜干夜夜操 | 久久久久久久久久久蜜桃 | 99精品免费久久久久久久久日本 | 99视频免费播放 | 99视频免费 | 国产精品色婷婷久久58 | 久久综合久久久 | 成人午夜精品 | 免费成人av网站 | 国产日韩精品在线 | 国产成人免费视频网站高清观看视频 | 亚洲一区二区三区福利 | 久久久久久久久久久久久9999 | 午夜精品 | 日韩伦理一区二区 | 国产在线精品一区 | 视频在线亚洲 | 精品视频久久久久久 |