版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 計算機硬件設(shè)計實訓(xùn)</b></p><p><b> 報 告</b></p><p> 題目: 具有四種信號燈的交通燈控制器 </p><p> 班級 </p><p> 學(xué)號
2、 </p><p> 姓名 </p><p><b> 2012年12月</b></p><p> 具有四種信號燈的交通燈控制器</p><p><b> 一、總體要求</b></p><p> 初始條件:設(shè)計一個具有四種信號燈的交通燈控制
3、器。設(shè)計要求是:由一條主干道和一條支干道匯合成十字路口,在每個入口處設(shè)置紅、綠、黃、左拐允許四盞信號燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時間停在禁行線外,左拐燈亮允許車輛向左拐彎。信號燈變換次序為:主支干道交替允許通行,主干道每次放行40S,亮5S紅燈讓行駛中的車輛有時間停到禁行線外,左拐放行15秒,亮5S紅燈;支干道放行30S,亮5S黃燈,左拐放行15秒,亮5S紅燈……。各計時電路為倒計時顯示。</p&g
4、t;<p><b> 二、設(shè)計原理及思想</b></p><p> 根據(jù)設(shè)計要求和系統(tǒng)所具有的功能,并參考相關(guān)的文獻資料,經(jīng)行方案設(shè)計,可以畫出如下圖所示的交通信號燈控制器的系統(tǒng)框圖。</p><p> 圖1、具有四種信號燈的交通燈控制器系統(tǒng)框圖</p><p> 由交通燈控制器系統(tǒng)框圖(圖1)可知,該系統(tǒng)由4個子模塊組成
5、。其中包括:</p><p><b> 定時模塊; </b></p><p><b> 主控電路模塊;</b></p><p><b> 譯碼驅(qū)動電路模塊;</b></p><p><b> 掃描顯示模塊。</b></p>&l
6、t;p> 以上四個電路可以分為兩大模塊,即:主控電路及計時(定時)模塊和掃描顯示譯碼模塊。</p><p> 三、單元模塊設(shè)計與仿真</p><p> 1、主控電路及計時(定時)模塊</p><p> 控制模塊根據(jù)外部輸入信號和計時模塊產(chǎn)生的輸出信號,產(chǎn)生系統(tǒng)的狀態(tài)機,控制其他部分協(xié)調(diào)工作。計時模塊用來設(shè)定主干道和支干道計時器的初值,并為掃描顯示譯碼模
7、塊提供倒計時時間。</p><p> 控制及計時模塊采用狀態(tài)機進行設(shè)計,可以定義出8種狀態(tài),分別為S0:主干道綠燈,支干道紅燈且禁止通行;S1:主干道黃燈亮,支干道紅燈禁止通行;S2:左拐燈亮,允許左行,支干道紅燈,禁止通行;S3:主干道黃燈,停車;支干道紅燈,禁止通行;S4:主干道紅燈,支干道綠燈。S5:主干道紅燈,支干道黃燈S6:主干道紅燈,支干道左拐燈亮,允許左拐S7:主干道紅燈,支干道黃燈。</p
8、><p><b> 其仿真波形如下:</b></p><p> 圖2、主控電路及計時(定時)模塊仿真圖</p><p> 2、掃描顯示譯碼模塊</p><p> 掃描顯示譯碼模塊可以根據(jù)控制信號,驅(qū)動交通信號燈以及倒計時數(shù)碼管的顯示,其中數(shù)碼管的顯示采用動態(tài)掃描顯示。本模塊采用數(shù)碼顯示管來完成。數(shù)碼顯示管是計數(shù)器等電
9、路的最好選擇。數(shù)碼管可以用TTL或者CMOS集成電路直接驅(qū)動完成。</p><p><b> 仿真波形如下:</b></p><p> 圖3、掃描顯示譯碼模塊仿真圖</p><p><b> 3、頂層文件的編寫</b></p><p> 將以上各個單元模塊仿真成功后,再進行頂層文件的編寫。根
10、據(jù)以上設(shè)計思路,可以得到如下的頂層文件原理圖</p><p> 圖4、具有四種信號燈的交通燈控制器的頂層原理圖</p><p><b> 系統(tǒng)輸入信號:</b></p><p> clk:1kHz的時鐘信號;</p><p><b> en:系統(tǒng)使能信號</b></p><
11、;p><b> 系統(tǒng)輸出信號:</b></p><p> lampa1:主干道紅燈信號</p><p> lampa2:主干道黃燈信號</p><p> lampa3:主干道綠燈信號</p><p> lampa4:主干道左拐信號</p><p> lampb1:主干道紅燈信號&
12、lt;/p><p> lampb2:主干道黃燈信號</p><p> lampb3:主干道綠燈信號</p><p> lampb4:主干道左拐信號</p><p> acounth,acountl:主干道計時輸出</p><p> bcounth,bcountl:支干道計時輸出</p><p&
13、gt;<b> 仿真波形如下:</b></p><p> 圖5、具有四種信號燈的交通燈控制器的頂層文件仿真圖(1)</p><p> 圖6、具有四種信號燈的交通燈控制器的頂層文件仿真圖(2)</p><p><b> 四、結(jié)果及分析</b></p><p><b> 通過仿真可以
14、看到:</b></p><p> 當(dāng)主干道綠燈,支干道紅燈時,主干道倒計時高位置數(shù)0100,低位置數(shù)0101;支干道高位置數(shù)0101,低位置數(shù)0000;</p><p> 當(dāng)主干道黃燈,支干道紅燈時,主干道黃燈倒計時置數(shù)0101;支干道繼續(xù)剛才的減計數(shù);</p><p> 當(dāng)主干道紅燈,支干道綠燈時,主干道倒計時高位置數(shù)0011,低位置數(shù)0000;
15、支干道高位置數(shù)0010,低位置數(shù)0101;</p><p> 當(dāng)主干道紅燈,支干道黃燈時,支干道黃燈倒計時置數(shù)0101;主干道繼續(xù)剛才的減計數(shù)。</p><p> 在S4狀態(tài)結(jié)束后,自動跳回到S0狀態(tài),繼續(xù)判斷支干道是否有車行駛,若有車行駛,則跳轉(zhuǎn)到S1狀態(tài),給高、低位置數(shù),繼續(xù)進行減計時。</p><p> 系統(tǒng)根據(jù)COUNT的變化自動在各狀態(tài)下跳變,當(dāng)co
16、unt為45時,跳變到S2狀態(tài);當(dāng)count為50時,跳變到S3狀態(tài);當(dāng)count為75時,跳變到S4狀態(tài);當(dāng)count為80時,若支干道沒有車跳變到S0狀態(tài),有車則跳變到S1狀態(tài)。</p><p> 五、調(diào)試過程中遇到的問題及解決方法</p><p> 設(shè)計過程中參考課本后面的附帶的設(shè)計程序,發(fā)現(xiàn)了書中的一些小瑕疵,在老師的幫助下,加以修改,最終完成了主控電路模塊的仿真。</p
17、><p><b> 錯誤:</b></p><p><b> 修改后:</b></p><p><b> 六、收獲與體會</b></p><p> 本設(shè)計采用了VHDL硬件描述語言文本輸入方式,在確立總體預(yù)期實現(xiàn)功能的前提下,分層次進行設(shè)計。實現(xiàn)了具有四種信號燈的交通燈控制
18、器,以及時間的倒計時顯示,指揮行人和車輛安全通行。程序中所用到的數(shù)據(jù)均可以根據(jù)實際情況進行設(shè)置,修改靈活方便。通過此次設(shè)計,我對于VHDL硬件描述語言有了更深入地了解,也在原來所學(xué)的理論基礎(chǔ)上得到了進一步地應(yīng)用。但由于經(jīng)驗上的不足,有些地方還需要做進一步地改善。</p><p><b> 七、附件:程序清單</b></p><p> 1.主控電路及計時(定時)模塊
19、</p><p> LIBRARY ieee;</p><p> USE ieee.std_logic_1164.all;</p><p> USE ieee.std_logic_unsigned.all;</p><p> ENTITY traffic IS</p><p><b> PORT &
20、lt;/b></p><p><b> (</b></p><p> clk,en:IN STD_LOGIC;</p><p> lampa1,lampa2,lampa3,lampa4,lampb1,lampb2,lampb3,lampb4:OUT STD_LOGIC;</p><p> acounth,a
21、count1,bcounth,bcount1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)</p><p><b> );</b></p><p> END traffic;</p><p> ARCHITECTURE one OF traffic IS</p><p> signal tem
22、pa,tempb:std_logic;</p><p> signal counta,countb:std_logic_vector(2 downto 0);</p><p> signal numa,numb,ared,ayellow,agreen,aleft,bred,byellow,bgreen,bleft:std_logic_vector(7 downto 0);</p&
23、gt;<p><b> BEGIN</b></p><p> com1:process(en)</p><p><b> begin</b></p><p> if(en='0')then</p><p> ared<="01010101&qu
24、ot;;ayellow<="00000101";agreen<="01000000";aleft<="00010101";</p><p> bred<="01100101";byellow<="00000101";bgreen<="00110000";bl
25、eft<="00010101";</p><p><b> end if;</b></p><p> end process com1;</p><p> acounth<=numa(7 DOWNTO 4);acount1<=numa(3 downto 0);</p><p>
26、 bcounth<=numa(7 downto 4);bcount1<=numb(3 downto 0);</p><p> com2:process(clk,en,tempa,numa)</p><p><b> begin</b></p><p> if(en='1')then</p>&l
27、t;p> if(tempa='0')then</p><p> tempa<='1';</p><p> case counta is</p><p> when"000"=>numa<=agreen;lampa1<='0';lampa2<='0&
28、#39;;lampa3<='1';lampa4<='0';counta<="001";</p><p> when"001"=>numa<=ayellow;lampa1<='0';lampa2<='1';lampa3<='0';lampa4<
29、;='0';counta<="010";</p><p> when"010"=>numa<=aleft;lampa1<='0';lampa2<='0';lampa3<='0';lampa4<='1';counta<="011"
30、;;</p><p> when"011"=>numa<=ayellow;lampa1<='0';lampa2<='1';lampa3<='0';lampa4<='0';counta<="100";</p><p> when"10
31、0"=>numa<=ared;lampa1<='1';lampa2<='0';lampa3<='0';lampa4<='0';counta<="000";</p><p> when others=>lampa1<='1';lampa2<=
32、39;0';lampa3<='0';lampa4<='0';</p><p><b> end case;</b></p><p> elsif(numa>1)then</p><p> if(numa(3 downto 0)="0000")then</p
33、><p> numa(3 downto 0)<="1001";numa(7 downto 4)<=numa(7 downto 4)-1;</p><p><b> else</b></p><p> numa(3 downto 0)<=numa(3 downto 0)-1;</p><
34、p> if(numa="00000010")then tempa<='0';end if;</p><p><b> end if;</b></p><p><b> else</b></p><p> lampa1<='1';lampa2<
35、;='0';lampa3<='0';lampa4<='0';counta<="000";tempa<='0';</p><p><b> end if;</b></p><p><b> end if;</b></p>&
36、lt;p> end process com2;</p><p> com3:process(clk,en,tempb,numb)</p><p><b> begin</b></p><p> if(en='1')then</p><p> if(tempb='0')the
37、n</p><p> tempb<='1';</p><p> case countb is</p><p> when"000"=>numb<=bgreen;lampb1<='1';lampb2<='0';lampb3<='0';lampb
38、4<='0';countb<="001";</p><p> when"001"=>numb<=byellow;lampb1<='0';lampb2<='0';lampb3<='1';lampb4<='0';countb<="01
39、0";</p><p> when"010"=>numb<=bleft;lampb1<='0';lampb2<='1';lampb3<='0';lampb4<='0';countb<="011";</p><p> when&quo
40、t;011"=>numb<=byellow;lampb1<='0';lampb2<='0';lampb3<='0';lampb4<='1';countb<="100";</p><p> when"100"=>numb<=bred;lampb1&
41、lt;='0';lampb2<='1';lampb3<='0';lampb4<='0';countb<="000";</p><p> when others=>lampb1<='1';lampb2<='0';lampb3<='0';
42、lampb4<='0';</p><p><b> end case;</b></p><p> elsif(numb>1)then</p><p> if(numb(3 downto 0)="0000")then</p><p> numb(3 downto 0)
43、<="1001";numb(7 downto 4)<=numb(7 downto 4)-1;</p><p><b> else</b></p><p> numb(3 downto 0)<=numb(3 downto 0)-1;</p><p> if(numb="00000010&quo
44、t;)then tempb<='0';</p><p><b> end if;</b></p><p><b> end if;</b></p><p><b> else</b></p><p> lampb1<='1';
45、lampb2<='0';lampb3<='0';lampb4<='0';countb<="000";tempb<='0';</p><p><b> end if;</b></p><p><b> end if;</b><
46、/p><p> end process com3;</p><p><b> END one;</b></p><p> 2.掃描顯示譯碼模塊</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p>&l
47、t;p> entity led is</p><p> port(DD:in std_logic_vector(3 downto 0);</p><p> a,b,c,d,e,f,g:out std_logic );</p><p><b> end led;</b></p><p> architect
48、ure one of led is</p><p><b> begin</b></p><p> process(DD)</p><p> variable tt:std_logic_vector(6 downto 0);</p><p><b> begin</b></p>
49、<p> case DD is</p><p> when "0000"=>tt:="0000001";</p><p> when "0001"=>tt:="1001111";</p><p> when "0010"=>tt:
50、="0010010";</p><p> when "0011"=>tt:="0000110";</p><p> when "0100"=>tt:="1001100";</p><p> when "0101"=>tt:=
51、"0100100";</p><p> when "0110"=>tt:="0100000";</p><p> when "0111"=>tt:="0001111";</p><p> when "1000"=>tt:=&
52、quot;0000000";</p><p> when "1001"=>tt:="0001100";</p><p> when others=>null;</p><p><b> end case;</b></p><p> a<=tt(6
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 通信工程課程設(shè)計--具有四種信號燈的交通燈控制
- eda課程設(shè)計---交通燈信號控制器
- 交通燈課程設(shè)計--交通信號燈控制器的設(shè)計
- eda交通燈課程設(shè)計--交通信號燈控制電路
- 交通燈課程設(shè)計--交通燈控制器
- eda課程設(shè)計--交通燈控制器
- eda課程設(shè)計(交通燈控制器)
- eda課程設(shè)計---交通燈控制器
- eda課程設(shè)計交通燈控制器
- eda課程設(shè)計交通燈控制器
- 交通燈課程設(shè)計報告---交通燈控制器
- 數(shù)電交通燈課程設(shè)計---交通信號燈控制器設(shè)計
- eda課程設(shè)計--交通燈控制器設(shè)計
- 交通燈課程設(shè)計--- 交通信號燈控制的設(shè)計
- eda課程設(shè)計報告-- 交通燈控制器
- 數(shù)電交通燈課程設(shè)計--交通信號燈控制器的設(shè)計
- eda交通燈課程設(shè)計---交通燈控制系統(tǒng)
- 交通燈課程設(shè)計--簡易交通信號燈
- 交通燈課程設(shè)計----交通信號燈的設(shè)計
- 交通燈課程設(shè)計--交通信號燈的設(shè)計
評論
0/150
提交評論