EDA實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)四_交通燈控制器設(shè)計(jì)說(shuō)明_第1頁(yè)
EDA實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)四_交通燈控制器設(shè)計(jì)說(shuō)明_第2頁(yè)
EDA實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)四_交通燈控制器設(shè)計(jì)說(shuō)明_第3頁(yè)
EDA實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)四_交通燈控制器設(shè)計(jì)說(shuō)明_第4頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、下載可編輯實(shí)驗(yàn)四交通燈控制器設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?、學(xué)習(xí)與日常生活相關(guān)且較復(fù)雜數(shù)字系統(tǒng)設(shè)計(jì);2、進(jìn)一步熟悉 EDA 實(shí)驗(yàn)裝置和 Quartus U 軟件的使用方法;3、學(xué)習(xí)二進(jìn)制碼到 BCD 碼的轉(zhuǎn)換;4、學(xué)習(xí)有限狀態(tài)機(jī)的設(shè)計(jì)應(yīng)用。二、設(shè)計(jì)要求完成設(shè)計(jì)、仿真、調(diào)試、下載、硬件測(cè)試等環(huán)節(jié),在型EDA 實(shí)驗(yàn)裝置上實(shí)現(xiàn)一個(gè)由一條主干道和一條鄉(xiāng)間公路的匯合點(diǎn)形成的十字交叉路口的交通燈控制器功能,具體要求如下:1、有 MR (主紅)、 MY (主黃)、 MG(主綠)、 CR(鄉(xiāng)紅)、 CY (鄉(xiāng)黃)、 CG(鄉(xiāng)綠)六 盞交通燈需要控制;2、交通燈由綠轉(zhuǎn)紅前有4 秒亮黃燈的間隔時(shí)間,由紅轉(zhuǎn)綠沒(méi)有間隔時(shí)間;3、

2、鄉(xiāng)間公路右側(cè)各埋有一個(gè)串連傳感器,當(dāng)有車輛準(zhǔn)備通過(guò)鄉(xiāng)間公路時(shí),發(fā)出請(qǐng)求信號(hào) S=1 ,其余時(shí)間 S=0;4、平時(shí)系統(tǒng)停留在主干道通行(MGCR 狀態(tài),一旦 S 信號(hào)有效,經(jīng)主道黃燈4 秒(MYC R 狀態(tài)后轉(zhuǎn)入鄉(xiāng)間公路通行( MRC )狀態(tài),但要保證主干道通行大于一 分鐘后才能轉(zhuǎn)換;5、一旦 S 信號(hào)消失,系統(tǒng)脫離MRC 狀態(tài),即經(jīng)鄉(xiāng)道黃燈4 秒( MRC )伏態(tài)進(jìn)入 MGCR狀態(tài),即使 S 信號(hào)一直有效, MRC 狀態(tài)也不得長(zhǎng)于20 秒鐘;6、控制對(duì)象除紅綠燈之外,還包括分別在主干道和鄉(xiāng)間公路各有一個(gè)兩位十進(jìn)制倒計(jì)時(shí)數(shù)碼管顯示。三、主要儀器設(shè)備1 、微機(jī)1 臺(tái)2、 QuartusII 集成開(kāi)

3、發(fā)軟件1 套3、 EDA 實(shí)驗(yàn)裝置1 套四、實(shí)驗(yàn)思路1、設(shè)計(jì)一個(gè)狀態(tài)寄存器,控制六盞燈的亮與滅2、設(shè)計(jì)一個(gè)計(jì)時(shí)器,控制各狀態(tài)的持續(xù)時(shí)間,計(jì)時(shí)器應(yīng)滿足以下要求:1 )當(dāng) S=1 ,且計(jì)數(shù)器已完成 60 計(jì)數(shù)時(shí),計(jì)數(shù)器進(jìn)入模 4 計(jì)數(shù),隨后進(jìn)入模 20 計(jì)數(shù),再進(jìn)入模 4 計(jì)數(shù),再回到模 60 計(jì)數(shù)2 )當(dāng)計(jì)數(shù)器進(jìn)行摸 20 計(jì)數(shù)時(shí),一旦 S 變?yōu)?0,計(jì)數(shù)器立馬進(jìn)入模 4 計(jì)數(shù),再進(jìn)入模 60 計(jì)數(shù)3 )完成模 20 計(jì)數(shù)后,不論 S 為 0 或 1, 計(jì)數(shù)器進(jìn)入模 4 計(jì)數(shù),再進(jìn)入模 60 計(jì)數(shù)4) 若計(jì)數(shù)器未完成模60 計(jì)數(shù),不論 S 如何變?cè)?,?jì)數(shù)器將繼續(xù)進(jìn)行模60 計(jì)數(shù).專業(yè) .整理 .

4、下載可編輯3、 設(shè)計(jì)一個(gè)譯碼顯示電路,將計(jì)時(shí)器的八位 BCD 碼轉(zhuǎn)化為數(shù)碼管可以顯示的段位碼通過(guò)動(dòng)態(tài)掃描電路實(shí)現(xiàn)。4、設(shè)計(jì)一個(gè)分頻器,將掃描頻率分頻為基準(zhǔn)頻率,提供計(jì)時(shí)器,狀態(tài)器,譯碼顯示的 鐘控。5、 使用文本設(shè)計(jì) 4 個(gè)底層文件,并生成相應(yīng)元器件,再使用原理圖設(shè)計(jì)頂層文件五、實(shí)驗(yàn)步驟1、建立工作庫(kù)文件夾和編輯設(shè)計(jì)文件1 ) 建立一個(gè)文件夾保存工程文件;2) 打開(kāi) Quartusll ,建立新的 VHDL 文件,再打開(kāi)的頁(yè)面下輸入以下程序控制 6 盞燈的模塊代碼:LlBRARY lEEE;ENTlTY jtd lSPORT(clk,RESET,S:lN STD_LOGlC;COUNT:lN

5、STD_LOGlC_VECTOR(7 DOWNTO 0); MG,MY,MR,CG,CY,CR:OUT STD_LOGlC); END jtd;ARCHlTECTURE behav OF jtd lSTYPE jtdSTATE lS(mgcr,mycr,mrcg,mrcy);SlGNAL STATE:jtdSTATE;BEGlNPROCESS(RESET,STATE,clk, S)BEGlNlF RESET='1' THEN STATE<=mgcr;MG<='1'CR<='1'MY<='0'MR<=&

6、#39;0'CG<='0'CY<='0' ELSlF clk'EVENT AND clk='1' thenCASE STATE lSWHEN mgcr=>lF COUNT="00000001" AND S='1'THEN STATE<=mycr;MY<='1'CR<='1'MG<='0'MR<='0'CG<='0'CY<='0'ELSE ST

7、ATE<=mgcr;MG<='1'CR<='1'MY<='0'MR<='0'CG<='0'CY<='0' END lF; WHEN mycr=>lF COUNT="00000001" THENSTATE<=mrcg;MR<='1'CG<='1'MG<='0'MY<='0'CR<='0'CY<='0'

8、;ELSE STATE<=mycr;MY<='1'CR<='1'MG<='0'MR<='0'CG<='0'CY<='0' END lF; WHEN mrcg=>lF COUNT="00000001" OR S='0'THENSTATE<=mrcy;MR<='1'CY<='1'MY<='0'MG<='0'CR<='

9、;0'CG<='0'ELSE STATE<=mrcg;MR<='1'CG<='1'MG<='0'MY<='0'CR<='0'CY<='0' END lF; WHEN mrcy=>lF COUNT="00000001" THENSTATE<=mgcr;MG<='1'CR<='1'MR<='0'MY<='0'CY&

10、lt;='0'CG<='0'.專業(yè) .整理 .下載可編輯ELSE STATE<=mrcy;MR<='1'CY<='1'MY<='0'MG<='0'CR<='0'CG<='0' END IF;END CASE;END IF;END PROCESS;END behav;控制數(shù)碼管顯示倒計(jì)時(shí)數(shù)并且輸出:LIBRARY IEEE;ENTITY JISHU ISPORT(clk,S:IN STD_LOGIC;tim:OUT STD

11、_LOGIC_VECTOR(7 DOWNTO 0);END JISHU;ARCHITECTURE behav OF JISHU ISTYPE RGY IS(mgcr,mycr,mrcg,mrcy);SIGNAL STATE:RGY;BEGINPROCESS(clk)VARIABLE b:STD_LOGIC:='0'VARIABLE a:STD_LOGIC:='0'VARIABLE th,tl:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN-IF RESET='1' THEN STATE<=mgcr; th:="

12、;0000" ;tl:="0000"a:='0'b:='0' IF clk'EVENT AND clk='1' THENCASE STATE ISWHENmgcr => IF S='1'ANDb='1'THENSTATE<=mycr;a:='0'th:="0000"tl:="0100"b:='0'ELSIFS='0'ANDb='1'THENSTATE<=mg

13、cr;a:='1'th:="0000"tl:="0001"ELSEIF a='0' THEN th:="0110"tl:="0000"a:='1'elseIF NOT(th="0000" AND tl="0010") thenIF tl="0000" then tl:="1001"th:=th-1;else tl:=tl-1;END IF;ELSE th:="0000"

14、tl:="0001"a:='0'b:='1'END IF;END IF;END IF;WHEN mycr => IF a='0' THEN.專業(yè).整理.th:="0000"tl:="0100"a:='1'elseIF NOT(th="0000" AND tl="0010") then下載可編輯tl:=tl-1;ELSE th:="0000"tl:="0001"a:='0'

15、STATE<=mrcg;END IF;END IF;WHEN mrcg =>IF S='1' THENIF a='0' THENth:="0010"tl:="0000"a:='1'elseIF NOT(th="0000" AND tl="0010") thenIF tl="0000" then tl:="1001"th:=th-1;else tl:=tl-1;END IF;ELSE th:="0000&qu

16、ot;tl:="0001"a:='0'STATE<=mrcy;END IF;END IF;ELSE a:='0'STATE<=mrcy;th:="0000"tl:="0100"END IF;WHEN mrcy =>IF a='0' THENth:="0000"tl:="0100"a:='1'elseIF NOT(th="0000" AND tl="0010") thentl:

17、=tl-1;ELSE th:="0000"tl:="0001"a:='0'STATE<=mgcr;END IF;END IF;END CASE;tim <= th & tl;END IF;end process;END behav;動(dòng)態(tài)譯碼顯示電路LIBRARY IEEE;PORT(CLK:IN STD_LOGIC;INPO:IN STD_LOGIC_VECTOR(7 DOWNTO 0);sl0,sl1,sl2:buffer STD_LOGIC;SEL:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);

18、SG:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);.專業(yè).整理.GW,SW: buffer STD_LOGIC_VECTOR(3 DOWNTO 0);END DISP;ARCHITECTURE behav OF DISP IS下載可編輯SIGNAL CNT8: STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL A : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINGW<=INPO(3 downto 0);SW<=INPO(7 downto 4);P3:PROCESS( CLK)BEGINIF CLK'EVEN

19、T AND CLK='1' THENIF CNT8<"001" THEN CNT8 <=CNT8+1;ELSE CNT8<=(OTHERS=>'0');END IF;END IF;SEL(0)<=sl0 ;SEL(1)<=sl1 ;SEL(2)<=sl2 ;CASE CNT8 ISWHEN "000" => sl2<='0'sl1<='1'sl0<='0'A<=GW;WHEN "001"

20、; => sl2<='0'sl1<='0'sl0<='1'A<=SW;WHEN OTHERS =>NULL;END CASE;END PROCESS ;P4:PROCESS(A)BEGINCASE A ISWHEN "0000" =>SG<="00111111" WHEN "0001" =>SG<="00000110"WHEN "0010" =>SG<="010110

21、11" WHEN "0011" =>SG<="01001111"WHEN "0100" =>SG<="01100110" WHEN "0101" =>SG<="01101101"WHEN "0110" =>SG<="01111101" WHEN "0111" =>SG<="00000111"WHEN "1000&quo

22、t; =>SG<="01111111" WHEN "1001" =>SG<="01101111"WHEN OTHERS=>NULL;END CASE;END PROCESS;END behav;分頻器電路:LIBRARY IEEE;ENTITY FEN ISPORT ( CLK : IN STD_LOGIC;FOUT : OUT STD_LOGIC );.專業(yè).整理.下載可編輯END;ARCHITECTURE one OF FEN ISSIGNAL FULL : STD_LOGIC;BEGINP_REG:

23、 PROCESS(CLK)VARIABLE CNT8 : STD_LOGIC_VECTOR(4 DOWNTO 0); -INPORTANTBEGINIF CLK'EVENT AND CLK = '1' THEN -512fe nIF CNT8 = "11111" THENCNT8 := "00000"-當(dāng) CNT8 計(jì)數(shù)計(jì)滿時(shí),輸入數(shù)據(jù)D 被同步預(yù)置給計(jì)數(shù)器CNT8FULL <= '1'-同時(shí)使溢出標(biāo)志信號(hào)FULL 輸出為高電平ELSE CNT8 := CNT8 + 1;-否則繼續(xù)作加1 計(jì)數(shù)FULL <

24、;= '0'-且輸出溢出標(biāo)志信號(hào)FULL 為低電平END IF;END IF;END PROCESS P_REG ;P_DIV: PROCESS(FULL)VARIABLE CNT2 : STD_LOGIC;BEGINIF FULL'EVENT AND FULL = '1' THENCNT2 := NOT CNT2;-如果溢出標(biāo)志信號(hào)FULL 為高電平, D 觸發(fā)器輸出取反IF CNT2 = '1' THEN FOUT <= '1' ELSE FOUT <= '0'END IF;END IF;E

25、ND PROCESS P_DIV ;END;2、編譯過(guò)程1 )輸入完程序之后逐個(gè)編譯2)逐個(gè)編譯無(wú)錯(cuò)之后進(jìn)行全程編譯3、將以上模塊生成元器件1 )控制 6 盞燈的模塊 :2)控制數(shù)碼管顯示倒計(jì)時(shí)數(shù)的模塊:.專業(yè) .整理 .下載可編輯3)控制動(dòng)態(tài)掃描顯示的模塊4)控制分頻的模塊FENCLK FOOTiLiitsti*G4、建立新的工程 ,將各個(gè)模塊的元器件用原理圖連接,進(jìn)行編譯原理圖如下:: 口二口CXIH- 7. 0CLK F5JTIMP0.7. C田卩衛(wèi) Idlil kl l4HkBI. JBtaiilJBUBIilMBIil.lBJBIil Id?11II?U I SI L I二恥口 i一?:nstlP"EM!? ?asi i- -5、系統(tǒng)仿真1 )建立新的波形激勵(lì)文件2 )在波形編輯器窗口添加節(jié)點(diǎn)3 )通過(guò) Edit->End Time 來(lái)設(shè)定仿真結(jié)束時(shí)間4 )在 CLOC 窗口中設(shè)置 elk 的時(shí)鐘周期為 10ns5)點(diǎn)擊 save 保存6)通過(guò) Tools 下的 Simulator Tools項(xiàng)進(jìn)行仿真,然后觀察輸出波形仿真波形如下:.專業(yè) .整理 .下載可編輯 ui2mla EfelkA.V1 1FA k

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論