實驗一:交通燈綜合控制_第1頁
實驗一:交通燈綜合控制_第2頁
實驗一:交通燈綜合控制_第3頁
實驗一:交通燈綜合控制_第4頁
實驗一:交通燈綜合控制_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗一:交通燈綜合控制一、實驗原理1了解和掌握ICETEK-VC5416-AE和CCS5000集成開發(fā)環(huán)境的使用方法。了解TMS320VC5416DSP定時器的使用和編程。了解TMS320VC5416DSP外中斷的使用和編程。二、實驗設備計算機,ICETEK-VC5416AE-S61實驗箱。三、實驗原理交通燈控制要求:利用ICETEK-S60實驗箱提供的設備,設計模擬實際生活中十字路口交通燈控制的程序。要求如下:交通燈分紅黃綠三色,東、南、西、北各一組,用燈光信號實現(xiàn)對交通的控制:綠燈信號表示通行,黃燈表示警告,紅燈禁止通行,燈光閃爍表示信號即將改變。-計時顯示:液晶屏幕上8X8點陣顯示0-9

2、計數(shù)。正常交通控制信號順序:正常交通燈信號自動變換:南北方向綠燈,東西紅燈(20秒)。南北方向綠燈閃爍。南北方向黃燈。南北方向紅燈,東西方向黃燈。東西方向綠燈(20秒)。東西方向綠燈閃爍。東西方向黃燈。返回循環(huán)控制。-緊急情況處理:模仿緊急情況(重要車隊通過、急救車通過等)發(fā)生時,交通警察手動控制當任意方向通行剩余時間多于10秒,將時間改成10秒。正常變換到四面紅燈(20秒)。直接返回正常信號順序的下一個通行信號(跳過閃爍綠燈、黃燈狀態(tài))。交通燈模擬:利用ICETEK-CTR上的一組發(fā)光二極管(共12只,分為東西南北四組、紅黃綠三色)的亮滅實現(xiàn)交通信號的模擬。計時顯示:利用ICETEK-CTR

3、上的發(fā)光二極管顯示陣列模擬顯示。計時:使用TMS320VC5416DSP片上定時器,定時產生時鐘計數(shù),再利用此計數(shù)對應具體時間。緊急情況:利用ICETEK-CTR上鍵盤產生外中斷,中斷正常信號順序,模擬突發(fā)情況。程序設計:根據(jù)設計要求,由于控制是由不同的各種狀態(tài)按順序發(fā)生的,我們可以采用狀態(tài)機制控制方法來解決此問題。這種方法是:首先列舉所有可能發(fā)生的狀態(tài);然后將這些狀態(tài)編號,按順序產生這些狀態(tài);狀態(tài)延續(xù)的時間用程序控制。對于突發(fā)情況,可采用在正常順序的控制中插入特殊控制序列的方式完成。時鐘計數(shù):采用250ms次中斷進行累加計數(shù)。軸號計蝕隹甸朗時利,第寬吋伺計總顯章1suituSGrfitmEW

4、Red20費1叭山159)20-02南北蛛汀悶爍東方虹仃池tiLsNSFIahEWRed&秒唄IS3)03南北蓋燈東酉紅打ma.tuiNSftlluwL4秒的14IW)卻4南北亂燈旅百黃燈slullsXSR刨EWYelkw4秒(1沁215卻5南北燈町,東百舔打hULusKSReJE30秒(1闖.216.375)踽Ld甫北虹燈,東石蜒燈閔垛statusNSRrdEWFkdi6穢0,376,3)痢北虬燈,樂石貧忙LhLuiXSE岡盹4由w4秒0乩4W41520g荀北貢燈,東百纖.忙HutuSiNSlluwE4秒陰41.43120甫北霊燈,帝百紅燈SlalutluLd20tiritiO.0.剛0-1

5、其中,正常順序每112秒(計數(shù)值448)為一個循環(huán),狀態(tài)“*”為非順序狀態(tài)。這樣,只要根據(jù)計數(shù)值就可確定當前狀態(tài),根據(jù)狀態(tài)再分情況處理。對于計數(shù)顯示,當處于狀態(tài)1、5、*中時需要進行倒計時,需要計算在此狀態(tài)中的計數(shù)值增量,根據(jù)增量判斷是否更新計數(shù)顯示。實驗程序流程圖:r、定時器中斷服務程序入口1r汕數(shù)工作變芻值在JM基礎上如丨3E退出中斷亞務翟序四、實驗步驟1實驗準備:設置CodeComposerStudio2.21在硬件仿真(Emulator)方式下運行:3啟動CodeComposerStudio2.21:打開工程文件:編譯并下載程序:運行程序觀察結果:觀察交通燈信號是否正常工作。突發(fā)事件控

6、制:在ICETEK-CTR附帶的小鍵盤上按下除“Enter”鍵外的按鍵,觀察信號是否滿足要求。結束程序運行退出。在ICETEK-CTR附帶的小鍵盤上按下“Enter”鍵。退出CCS五、實驗結果程序可以完成交通燈功能,順序循環(huán)工作。在中斷信號到來后,進入特殊過程:當前計時如果大于10改成10,否則不變,等待狀態(tài)切換;切換后進入四面禁行狀態(tài),計數(shù)20秒后返回斷點后的通行(有兩方向是綠燈)狀態(tài)。六、實驗思考請考慮修改此實驗程序完成:主路與人行橫道可由行人控制的交通信號控制。要求:平時為主路機動車通行(綠燈)狀態(tài),人行橫道紅燈。行人需要通過人行橫道,按下交通燈控制按鈕。根據(jù)情況處理:如果機動車剛剛恢復

7、通行不超過3分鐘,行人需要等待3分鐘計時滿。否則行人等待1分鐘計時(從按下按鈕時起)。機動車道綠燈閃爍。機動車道黃燈。機動車道紅燈,人行橫道綠燈,并開始計時1分鐘。人行橫道綠燈閃爍。人行橫道黃燈。返回第1步。main()intnWork1,nWork2,nWork3,nWork4,tKey;intnNowStatus,nOldStatus,nOldTimeCount,nSaveTimeCount,nSaveStatus;unsignedintnScanCode;nTimeCount=0;bHold=0;uLightStatusEW=uLightStatusSN=0;nNowStatus=0;n

8、OldStatus=1;nOldTimeCount=0;InitDSP();/初始化DSP,設置運行速度InitICETEKCTR();/初始化顯示/控制模塊InitTimer();/設置定時器中斷/根據(jù)計時器計數(shù)切換狀態(tài)/根據(jù)狀態(tài)設置計數(shù)和交通燈狀態(tài)while(1)if(bHold&nNowStatus=statusHold)if(nTimeCount=nStatusHold)nNowStatus=nSaveStatus;nTimeCount=nSaveTimeCount;bHold=0;elseif(nTimeCountnStatusNSGreenEWRed)nNowStatus=stat

9、usNSGreenEWRed;elseif(nTimeCountnStatusNSFlashEWRed)nNowStatus=statusNSFlashEWRed;elseif(nTimeCountnStatusNSYellowEWRed)nNowStatus=statusNSYellowEWRed;elseif(nTimeCountnStatusNSRedEWYellow)nNowStatus=statusNSRedEWYellow;elseif(nTimeCountnStatusNSRedEWGreen)nNowStatus=statusNSRedEWGreen;elseif(nTimeC

10、ountnStatusNSRedEWFlash)nNowStatus=statusNSRedEWFlash;elseif(nTimeCountnStatusNSRedEWYellow1)nNowStatus=statusNSRedEWYellow;elseif(nTimeCount=0&nWork20&nWork30&nWork40)uLightStatusSN=(nWork1%nWork3)=0&nWork20&nWork30&nWork40)uLightStatusEW=(nWork1%nWork3)0)nWork2=20-nTimeCount/nWork1;if(bHold)if(nWo

11、rk210)nTimeCount=nWork1*10;nWork2=10;if(nOldTimeCount!=nWork2)nOldTimeCount=nWork2;SetLEDArray(nWork2);break;casestatusNSRedEWGreen:nWork1=(nStatusNSRedEWGreen-nStatusNSRedEWYellow)/20;if(nWork10)nWork2=20-(nTimeCount-nStatusNSRedEWYellow)/nWork1;if(bHold)if(nWork210)nTimeCount=nStatusNSRedEWYellow+

12、nWork1*10;nWork2=10;if(nOldTimeCount!=nWork2)nOldTimeCount=nWork2;SetLEDArray(nWork2);break;casestatusHold:nWork1=nStatusHold/20;if(nWork10)nWork2=20-nTimeCount/nWork1;if(nOldTimeCount!=nWork2)nOldTimeCount=nWork2;SetLEDArray(nWork2);break;elseif(bHold)nSaveStatus=nNowStatus;nSaveTimeCount=nTimeCoun

13、t;nNowStatus=statusHold;nTimeCount=0;if(nSaveStatus=statusNSFlashEWRed|nSaveStatus=statusNSYellowEWRed)nSaveStatus=statusNSRedEWGreen;nSaveTimeCount=nStatusNSRedEWYellow;elseif(nSaveStatus=statusNSRedEWFlash|nSaveStatus=statusNSRedEWYellow)nSaveStatus=statusNSGreenEWRed;nSaveTimeCount=0;nOldStatus=n

14、NowStatus;switch(nNowStatus)casestatusNSGreenEWRed:uLightStatusEW=0 x24;uLightStatusSN=0 x49;SetLEDArray(20);break;casestatusNSFlashEWRed:uLightStatusEW=0 x24;uLightStatusSN=0 x49;SetLEDArray(0);break;casestatusNSYellowEWRed:uLightStatusEW=0 x24;uLightStatusSN=0 x52;SetLEDArray(20);break;casestatusNSRedEWYellow:uLightStatusEW=0 x12;uLightStatusSN=0 x64;SetLEDArray(20);break;casestatusNSRedEWGreen:uLightStatusEW=0 x09;uLightStatusSN=0 x64;SetLEDArray(20);break;casestatusNSRedEWFlash:uLightStatusEW=0 x09;uLightStatusSN=0 x64;SetLEDArray(0);break;casestatusHold:uLightStatusEW=0 x

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論