一.系統(tǒng)概述
本次設(shè)計(jì)的智能交通燈控制系統(tǒng)設(shè)計(jì)有硬件數(shù)據(jù)采集控制和上位機(jī)監(jiān)控兩部分,通過(guò)單片機(jī)作為核心控制器,控制紅外傳感器可以對(duì)十字路口東南西北的車(chē)流量進(jìn)行監(jiān)測(cè),設(shè)計(jì)有顯示的功能,可以將監(jiān)測(cè)到的流量顯示,設(shè)計(jì)有2個(gè)檔位,當(dāng)某個(gè)方向的車(chē)流量超過(guò)檔位值后,通行時(shí)問(wèn)增加。設(shè)計(jì)有時(shí)鐘計(jì)時(shí)功能,每個(gè)方向設(shè)計(jì)有紅、綠、黃三個(gè)燈。可以通過(guò)聲音傳感器對(duì)警車(chē)和救護(hù)車(chē)進(jìn)行識(shí)別,當(dāng)識(shí)別到之后,控制所有燈變紅,優(yōu)先警車(chē)和救護(hù)車(chē)。通過(guò)按鈕進(jìn)行故障模擬,當(dāng)出現(xiàn)故障的時(shí)候,進(jìn)行蜂鳴器報(bào)警。
二.仿真概述
1. 通過(guò)OLED顯示屏實(shí)時(shí)的顯示時(shí)間,顯示東西南北各個(gè)方向的車(chē)流量以及水平和豎直方向紅、綠黃燈的時(shí)間,按下故障模擬按鍵后就開(kāi)始進(jìn)行報(bào)警。
2. 按下救護(hù)車(chē)警車(chē)檢測(cè)的按鍵就會(huì)在顯示屏端進(jìn)行顯示,此時(shí)水平方向和豎直方向的交通燈都變成了紅燈。
3. 每個(gè)方向都有一個(gè)人流量的控制開(kāi)關(guān),通過(guò)一開(kāi)一合來(lái)模擬檢測(cè)到一個(gè)車(chē),檢測(cè)到有車(chē)相應(yīng)的方向的綠燈時(shí)間就會(huì)增加,另外方向的紅燈時(shí)間也會(huì)增加。
4. 交通燈的順序就是綠黃紅,一個(gè)方向?yàn)榫G和黃燈則另一個(gè)方向?yàn)榧t燈。
三.程序設(shè)計(jì)
#include// u8 Key;//按鍵檢測(cè) u8 Rxdat; u8 dat[3]; u8 beepflag; u8 mode=0; u8 e,w,n,s; u8 rtime=10,gtime=8,flag=0; // u8 time[3]={13,14,15}; // // int main(void) { NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//2:2 OLED_Init(); Key_Init(); TIM2_Init(); LedA_Init(); Beep_Init(); Beep_1; // Display(4); while(1) { OLED_ShowNum(1,5,time[0],2);OLED_ShowString(1,7,":");OLED_ShowNum(1,8,time[1],2);OLED_ShowString(1,10,":");OLED_ShowNum(1,11,time[2],2); if(Key5==0)Beep_1;else Beep_0; if(Key6==0) { OLED_ShowString(2,1,"EmergencyPassage"); OLED_ShowString(3,1," "); OLED_ShowString(4,1," "); LedA1_1;LedA2_0;LedA3_0; LedA4_1;LedA5_0;LedA6_0; } else { OLED_ShowString(2,1," Traffic Flow "); OLED_ShowString(3,1,"E");OLED_ShowString(3,5,"W");OLED_ShowString(3,10,"N");OLED_ShowString(3,14,"S"); if(Key1==0) s++;if(Key2==0) n++;if(Key3==0) e++;if(Key4==0) w++; OLED_ShowNum(3,2,e,2);OLED_ShowNum(3,6,w,2);OLED_ShowNum(3,11,n,2);OLED_ShowNum(3,15,s,2); OLED_ShowString(4,3,"R:");OLED_ShowNum(4,5,rtime,2);OLED_ShowString(4,7,"s");OLED_ShowString(4,10,"G:");OLED_ShowNum(4,12,gtime,2);OLED_ShowString(4,14,"s"); if(flag)//南北通行 { if(gtime>0 && gtime<9) { LedA1_0;LedA2_0;LedA3_1; LedA4_1;LedA5_0;LedA6_0; } if(gtime==0) { LedA1_0;LedA2_1;LedA3_0; LedA4_1;LedA5_0;LedA6_0; } if(rtime==0) { LedA1_1;LedA2_0;LedA3_0; LedA4_0;LedA5_0;LedA6_1; } } else//東西通行 { if(gtime>0&& gtime<9) { LedA1_1;LedA2_0;LedA3_0; LedA4_0;LedA5_0;LedA6_1; } if(gtime==0) { LedA1_1;LedA2_0;LedA3_0; LedA4_0;LedA5_1;LedA6_0; } if(rtime==0) { LedA1_0;LedA2_0;LedA3_1; LedA4_1;LedA5_0;LedA6_0; } } } } }
?
-
傳感器
+關(guān)注
關(guān)注
2548文章
50665瀏覽量
751947 -
單片機(jī)
+關(guān)注
關(guān)注
6032文章
44514瀏覽量
632962 -
STM32
+關(guān)注
關(guān)注
2266文章
10871瀏覽量
354791 -
交通燈
+關(guān)注
關(guān)注
13文章
323瀏覽量
39724
原文標(biāo)題:Proteus仿真實(shí)例_基于STM32單片機(jī)的交通燈系統(tǒng)(仿真文件+程序)
文章出處:【微信號(hào):小常硬件,微信公眾號(hào):小常硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論