找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12370|回復: 27
打印 上一主題 下一主題
收起左側(cè)

單片機智能交通燈完整版 附帶車流量統(tǒng)計,時間調(diào)整功能 雙LCD1602顯示

  [復制鏈接]
回帖獎勵 10 黑幣 回復本帖可獲得 1 黑幣獎勵! 每人限 1 次
跳轉(zhuǎn)到指定樓層
#
ID:305384 發(fā)表于 2019-2-17 15:31 | 只看該作者 |只看大圖 回帖獎勵 |正序瀏覽 |閱讀模式
智能交通燈完整版雙LCD顯示附帶統(tǒng)計車輛功能
功能:
1.能夠完成基本的交通功能并且在lcd1602上顯示,用兩個lcd1602分別顯示信息。
2.能夠分別統(tǒng)計南北的車輛。
3.能夠根據(jù)車流量來調(diào)整通行時間。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


二、程序截圖:





單片機源程序如下:
  1. #include "traffic.h"
  2. #include        "lcdA.h"
  3. #include        "lcdB.h"
  4. bit FLAG=0;
  5. char TIME=0;
  6. void menu()
  7. {
  8.         int i;
  9.         LCD1602_Init_A();
  10.         LCD1602_Init_B();
  11.         while(1)
  12.         {

  13.                 if(FLAG==1)
  14.                                 {
  15.                                                 LCD_Str_A("RUN!  TIME:    S",1,1);
  16.                                                 LCD_Str_B("STOP! TIME:    S",1,1);
  17.                                                 LCD_Str_A("COUNT:",2,1);
  18.                                                 LCD_Str_B("COUNT:",2,1);
  19.                                         for(i=100;i>0;i--)
  20.                                                 {
  21.                                                         LCD_Write_3_Float_A(TIME,1,12);
  22.                                                         LCD_Write_3_Float_B(TIME,1,12);
  23.                                                         LCD_Write_3_Float_A(COUNTA,2,7);
  24.                                                         LCD_Write_3_Float_B(COUNTB,2,7);
  25.                                                         if( !(TIME>=1 && TIME<=5))
  26.                                                         {
  27.                                                                 N_S_GREEN=ON;N_S_RED=OFF;
  28.                                                                 W_E_GREEN=OFF;W_E_RED=ON;
  29.                                                         }
  30.                                                         if(FLAG!=1)
  31.                                                                 break;
  32.                                                 }
  33.                                 }
  34.                 else
  35.                                 {
  36.                                         LCD_Str_A("STOP! TIME:    S",1,1);
  37.                                         LCD_Str_B("RUN!  TIME:    S",1,1);
  38.                                         LCD_Str_A("COUNT:",2,1);
  39.                                         LCD_Str_B("COUNT:",2,1);
  40.                                         for(i=100;i>0;i--)
  41.                                                 {
  42.                                                         LCD_Write_3_Float_A(TIME,1,12);
  43.                                                         LCD_Write_3_Float_B(TIME,1,12);
  44.                                                         LCD_Write_3_Float_A(COUNTA,2,7);
  45.                                                         LCD_Write_3_Float_B(COUNTB,2,7);
  46.                                                         if( !(TIME>=1 && TIME<=5))
  47.                                                         {
  48.                                                                 N_S_GREEN=OFF;N_S_RED=ON;
  49.                                                                 W_E_GREEN=ON;W_E_RED=OFF;
  50.                                                         }
  51.                                                         if(FLAG!=0)
  52.                                                                 break;
  53.                                                 }
  54.                                 }
  55.                                 
  56.                
  57.         }
  58. }


  59. void Timer0Init()
  60. {
  61.         TMOD=0X01;//定時器中斷0
  62.         TH0=(65536-15536)/256;//定時時間高八位初值
  63.         TL0=(65536-15536)%256;//定時時間低八位初值
  64.         ET0=1;//開T/C0中斷
  65.         TR0=1;
  66.         EA=1;//開CPU中斷
  67. }

  68. void timer0( ) interrupt 1 //定時器0工作方式1
  69. {
  70.         static char COUNT_1S=0;
  71.         TH0=(65536-15536)/256;//重裝計數(shù)初值
  72.         TL0=(65536-15536)%256;//重裝計數(shù)初值
  73.         COUNT_1S++;
  74.         if(TIME==0)
  75.         {
  76.                 FLAG=!FLAG;
  77.                 if(FLAG==1)
  78.                         TIME=TIME_GREEN;
  79.                 else
  80.                         TIME=TIME_RED;
  81.         }
  82.         if(COUNT_1S==20)
  83.                 {COUNT_1S=0;TIME--;}
  84.         if(TIME>=1 && TIME<=5)
  85.                 {YELLOW=~YELLOW;N_S_GREEN=OFF;N_S_RED=OFF;W_E_GREEN=OFF;W_E_RED=OFF;}
  86.         
  87. }

  88. void ExtiInit()
  89. {
  90.         EX0=1;
  91.         EX1=1;
  92.         IT0=1;
  93.         IT1=1;
  94.         EA=1;
  95. }
  96. ……………………

  97. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
智能交通燈lcd1602顯示自動統(tǒng)計車流量調(diào)整時間.zip (145.03 KB, 下載次數(shù): 294)



評分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

27#
ID:166101 發(fā)表于 2024-4-11 09:08 | 只看該作者
功能強大,樓主厲害,學習學習
回復

使用道具 舉報

26#
ID:1115639 發(fā)表于 2024-4-7 15:17 | 只看該作者
請問調(diào)節(jié)時間是自動還是手動,用的什么傳感器?
回復

使用道具 舉報

25#
ID:1093453 發(fā)表于 2023-9-13 18:18 | 只看該作者
很不錯,學習學習
回復

使用道具 舉報

24#
ID:715969 發(fā)表于 2020-6-17 09:49 | 只看該作者
51黑有你更精彩
回復

使用道具 舉報

23#
ID:487206 發(fā)表于 2020-6-15 22:42 | 只看該作者
看起來很強大
回復

使用道具 舉報

22#
ID:741483 發(fā)表于 2020-5-4 11:55 | 只看該作者
做的不錯,學習一下
回復

使用道具 舉報

21#
ID:720022 發(fā)表于 2020-4-10 16:29 來自手機 | 只看該作者
xla 發(fā)表于 2019-12-24 09:35
這個設(shè)計非常棒,可以讓我理解更深刻

有原理圖嗎
回復

使用道具 舉報

20#
ID:672039 發(fā)表于 2019-12-24 09:35 | 只看該作者
這個設(shè)計非常棒,可以讓我理解更深刻
回復

使用道具 舉報

19#
ID:537677 發(fā)表于 2019-12-23 09:25 | 只看該作者
很不錯,值得學習
回復

使用道具 舉報

18#
ID:665331 發(fā)表于 2019-12-22 00:06 來自手機 | 只看該作者
不錯不錯
回復

使用道具 舉報

17#
ID:583775 發(fā)表于 2019-12-21 14:48 | 只看該作者
是51的嗎
回復

使用道具 舉報

16#
ID:268524 發(fā)表于 2019-12-10 16:54 | 只看該作者
學習一下,挺好的
回復

使用道具 舉報

15#
ID:617814 發(fā)表于 2019-10-8 11:03 | 只看該作者
看起來有點復雜
回復

使用道具 舉報

14#
ID:617814 發(fā)表于 2019-10-8 11:02 | 只看該作者
照實例做做試試
回復

使用道具 舉報

13#
ID:484951 發(fā)表于 2019-9-21 17:34 | 只看該作者
為啥我打開亂碼!。
回復

使用道具 舉報

12#
ID:91721 發(fā)表于 2019-9-19 10:53 | 只看該作者
學習一下,這個做出來會不會有人要呀?
回復

使用道具 舉報

11#
ID:581300 發(fā)表于 2019-8-25 08:47 來自手機 | 只看該作者
怎么樣可以改一下,不讓黃燈一起閃爍呢?
回復

使用道具 舉報

10#
ID:282095 發(fā)表于 2019-8-18 09:13 | 只看該作者
在keil下面運行應該就不會有太大的問題了
回復

使用道具 舉報

9#
ID:305384 發(fā)表于 2019-8-18 00:16 來自手機 | 只看該作者
8686kaixin 發(fā)表于 2019-7-11 08:09
各位大佬,下載了之后要怎么打開才對吖,為什么我打開亂碼

我已經(jīng)弄成模板庫了直接打開工程就可以
回復

使用道具 舉報

8#
ID:581789 發(fā)表于 2019-7-11 08:09 來自手機 | 只看該作者
各位大佬,下載了之后要怎么打開才對吖,為什么我打開亂碼
回復

使用道具 舉報

7#
ID:540610 發(fā)表于 2019-5-18 12:22 | 只看該作者
大佬,是51單片機嗎
回復

使用道具 舉報

6#
ID:498758 發(fā)表于 2019-3-27 21:32 | 只看該作者
雖然看不懂,但是好高級的樣子
回復

使用道具 舉報

5#
ID:472050 發(fā)表于 2019-3-17 12:51 | 只看該作者
多謝分享,找了好久了
回復

使用道具 舉報

地板
ID:491603 發(fā)表于 2019-3-15 17:39 | 只看該作者
不錯,參考一下
回復

使用道具 舉報

板凳
ID:305384 發(fā)表于 2019-3-14 20:35 來自手機 | 只看該作者
XZC955 發(fā)表于 2019-3-10 20:22
請問這個是PROTEUS哪個版本的?

8.6版本
回復

使用道具 舉報

沙發(fā)
ID:99800 發(fā)表于 2019-3-10 20:22 | 只看該作者
請問這個是PROTEUS哪個版本的?
回復

使用道具 舉報

樓主
ID:104982 發(fā)表于 2019-3-5 21:55 | 只看該作者
做的不錯,學習一下
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表