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

下載本文檔

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

文檔簡介

1、<p><b>  交通燈控制器</b></p><p>  ——數(shù)字系統(tǒng)設(shè)計報告</p><p><b>  姓名: </b></p><p><b>  學(xué)號:</b></p><p><b>  實驗?zāi)康?lt;/b></p>&l

2、t;p>  1.基本掌握自頂向下的電子系統(tǒng)設(shè)計方法</p><p>  2.學(xué)會使用PLD和硬件描述語言設(shè)計數(shù)字電路,掌握 Quartus II等開發(fā)工具的使用方法</p><p>  3.培養(yǎng)學(xué)生自主學(xué)習(xí)、正確分析和解決問題的能力 </p><p><b>  二. 設(shè)計要求</b></p><p>  我所選擇

3、的課題是用Verilog HDL實現(xiàn)交通燈控制器。該課題的具體內(nèi)容及要求如下:</p><p>  主干道與鄉(xiāng)村公路十字交叉路口在現(xiàn)代化的農(nóng)村星羅棋布,為確保車輛安全、迅速地通過,在交叉路口的每個入口處設(shè)置了紅、綠、黃三色信號燈。紅燈禁止通行;綠燈允許通行;黃燈亮則給行駛中的車輛有時間行駛到禁行線之外。主干道和鄉(xiāng)村公路都安裝了傳感器,檢測車輛通行情況,用于主干道的優(yōu)先權(quán)控制。 </p><

4、p>  (1)當(dāng)鄉(xiāng)村公路無車時,始終保持鄉(xiāng)村公路紅燈亮,主干道綠燈亮。</p><p> ?。?)當(dāng)鄉(xiāng)村公路有車時,而主干道通車時間已經(jīng)超過它的最短通車時間時,禁止主干道通行,讓鄉(xiāng)村公路通行。主干道最短通車時間為25s 。</p><p>  (3)當(dāng)鄉(xiāng)村公路和主干道都有車時,按主干道通車25s,鄉(xiāng)村公路通車16s交替進行。</p><p> ?。?)不論主干

5、道情況如何,鄉(xiāng)村公路通車最長時間為16s。</p><p>  (5)在每次由綠燈亮變成紅燈亮的轉(zhuǎn)換過程中間,要亮5s時間的黃燈作為過渡。</p><p> ?。?)用開關(guān)代替?zhèn)鞲衅髯鳛闄z測車輛是否到來的信號。用紅、綠、黃三種顏色的發(fā)光二極管作交通燈。</p><p>  (7)要求顯示時間,倒計時。 </p><p>  交通燈控制器框圖如

6、下:</p><p>  (C表示鄉(xiāng)村道路是否有車到來,1表示有,0表示無;SET用來控制系統(tǒng)的開始及停止;RST是復(fù)位信號,高電平有效,當(dāng)RST=1時,恢復(fù)到初始設(shè)置;CLK是外加時鐘信號;MR、MY、MG分別表示主干道的紅燈、黃燈和綠燈;CR、CY、CG分別表示鄉(xiāng)村道路的紅燈、黃燈和綠燈,1表示亮,0表示滅)</p><p>  系統(tǒng)流程圖如下:(MGCR:主干道綠燈,鄉(xiāng)村道路紅燈;M

7、YCR:主干道黃燈,鄉(xiāng)村道路紅燈;MRCG:主干道紅燈,鄉(xiāng)村道路綠燈;MRCY:主干道紅燈,鄉(xiāng)村道路黃燈;T0=1表示主干道最短通車時間到,T1=1表示5秒黃燈時間到,T2=1表示鄉(xiāng)村道路最長通車時間到。)</p><p><b>  三.設(shè)計方案</b></p><p>  本交通燈控制系統(tǒng)設(shè)計利用Verilog HDL語言進行設(shè)計編程,利用Cyclone EP1C

8、6Q240C8芯片和一些外圍器件組成硬件電路,利用QUARTUS II軟件將編寫好的程序進行編譯、仿真,并將調(diào)試完成的程序下載到Cyclone EP1C6Q240C8芯片上,觀測電路板上的紅綠信號燈以及數(shù)碼管顯示,看是否按設(shè)計要求正常工作.</p><p><b>  四、設(shè)計流程</b></p><p>  本系統(tǒng)采用自頂向下的設(shè)計,設(shè)計一個頂層文件和三個底層文件。

9、各模塊關(guān)系如下:</p><p><b>  設(shè)計文件如下:</b></p><p><b>  低層文件</b></p><p>  (1)系統(tǒng)工作模塊(traffic1)如下:</p><p>  功能:該模塊完成對輸入信號CLK,rst,c的處理,實現(xiàn)交通燈控制的主要功能。</p>

10、<p><b>  源程序:</b></p><p>  module traffic1(CLK,rst,c,LAMPA,LAMPB,TAH,TAL,TBH,TBL);</p><p>  output[3:0] TAH,TAL,TBH,TBL;//TAH,TAL分別表示主干道倒計時的高位和低位,TBH,TBL表示鄉(xiāng)村道路倒計時的高位和低位</p&

11、gt;<p>  output[2:0] LAMPA,LAMPB;//從高位到低位分別表示紅,黃,綠</p><p>  input CLK,rst,c;</p><p>  reg[7:0] numa,numb,s1,s2;//numa,numb分別表示主干道和鄉(xiāng)村道路的倒計時;s1用來表示主干道最短通車時間是否已到,到了s1=1;s2用來表示鄉(xiāng)村道路最長通車時間是否已到,

12、到了s2=1</p><p>  reg[3:0] TAH,TAL,TBH,TBL;</p><p>  reg[2:0] LAMPA,LAMPB;</p><p>  always @(posedge CLK or posedge rst ) //該進程控制主道方向的四種燈</p><p><b>  begin</b>

13、;</p><p>  if(rst)//重置</p><p><b>  begin </b></p><p>  LAMPA =1;LAMPB =4; //重置情況視鄉(xiāng)村道路無車,主干道一直通行</p><p>  numa = 8'b00100000;//主干道計時20秒</p><p

14、>  numb = 8'b00100101; //鄉(xiāng)村道路計時25秒</p><p><b>  end </b></p><p><b>  else</b></p><p><b>  begin</b></p><p>  if(LAMPA==1)

15、 //主干道綠燈亮</p><p><b>  begin </b></p><p>  if(numa==1&&c==0&&s1) //主干道最短通車時間已到,但鄉(xiāng)村道路沒車</p><p><b>  begin </b></p><p>  num

16、a=1;//倒計時停在1秒</p><p>  LAMPA=1;//保持在主干道綠燈</p><p><b>  end</b></p><p>  else if(numa==1&&c==1&&s1)//主干道最短通車時間沒到,并且鄉(xiāng)村道路有車</p><p>  begin //主干

17、道變黃燈倒計時變成5秒</p><p><b>  s1=0;</b></p><p><b>  LAMPA =2;</b></p><p>  numa = 8'b00000110;//為了配合時鐘設(shè)置為6秒</p><p><b>  end</b></p&

18、gt;<p><b>  else</b></p><p><b>  begin</b></p><p>  if(numa[3:0] == 0 && numa[7:4]) //逢十時</p><p><b>  begin</b></p><p

19、>  numa[3:0] = 9; </p><p>  numa[7:4] = numa[7:4] - 1;</p><p><b>  end</b></p><p><b>  else</b></p><p>  if(numa[7:0] && numa[3:0])&l

20、t;/p><p><b>  begin</b></p><p>  numa[3:0] = numa[3:0] - 1;</p><p><b>  end</b></p><p>  if (numa==0) </p><p>  begin //主干道

21、變黃燈倒計時變成5秒</p><p><b>  LAMPA =2;</b></p><p>  numa = 8'b00000110;//為了配合時鐘設(shè)置為6秒</p><p><b>  end</b></p><p><b>  end</b></p>

22、<p><b>  end</b></p><p>  if(LAMPA==2) //假如主干道是黃燈</p><p><b>  begin</b></p><p>  if(numa[3:0] == 0 && numa[7:4]) //開始主干道黃燈的倒計時</p>&l

23、t;p><b>  begin</b></p><p>  numa[3:0] = 9; </p><p>  numa[7:4] = numa[7:4] - 1;</p><p><b>  end</b></p><p><b>  else</b></p>

24、;<p>  if(numa[7:0] && numa[3:0])</p><p><b>  begin</b></p><p>  numa[3:0] = numa[3:0] - 1;</p><p><b>  end</b></p><p>  if(numa[

25、7:0]==0) //黃燈倒計時時間到</p><p><b>  begin</b></p><p>  if(c) //鄉(xiāng)村道路有車</p><p>  begin //主干道變紅燈,倒計時變成16秒</p><p><b>  LAMPA =4;</b></p>&

26、lt;p>  numa =8'b00010111; //為了配合時鐘設(shè)置為17秒 </p><p><b>  end</b></p><p>  else if(!c)</p><p><b>  begin</b></p><p><b>  s1=1;</b&

27、gt;</p><p>  LAMPA =1; </p><p>  numa = 8'b00000001;//主干道計時1秒</p><p><b>  end</b></p><p><b>  end</b></p><p><b>  end<

28、/b></p><p>  if(LAMPA==4&&c)//假如主干道是紅燈并且鄉(xiāng)村道路有車</p><p><b>  begin</b></p><p>  if(numa[3:0] == 0 && numa[7:4]) //開始主干道紅燈的倒計時</p><p><

29、b>  begin</b></p><p>  numa[3:0] = 9; </p><p>  numa[7:4] = numa[7:4] - 1;</p><p><b>  end</b></p><p><b>  else</b></p><p>

30、;  if(numa[7:0] && numa[3:0])</p><p><b>  begin</b></p><p>  numa[3:0] = numa[3:0] - 1;</p><p><b>  end</b></p><p>  if(numa==0)//紅燈倒計時到

31、</p><p>  begin //主干道變綠燈,倒計時變成20秒</p><p><b>  LAMPA =1;</b></p><p>  numa =8'b00100000; </p><p><b>  end</b></p><p><b

32、>  end</b></p><p>  if(LAMPA==4&&!c&& numa>5)//假如主干道是紅燈并且鄉(xiāng)村道路無車并且倒計時時間大于5米秒,使主干道倒計時變成5秒</p><p>  begin //主干道仍是紅燈,倒計時變成5秒</p><p>  numa =8'b00000110;

33、</p><p><b>  end</b></p><p>  if(LAMPA==4&&!c&& numa<7) </p><p><b>  begin </b></p><p>  if(numa[3:0] == 0 && numa

34、[7:4]) //開始主干道5秒的倒計時</p><p><b>  begin</b></p><p>  numa[3:0] = 9; </p><p>  numa[7:4] = numa[7:4] - 1;</p><p><b>  end</b></p><p&g

35、t;<b>  else</b></p><p>  if(numa[7:0] && numa[3:0])</p><p><b>  begin</b></p><p>  numa[3:0] = numa[3:0] - 1;</p><p><b>  end</

36、b></p><p>  if(numa==0)//5秒倒計時到</p><p>  begin //主干道變綠燈,倒計時變成20秒</p><p><b>  LAMPA =1;</b></p><p>  numa =8'b00100000;</p><p><

37、b>  end </b></p><p><b>  end</b></p><p>  if(LAMPB==4) //鄉(xiāng)村道路紅燈亮</p><p>  begin //開始鄉(xiāng)村道路紅燈的倒計時</p><p>  if(c==0&&numb==1) numb=1;<

38、;/p><p>  if(c==1&&numb==1&&s2==1)</p><p>  begin </p><p><b>  numb=5;</b></p><p><b>  s2=0;</b></p><p>&l

39、t;b>  end</b></p><p><b>  else</b></p><p><b>  begin</b></p><p>  if(numb[3:0] == 0 && numb[7:4]) //逢十時</p><p><b>  beg

40、in</b></p><p>  numb[3:0] = 9; </p><p>  numb[7:4] = numb[7:4] - 1;</p><p><b>  end</b></p><p><b>  else</b></p><p>  if(numb

41、 && numb[3:0])</p><p><b>  begin</b></p><p>  numb[3:0] = numb[3:0] - 1;</p><p><b>  end</b></p><p>  if(numb==0) //紅燈時間到</p>&

42、lt;p><b>  begin </b></p><p><b>  if(c)</b></p><p>  begin //鄉(xiāng)村道路變綠燈,倒計時變11秒</p><p><b>  LAMPB =1;</b></p><p>  numb =8'b00

43、010010;</p><p><b>  end</b></p><p>  else if(!c)</p><p><b>  begin</b></p><p>  LAMPB =4; </p><p>  numb = 8'b00000001; //鄉(xiāng)村道路計

44、時1</p><p>  s2=1;//s置為1;</p><p><b>  end </b></p><p><b>  end</b></p><p><b>  end</b></p><p><b>  end</b>&l

45、t;/p><p>  if(LAMPB==1&&c) //假如鄉(xiāng)村道路是綠燈并且鄉(xiāng)村道路有車并且倒計時大于五秒</p><p><b>  begin</b></p><p>  if(numb[3:0] == 0 && numb[7:4]) //開始鄉(xiāng)村道路綠燈的倒計時</p><p>

46、<b>  begin</b></p><p>  numb[3:0] = 9; </p><p>  numb[7:4] = numb[7:4] - 1;</p><p><b>  end</b></p><p><b>  else</b></p><

47、p>  if(numb && numb[3:0])</p><p><b>  begin</b></p><p>  numb[3:0] = numb[3:0] - 1;</p><p><b>  end</b></p><p>  if(numb==0) //綠燈倒計

48、時時間到</p><p>  begin //鄉(xiāng)村道路變黃燈,倒計時變成5秒</p><p><b>  LAMPB =2;</b></p><p>  numb =8'b00000110;</p><p><b>  end</b></p><p><b

49、>  end</b></p><p>  if(LAMPB==1&&!c) //假如鄉(xiāng)村道路是綠燈并且鄉(xiāng)村道路無車</p><p>  begin //綠燈變黃燈,倒計時變成5秒</p><p><b>  LAMPB =2;</b></p><p>  numb =8&#

50、39;b00000110;</p><p><b>  end</b></p><p>  if(LAMPB==2) //假如鄉(xiāng)村道路是黃燈</p><p><b>  begin</b></p><p>  if(numb[3:0] == 0 && numb[7:4]) //開

51、始鄉(xiāng)村道路黃燈的倒計時</p><p><b>  begin</b></p><p>  numb[3:0] = 9; </p><p>  numb[7:4] = numb[7:4] - 1;</p><p><b>  end</b></p><p><b>

52、  else</b></p><p>  if(numb && numb[3:0])</p><p><b>  begin</b></p><p>  numb[3:0] = numb[3:0] - 1;</p><p><b>  end</b></p>

53、<p>  if(numb==0) //黃燈倒計時時間到</p><p>  begin //鄉(xiāng)村道路變紅燈,倒計時變成25秒</p><p><b>  LAMPB =4;</b></p><p>  numb =8'b00100101; </p><p><b>  end&l

54、t;/b></p><p><b>  end</b></p><p><b>  end</b></p><p>  TAH=numa[7:4];</p><p>  TAL=numa[3:0];</p><p>  TBH=numb[7:4];</p>

55、<p>  TBL=numb[3:0];</p><p><b>  end</b></p><p><b>  endmodule</b></p><p><b>  仿真結(jié)果:</b></p><p>  對該模塊進行仿真,考慮各種情況,結(jié)果如下:</p&

56、gt;<p>  鄉(xiāng)村道路一直沒車,即c=0:</p><p>  可以看到主干道是綠燈20秒,黃燈5秒,然后變成綠燈,倒計時停在1秒,鄉(xiāng)村道路一直是紅燈,倒計時從25一直到1停止。</p><p>  鄉(xiāng)村道路開始沒車,T時間后(T<25秒)有車來:</p><p>  從圖中可以看出主干道綠燈20秒后變成黃燈,5秒后變成紅燈,16秒后又變成綠

57、燈,鄉(xiāng)村道路紅燈25秒后變成綠燈,11秒后變成黃燈,5秒后又變成紅燈。符合設(shè)計要求。</p><p>  3)鄉(xiāng)村道路開始沒車,T時間后(T>25秒)有車來:</p><p>  從圖中可以看到開始時c=0,主干道綠燈20秒后變成黃燈,5秒后由于沒車又變成綠燈,倒計時停在1,鄉(xiāng)村道路紅燈25秒后變成綠燈,倒計時停在1。c變成1后,主干道變成黃燈倒計時5秒,之后變成紅燈,鄉(xiāng)村道路紅燈倒

58、計時5秒后變成綠燈,再后面的變化同情況2。</p><p>  4)當(dāng)鄉(xiāng)村道路為綠燈時c變成0:</p><p>  可以看到,當(dāng)鄉(xiāng)村道路為綠燈,c變成0時,鄉(xiāng)村道路立刻變成黃燈,倒計時5秒后變成紅燈,而主干道紅燈倒計時5秒后變成綠燈。</p><p> ?。?)八段譯碼模塊(decode4_7)如下:</p><p>  功能:將輸入的四位

59、信號進行譯碼,輸出到八段共陽極數(shù)碼管顯示出來。用于顯示倒計時。</p><p><b>  源程序:</b></p><p>  module decode4_7(decodeout,indec);</p><p>  output[7:0] decodeout;</p><p>  input[3:0] indec;&

60、lt;/p><p>  reg[7:0] decodeout;</p><p>  always @(indec)</p><p><b>  begin</b></p><p>  case(indec) //用case 語句進行譯碼,小數(shù)點始終不亮</p><p>  4'd0:decod

61、eout=8'b00000011;</p><p>  4'd1:decodeout=8'b10011111;</p><p>  4'd2:decodeout=8'b00100101;</p><p>  4'd3:decodeout=8'b00001101;</p><p>  4&

62、#39;d4:decodeout=8'b10011001;</p><p>  4'd5:decodeout=8'b01001001;</p><p>  4'd6:decodeout=8'b01000001;</p><p>  4'd7:decodeout=8'b00011111;</p>&

63、lt;p>  4'd8:decodeout=8'b00000001;</p><p>  4'd9:decodeout=8'b00001001;</p><p>  default: decodeout=8'bx;</p><p><b>  endcase</b></p><p

64、><b>  end</b></p><p><b>  endmodule</b></p><p><b>  仿真結(jié)果:</b></p><p>  從圖中可以看到輸入0~9,輸出與之對應(yīng)的八段碼,結(jié)果正確。</p><p>  (3)分頻模塊(blk1)如下:<

65、;/p><p>  功能:由于實驗箱提供的是2MHZ的時鐘信號,為了得到1HZ的時鐘信號,要對輸入時鐘信號進行2000000分頻。得到合適的時鐘信號。set信號可以控制系統(tǒng)的起始及終止。</p><p><b>  源程序:</b></p><p>  module blk1(clk,set,out);</p><p>  

66、input clk,set; //基頻與使能</p><p>  output out; //分頻后的輸出</p><p><b>  reg out;</b></p><p>  reg[23:0] count1,count2;//count1用于記錄時鐘總數(shù),count2用于記錄經(jīng)過了多少個時鐘周期</p><p>

67、;  always @ (posedge clk)</p><p><b>  begin</b></p><p><b>  if(set)</b></p><p><b>  begin</b></p><p>  count1 = 1000000;//實際下載時改成500

68、000,方便看到結(jié)果 count1 = count1 - 1;</p><p>  count2 = 0;</p><p><b>  out = 0;</b></p><p><b>  end</b></p><p><b>  else</b></p&g

69、t;<p><b>  begin</b></p><p>  if(count2 < count1)</p><p><b>  begin</b></p><p>  count2 = count2 + 1;</p><p><b>  end</b>&

70、lt;/p><p><b>  else</b></p><p><b>  begin</b></p><p>  out = ~out;</p><p>  count2 = 0;</p><p><b>  end</b></p><

71、;p><b>  end</b></p><p><b>  end</b></p><p><b>  endmodule</b></p><p><b>  仿真結(jié)果:</b></p><p>  由于2000000分頻看不出仿真結(jié)果,這里改成4

72、分頻。如圖,當(dāng)set信號有一個正跳變之后,out才開始有輸出。而之后set為高電平時,out停止產(chǎn)生時鐘信號,相當(dāng)于起到暫停的作用。另外,可以看出out的頻率是clk的1/4,實現(xiàn)了4分頻。</p><p><b>  2.頂層文件</b></p><p>  交通燈控制器(jiaotongdeng):由三個底層模塊構(gòu)成,結(jié)構(gòu)圖如下:</p><p

73、><b>  仿真結(jié)果:</b></p><p>  分析亮燈情況及倒計時情況,與設(shè)計要求相符合,仿真結(jié)果正確。</p><p><b>  五、管腳綁定</b></p><p>  clk綁定到晶振時鐘信號,設(shè)定管腳號為28;</p><p>  rst,c,set分別綁定到三個乒乓開關(guān),這

74、里設(shè)定管腳號分別為139,138,137;</p><p>  LAMPA[0],LAMPA[1],LAMPA[2]分別綁定到綠燈,黃燈,紅燈上,這里設(shè)定管腳號分別為221,204,233;</p><p>  LAMPB[0],LAMPB[1],LAMPB[2]分別綁定到綠燈,黃燈,紅燈上,這里設(shè)定管腳號分別為206,186,222;</p><p>  TAH[

75、0]~TAH[7], TAL[0]~TAL[7],TBH[0]~TBH[7] ,TBL[0]~TBL[7]分別綁定到四個數(shù)碼管上,管腳號這里就不一一贅述。</p><p>  六、編譯下載,驗證結(jié)果。</p><p>  實驗結(jié)果分析:c為鄉(xiāng)村道路信號,當(dāng)c=0時,即鄉(xiāng)村道路無車,主干道經(jīng)過綠燈20秒,黃燈5秒,此時若c=1,則變成紅燈,倒計時變成16秒,否則,又回到綠燈,倒計時停在1;鄉(xiāng)

76、村道路經(jīng)過紅燈25秒,此時若c=1,則變成綠燈,倒計時變成11秒,否則仍為紅燈,倒計時停在1秒。如果開始時c=0,經(jīng)過一段時間后有車來,假設(shè)此時主干道通行時間已經(jīng)超過最短通行時間25秒,則主干道變黃燈,倒計時5秒后變紅燈,鄉(xiāng)村道路紅燈倒計時5秒后變綠燈。假設(shè)鄉(xiāng)村道路綠燈時,c=0,則不管鄉(xiāng)村道路倒計時有沒有到1都變黃燈,5秒后變紅燈,主干道倒計時5秒后變綠燈。</p><p>  分析實驗結(jié)果可以看到該系統(tǒng)實現(xiàn)了

溫馨提示

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

評論

0/150

提交評論