a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 基于VHDL狀態機設計的智能交通控制燈

基于VHDL狀態機設計的智能交通控制燈

作者: 時間:2007-05-24 來源:網絡 收藏
1方案

十字路口兩組交通燈分別東西和南北兩個方向的交通。如圖1所示,當東西方向的紅燈亮時,南北方向對應綠燈亮,過渡階段黃燈亮,即東西方向紅燈亮的時間等于南北方向綠燈和黃燈亮的時間之和。交通燈維持變亮的時間取決于鍵盤輸入的鍵值。同理,當南北方向的紅燈變亮時,東西方向的交通燈也遵循此邏輯。總體上由機實現,本中使用兩個機分別控制東西和南北兩個方向的交通。每個機中都設有4個狀態,分別對應紅燈亮、綠燈亮、黃燈亮和出現緊急狀況時兩個方向上的紅燈同時變亮,停止倒計時的同時數碼管上出現閃爍。路口的繁忙程度是不一樣的,白天時的交通比較繁忙,因此,紅綠燈要變化快一些以便提高通過效率,減少擁堵時間;相反,夜晚交通稀疏,就需要紅綠燈變化慢一些。因此,加入鍵盤控制程序來控制交通維持變亮狀態的持續時間。

2 總體設計結構框圖

總體設計結構框圖如圖2所示,共有11個功能模塊,包括控制東西方向交通燈的狀態機和控制南北方向交通燈的狀態機、計數器模塊、鍵盤掃描模塊、數字合成模塊、三個分位模塊、數碼管顯示模塊、動態顯示掃描模塊。

語言對各個模塊進行編程,最后形成頂層文件,在MAX+PLUSⅡ環境下進行編譯與仿真,檢查所編程序是否運行正確。如果出現錯誤,需要進行修改,直到完全通過為止。需要說明的是,在進行程序編譯時,要先從底層程序開始,所有底層程序都正確后,才能開始頂層程序的編譯。這是因為頂層程序是對底層程序的概括,它是把底層程序各個模塊連接起來,相當于把每個模塊的功能匯聚到一起,實現整個系統的控制功能,所以底層程序的正確與否關系到頂層程序的運行結果。語言編程生成的結構框圖如圖3所示。

3 程序設計

3.1 狀態機1(東西方向)程序關鍵代碼

用兩個狀態機分別控制東西方向和南北方向上的交通。從鍵盤獲得紅、綠、黃燈的總時間,紅燈時間占1/2,綠燈時間占3/8,黃燈時間占1/8。紅燈狀態為S0,綠燈狀態為S1,黃燈狀態為S2,緊急狀態為S3。當計數器時間為0時,由紅燈狀態跳轉到綠燈狀態,當計數器時間到達3/8時,由綠燈狀態跳轉到黃燈狀態。當到達一半時間時,由黃燈狀態跳轉到紅燈狀態。當hold為1時,由任意狀態跳轉到緊急狀態。

3.2 計數器源程序代碼

3.3 分位程序源代碼

4 仿真結果

東西方向和南北方向狀態機仿真結果如圖4、5所示,從圖4可以看出,getin是從鍵盤獲得的鍵值,這里輸入的是40 s,初始狀態為S0狀態.紅燈亮。從S0狀態跳轉到S1狀態即由紅燈狀態跳轉到綠燈狀態時,數碼管顯示的倒計時從15 s開始;當由S1狀態跳轉到S2狀態即由綠燈狀態跳轉到黃燈狀態時,GREENA由高電平變為低電平,YELLOWA由低電平變為高電平。倒計時時間從5s開始。南北方向仿真圖與東西方向類似,這里不再贅述。

計數器從鍵盤上得到的鍵值為40 s,從仿真圖(圖6所示)上可以看出,計數器能正常計數。

從仿真結果可以看出,計數器能夠正常計數,狀態機狀態能夠正確狀態變換。東西方向初始狀態為綠燈,從15開始倒計時,南北方向初始狀態為紅燈,從20開始倒計時。

該系統硬件電路包含了1個CPLD,6個7段LED數碼顯示器,分別表示各個方向上的紅、黃、綠燈,以及相應的限流電阻。與其他控制方法相比,所用器件可以說是比較簡單經濟的。經過實驗,實現了預定的交通燈系統的控制功能。數碼顯示器采用動態掃描方式,大大節約了資源。

5 結束語

該交通燈控制邏輯可以實現3種顏色燈的交替點亮以及時間的倒計時,指揮車輛和行人安全通行。本文介紹的是一種最基本和簡單的交通燈設計情況,并且提供了一些模塊的源程序代碼。在此基礎上能夠舉一反三,從而用VHDL語言實現其它交通燈的控制設計。

隨著EDA技術的發展,在今后的電子產品研究開發中,EDA技術具有更好的開發手段和性價比,擁有廣泛的市場應用前景。



評論


相關推薦

技術專區

關閉