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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

都是51單片機的交通燈,哪位大蝦把這個改成pic單片機的

[復制鏈接]
跳轉到指定樓層
樓主
內涵51的仿真圖和keil工程



51單片機交通燈程序:
  1. #include<stdio.h>
  2. #include<REG51.h>
  3. #include<intrins.h>
  4. sfr p0= 0x80;
  5. sfr p1= 0x90;
  6. sfr p2= 0xA0;
  7. sfr p3= 0xb0;      //這部分內容其實在“#include<reg51.h>”里已經有,但里面定義的必須區分大小寫,在這里,因為我程序采用的是小寫,reg51.h里對各個端口與寄存器的定義都是大寫,所以在編譯連接時,會報錯,所以,在本設計程序里,我只用到了端口,在這里也就只定義了四個,而沒有去改reg51.h里面的內容。其實兩者是一樣的。
  8. sbit  sw      = p0^0;
  9. sbit   OE    =P0^6;
  10. sbit   LE    =P0^7;  //74LS373鎖存器控制端定義
  11. char  display[]={ 0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99 }; //p1口的數碼管時間顯示調用,利用74L74BCD碼,8位驅動輸出;
  12. //函數聲明 begin
  13. void  delay1(int count);
  14. void  delay_long(int  number1,int number2);
  15. void    people_car_drive();
  16. //函數聲明end
  17. //***********************//延時子程序
  18. void  delay1(int  count)
  19. { int  i;
  20.    for(i=count;i>0;i--)
  21.        { ;}
  22. }
  23. void  delay_long(int  number1,int number2)
  24.   {
  25.    int a,b;
  26. for(a=number1;a>0;a--)
  27.    {
  28.     for(b=number2;b>0;b--)
  29.      { _nop_();     }
  30.    }
  31.    
  32.   }
  33. //**********************//延時子程序
  34. void   people_car_drive()
  35. {
  36.    int   p_1=2,i,j=9,p_2=6;    //****************//行人通行時,延時20秒
  37.           p2=0x09;                     //南北紅燈亮
  38.        p3=0x24;                     //東西綠燈亮
  39.    
  40.   while(p_1-->0)
  41.      { LE=1;
  42.     OE=0;
  43.     if(p_1==0){OE=1;}            //當十位數減到0時,只顯示個位數
  44.     p1=display[p_1];
  45.     delay1(1000);
  46.     LE=0;  
  47.     j=9;
  48.      for(i=10;i>0;i--)
  49.    {
  50.      if(p_1==0&&j==3)break;     //減到3時退出循環,讓其黃燈閃爍顯示
  51.      p1=display[j--];
  52.      delay_long(16000,2);
  53.   if(sw==1)return;   
  54.    }
  55.    
  56.      }
  57.    
  58. //*******************************************************************************//
  59.                   
  60.      p2=0x12;                  //南北黃燈閃爍三秒,以提醒行人注意
  61.      p3=0x12;
  62.   p1=display[3];
  63.   delay_long(8000,1);
  64.   p2=0x00;     
  65.      p3=0x00;     
  66.   delay_long(14000,1);
  67.    
  68.   p2=0x12;
  69.   p3=0x12;
  70.   p1=display[2];
  71.   delay_long(8000,1);
  72.   p2=0x00;     
  73.      p3=0x00;
  74.   delay_long(14000,1);
  75.   
  76.   p2=0x12;
  77.   p3=0x12;
  78.   p1=display[1];
  79.   delay_long(8000,1);
  80.   p2=0x00;     
  81.      p3=0x00;
  82.   delay_long(14000,1);
  83. //*****************以下是車輛通行時延時60秒//

  84.    p2=0x24;                 //南北綠燈亮
  85.    p3=0x09;                 //東西紅燈亮
  86.   
  87.      while(p_2-->0)
  88.      { LE=1;
  89.     OE=0;
  90.     if(p_2==0){OE=1;}       //當十位數減到0時,只顯示個位數
  91.     p1=display[p_2];
  92.     delay1(1000);
  93.     LE=0;
  94.     j=9;
  95.      for(i=10;i>0;i--)
  96.    {
  97.   if(p_2==0&&j==3)break;  //減到2時退出循環
  98.      p1=display[j--];
  99.      delay_long(16000,2);
  100.   if(sw==1)return;     
  101.    }
  102.      }
  103.    
  104.      p2=0x12;                //南北黃燈閃爍三秒,以提醒行人注意
  105.      p3=0x12;
  106.   p1=display[3];
  107.   delay_long(8000,1);
  108.   p2=0x00;     
  109.      p3=0x00;     
  110.   delay_long(14000,1);
  111.    
  112.   p2=0x12;
  113.   p3=0x12;
  114.   p1=display[2];
  115.   delay_long(8000,1);
  116.   p2=0x00;     
  117.      p3=0x00;
  118.   delay_long(14000,1);
  119.   
  120.   p2=0x12;
  121.   p3=0x12;
  122.   p1=display[1];
  123.   delay_long(8000,1);
  124.   p2=0x00;     
  125.      p3=0x00;
  126.   delay_long(14000,1);    //南北黃燈閃爍三秒完畢
  127. }

  128. void  main()               //主函數入口處
  129. {
  130.        p0=0x01;
  131.        p1=0x00;
  132.        p2=0x00;
  133.        p3=0x00;               //初始化各端口
  134. { while(1)
  135.   {
  136.      if(sw==0)
  137.     {  people_car_drive();}
  138. else
  139.   {
  140.    p2=0x00;
  141.    p3=0x00;                    //關閉所有交通燈
  142.   }
  143.   }
  144.   
  145. }
  146. }
復制代碼


51_交通燈設計.rar

62.51 KB, 下載次數: 9, 下載積分: 黑幣 -5

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:138443 發表于 2017-9-30 23:09 | 只看該作者
太好了,支持一下,謝謝
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品一区视频 | 91在线视频精品 | 国产精品入口麻豆www | 91精品国产综合久久婷婷香蕉 | 嫩草最新网址 | 美女视频一区二区三区 | a级免费视频 | 成人国内精品久久久久一区 | 国产91久久久久久 | 国产区第一页 | 成人动慢 | av中文字幕网站 | 久久精品国产v日韩v亚洲 | 福利一区二区在线 | 欧美中文视频 | 国产精品一区二区欧美 | 国产a爽一区二区久久久 | 91久久精 | 国产精品久久久久久久久久 | 日韩在线高清 | 成人在线观看中文字幕 | 在线观看免费福利 | 国产日韩精品久久 | 精品国产一区久久 | 亚洲午夜精品视频 | 91麻豆精品国产91久久久更新资源速度超快 | 亚洲综合资源 | 欧区一欧区二欧区三免费 | 亚洲福利一区二区 | 国产一在线观看 | 亚洲精品视频在线观看视频 | 欧美精品一 | 国产精品美女久久久 | 国产精品亚洲第一 | 一级黄色播放 | 欧美精品在线免费 | 精品亚洲永久免费精品 | 久草免费在线视频 | 国产精品久久久久aaaa九色 | 亚洲成年影院 | 久久久久久一区 |