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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于stc89c52單片機的人工可控交通燈

[復制鏈接]
跳轉到指定樓層
樓主




  1. #include "reg52.h"    //此文件中定義了單片機的一些特殊功能寄存器

  2. typedef unsigned int u16;   //對數據類型進行聲明定義
  3. typedef unsigned char u8;
  4. sbit L1=P0^7;
  5. sbit L2=P0^6;
  6. sbit k1=P0^5;

  7. //--定義使用的IO口--//
  8. #define GPIO_DIG   P1
  9. #define GPIO_TRAFFIC P2

  10. sbit RED11   = P2^0;
  11. sbit YELLOW11= P2^1;
  12. sbit GREEN11 = P2^2;
  13. sbit RED01   = P2^5;
  14. sbit YELLOW01= P2^4;
  15. sbit GREEN01 = P2^3;
  16. u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  17.      0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//顯示0~F的值
  18. u8 DisplayData[2];
  19. u8 Second;
  20. u16 temp;

  21. void delay(u16 i)
  22. {
  23. while(i--);
  24. }

  25. void DigDisplay()
  26. {
  27. u8 i;
  28. for(i=0;i<2;i++)
  29. {
  30.   switch(i)  //位選,選擇點亮的數碼管,
  31.   {
  32.    case(0):
  33.     L1=0;L2=1; break;//顯示第0位
  34.    case(1):
  35.     L2=0;L1=1; break;//顯示第1位
  36.    
  37.   }
  38.   GPIO_DIG=DisplayData[i];//發送段碼
  39.   delay(100); //間隔一段時間掃描
  40.   GPIO_DIG=0x00;//消隱
  41. }
  42. }


  43. void Timer0Init()
  44. {
  45. TMOD|=0X01;//選擇為定時器0模式,工作方式1,僅用TR0打開啟動。
  46. TH0=0XFC; //給定時器賦初值,定時1ms
  47. TL0=0X18;
  48. ET0=1;//打開定時器0中斷允許
  49. EA=1;//打開總中斷
  50. TR0=1;//打開定時器   
  51. }


  52. void Timer0() interrupt 1
  53. {
  54. static u16 i;
  55. TH0=0XFC; //給定時器賦初值,定時1ms
  56. TL0=0X18;
  57. i++;
  58. if(i==1000)
  59. {
  60.   i=0;
  61.   Second ++;
  62. }
  63. }  
  64. void main()
  65. {
  66. Second = 1;

  67. k1=0;
  68. Timer0Init();
  69. while(1)
  70. {
  71.   if(Second == 70)
  72.   {
  73.    Second = 1;
  74.   }
  75.   //--寶田路通行,30秒--//
  76.   if(Second < 31)
  77.   {
  78.    
  79.    DisplayData[0] = smgduan[(30 - Second) % 100 / 10];
  80.    DisplayData[1] = smgduan[(30 - Second) %10];
  81.    
  82.    DigDisplay();
  83.    //--寶田路通行--//
  84.    GPIO_TRAFFIC = 0xFF;  //將所有的燈熄滅
  85.    GREEN11 = 0;    //寶田路綠燈亮   
  86.   
  87.    RED01 = 0;      //前進路紅燈亮
  88.   }
  89.   //--黃燈等待切換狀態,5秒--//
  90.   else if(Second < 36)
  91.   {
  92.   
  93.    DisplayData[0] = smgduan[(35 - Second) % 100 / 10];
  94.    DisplayData[1] = smgduan[(35 - Second) %10];
  95.   
  96.    DigDisplay();
  97.    //--黃燈階段--//
  98.    GPIO_TRAFFIC = 0xFF;  //將所有的燈熄滅
  99.    YELLOW11 = 0;    //寶田路黃燈亮   
  100.    YELLOW01 = 0;    //前進路紅燈亮
  101.   }
  102.   //--前進路通行--//
  103.   else if(Second < 66)
  104.   {
  105.    
  106.    DisplayData[0] = smgduan[(65 - Second) % 100 / 10];
  107.    DisplayData[1] = smgduan[(65 - Second) %10];
  108.    
  109.    DigDisplay();
  110.    //--黃燈階段--//
  111.    GPIO_TRAFFIC = 0xFF;  //將所有的燈熄滅
  112.   
  113.    RED11 = 0;       //寶田路紅燈亮   
  114.   
  115.    GREEN01 = 0;     //前進路綠燈亮
  116.   
  117.   }
  118.   //--黃燈等待切換狀態,5秒--//
  119.   else
  120.   {
  121.   
  122.    DisplayData[0] = smgduan[(70 - Second) % 100 / 10];
  123.    DisplayData[1] = smgduan[(70 - Second) %10];
  124.    DigDisplay();
  125.    //--黃燈階段--//
  126.    GPIO_TRAFFIC = 0xFF;  //將所有的燈熄滅
  127.   
  128.    YELLOW11 = 0;    //寶田路黃燈亮   
  129.    YELLOW01 = 0;    //前進路紅燈亮
  130.   
  131.   }
  132.    
  133.   if(k1==1)    //檢測按鍵K1是否按下
  134.   {
  135.    delay(1000);   //消除抖動 一般大約10ms
  136.    if(k1==1)  //再次判斷按鍵是否按下
  137.    {
  138.     temp=0x1E;
  139.     P2=temp;
  140.     L1=0;L2=0;
  141.    
  142.    }
  143.    while(!k1);  //檢測按鍵是否松開
  144.   }  
  145. }
  146.       
  147. }
復制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:189362 發表于 2017-8-7 12:21 | 只看該作者
好東西,值得學習
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一级片视频免费 | 亚洲精品一区二区在线观看 | 欧美视频精品 | 黄色在线免费观看视频 | 一级毛片在线播放 | 亚洲高清一区二区三区 | 91伦理片| 欧美在线一区二区三区 | 久久久久久久久综合 | 日韩一级免费看 | 综合精品久久久 | 免费看淫片 | 久草在线| 久草影视在线 | 奇色影视| 日韩精品一区二区在线 | 国产成人jvid在线播放 | 久久久久久久综合 | 亚洲喷水 | 亚洲精品在线视频 | 亚洲精品电影在线观看 | 日韩中文一区 | h片免费在线观看 | 欧美一级毛片免费观看 | 久久精品久久精品久久精品 | 久久精品99 | 91久久网站 | 一区二区久久 | 91精品久久久久久久久久入口 | 91久久久久久久久久久久久 | 精精国产xxxx视频在线播放7 | 亚洲日韩中文字幕 | 夜夜夜久久久 | 中文字幕在线视频免费观看 | 不卡视频在线 | 久久蜜桃av一区二区天堂 | 欧美精品一级 | 欧美v日韩| 欧美一级毛片在线播放 | 国产欧美精品一区二区 | 网色 |