2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論