版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設計報告</b></p><p> ( 2015 -- 2016年度第 一 學期)</p><p> 名 稱: EDA課程設計 </p><p> 題 目:交通燈控制系統(tǒng)設計</p><p> 院 系: 科 技 學 院 </p>&l
2、t;p> 班 級: </p><p> 學 號: </p><p> 學生姓名: </p><p> 指導教師: </p><p> 設計周數(shù): 2
3、 </p><p> 成 績: </p><p> 日期:2015年 12月 10 日</p><p> 一、課程設計的目的與要求</p><p><b> 1.1實驗目的</b></p><p> 掌握交通燈控制系統(tǒng)的基本原理,及用VHD
4、L狀態(tài)機實現(xiàn)該系統(tǒng)的方法。</p><p><b> 1.2實驗內(nèi)容</b></p><p> 設計一個由一條主干道和一條支干道的匯合點形成的十字交叉路口的交通燈控制系統(tǒng),具體要求如下:</p><p> (1) 主、支干道各設有一個綠、黃、紅指示燈,兩個顯示數(shù)碼管。</p><p> (2) 主、支道交替允許通
5、行,主干道每次放行45 s,支干道每次放行25 s,在每次由亮綠燈變成亮紅燈的轉(zhuǎn)換過程中,要亮5 s的黃燈作為過渡,并進行減計時顯示。 </p><p><b> 1.3實驗要求</b></p><p> 1、用8段數(shù)碼管分別顯示兩個干道的交通計時。</p><p> 2、能夠正常實現(xiàn)紅、黃、綠燈的切換。</p><p
6、><b> 二、設計正文</b></p><p><b> 1.1設計思路 </b></p><p> 主、干支道交替允許通行,主干道每次放行45秒,支干道每次放行25秒,由黃轉(zhuǎn)綠的過程中要亮5秒紅燈。分析可以得到,主干道綠燈亮45秒,黃燈亮5秒,紅燈亮25秒。而且對應于主干道這一過程,支干道依次亮45秒紅燈,25秒綠燈,5
7、秒黃燈。 </p><p> 1.2、分頻器的設計 </p><p> 試驗箱上提供的最小信源信號頻率是2赫茲,而紅綠燈系統(tǒng)的設計是秒計時,需要1赫茲的信號,因此需要對試驗箱提供的2赫茲信號進行二分頻。本設計中利用T觸發(fā)器對信源信號二分頻。具體實現(xiàn)步驟為:設置信號cp,每當信源信號clk的上升沿到來一次,cp取反翻轉(zhuǎn)一次,從而實現(xiàn)二分頻。 </p&g
8、t;<p> 1.3、紅綠燈轉(zhuǎn)換的設計 </p><p> 設置一個計時器,cp信號上升沿每到來一次,計時器加1。 因為紅綠黃燈完成一次轉(zhuǎn)換的時間是75秒,所以設計計時器計時達到75秒時自動清零,重新計時。設從計時器開始計時,主干道的狀態(tài)為綠、黃、紅,相應的支干道的狀態(tài)為紅、綠、黃。從計時器開始計時為起點,設置時間軸,根據(jù)時間判斷亮紅燈還是綠燈、黃燈。判斷規(guī)則是:對于主干道,
9、當時間countnum小于45秒,綠燈亮;當時間大于等于45秒小于50秒,黃燈亮;當時間大于等于50秒,紅燈亮。其中,時間等于45秒和50秒處是綠黃燈、黃紅燈轉(zhuǎn)換點。同理,對于支干道,當時間countnum小于45秒時,紅燈亮;當時間大于等于45秒小于70秒時,綠燈亮;當時間大于等于70秒時,黃燈亮。其中,時間等于5秒和70秒處是紅綠燈,綠黃等轉(zhuǎn)換點。主干道和支干道用同一個計時器計時,用兩個進程分別判斷。 </p>
10、<p> 1.4、交通計時的設計 </p><p> 數(shù)碼管是減計時顯示燈亮剩余時間。設置信號numA,numB分別計算主干道和支干道上燈亮剩余時間。因為綠燈亮45秒,黃燈亮5秒,紅燈亮25秒,所以在時間軸上,當主干道綠燈亮時,numA等于45減countnum,黃燈亮時,numA等于50減countnum,紅燈亮時numA等于75減countnum。當支干道上紅燈亮時,numB等于4
11、5減countnum,綠燈亮時,numB等于70減countnum,黃燈亮時,numB等于75減countnum。從而實現(xiàn)倒計時的功能。 5、數(shù)碼管的設計 </p><p> 每條道路上有兩個數(shù)碼管,分別顯示倒計時時間的十位和個位。利用10整除倒計時時間得到十位上數(shù)字,對時間求余得到個位上數(shù)字。結(jié)合數(shù)碼管的管腳信息,利用狀態(tài)機將十進制數(shù)字和驅(qū)動數(shù)碼管顯示的七位二進制碼一一對應起來。</
12、p><p><b> 三、課程設計總結(jié)</b></p><p> 1.1 在這次課程設計中我學到很多理論之外的東西,EDA這門課程的實用性很強。這次課程設計就是一個列子,平時看到紅綠燈沒覺得制作是需要很多的知識,這次做了交通燈的設計之后發(fā)現(xiàn)需要大量的EDA書本上的知識。這次的課程設計就相當于把平時的一些小實驗和知識點全部綜合起來得到的結(jié)果,經(jīng)歷過這次的課程設計之后我明
13、白了,如果平時不認真學號一些基礎知識,到最后是根本做不出來的。同時我也在網(wǎng)上查找了很多資料,從之前的不會到慢慢的學會看代碼,改代碼和寫代碼。</p><p> 1.2設計的時候需要先理解紅綠黃這三個燈的跳轉(zhuǎn),還有數(shù)碼管的顯示,和計算器的倒計時。在進行實驗仿真的時候,我第一次做的是直接顯示十進制的數(shù)字,但是在最后匹配管腳的時候匹配不了,所以我自己重新改了代碼,改成二進制輸出,此時仿真實驗圖顯示的是十進制轉(zhuǎn)換成二進
14、制的數(shù),我堅信是對的,所以我最后在實驗箱里出現(xiàn)了正確的現(xiàn)象。我覺得自己應該相信自己。</p><p><b> 五、參考文獻</b></p><p> [1]胡正偉,謝志遠,范寒柏編著.電子設計自動化 .中國電力出版社</p><p> ?。?]鄒彥編著.EDA技術(shù)與數(shù)字系統(tǒng)設計. 2007年. 北京:電子工業(yè)出版社. </p>
15、;<p> ?。?]潘松,黃繼業(yè)編著.EDA技術(shù)與VHDL(第二版).2007年. 北京:清華大學出版社. </p><p> ?。?]王鎖萍編著.電子設計自動化教程.2000年.成都:電子科技大學出版社.</p><p><b> 附錄</b></p><p> 1.紅綠燈顯示示意圖</p><p>
16、<b> 主干道</b></p><p><b> 支干道</b></p><p> 2.交通燈控制系統(tǒng)框圖</p><p><b> 3.程序</b></p><p> library ieee; </p><p> use ieee.st
17、d_logic_1164.all; </p><p> entity pbd_16 is </p><p> port(clk:in std_logic; </p><p> redA,greenA,yellowA:out std_logic; </p><p> redB,greenB,yellowB:out std_logic;
18、</p><p> seg1,seg2,seg3,seg4:out std_logic_vector(6 downto 0)); </p><p> end entity pbd_16; </p><p> architecture rtl of pbd_16 is </p><p> signal cp:std_logic; <
19、;/p><p> signal countnum:integer range 0 to 75:=0; </p><p> signal numA,numB:integer range 0 to 45; </p><p> signal numA1,numB1:integer range 0 to 4; </p><p> signal n
20、umA2,numB2:integer range 0 to 9; </p><p><b> begin </b></p><p> process(clk) </p><p><b> begin </b></p><p> if clk'event and clk='1
21、' then cp<=not cp;</p><p><b> end if; </b></p><p> end process; </p><p> process(cp) </p><p><b> begin </b></p><p> if
22、 cp'event and cp='1' then </p><p> if countnum=75 then </p><p> countnum<=0; </p><p><b> else </b></p><p> countnum<=countnum+1;<
23、;/p><p><b> end if; </b></p><p><b> end if; </b></p><p> end process; </p><p> process(cp) </p><p><b> begin </b>&l
24、t;/p><p> if countnum<45 then </p><p> redA<='0'; </p><p> greenA<='1'; </p><p> yellowA<='0'; </p><p> numA<=45-c
25、ountnum; </p><p> elsif countnum<50 then </p><p> redA<='0'; </p><p> greenA<='0'; </p><p> yellowA<='1'; </p><p>
26、 numA<=50-countnum; </p><p><b> else </b></p><p> redA<='1'; </p><p> greenA<='0'; </p><p> yellowA<='0'; </p>
27、<p> numA<=75-countnum; </p><p><b> end if;</b></p><p> end process; </p><p> process(cp) </p><p><b> begin </b></p><
28、p> if countnum<45 then </p><p> redB<='1'; </p><p> greenB<='0'; </p><p> yellowB<='0'; </p><p> numB<=45-countnum; </
29、p><p> elsif countnum<70 then </p><p> redB<='0'; </p><p> greenB<='1'; </p><p> yellowB<='0';</p><p> numB<=70-co
30、untnum; </p><p><b> else </b></p><p> redB<='0'; </p><p> greenB<='0'; </p><p> yellowB<='1'; </p><p> nu
31、mB<=75-countnum; </p><p><b> end if; </b></p><p> end process; </p><p> process(cp) </p><p><b> begin </b></p><p> numB1<
32、;=numB/10; </p><p> numB2<=numB rem 10; </p><p> numA1<=numA/10; </p><p> numA2<=numA rem 10; </p><p> end process; </p><p> process(numA1) &
33、lt;/p><p><b> begin </b></p><p> case numA1 is </p><p> when 0=>seg1<="1111110";</p><p> when 1=>seg1<="0110000"; </p>
34、;<p> when 2=>seg1<="1101101"; </p><p> when 3=>seg1<="1111001"; </p><p> when 4=>seg1<="0110011"; </p><p> end case; <
35、/p><p> end process; </p><p> process(numA2) </p><p><b> begin </b></p><p> case numA2 is </p><p> when 0 =>seg2<="1111110";
36、</p><p> when 1 =>seg2<="0110000"; </p><p> when 2 =>seg2<="1101101"; </p><p> when 3 =>seg2<="1111001"; </p><p> wh
37、en 4 =>seg2<="0110011"; </p><p> when 5 =>seg2<="1011011"; </p><p> when 6 =>seg2<="0011111"; </p><p> when 7 =>seg2<="
38、1110000"; </p><p> when 8 =>seg2<="1111111"; </p><p> when 9 =>seg2<="1111011"; </p><p> end case; </p><p> end process; </p
39、><p> process(numB1) </p><p><b> begin </b></p><p> case numB1 is </p><p> when 0=>seg3<="1111110";</p><p> when 1=>seg3&l
40、t;="0110000"; </p><p> when 2=>seg3<="1101101"; </p><p> when 3=>seg3<="1111001"; </p><p> when 4=>seg3<="0110011"; <
41、/p><p> end case; </p><p> end process; </p><p> process(numB2) </p><p><b> begin </b></p><p> case numB2 is </p><p> when 0 =&
42、gt;seg4<="1111110"; </p><p> when 1 =>seg4<="0110000"; </p><p> when 2 =>seg4<="1101101"; </p><p> when 3 =>seg4<="111100
43、1"; </p><p> when 4 =>seg4<="0110011"; </p><p> when 5 =>seg4<="1011011"; </p><p> when 6 =>seg4<="0011111"; </p><
44、p> when 7 =>seg4<="1110000"; </p><p> when 8 =>seg4<="1111111"; </p><p> when 9 =>seg4<="1111011"; </p><p> end case; </p&g
45、t;<p> end process;</p><p> end architecture rtl;</p><p> 題目二: 數(shù)字頻率計設計</p><p><b> 一、實驗目的</b></p><p> 學習并掌握數(shù)字頻率計原理、設計、分析和測試方法。</p><p&g
46、t;<b> 二、實驗內(nèi)容</b></p><p> 用高頻率信號檢測低頻率的信號,通過對高頻率脈沖個數(shù)的計數(shù)得到低頻率信號的頻率。(高頻率信號的頻率為已知,低頻率信號為所測量值)?;蛴玫皖l率信號檢測高頻率信號(低頻率信號的頻率為已知,高頻率信號為所測值)。</p><p><b> 三、實驗要求</b></p><p&
47、gt; 1. 用7段數(shù)碼管顯示頻率值。</p><p> 2. 頻率值用十進制表示。</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p>
48、 entity ldz_11 is</p><p> port(clk1,rst,setsec,setmin,sethour:in std_logic;</p><p> sec1,sec0,min1,min0,hr1,hr0:buffer std_logic_vector(3 downto 0);</p><p> speaker:out std_logic
49、;</p><p> a1,a2,a3,a4,a5,a6:out std_logic;</p><p> b1,b2,b3,b4,b5,b6:out std_logic;</p><p> c1,c2,c3,c4,c5,c6:out std_logic;</p><p> h1,h2,h3,h4,h5,h6:out std_logic
50、; </p><p> e1,e2,e3,e4,e5,e6:out std_logic;</p><p> f1,f2,f3,f4,f5,f6:out std_logic;</p><p> g1,g2,g3,g4,g5,g6:out std_logic;</p><p> dot:out std_logic);</p&
51、gt;<p> end entity ldz_11; </p><p> architecture one of ldz_11 is</p><p> component led is</p><p> port(data:in std_logic_vector(3 downto 0);</p><p> a,b,
52、c,d,e,f,g:out std_logic);</p><p> end component led;</p><p> signal tmp,clk:std_logic;</p><p> begin </p><p> p0:process(clk) --分頻注釋見① </p><p>
53、 variable count :std_logic_vector(1 downto 0);</p><p><b> begin </b></p><p> if(clk1'event and clk1='1') then </p><p> if(count="10") then
54、 </p><p> count:=(others=>'0'); </p><p> tmp<=not tmp; else </p><p> count:=count+1; </p><p><b> end if;</b></p><p><
55、b> end if; </b></p><p> end process p0; clk<=tmp;</p><p> p1:process(clk,rst,setsec,setmin,sethour)--校時注釋見② </p><p> variable s1,s0,m1,m0,h1,h0:std_logic_vector(3
56、 downto 0); </p><p> begin </p><p> if clk'event and clk='1' then </p><p> if rst='1' then </p><p> if setsec='1' then &
57、lt;/p><p> s0:=s0+1; </p><p> if s0="1010" then s0:="0000"; </p><p><b> s1:=s1+1;</b></p><p> if s1="0110" then </p>
58、<p> s1:="0000"; </p><p> end if; </p><p><b> end if; </b></p><p> end if; </p><p> if setmin='1' </p><p>
59、; then m0:=m0+1; </p><p> if m0="1010" </p><p> then m0:="0000"; </p><p> m1:=m1+1; </p><p> if m1="0110" </p><
60、;p> then m1:="0000"; </p><p> end if; </p><p><b> end if; </b></p><p> end if; </p><p> if sethour='1' then </p><
61、;p> h0:=h0+1; </p><p> if h0="1010" then </p><p> h0:="0000"; </p><p> h1:=h1+1; </p><p> if h0="0100"and h1="0010"
62、; then h0:="0000";h1:="0000"; </p><p><b> end if; </b></p><p><b> end if; </b></p><p><b> end if;</b></p><p&g
63、t; else s0:=s0+1;--秒,分、時的計時注釋見③ </p><p> if s0="1010" then s0:="0000"; </p><p> s1:=s1+1; </p><p> if s1="0110"then s1:="0000";</p
64、><p> m0:=m0+1; </p><p> if m0="1010" then m0:="0000";</p><p> m1:=m1+1; </p><p> if m1="0110" </p><p> then
65、 m1:="0000"; </p><p> h0:=h0+1; </p><p> if h0="1010" then h0:="0000"; </p><p><b> h1:=h1+1;</b></p><p> if
66、h0="0100"and h1="0010" </p><p> then h1:="0000";</p><p> h0:="0000"; </p><p> end if; </p><p&g
67、t;<b> end if;</b></p><p> end if; </p><p><b> end if; </b></p><p><b> end if; </b></p><p><b> end if; </b>
68、;</p><p><b> end if; </b></p><p><b> sec0<=s0;</b></p><p> sec1<=s1; </p><p> min0<=m0; </p><p> min1<=m1; </
69、p><p><b> hr0<=h0; </b></p><p><b> hr1<=h1; </b></p><p><b> end if; </b></p><p> if clk1'event and clk1='1' then
70、 --報時注釋見④</p><p> if m1="0101" and m0="1001" and s1="0101" then </p><p> if s0="0101" or s0="0110" or s0="0111" or s0="1000&q
71、uot; or s0="1001" then speaker<='1'; </p><p> else speaker<='0'; </p><p> end if; </p><p><b> end if;</b></p><p&
72、gt;<b> end if; </b></p><p> end process; </p><p> led1:led port map(data=>sec0,</p><p><b> a=>a1,</b></p><p><b> b=>b1,<
73、/b></p><p><b> c=>c1,</b></p><p><b> d=>h1,</b></p><p><b> e=>e1,</b></p><p><b> f=>f1,</b></p>
74、<p><b> g=>g1);</b></p><p> led2:led port map(data=>sec1,</p><p><b> a=>a2,</b></p><p><b> b=>b2,</b></p><p>
75、<b> c=>c2,</b></p><p><b> d=>h2,</b></p><p><b> e=>e2,</b></p><p><b> f=>f2,</b></p><p><b> g=>
76、;g2);</b></p><p> led3:led port map(data=>min0,</p><p><b> a=>a3,</b></p><p><b> b=>b3,</b></p><p><b> c=>c3,</b&
77、gt;</p><p><b> d=>h3,</b></p><p><b> e=>e3,</b></p><p><b> f=>f3,</b></p><p><b> g=>g3);</b></p>
78、<p> led4:led port map(data=>min1,</p><p><b> a=>a4,</b></p><p><b> b=>b4,</b></p><p><b> c=>c4,</b></p><p><
79、;b> d=>h4,</b></p><p><b> e=>e4,</b></p><p><b> f=>f4,</b></p><p><b> g=>g4);</b></p><p> led5:led port ma
80、p(data=>hr0,</p><p><b> a=>a5,</b></p><p><b> b=>b5,</b></p><p><b> c=>c5,</b></p><p><b> d=>h5,</b>&
81、lt;/p><p><b> e=>e5,</b></p><p><b> f=>f5,</b></p><p><b> g=>g5);</b></p><p> led6:led port map(data=>hr1,</p>
82、<p><b> a=>a6,</b></p><p><b> b=>b6,</b></p><p><b> c=>c6,</b></p><p><b> d=>h6,</b></p><p><b&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda交通燈課程設計---交通燈控制系統(tǒng)的設計
- eda課程設計--交通燈控制系統(tǒng)設計
- eda交通燈課程設計--cpld實現(xiàn)交通燈控制系統(tǒng)
- eda交通燈控制系統(tǒng)的課程設計
- eda課程設計報告--交通燈控制系統(tǒng)設計
- 交通燈課程設計--交通燈控制系統(tǒng)設計
- eda課程設計--交通燈控制
- eda交通燈課程設計
- eda交通燈課程設計
- eda交通燈課程設計報告(eda)
- 交通燈控制系統(tǒng)課程設計
- 交通燈課程設計---交通控制系統(tǒng)設計
- 課程設計--交通燈控制系統(tǒng)
- 課程設計--交通燈控制系統(tǒng)設計
- 課程設計---交通燈控制系統(tǒng)設計
- 交通燈控制系統(tǒng)課程設計
- 交通燈控制系統(tǒng) 課程設計
- 交通燈控制系統(tǒng)課程設計
- 課程設計-交通燈控制系統(tǒng)設計
- eda交通燈課程設計論文
評論
0/150
提交評論