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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

交通燈帶數碼管單片機源代碼+電路圖

[復制鏈接]
跳轉到指定樓層
樓主
文件里面是4個數碼管的交通燈源代碼還有附加一張protues仿真測試圖

  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. }
復制代碼


交通燈帶數碼管.docx

103.6 KB, 下載次數: 8, 下載積分: 黑幣 -5

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: a级片在线 | 国产情侣激情 | 久久99精品久久久久久噜噜 | 激情av| 精品国产乱码久久久久久图片 | 欧美日韩一区二区三区在线观看 | 美女久久| 日日夜夜草| 69av网| 中文字幕第三页 | 亚洲一区二区三区在线视频 | 国产精品久久国产精品 | 亚洲精品大片 | 第一区在线观看免费国语入口 | 欧美国产激情二区三区 | 81精品国产乱码久久久久久 | 日韩在线观看视频一区 | 国产高清在线视频 | 国产一区二区不卡 | 日韩一区二区在线视频 | 99免费在线观看 | 日韩黄色小视频 | 精品中文字幕在线观看 | 国产真实精品久久二三区 | 一区二区三区久久久 | 天天看片天天干 | 久久久久亚洲 | 欧美一区二区三区四区五区无卡码 | 天天操操操操操 | 精品视频在线免费观看 | 精品国产一区二区三区免费 | 久久狠狠| 欧美日本高清 | 国产一区二区精品在线观看 | 国产精品国色综合久久 | 最新日韩在线 | 成人av电影在线 | 精品国产不卡一区二区三区 | 91精品久久久 | 成人免费av | 午夜精品网站 |