西工大數(shù)電 課程設(shè)計(jì)——交通燈

上傳人:仙*** 文檔編號(hào):87225994 上傳時(shí)間:2022-05-09 格式:DOC 頁數(shù):12 大?。?35.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
西工大數(shù)電 課程設(shè)計(jì)——交通燈_第1頁
第1頁 / 共12頁
西工大數(shù)電 課程設(shè)計(jì)——交通燈_第2頁
第2頁 / 共12頁
西工大數(shù)電 課程設(shè)計(jì)——交通燈_第3頁
第3頁 / 共12頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《西工大數(shù)電 課程設(shè)計(jì)——交通燈》由會(huì)員分享,可在線閱讀,更多相關(guān)《西工大數(shù)電 課程設(shè)計(jì)——交通燈(12頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 西北工業(yè)大學(xué) 課 程 設(shè) 計(jì) 報(bào) 告 題 目:交通信號(hào)燈控制電路 學(xué)院: 航 海 學(xué) 院 班級(jí): 03051001班 學(xué)生〔學(xué)號(hào)〕: 學(xué)生〔學(xué)號(hào)〕: 日期: 2013 年 1 月 摘要 Verilog HDL 作為一種規(guī)的硬件描述語言,被廣泛應(yīng)用于數(shù)字電子系統(tǒng)設(shè)計(jì)。它允許設(shè)計(jì)者進(jìn)展各種級(jí)別的邏輯設(shè)計(jì),也可以進(jìn)展數(shù)字邏輯系統(tǒng)的仿真驗(yàn)證、時(shí)序分析、邏輯綜合操作。本文介紹了應(yīng)用Verilog HD

2、L語言自頂向下的設(shè)計(jì)方法設(shè)計(jì)交通燈控制系統(tǒng),使其實(shí)現(xiàn)道路交通的正常運(yùn)轉(zhuǎn),突出了其作為硬件描述語言的良好的可讀性、可移植性和易理解等優(yōu)點(diǎn)。通過Quartus Ⅱ完成了程序的編寫、編譯與仿真,生成頂層文件后下載到芯片CycloneⅢ EP3C16F484C6芯片上,在DE0開發(fā)板上進(jìn)展驗(yàn)證。驗(yàn)證結(jié)果明確,該設(shè)計(jì)可以完成交通燈控制的相關(guān)要求。 關(guān)鍵詞:交通信號(hào)燈控制 Verilog HDL Quartus Ⅱ DE0 目錄 一、課程設(shè)計(jì)目的 二、設(shè)計(jì)任務(wù)與要求 三、方案設(shè)計(jì) 四、模塊設(shè)計(jì) 五、程序代碼 六、開發(fā)板驗(yàn)證 七、遇到問題與解決

3、方法 八、總結(jié) 九、參考文獻(xiàn) 十、附錄〔管腳對(duì)應(yīng)關(guān)系〕 一、 課程設(shè)計(jì)目的 設(shè)計(jì)目的: 初步了解掌握硬件描述語言,體會(huì)自頂向下的設(shè)計(jì)思想,鍛煉查閱資料與知識(shí)應(yīng)用的能力。 二、 設(shè)計(jì)任務(wù)與要求 設(shè)計(jì)任務(wù): 設(shè)計(jì)一個(gè)十字路口的交通燈控制電路,要求甲車道和乙車道兩條交叉道路上的車輛交替運(yùn)行 設(shè)計(jì)要求: 1、南北和東西方向各有一組綠、黃、紅燈用于指揮交通,綠燈、黃燈和紅燈的持續(xù)時(shí)間分別為20秒、5秒和25秒; 2、當(dāng)有特殊情況〔如消防車、救護(hù)車等〕時(shí),兩個(gè)方向均為紅燈亮,計(jì)時(shí)停止,當(dāng)特殊情況完畢后,控制器恢復(fù)原來狀態(tài),繼續(xù)正常運(yùn)行;

4、 3、用兩組數(shù)碼管,以倒計(jì)時(shí)方式顯示兩個(gè)方向允許通行的時(shí)間。 三、 方案設(shè)計(jì) 任務(wù)分析: 東西〔A車道〕和南北〔B車道〕方向各有一組綠、黃、紅燈用于指揮交通〔如圖1、2〕,綠燈、黃燈和紅燈的持續(xù)時(shí)間分別為 25秒、5 秒和 30 秒。 A B 圖1 十字路口交通燈模型 25s 30s 55s 60s A方向 綠燈亮 黃燈亮 紅

5、燈亮 B方向 紅燈亮 綠燈亮 黃燈亮 圖2 計(jì)數(shù)值與交通燈亮滅的關(guān)系 如果有特殊情況發(fā)生,兩個(gè)方向均亮紅燈,因此,可以設(shè)計(jì)如下五個(gè)狀態(tài),其關(guān)系為: 狀態(tài) 亮燈情況 車輛行駛狀況 持續(xù)時(shí)間〔秒〕 下一狀態(tài) A車道 B車道 S0 紅亮 紅亮 特殊狀況,兩方向均禁止通行 S(?) S1 綠亮 紅亮 A方向通行,B車道禁止通行 20 S2 S2 黃亮 紅亮 A車道緩行,B車道禁止通行 5 S3 S3 紅亮 綠亮

6、 A車道禁止通行,B車道通行 20 S4 S4 紅亮 黃亮 A車道禁止通行,B車道緩行 5 S1 S〔?〕即返回暫停前一狀態(tài) 正常工作 特殊情況 S2 S1 S0 S3 S4 設(shè)計(jì)思想: 根據(jù)設(shè)計(jì)要求,考慮用4個(gè)模塊實(shí)現(xiàn):基頻分頻模塊、60進(jìn)制計(jì)數(shù)器、交通控制、分位譯碼顯示模塊。整個(gè)電路以一個(gè)50MHz的晶振為時(shí)鐘源,由分頻得到所需時(shí)鐘1Hz。設(shè)計(jì)一個(gè)技術(shù)圍是0~59的計(jì)數(shù)器和一個(gè)根據(jù)計(jì)數(shù)值做出相應(yīng)反映的計(jì)數(shù)器,并且對(duì)于計(jì)數(shù)值以兩組數(shù)碼

7、管來顯示,這就需要相應(yīng)的譯碼電路。對(duì)于特殊情況,要設(shè)計(jì)特殊的對(duì)待方式,當(dāng)進(jìn)入此方式時(shí)兩個(gè)方向的紅燈點(diǎn)亮。 四、 模塊設(shè)計(jì) 1〕分頻模塊 由于實(shí)驗(yàn)板只能提供50MHz的時(shí)鐘信號(hào),而電路中需要使用較低頻率的時(shí)鐘,經(jīng)分配產(chǎn)生1Hz頻率送給交通控制器和計(jì)數(shù)器。 2〕計(jì)數(shù)器 本設(shè)計(jì)主要是由計(jì)數(shù)器來實(shí)現(xiàn)交通燈的亮滅關(guān)系。當(dāng)檢測到特殊情況時(shí),計(jì)數(shù)器暫停。 3〕交通控制器 根據(jù)計(jì)數(shù)器的數(shù)值控制發(fā)光二級(jí)管亮滅,輸出倒計(jì)時(shí)數(shù)值給譯碼管的分位電路。 4〕分位譯碼顯示 交通燈時(shí)鐘輸出兩組時(shí)間,數(shù)碼管顯示。 五、 程序

8、代碼 module trafficlight(clk50M,hold,RedA,GreenA,YellowA,RedB,GreenB,YellowB,AG,AL,BG,BL); input clk50M,hold; output reg RedA,GreenA,YellowA,RedB,GreenB,YellowB; output reg[6:0]AG,AL,BG,BL; // clk50M輸入時(shí)鐘信號(hào) //hold突發(fā)情況信號(hào) // RedA,GreenA,YellowA輸出A方向燈信號(hào) // RedB,GreenB,YellowB輸出B方向燈信號(hào) //AG、AL輸出A方

9、向倒計(jì)時(shí)十位與個(gè)位 //BG、BL輸出B方向倒計(jì)時(shí)十位與個(gè)位 wire[3:0]DispAG,DispAL,DispBG,DispBL; reg[5:0]NumA,NumB; integer num; reg clk1; integer count; //分位子模塊 assign DispAG[3:0]=NumA/10, //A 方向十位 DispAL[3:0]=NumA%10; //A 方向個(gè)位 assign DispBG[3:0]=NumB/10, //B 方向十位 DispBL[3:0]=NumB%10; //B

10、方向個(gè)位 // 50MHz分頻為1Hz always (posedge clk50M) begin if(num==50000000)num=0; else num=num+1; if(num>25000000)clk1=1; else clk1=0; end //數(shù)碼管顯示輸出,低電平有效 always (DispAG) case(DispAG)

11、 4'b0000:AG=7'b1000000; 4'b0001:AG=7'b1111001; 4'b0010:AG=7'b0100100; 4'b0011:AG=7'b0110000; 4'b0100:AG=7'b0011001; 4'b0101:AG=7'b0010010; 4'b0110:AG=7'b0000010; 4'b0111:AG=7'b1111000; 4'b1000:AG=7'b0000000; 4'b1001:AG=7'b00100

12、00; endcase always (DispAL) case(DispAL) 4'b0000:AL=7'b1000000; 4'b0001:AL=7'b1111001; 4'b0010:AL=7'b0100100; 4'b0011:AL=7'b0110000; 4'b0100:AL=7'b0011001; 4'b0101:AL=7'b0010010; 4'b0110:AL=7'b0000010; 4'b0111:AL=7'b1111000; 4'b1000:AL

13、=7'b0000000; 4'b1001:AL=7'b0010000; endcase always (DispBG) case(DispBG) 4'b0000:BG=7'b1000000; 4'b0001:BG=7'b1111001; 4'b0010:BG=7'b0100100; 4'b0011:BG=7'b0110000; 4'b0100:BG=7'b0011001; 4'b0101:BG=7'b0010010; 4'b0110:BG=7'b0000010; 4'b

14、0111:BG=7'b1111000; 4'b1000:BG=7'b0000000; 4'b1001:BG=7'b0010000; endcase always (DispBL) case(DispBL) 4'b0000:BL=7'b1000000; 4'b0001:BL=7'b1111001; 4'b0010:BL=7'b0100100; 4'b0011:BL=7'b0110000; 4'b0100:BL=7'b0011001; 4'b0101:BL=7'b0010010;

15、 4'b0110:BL=7'b0000010; 4'b0111:BL=7'b1111000; 4'b1000:BL=7'b0000000; 4'b1001:BL=7'b0010000; endcase //60進(jìn)制計(jì)數(shù)器 always ( posedge clk1) begin if(hold)count=count; else if(count==59)count=0; else count=count+1 end //交

16、通燈控制 always (posedge clk1) begin if(hold) begin RedA=1'b1;GreenA=1'B0;YellowA=1'B0; RedB=1'b1;GreenB=1'B0;YellowB=1'B0; end else if(count<25) begin NumA<=25-count; NumB<=30-count; R

17、edA=1'b0;GreenA=1'B1;YellowA=1'B0; RedB=1'b1;GreenB=1'B0;YellowB=1'B0; end else if(count<30) begin NumA<=30-count; NumB<=30-count; RedA=1'b0;GreenA=1'B0;YellowA=1'B1; RedB=1'b1;GreenB=1'B0;YellowB=1'B0;

18、 end else if(count<55) begin NumA<=60-count; NumB<=55-count; RedA=1'b1;GreenA=1'B0;YellowA=1'B0; RedB=1'b0;GreenB=1'B1;YellowB=1'B0; end else if(count<60) begin NumA<=60-c

19、ount; NumB<=60-count; RedA=1'b1;GreenA=1'B0;YellowA=1'B0; RedB=1'b0;GreenB=1'B0;YellowB=1'B1; end end endmodule 六、 程序仿真 仿真波形如圖1、2、3 圖1 交通燈控制 圖2 數(shù)碼管顯示 圖3 特殊情況 七、 開發(fā)板驗(yàn)證 在程序在DE0板上實(shí)現(xiàn)了預(yù)期功能。 A方向: 紅燈〔LEDG0〕黃燈〔LEDG1〕綠燈

20、(LEDG2) 數(shù)碼管HEX1顯示倒計(jì)數(shù)十位,數(shù)碼管HEX0顯示倒計(jì)數(shù)個(gè)位 B方向: 紅燈 (LEDG9) 黃燈(LEDG8) 綠燈(LEDG7) 數(shù)碼管HEX3顯示倒計(jì)數(shù)十位,數(shù)碼管HEX2顯示倒計(jì)數(shù)個(gè)位 hold: SW[0] 〔后附管腳對(duì)應(yīng)〕 八、 遇到問題與解決方法 1) 編程過程中,由于局部模塊代碼類似,進(jìn)展了粘貼復(fù)制,不同處卻沒有修改,導(dǎo)致仿真不能得到預(yù)期波形。經(jīng)仔細(xì)檢查修改代碼后,問題得到了解決。 2) 程序下載到開發(fā)板后,發(fā)現(xiàn)數(shù)碼管全顯示“0〞,LED燈沒有亮滅變換,分析后發(fā)現(xiàn)原先代碼中的分頻模塊存在問題,沒有將頻率降至1Hz,修改相關(guān)

21、代碼后,問題得到解決。 九、 總結(jié) 通過本次設(shè)計(jì),初步了解掌握了硬件描述語言,體會(huì)了自頂向下的設(shè)計(jì)思想,對(duì)FPGA的應(yīng)用有了一定了解。同時(shí),鍛煉了查閱資料與知識(shí)應(yīng)用的能力,極提高了學(xué)習(xí)熱情。 另外,在課設(shè)過程中,通過對(duì)遇到問題的思考與解決,更加深了對(duì)相關(guān)知識(shí)的了解,也使自己更加的細(xì)心。 十、 參考文獻(xiàn) 【1】 賀敬凱,Verilog HDL數(shù)字設(shè)計(jì)教程 ,電子科技大學(xué)〔2010〕 【2】 夏宇聞,數(shù)字系統(tǒng)設(shè)計(jì)Verilog實(shí)現(xiàn),高等教育〔2002〕 十一、 附錄 管腳對(duì)應(yīng)關(guān)系 12 / 12

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!