




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、數(shù)電課程設(shè)計 帶左轉(zhuǎn)功能的紅綠燈控制系統(tǒng) 姓名: 學(xué)號:同組實驗者:孫 實驗指導(dǎo)老師: 一設(shè)計任務(wù)與要求:設(shè)計一個帶左轉(zhuǎn)功能的紅綠燈控制電路。 (1)設(shè)東、西方向為主路、南、北方向為輔路;(2)當(dāng)東、西方向綠燈亮?xí)r(表示允許東西方向車輛直行或左拐能過十字路口),南、北方向亮紅燈;反之,當(dāng)南、北方向綠燈時,東、西方向應(yīng)亮紅燈;(3)在信號燈交替亮滅之前,應(yīng)有黃燈信號作為緩沖提示(4)綠燈紅燈黃燈及左拐信號燈各有一定的作用維持時間,東西方向紅燈維持時間65秒,南北方向維持55秒,并且利用數(shù)碼管倒計時顯示。二系統(tǒng)整體設(shè)計1.系統(tǒng)設(shè)計分析將交通道路抽象模型如下:交通燈的顯示有很多方式,如十字路口、丁字
2、路口等,而對于同一個路口又有很多不同的顯示要求,比如十字路口,車子如果只要東西和南北方向通行就很簡單,但本實驗要求車輛要帶左轉(zhuǎn)功能,則較為復(fù)雜要完成本實驗,首先必須了解交通路燈的亮滅規(guī)律。本實驗需要用到實驗箱上交通燈模塊中的發(fā)光二極管,即紅、黃、綠各三個。依人們的交通常規(guī),“紅燈停,綠燈行,黃燈提醒”。其交通燈的亮滅規(guī)律為:初始態(tài)是兩個路口的紅燈全亮,之后東西路口的綠燈亮,南北路口的紅燈亮,東西方向通車,延時一段時間后,通過黃燈提示要進行左拐動作,左拐時間設(shè)定由數(shù)碼管顯示。當(dāng)東西路口紅燈來臨,同樣要由黃燈進行緩沖提示,之后東西路口紅燈亮,而同時南北路口的綠燈亮,南北方向開始通車,重復(fù)上述過程。
3、為簡易表示起見,本設(shè)計抽象模型如上,東西為a方向,南北為b方向。由題可知,a方向和b方向的交通燈應(yīng)有四種狀態(tài),分別表示可信號燈的亮滅情況,狀態(tài)轉(zhuǎn)換圖如下:圖中中1表示燈亮,0 表示燈滅,a方向和b方向的紅、黃、綠和左拐燈分別用r1、y1、g1、l1和r2、y2、g2、l2來表示。這樣,就每個方向的等就按要求的順序依次點亮了,并且我們就可以由狀態(tài)設(shè)置變量來分別為每個信號進行有效控制。2.系統(tǒng)設(shè)計思路 因為每個方向相對的信號燈狀態(tài)及倒計時的現(xiàn)實完全一致,根據(jù)設(shè)計要求和系統(tǒng)所具有的功能,紅綠燈控制系統(tǒng)設(shè)計框圖如下: 首先要通過以使能信號選通a方向或b方向,并且有時鐘控制信號來觸發(fā)控制電路。通過讀取狀
4、態(tài)變量的狀態(tài)來點亮對應(yīng)信號燈,并且通過掃描顯示電路來控制數(shù)碼管的顯示及倒計時。應(yīng)注意兩個方向各種燈亮的時間應(yīng)該能夠非常方便地進行設(shè)置和修改,此外假設(shè)a方向是主干道,車流量大,因此a方向通行的時間應(yīng)比b方向長一些,并且每個方向紅燈亮的時間應(yīng)該與另一方向綠、黃、左拐、黃燈亮的時間相等。三單元模塊設(shè)計:1.硬件電路實現(xiàn) 根據(jù)交通燈系統(tǒng)的控制要求,該電路包含了一個cpld芯片,兩個led數(shù)碼顯示器,二十個分別表示各個方向的紅黃綠燈,以及相應(yīng)的限流電路。實驗板仿真芯片用altera flex6000系列的epf10k10lc84型可編程邏輯芯片。按照如下的管腳定義,分配好管腳,編譯成可下載的文件,下載到
5、實驗板上。經(jīng)驗證,符合要求。實驗板的引腳定義:變量i/o引腳eninputpin_28clkinputpin_14lampa0outputpin_170lampa1outputpin_131lampa2outputpin_108lampa3outputpin_73lampb0outputpin_50lampb1outputpin_11lampb2outputpin_228lampb3outputpin_193acount0outputpin_198acount1outputpin_197acount2outputpin_196acount3outputpin_195acount4outputp
6、in_188acount5outputpin_187acount6outputpin_186acount7outputpin_185comoutputpin_132主控程序如下:module traffic(clk,en,lampa,lampb,acount,bcount);output7:0 acount,bcount;output3:0 lampa,lampb;input clk,en;reg7:0 numa,numb;reg tempa,tempb;reg2:0 counta,countb;reg7:0 ared,ayellow,agreen,aleft,bred,byellow,bgr
7、een,bleft;reg3:0 lampa,lampb;always (en)if(!en)begin ared =8d55; ayellow =8d5;agreen =8d40; aleft =8d15; bred =8d65; byellow =8d5; bleft =8d15; bgreen =8d30; endassign acount=numa;assign bcount=numb;always (posedge clk)beginif(en)beginif(!tempa)begintempa=1;case(counta) 0: begin numa=agreen; lampa=2
8、; counta=1; end1: begin numa=ayellow; lampa=4; counta=2; end2: begin numa=aleft; lampa=1; counta=3; end3: begin numa=ayellow; lampa=4; counta=4; end4: begin numa=ared; lampa=8; counta=0; enddefault: lampa1)if(numa3:0=0) beginnuma3:0=4b1001;numa7:4=numa7:4-1;endelse numa3:0=numa3:0-1;if (numa=2) temp
9、a=0;endendelse beginlampa=4b1000;counta=0; tempa=0;endendalways (posedge clk) beginif (en)beginif(!tempb)begintempb=1;case (countb) 0: begin numb=bred; lampb=8; countb=1; end1: begin numb=bgreen; lampb=2; countb=2; end2: begin numb=byellow; lampb=4; countb=3; end3: begin numb=bleft; lampb=1; countb=
10、4; end4: begin numb=byellow; lampb=4; countb=0; enddefault: lampb1)if(!numb3:0) beginnumb3:0=9;numb7:4=numb7:4-1;endelse numb3:0=numb3:0-1;if(numb=2) tempb=0;endendelse beginlampb=4b1000;tempb=0; countb=0;endendendmodule。3 對象控制模塊: 根據(jù)交通燈系統(tǒng)的要實現(xiàn)的功能,考慮用兩個并行的always模塊來控制a和b兩個方向的四盞燈,這兩個always 模塊用一個時鐘信號已進行同
11、步。如對a方向的程序控制模塊描述如下:always(posedge clk)/該always模塊控制a方向的4種燈beginif(en)beginif(!tempa)begintempa= 1;4循環(huán)控制切換模塊: 每個always模塊控制1個方向的4種燈按如下順序點亮,并往復(fù)循環(huán):綠燈黃燈左拐燈黃燈紅燈。程序描述如下:case(counta) 0:begin numa=agreen;lampa=2;counta=1;end1:begin numa=ayellow;lampa=4;counta=2;end2:begin numa=alert;lampa=1;counta=3;end3:begi
12、n numa=ayellow;lampa=4;counta=4;end4:begin numa=ared;lampa=8;counta=0;enddefault:lampa1) if(numa3:0=0)begin numa-3:0=4b1001; numa7:4=numa7:4-1; end else numa3:0=numa3:0-1; if(numa=2) tempa=0; end6.信號的有效維持時間模塊設(shè)定a方向紅、綠、黃、左拐燈亮的時間分別為65秒、40秒、5秒和15秒,b方向紅、綠、黃、左拐燈亮的時間分別為:55秒、30秒、5秒和15秒。假如要改變這些時間只須改變計數(shù)器的預(yù)置數(shù)即
13、可。程序描述如下:begin/設(shè)置各種燈的計數(shù)器的預(yù)置數(shù)ared=8b01010101;/65sayellow =8b00000101;/5sagreen =8b01000000; /40saleft =8b00010101; /15sbred =8b01100101; /55sbyellow =8b00000101; /5sbleft =8b00010101; /15sbgreen =8b00110000; /30send四eda系統(tǒng)原理仿真設(shè)計1、仿真環(huán)境eda軟件quartus ii 9.1軟件環(huán)境下。2、eda設(shè)計仿真(1)rtl門級模塊實現(xiàn):(2)程序綜合成功:(3)生成網(wǎng)表文件:(
14、4)仿真波形:(5)電路輸入輸出實例化模塊3.輸出驗證仿真:由狀態(tài)轉(zhuǎn)換表可知,對a方向通道,當(dāng)在當(dāng)前時刻定義變量lamp=1000時,紅燈會被點亮,此時在波形中對其輸入控制如下:經(jīng)仿真驗證,在當(dāng)前時刻,顯示a方向上紅燈的數(shù)碼管會輸出時間顯示。而有題目要求,當(dāng)a方向亮紅燈時,b方向會按綠燈黃燈左拐黃燈順序依次點亮,且顯示時間如下圖示,可知滿足要求。4.對仿真結(jié)果的分析: (1)、在波形仿真中,由于分頻模塊的數(shù)目太大,且電路的時間延時,未能去抖,在時間顯示模塊會遇到某個計數(shù)值不太準(zhǔn)確,但其前后值都準(zhǔn)確。(2)當(dāng)a或b方向當(dāng)紅燈亮?xí)r,在另一方向會各信號燈循環(huán)點亮,這是在波形仿真中具體什么燈點亮以及顯
15、示時間不能直觀的表現(xiàn)出來。五、設(shè)計心得與總結(jié)經(jīng)過幾周的努力,帶左轉(zhuǎn)功能的紅綠燈控制系統(tǒng)終于有了較滿意的結(jié)果。從最初的選題到確定思路,從模型抽象到實例設(shè)計,從源代碼的編寫到仿真分析,我們參閱了數(shù)本教材,查閱了很多網(wǎng)上資料,也請教了指導(dǎo)老師與學(xué)長,在此對他們表示深深的感謝。書到用時方恨少。在這個過程中,我們真切的感受到自己的知識的缺乏,甚者學(xué)過的東西我們都不能融會貫通,靈活運用。悔不當(dāng)初!但一路走下來,雖然艱辛,卻收獲頗豐。我們不僅回顧了數(shù)電模電知識,更深層次的運用了quarts仿真工具,也鍛煉了自己的抽象理解,建造模型模,動手實踐的能力。在這個過程中,我也深刻體會到團隊合作的重要性,一個人的力量
16、總是有限的,但通過互幫互助,我們會將自己的作用最大化。由于自己的能力實在有限,有做的不完善的地方希望老師理解,指教,謝謝!六、參考文獻:數(shù)字電子技術(shù)基礎(chǔ) 閻石 主編 高等教育出版社模擬電子技術(shù)基礎(chǔ) 童詩白 華成英主編 高等教育出版社verilog數(shù)字設(shè)計與綜合 夏宇文 主編 科學(xué)出版社可編程邏輯器件開發(fā)軟件 鄭亞民 董曉丹 國防工業(yè)出版社附件:1.程序變量說明clk: 為同步時鐘;en: 使能信號,為 1 的話,則控制器開始工作;lampa: 控制 a 方向四盞燈的亮滅;其中,lampa0lampa3,分別控制a 方向的左拐燈、綠燈、黃燈和紅燈;lampb: 控制 b 方向四盞燈的亮滅;其中,
17、lampb0 lampb3,分別控制b 方向的左拐燈、綠燈、黃燈和紅燈;acount: 用于 a 方向燈的時間顯示,8 位,可驅(qū)動兩個數(shù)碼管;bcount: 用于 b 方向燈的時間顯示,8 位,可驅(qū)動兩個數(shù)碼管2.led 數(shù)碼管顯示掃描模塊module led(clk , segout , bitout , d1 , d2 , d3 , d4);input clk ; input 6 : 0 d1 , d2 , d3 , d4 ; output 3 : 0 segout ; output 6 : 0 bitout ; reg 3 : 0 segout ;reg 6 : 0 bitout ;re
18、g 14 : 0 count_for_clk ; always (posedge clk) begin count_for_clk = count_for_clk + 14d1 ; endalways (posedge clk) begincase( count_for_clk14 : 13 ) 2b00 :begin segout = 4b0001; bitout = d1; end 2b01 :begin segout = 4b0010; bitout = d2; end 2b10 :begin segout = 4b0100; bitout = d3; end 2b11 :begin s
19、egout = 4b1000; bitout = d4; end endcaseendendmodule3.cpld硬件調(diào)試數(shù)碼管輸出模塊module control(en, clk, lampa, lampb, acount, bcount,segout,bitout);input en , bcount , acount ; input clk; output2 :0 lampa , lampb ; output3 :0 segout ; output6 :0 bitout ; reg 2 : 0 lampa ,lampb ;reg 31: 0 clk_for_1hz ; reg clk_
20、1hz ; reg 6 : 0 moutg , mouts , noutg , nouts ;reg 7 : 0 numm , numn ;reg tempm = 0 , tempn = 0 ;reg 1 : 0 countm = 2b00 , countn = 2b00 ; reg 7 : 0 mred , mgreen , myellow, nred, ngreen, nyellow; task shown;input3:0 in;output6:0 out;begin case(in) 0 : out = 7b0000001 ; 1 : out = 7b1001111 ;2 : out
21、= 7b0010010 ;3 : out = 7b0000110 ;4 : out = 7b1001100 ;5 : out = 7b0100100 ; 6 : out = 7b0100000 ;7 : out = 7b0001111 ;8 : out = 7b0000000 ;9 : out = 7b0000100 ; default : out = 7bzzzzzzz ; endcaseendendtask always (numm or numn) begin shown(numm3:0,moutg); shown(numm7:4,mouts); shown(numn3:0,noutg)
22、; shown(numn7:4,nouts); endalways (posedge clk) begin if (clk_for_1hz = 32d25_000_000) begin clk_for_1hz = 32d0 ; clk_1hz = clk_1hz ; end else clk_for_1hz = clk_for_1hz + 1 ; endalways (posedge clk_1hz) begin if(!en) begin if(!tempm) begin tempm = 1; if(countn = 2b00 & countm = 2b00) begin if(bcount
23、 = 0) mgreen = 8b0101_0000 ; else mgreen = 8b0011_0000 ; if(acount = 0) mred = 8b0011_0000 ; else mred = 8b0010_0000 ; myellow= 8b0000_0101 ; end case(countm) 2b00: begin numm = mgreen; lampa = 3b101; countm = 2b01; end 2b01: begin numm = myellow; lampa = 3b110;countm = 2b10; end 2b10: begin numm = mred; lampa = 3b011; countm = 2b00; enddefault: begin numm = mgreen; lampa = 3b101; countm 1) if(numm3:0=0) begin numm3:0=4b1001; numm7:4 = numm7:4-4d1; end else numm3:0 = 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 仁果類與核果類水果種植園產(chǎn)業(yè)融合創(chuàng)新考核試卷
- 橡膠板用途拓展考核試卷
- 水產(chǎn)品冷凍加工中的能源節(jié)約與可持續(xù)發(fā)展考核試卷
- Unit2《English and Chinese》(教學(xué)設(shè)計)-2024-2025學(xué)年教科版(2024)英語三年級上冊
- 機織服裝生產(chǎn)項目管理與案例研究考核試卷
- 毛皮制品生產(chǎn)工藝標(biāo)準(zhǔn)制定考核試卷
- 木材加工精度與表面質(zhì)量考核試卷
- 中樂器制作與全球音樂教育合作交流考核試卷
- 建筑施工現(xiàn)場機械設(shè)備安全維護考核試卷
- 高中歷史 第五單元 經(jīng)濟全球化的趨勢 第27課 綜合探究:中國如何應(yīng)對全球化的挑戰(zhàn)教學(xué)實錄 岳麓版必修2
- 東軟云醫(yī)院管理信息系統(tǒng)
- 臨床試驗入組經(jīng)驗分享
- 第01課 身邊的算法 課件
- 中國養(yǎng)老產(chǎn)業(yè)發(fā)展報告
- 機器人操作系統(tǒng)(ROS)課件 10 ROS 機器人仿真實驗
- 寧德新能源verify測試題庫
- 中國兒童呼吸道合胞病毒感染診療及預(yù)防指南(2024)解讀
- 本科畢業(yè)生登記表自我鑒定范文(8篇)
- 腦梗塞的急救護理
- 二零二四年度幼兒園學(xué)生午餐配送合同
- 讀后續(xù)寫+摯友離別:不舍與成長交織的瞬間+講義 高一上學(xué)期期中聯(lián)考英語試題
評論
0/150
提交評論