




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、數(shù)字系統(tǒng)設計報告交通燈控制器一 實驗目的1.基本掌握自頂向下的模塊化的電子系統(tǒng)設計方法;2.學會使用pld和硬件描述語言設計數(shù)字電路,掌握 quartus ii開發(fā)工具的使用方法;3.培養(yǎng)學生自主學習、正確分析和解決問題的能力 。二 設計要求我在本課程中所選擇的課題是用verilog hdl實現(xiàn)交通燈控制器。該課題的具體內(nèi)容及要求如下:主干道與鄉(xiāng)村公路十字交叉路口在現(xiàn)代化的農(nóng)村星羅棋布,為確保車輛安全、迅速地通過,在交叉路口的每個入口處設置了紅、綠、黃三色信號燈。紅燈禁止通行;綠燈允許通行;黃燈亮則給行駛中的車輛有時間行駛到禁行線之外。主干道和鄉(xiāng)村公路都安裝了傳感器,檢測車輛通行情況,用于主干
2、道的優(yōu)先權控制。 (1)當鄉(xiāng)村公路無車時,始終保持鄉(xiāng)村公路紅燈亮,主干道綠燈亮。(2)當鄉(xiāng)村公路有車時,而主干道通車時間已經(jīng)超過它的最短通車時間時,禁止主干道通行,讓鄉(xiāng)村公路通行。主干道最短通車時間為25s 。(3)當鄉(xiāng)村公路和主干道都有車時,按主干道通車25s,鄉(xiāng)村公路通車16s交替進行。(4)不論主干道情況如何,鄉(xiāng)村公路通車最長時間為16s。(5)在每次由綠燈亮變成紅燈亮的轉換過程中間,要亮5s時間的黃燈作為過渡。(6)用開關代替?zhèn)鞲衅髯鳛闄z測車輛是否到來的信號。用紅、綠、黃三種顏色的發(fā)光二極管作交通燈。要求顯示時間,倒計時。 交通燈控制器框圖如下:(c表示鄉(xiāng)村道路是否有車到來,1表示有,
3、0表示無;set用來控制系統(tǒng)的開始及停止;rst是復位信號,高電平有效,當rst=1時,恢復到初始設置;clk是外加時鐘信號;mr、my、mg分別表示主干道的紅燈、黃燈和綠燈;cr、cy、cg分別表示鄉(xiāng)村道路的紅燈、黃燈和綠燈,1表示亮,0表示滅)系統(tǒng)流程圖如下:(mgcr:主干道綠燈,鄉(xiāng)村道路紅燈;mycr:主干道黃燈,鄉(xiāng)村道路紅燈;mrcg:主干道紅燈,鄉(xiāng)村道路綠燈;mrcy:主干道紅燈,鄉(xiāng)村道路黃燈;t0=1表示主干道最短通車時間到,t1=1表示5秒黃燈時間到,t2=1表示鄉(xiāng)村道路最長通車時間到。) 本交通燈控制系統(tǒng)設計利用verilog hdl語言進行設計編程,利用cyclone ep
4、1c6q240c8芯片和一些外圍器件組成硬件電路,利用quartus ii軟件將編寫好的程序進行編譯、仿真,并將調(diào)試完成的程序下載到cyclone ep1c6q240c8芯片上,觀測電路板上的紅綠信號燈以及數(shù)碼管顯示,看是否按設計要求正常工作。三、設計流程分頻模塊本系統(tǒng)采用自頂向下的設計,設計一個頂層文件和三個底層文件。各模塊關系如下:系統(tǒng)工作模塊交通燈控制器八段譯碼模塊設計文件如下:1. 底層模塊(1)分頻模塊: 該模塊的功能是將實驗箱提供的2mhz的時鐘信號,經(jīng)過分頻得到1hz的時鐘信號作為系統(tǒng)工作模塊的時鐘。其中set信號控制系統(tǒng)的暫停和開始。源程序如下:module clk_div(c
5、lk,set,out);input clk,set; output out;reg out;reg23:0 count; /進行計數(shù)parameter n=2000000;always (posedge clk)/clk=2mhzbeginif(!set)begincount = 0;out = 0;endelsebeginif(count n/2-1)begincount = count + 1;endelsebeginout = out;/得到1hz的方波count = 0;endendendendmodule為方便仿真把n的值改為2,仿真波形如下圖:(2)系統(tǒng)工作模塊:該模塊中ret信號
6、 為復位信號(ret=1時進行復位),c表示有無車輛(c=1表示鄉(xiāng)村公路上有車輛),lampa控制主干道信號燈的亮滅,lampb控制鄉(xiāng)村公路信號燈的亮滅,acounth輸出主干道信號倒計時的十位數(shù),acountl輸出主干道信號倒計時的個位數(shù),bcounth輸出鄉(xiāng)村公路信號倒計時的十位數(shù),bcountl輸出主干道信號倒計時的個位數(shù)。當鄉(xiāng)村道路上有車時信號燈有四個狀態(tài)進行循環(huán),圖下表所示;主干道鄉(xiāng)村公路信號狀態(tài)信號時間lampa值信號狀態(tài)信號時間lampb值綠25s1紅30s4黃5s2紅4紅21s4綠16s1紅4黃5s2當鄉(xiāng)村道路上無車時,如果當前主干道狀態(tài)為綠燈,倒計時結束之后顯示器顯示“”,表
7、示暢行無阻(若當前狀態(tài)為“”,則鄉(xiāng)道上出現(xiàn)車時,主干道黃燈5秒開始倒計時);若當前主干道狀態(tài)為上表中第三個狀態(tài)就直接跳轉到第四個狀態(tài),具體代碼如下:module traffic(clk,rst,c,lampa,lampb,acounth,acountl,bcounth,bcountl);output3:0acounth,acountl,bcounth,bcountl;output2:0lampa,lampb;input clk,rst,c;reg2:0lampa,lampb;reg7:0numa,numb;reg3:0acounth,acountl,bcounth,bcountl;always
8、(posedge clk or posedge rst)beginif(rst) /進行復位beginlampa=1; /主干道始為綠燈lampb=4; /鄉(xiāng)村道路為紅燈numa=8b00100101; /主干道計時25秒numb=8b00110000; /鄉(xiāng)村道路計時為30秒endelsebegin/主干道始為綠燈 鄉(xiāng)村道路為紅燈if(lampa=1&lampb=4) begin/鄉(xiāng)道無車,主干道綠燈計時結束或正處于暢行無阻狀態(tài) if(numa=1&c=0)|(&numa)=1&c=0) beginnuma=8b11111111; /顯示” 主干道處于暢行無阻狀態(tài)numb=8b1111111
9、1; lampa=1;lampb=4; end else begin/鄉(xiāng)道有車,主干道綠燈計時結束或正處于暢行無阻狀態(tài)if(numa=1&c=1)|(&numa)=1&c=1) /begin numa=8b00000101;/黃燈設置為5秒 numb=8b00000101; lampa=2; lampb=4;end/其他情況倒計時else begin if(numa3:0=0&numa7:4) beginnuma3:0=4b1001;numa7:4=numa7:4-1; end else begin numa3:0=numa3:0-1; end if(numb3:0=0&numb7:4) be
10、ginnumb3:0=4b1001;numb7:4=numb7:4-1; end else begin numb3:0=numb3:0-1; end end end end /主干道黃燈,鄉(xiāng)村道路紅燈if(lampa=2&lampb=4) begin if(numa=1) beginnuma=8b00100001;/設置主干道紅燈21秒numb=8b00010110; /設置鄉(xiāng)道綠燈16秒lampa=4;lampb=1; end elsebeginnuma3:0=numa3:0-1;numb3:0=numb3:0-1;endend/主干道紅燈,鄉(xiāng)村道路綠燈 if(lampa=4&lampb=1
11、) beginif(c=0) /跳過鄉(xiāng)道綠燈時間beginnuma=8b00000101;numb=8b00000101;lampa=4;lampb=2;endelsebeginif(numb=1&c=1) beginnuma=8b00000101;numb=8b00000101;lampa=4;lampb=2;endelse beginif(numa3:0=0&numa7:4)beginnuma3:0=4b1001;numa7:4=numa7:4-1;endelsebegin numa3:0=numa3:0-1;end if(numb3:0=0&numb7:4)beginnumb3:0=4b
12、1001;numb7:4=numb7:4-1;endelsebeginnumb3:0=numb3:0-1;endendendend/主干道紅燈,鄉(xiāng)村道路黃燈if(lampa=4&lampb=2) beginif(numa=1)beginnuma=8b00100101;/numb=8b00110000;lampa=1;lampb=4;endelsebeginnuma3:0=numa3:0-1;numb3:0=numb3:0-1;endendendacounth=numa7:4;acountl=numa3:0;bcounth=numb7:4;bcountl=numb3:0;end endmodul
13、e仿真波形:鄉(xiāng)道一直有車時:鄉(xiāng)道無車時:(3)八段譯碼模塊:該模塊的功能是將輸入的四位信號進行譯碼,輸出到八段共陽極數(shù)碼管顯示出來,用于顯示倒計時module decode4_7(decodeout,indec);output7:0 decodeout; input3:0 indec; reg7:0 decodeout;always (indec)begin case(indec) /進行譯碼 4d0:decodeout=8b00000011; 4d1:decodeout=8b10011111;4d2:decodeout=8b00100101;4d3:decodeout=8b00001101;
14、4d4:decodeout=8b10011001;4d5:decodeout=8b01001001;4d6:decodeout=8b01000001;4d7:decodeout=8b00011111;4d8:decodeout=8b00000001;4d9:decodeout=8b00001001;4d15:decodeout=8b11111101;/顯示“”default: decodeout=8bx; endcaseendendmodule仿真波形:2. 頂層文件仿真圖形:分析亮燈情況及倒計時情況,與設計要求相符合,仿真結果正確。四、管腳綁定clk綁定到晶振時鐘信號,設定管腳號為28;c,
15、rst,set分別綁定到三個乒乓開關,這里設定管腳號分別為137,138,139;lampa2 ,lampa1 ,lampa0分別綁定到紅燈,黃燈,綠燈上,這里設定管腳號分別為233,204,221;lampb2 ,lampb1 ,lampb0分別綁定到另一組紅燈,黃燈,綠燈上,這里設定管腳號分別為228,202,220;acounth,acountl,bcounth,bcountl分別綁定到四個數(shù)碼管上。五、編譯下載把程序下載到芯片中測試實際結果是否正確。實驗結果:1.ret復位之后主干道為綠燈(25),鄉(xiāng)村道路為紅燈(30)。2.主干道為綠燈,鄉(xiāng)村道路為紅燈:若此時鄉(xiāng)村道路無車,主干道綠燈
16、計時結束之后,倒計時顯示“”一直持續(xù)到鄉(xiāng)道上有車為止才變?yōu)橹鞲傻罏辄S燈,鄉(xiāng)村道路為紅燈;若鄉(xiāng)道有車主干道綠燈計時結束之后為主干道為黃燈(5),鄉(xiāng)村道路為紅燈(5)。3. 主干道為黃燈,鄉(xiāng)村道路為紅燈:計時結束后主干道為紅燈(21),鄉(xiāng)道為綠燈(16)。4. 主干道為紅燈,鄉(xiāng)村道路為綠燈:若此時鄉(xiāng)道上有車,鄉(xiāng)村道路計時結束后主干道為紅燈(5),鄉(xiāng)道為黃燈(5);若此時鄉(xiāng)道上無車,不等計時結束狀態(tài)轉為主干道為紅燈(5),鄉(xiāng)村道路為黃燈(5)。5. 主干道為紅燈,鄉(xiāng)村道路為黃燈:計時結束后主干道為綠燈(25),鄉(xiāng)村道路為紅燈(30)。分析實驗結果可以看到該系統(tǒng)實現(xiàn)了所有設計要求,運行結果正確。六、實驗總結該設計用了3個底層模塊和一個頂層文件,總體思路比較清晰,實現(xiàn)了交通燈控制器的各種功能及主干道和鄉(xiāng)村道路的倒計時顯示。在編寫程序的過程中,我強烈的意識到模塊化設計該編程帶來很大的便利。首先你得理清思路,要是下哪些功能,把他們分模塊實現(xiàn),作為底層,最后再把這些底層
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二年級上冊數(shù)學教案-3.2兒童樂園 |北師大版
- 2025年合同付款明細表模板
- 三年級下冊數(shù)學教案 - 5.6 求簡單的經(jīng)過時間 丨蘇教版
- 五年級上冊數(shù)學教案-5 小數(shù)除以整數(shù)|蘇教版
- 學習2025年雷鋒精神62周年主題活動實施方案 匯編3份
- 人教PEP版三年級上冊期中檢測英語試卷(含聽力)(含解析)-
- 《南鄉(xiāng)子 登京口北固亭有懷》歷年中考古詩欣賞試題匯編(截至2023年)
- 2025年甘肅建筑職業(yè)技術學院單招職業(yè)適應性測試題庫學生專用
- 2025年湖北體育職業(yè)學院單招職業(yè)傾向性測試題庫學生專用
- 2025年廣東工貿(mào)職業(yè)技術學院單招職業(yè)適應性測試題庫完整版
- 中小學領導班子包級包組包班制度
- 汽車掛靠經(jīng)營合同協(xié)議書模板
- 基坑土方開挖專項施工方案(完整版)
- 電網(wǎng)工程設備材料信息參考價(2024年第四季度)
- 2025年江蘇農(nóng)牧科技職業(yè)學院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 數(shù)據(jù)中心運維服務投標方案(技術標)
- 瑞幸對賭協(xié)議
- 部編人教版四年級下冊道德與法治全冊教案
- 2024年湖南鐵道職業(yè)技術學院單招職業(yè)技能測試題庫及答案解析word版
- 健康保險學PPT完整全套教學課件
- 大學生心理健康教育高職PPT完整全套教學課件
評論
0/150
提交評論