交通燈控制器的設(shè)計_第1頁
交通燈控制器的設(shè)計_第2頁
交通燈控制器的設(shè)計_第3頁
交通燈控制器的設(shè)計_第4頁
交通燈控制器的設(shè)計_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、.EDA實驗報告一、課程設(shè)計題目及要求題目: 十字路口交通燈具體要求: 設(shè)計一個十字路口的交通燈控制器,能顯示十字路口東西、南北兩個方向紅、黃、綠燈的指示狀態(tài)。用兩組紅、黃、 綠三種顏色的燈分別作為東西、南北兩個方向 紅、黃、綠等。變化規(guī)律為:東西綠燈亮,南北紅燈亮東西黃燈亮,南北紅燈亮東西紅燈亮,南北綠燈亮東西紅燈亮,南北黃燈亮東西綠燈亮,南北紅燈亮······,這樣循環(huán)下去。南北方向每次通行時間為45秒,東西方向每次通行時間為45秒,要求兩條交叉道路上的車輛交替運行,時間可設(shè)置修改。綠燈轉(zhuǎn)為紅燈時,要求黃燈先亮5秒鐘,才能變換運行

2、車道。并要求所有交通燈的狀態(tài)變化在時鐘脈沖上升沿處。二、實驗編程環(huán)境QuartusII 8.0 三、課程設(shè)計的詳細(xì)設(shè)計方案(一)、總體設(shè)計方案的描述1.1、根據(jù)交通燈系統(tǒng)設(shè)計要求,可以用一個有限狀態(tài)機來實現(xiàn)這個交通燈控制器。首先根據(jù)功能要求,明確兩組交通燈的狀態(tài),這兩組交通燈總共共有四種狀態(tài),我們用ST0,ST1,ST2,ST3 來表示: St0表示東西路綠燈亮,南北路紅燈亮; St1表示東西路黃燈亮,南北路紅燈亮; St2表示東西路紅燈亮,南北路綠燈亮; St3表示東西路紅燈亮,南北路黃燈亮;1.2、根據(jù)上述四種狀態(tài)描述列出的狀態(tài)轉(zhuǎn)換表 表9-1 交通燈控制器狀態(tài)轉(zhuǎn)換表當(dāng)前狀態(tài)下一狀態(tài)轉(zhuǎn)換條

3、件St0St1主路綠燈亮了40秒St1St2主路黃燈亮了5 秒St2St3主路綠燈亮了 40秒St3St0支路黃燈亮了5秒1.3、根據(jù)狀態(tài)轉(zhuǎn)換表得到交通燈控制器的狀態(tài)轉(zhuǎn)移圖如圖所示。 St0St3St1St2 交通燈控制器的狀態(tài)轉(zhuǎn)移圖(二)各個模塊設(shè)計2.1、控制器模塊控制器模塊示意圖其中,clk為時鐘信號,時鐘上升沿有效。hold為緊急制動信號,低電平有效。ared,agreen,ayellow分別表示東西方向的紅燈,黃燈,綠燈顯示信號,高電平有效。bred,bgreen,byellow分別表示南北方向的紅燈,黃燈,綠燈顯示信號,高電平有效。用于控制紅綠黃燈的亮暗情況。2.2、45秒倒計時計

4、數(shù)器模塊 CLKENCRQL3.0QH3.0OCm45inst245秒倒計時計數(shù)器模塊示意圖 其中,CLK為時鐘信號,時鐘上升沿有效。EN為使能端,高電平有效。CR為緊急制動信號低電平有效。QL3.0是計數(shù)低位。QH3.0是計數(shù)高位。用于45秒的倒計時計數(shù)。2.3、7位譯碼器模塊7位譯碼器模塊示意圖其中dat3.0為要譯碼的信號。a,b,c,d,e,f,g為譯碼后的信號。用于將45秒倒計時計數(shù)的信號譯碼成數(shù)碼管可以識別的信號。2.4、50MHZ分頻器模塊50MHZ分頻器模塊示意圖其中clk為50MHZ時鐘信號,時鐘上升沿有效。輸出clk_out為1HZ時鐘信號,時鐘上升沿有效。用于將50MHZ

5、的時鐘信號轉(zhuǎn)變成1HZ的時鐘信號。(三)結(jié)構(gòu)圖設(shè)計(四)仿真電路時序仿真圖從圖中可看到首先進(jìn)入st0狀態(tài),此時東西路綠燈亮,南北路紅燈亮;計數(shù)器計數(shù)到40秒時,交通燈控制器進(jìn)入st1狀態(tài),此時東西路黃燈亮,南北路紅燈亮;在st1狀態(tài)計數(shù)器又開始計數(shù),計數(shù)器計數(shù)到5秒后,交通燈控制器狀態(tài)進(jìn)入st2,此時東西路紅燈亮,南北路綠燈亮;在st2狀態(tài)計數(shù)器又開始計數(shù),計數(shù)器計數(shù)到40秒后,交通燈控制器狀進(jìn)入st3狀態(tài),此時東西路紅燈亮,南北路綠燈亮;在st3狀態(tài)計數(shù)器又開始計數(shù),計數(shù)器計數(shù)到5秒后,交通燈控制器狀態(tài)進(jìn)入st0狀態(tài),此時東西路綠燈亮,南北路紅燈亮,如些循環(huán)反復(fù),完成十字交通路口的紅綠燈控制

6、。A0-G0,A1-G1分別為45到0的譯碼。(五)分配引腳為了對此工程進(jìn)行硬件測試,應(yīng)將編譯成功后的程序下載到目標(biāo)芯片上,并指定輸入輸出信號的管腳,以便添加激勵信號和測試輸出信號。 在下載編譯成功的文件之前,需要制定器件的管腳,選擇Assignments|Pins命令,在隨后出現(xiàn)的下拉列表框中選擇對應(yīng)端口信號名的器件引腳號,如下圖:四、設(shè)計總結(jié)和心得通過此次EDA設(shè)計,我系統(tǒng)性的學(xué)習(xí)了課本上相關(guān)的知識,對課堂上的知識更加了解。通過認(rèn)真研究課本,使我對EDA程序設(shè)計有了一定思路;通過實驗課的學(xué)習(xí),在程序的設(shè)計,程序的調(diào)試方面都學(xué)到了很多東西,在這幾天時間里,實驗室的氛圍對我們的影響很大,大家一

7、起努力,這也是我們能完成課設(shè)的動力。其中在編程中也出現(xiàn)了很多的問題,但通過老師和同學(xué)的幫助下,把問題一一解決。其實只要我們自己認(rèn)真看書,仔細(xì)分析,仔細(xì)調(diào)試,就一定會發(fā)下錯誤,在以后的學(xué)習(xí)中,要理論聯(lián)系實際,把我們所學(xué)的理論知識用到實際當(dāng)中,學(xué)習(xí)EDA更是如此,程序只有經(jīng)常的寫與讀的過程中才能提高,這就是我在這次課程設(shè)計中的最大收獲。五、源代碼控制器模塊:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity control is port(clk,hold:in std_logic; are

8、d,agreen,ayellow,bred,bgreen,byellow:out std_logic);end control;architecture behavior of control is type state_type is (s0,s1,s2,s3,s4); signal current_state,next_state : state_type; signal counter : std_logic_vector(6 downto 0); beginsynch : processbegin wait until clk'event and clk ='1'

9、; if hold='0' then counter<=counter; else if counter<89 then counter<=counter+1; else counter<=(others=>'0'); end if; end if; end process; processbegin wait until clk'event and clk='1' current_state<=next_state;end process;state_trans:process(current_sta

10、te)begin case current_state iswhen s0=> if hold='0' then next_state<=s4; else if counter<39 then next_state<=s0; else next_state<=s1; end if; end if;when s1=> if hold='0' then next_state<=s4; else if counter<44 then next_state<=s1; else next_state<=s2; e

11、nd if; end if;when s2=> if hold='0' then next_state<=s4; else if counter<84 then next_state<=s2; else next_state<=s3; end if; end if;when s3=> if hold='0' then next_state<=s4; else if counter<89 then next_state<=s3; else next_state<=s0; end if; end if;wh

12、en s4=> if hold='0' then next_state<=s4; else if counter<39 then next_state<=s0; elsif counter<44 then next_state<=s1; elsif counter<84 then next_state<=s2; elsif counter<89 then next_state<=s3; end if; end if; end case;end process;output:process(current_state)b

13、egincase current_state iswhen s0 => ared<='0' agreen<='1' ayellow<='0' bred<='1' bgreen<='0' byellow<='0'when s1 => ared<='0' agreen<='0' ayellow<='1' bred<='1' bgreen<='0'

14、byellow<='0'when s2 => ared<='1' agreen<='0' ayellow<='0' bred<='0' bgreen<='1' byellow<='0'when s3 => ared<='1' agreen<='0' ayellow<='0' bred<='0' bgreen<='0' by

15、ellow<='1'when s4 => ared<='1' agreen<='0' ayellow<='0' bred<='1' bgreen<='0' byellow<='0'end case;end process;end behavior;45秒倒計時計數(shù)器模塊:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity m45

16、isport( CLK :in std_logic; EN :in std_logic; CR :in std_logic; QL,QH :out std_logic_vector(3 downto 0); OC :out std_logic );end m45;architecture behav of m45 is signal couL,couH:std_logic_vector(3 downto 0);begin process(CR,CLK,EN) begin if CR='0' thencouL<="0000"couH<="

17、0000"elsif clk'event and clk='1' thenif EN='1' thenif(couL=0 and couH=0)thencouL<="0100"couH<="0100"elsif couL=0 thencouL<="1001"couH<=couH-1;else couL<=couL-1;end if;end if;end if;end process;process(couL,couH)beginif(couL=0 and

18、couH=0) thenOC<='1'elseOC<='0'end if;end process;QL<=couL;QH<=couH;end behav;7位譯碼器模塊:library ieee;use ieee.std_logic_1164.all;entity seg7 isport(dat : in std_logic_vector(3 downto 0);a,b,c,d,e,f,g : out std_logic);end seg7;architecture arc of seg7 issignal tmp :std_logic_

19、vector(6 downto 0);beginprocess(dat)begincase dat iswhen"0000"=>tmp<="0000001"when"0001"=>tmp<="1001111"when"0010"=>tmp<="0010010"when"0011"=>tmp<="0000110"when"0100"=>tmp<="1

20、001100"when"0101"=>tmp<="0100100"when"0110"=>tmp<="0100000"when"0111"=>tmp<="0001111"when"1000"=>tmp<="0000000"when"1001"=>tmp<="0000100"when"1010"=>tmp<="0001000"when"1011"=>tmp<="1100000"when"1100"=>tmp<="0110001"when"1101"=>tmp<="1000010"when"

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論