版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、數(shù)字系統(tǒng)設(shè)計報告交通燈控制器一 實驗?zāi)康?.基本掌握自頂向下的模塊化的電子系統(tǒng)設(shè)計方法;2.學(xué)會使用pld和硬件描述語言設(shè)計數(shù)字電路,掌握 quartus ii開發(fā)工具的使用方法;3.培養(yǎng)學(xué)生自主學(xué)習(xí)、正確分析和解決問題的能力 。二 設(shè)計要求我在本課程中所選擇的課題是用verilog hdl實現(xiàn)交通燈控制器。該課題的具體內(nèi)容及要求如下:主干道與鄉(xiāng)村公路十字交叉路口在現(xiàn)代化的農(nóng)村星羅棋布,為確保車輛安全、迅速地通過,在交叉路口的每個入口處設(shè)置了紅、綠、黃三色信號燈。紅燈禁止通行;綠燈允許通行;黃燈亮則給行駛中的車輛有時間行駛到禁行線之外。主干道和鄉(xiāng)村公路都安裝了傳感器,檢測車輛通行情況,用于主干
2、道的優(yōu)先權(quán)控制。 (1)當(dāng)鄉(xiāng)村公路無車時,始終保持鄉(xiāng)村公路紅燈亮,主干道綠燈亮。(2)當(dāng)鄉(xiāng)村公路有車時,而主干道通車時間已經(jīng)超過它的最短通車時間時,禁止主干道通行,讓鄉(xiāng)村公路通行。主干道最短通車時間為25s 。(3)當(dāng)鄉(xiāng)村公路和主干道都有車時,按主干道通車25s,鄉(xiāng)村公路通車16s交替進行。(4)不論主干道情況如何,鄉(xiāng)村公路通車最長時間為16s。(5)在每次由綠燈亮變成紅燈亮的轉(zhuǎn)換過程中間,要亮5s時間的黃燈作為過渡。(6)用開關(guān)代替?zhèn)鞲衅髯鳛闄z測車輛是否到來的信號。用紅、綠、黃三種顏色的發(fā)光二極管作交通燈。要求顯示時間,倒計時。 交通燈控制器框圖如下:(c表示鄉(xiāng)村道路是否有車到來,1表示有,
3、0表示無;set用來控制系統(tǒng)的開始及停止;rst是復(fù)位信號,高電平有效,當(dāng)rst=1時,恢復(fù)到初始設(shè)置;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)設(shè)計利用verilog hdl語言進行設(shè)計編程,利用cyclone ep
4、1c6q240c8芯片和一些外圍器件組成硬件電路,利用quartus ii軟件將編寫好的程序進行編譯、仿真,并將調(diào)試完成的程序下載到cyclone ep1c6q240c8芯片上,觀測電路板上的紅綠信號燈以及數(shù)碼管顯示,看是否按設(shè)計要求正常工作。三、設(shè)計流程分頻模塊本系統(tǒng)采用自頂向下的設(shè)計,設(shè)計一個頂層文件和三個底層文件。各模塊關(guān)系如下:系統(tǒng)工作模塊交通燈控制器八段譯碼模塊設(shè)計文件如下: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、 為復(fù)位信號(ret=1時進行復(fù)位),c表示有無車輛(c=1表示鄉(xiāng)村公路上有車輛),lampa控制主干道信號燈的亮滅,lampb控制鄉(xiāng)村公路信號燈的亮滅,acounth輸出主干道信號倒計時的十位數(shù),acountl輸出主干道信號倒計時的個位數(shù),bcounth輸出鄉(xiāng)村公路信號倒計時的十位數(shù),bcountl輸出主干道信號倒計時的個位數(shù)。當(dāng)鄉(xiāng)村道路上有車時信號燈有四個狀態(tài)進行循環(huán),圖下表所示;主干道鄉(xiāng)村公路信號狀態(tài)信號時間lampa值信號狀態(tài)信號時間lampb值綠25s1紅30s4黃5s2紅4紅21s4綠16s1紅4黃5s2當(dāng)鄉(xiāng)村道路上無車時,如果當(dāng)前主干道狀態(tài)為綠燈,倒計時結(jié)束之后顯示器顯示“”,表
7、示暢行無阻(若當(dāng)前狀態(tài)為“”,則鄉(xiāng)道上出現(xiàn)車時,主干道黃燈5秒開始倒計時);若當(dāng)前主干道狀態(tài)為上表中第三個狀態(tài)就直接跳轉(zhuǎn)到第四個狀態(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) /進行復(fù)位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)道無車,主干道綠燈計時結(jié)束或正處于暢行無阻狀態(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)道有車,主干道綠燈計時結(jié)束或正處于暢行無阻狀態(tài)if(numa=1&c=1)|(&numa)=1&c=1) /begin numa=8b00000101;/黃燈設(shè)置為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;/設(shè)置主干道紅燈21秒numb=8b00010110; /設(shè)置鄉(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. 頂層文件仿真圖形:分析亮燈情況及倒計時情況,與設(shè)計要求相符合,仿真結(jié)果正確。四、管腳綁定clk綁定到晶振時鐘信號,設(shè)定管腳號為28;c,
15、rst,set分別綁定到三個乒乓開關(guān),這里設(shè)定管腳號分別為137,138,139;lampa2 ,lampa1 ,lampa0分別綁定到紅燈,黃燈,綠燈上,這里設(shè)定管腳號分別為233,204,221;lampb2 ,lampb1 ,lampb0分別綁定到另一組紅燈,黃燈,綠燈上,這里設(shè)定管腳號分別為228,202,220;acounth,acountl,bcounth,bcountl分別綁定到四個數(shù)碼管上。五、編譯下載把程序下載到芯片中測試實際結(jié)果是否正確。實驗結(jié)果:1.ret復(fù)位之后主干道為綠燈(25),鄉(xiāng)村道路為紅燈(30)。2.主干道為綠燈,鄉(xiāng)村道路為紅燈:若此時鄉(xiāng)村道路無車,主干道綠燈
16、計時結(jié)束之后,倒計時顯示“”一直持續(xù)到鄉(xiāng)道上有車為止才變?yōu)橹鞲傻罏辄S燈,鄉(xiāng)村道路為紅燈;若鄉(xiāng)道有車主干道綠燈計時結(jié)束之后為主干道為黃燈(5),鄉(xiāng)村道路為紅燈(5)。3. 主干道為黃燈,鄉(xiāng)村道路為紅燈:計時結(jié)束后主干道為紅燈(21),鄉(xiāng)道為綠燈(16)。4. 主干道為紅燈,鄉(xiāng)村道路為綠燈:若此時鄉(xiāng)道上有車,鄉(xiāng)村道路計時結(jié)束后主干道為紅燈(5),鄉(xiāng)道為黃燈(5);若此時鄉(xiāng)道上無車,不等計時結(jié)束狀態(tài)轉(zhuǎn)為主干道為紅燈(5),鄉(xiāng)村道路為黃燈(5)。5. 主干道為紅燈,鄉(xiāng)村道路為黃燈:計時結(jié)束后主干道為綠燈(25),鄉(xiāng)村道路為紅燈(30)。分析實驗結(jié)果可以看到該系統(tǒng)實現(xiàn)了所有設(shè)計要求,運行結(jié)果正確。六、實驗總結(jié)該設(shè)計用了3個底層模塊和一個頂層文件,總體思路比較清晰,實現(xiàn)了交通燈控制器的各種功能及主干道和鄉(xiāng)村道路的倒計時顯示。在編寫程序的過程中,我強烈的意識到模塊化設(shè)計該編程帶來很大的便利。首先你得理清思路,要是下哪些功能,把他們分模塊實現(xiàn),作為底層,最后再把這些底層
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 食品課程設(shè)計感想
- 數(shù)控機床主軸箱課程設(shè)計
- 2024至2030年中國海綿包防護棚行業(yè)投資前景及策略咨詢研究報告
- 雙聯(lián)齒輪工藝課程設(shè)計
- 貓抓老鼠c 課程設(shè)計
- 灌注樁課程設(shè)計3410
- 2024至2030年中國直熱封口機行業(yè)投資前景及策略咨詢研究報告
- 2024年中國芳綸纖維增強復(fù)合材料市場調(diào)查研究報告
- 中國高吸水性樹脂(SAP)行業(yè)發(fā)展方向及盈利前景預(yù)測研究報告(2024-2030版)
- 中國食品級冷卻劑供需現(xiàn)狀與市場規(guī)模分析研究報告(2024-2030版)
- 高校實驗室管理員工作總結(jié)
- JBT 14615-2024 內(nèi)燃機 活塞運動組件 清潔度限值及測定方法(正式版)
- 2024年保密知識測試試題庫(綜合題)
- 《做個加法表》名師課件
- 個人與公司簽訂的銷售提成協(xié)議
- 危險性較大的分部分項安全管理核查表
- 2024年紀檢監(jiān)察綜合業(yè)務(wù)知識題庫含答案(研優(yōu)卷)
- 第8課《用制度體系保證人民當(dāng)家做作主》第2框《我國的基本政治制度》課件 2023-2024學(xué)年 中職高教版(2023)中國特色社會主義
- 2024年入團積極分子結(jié)業(yè)考試試題
- 供應(yīng)室消防應(yīng)急預(yù)案演練
- 潮濕相關(guān)性皮炎的護理
評論
0/150
提交評論