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

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p>  第1章總體設(shè)計思路1</p><p>  1.1系統(tǒng)總體結(jié)構(gòu)1</p><p>  1.2 各模塊設(shè)計功能及設(shè)計思路2</p><p>  第二章 各模塊功能3</p><p>  2.1 jifei模塊3</p>

2、;<p><b>  2.2 x模塊6</b></p><p>  2.3 sel模塊10</p><p>  2.4 xxx1模塊12</p><p>  2.5 di模塊14</p><p>  2.6 div模塊15</p><p>  2.7 decode3_8模

3、塊17</p><p>  第3章 總體電路圖18</p><p>  3.1、模塊連接:18</p><p>  3.2、硬件連接:19</p><p>  3.3、結(jié)果分析:19</p><p>  第4章 硬件實現(xiàn)22</p><p><b>  第5章 總結(jié)23&

4、lt;/b></p><p>  第6章 參考文獻24</p><p><b>  第1章總體設(shè)計思路</b></p><p><b>  1.1系統(tǒng)總體結(jié)構(gòu)</b></p><p>  圖1.1 系統(tǒng)總體框圖</p><p>  出租車計費器的組成如上圖所示,各部

5、分主要功能包括輸入信號模塊對車輪傳感器傳送的脈沖信號進行計數(shù),并以高低脈沖模擬出租汽車啟動,停止,暫停,速度按鈕,具有輸入信號作用;數(shù)據(jù)轉(zhuǎn)換器模塊將計費模塊輸出的車費和路程轉(zhuǎn)換成4位的十進制數(shù)據(jù);譯碼/動態(tài)掃描模塊將路程與費用的數(shù)值譯碼后用動態(tài)掃描的方式驅(qū)動數(shù)碼管;數(shù)碼管顯示模塊將公里數(shù)和計費金額均用4位LED數(shù)碼管顯示 。</p><p>  1.2 各模塊設(shè)計功能及設(shè)計思路</p><p&

6、gt;<b>  信號輸入模塊</b></p><p>  實現(xiàn)計費功能和現(xiàn)場模擬功能。計費標準為:按行駛里程計費,起步價為7.00元,并在車行3 km后按2.20元/km計費,當計費器達到或超過20元時,每公里加收50%的車費,車停止不計費。并以高低脈沖模擬出租汽車啟動、停止、暫停、速度按鈕,具有輸入信號的作用。</p><p><b>  數(shù)據(jù)轉(zhuǎn)換模塊&

7、lt;/b></p><p>  數(shù)據(jù)轉(zhuǎn)換模塊是一個模為10的加法計數(shù)器,可將計費模塊輸出的車費和路程轉(zhuǎn)換成4位的十進制數(shù)。</p><p><b>  顯示模塊</b></p><p>  顯示模塊是由七段LED數(shù)碼管譯碼和動態(tài)掃描顯示兩部分組成。采用的是共陰極七段數(shù)碼管,根據(jù)十六進制數(shù)和七段顯示段碼表的對應(yīng)關(guān)系,其中要求路程和車費都要

8、用2位小數(shù)點來表示,所以須設(shè)置一個控制小數(shù)點的變量,即程序中的dp。這段程序所示的是在數(shù)碼管的第二、第六個后面顯示小數(shù)點,實現(xiàn)了路程和車費都用2位小數(shù)點表示的功能。數(shù)碼管控制及譯碼顯示模塊將十進制的輸入信號用七段數(shù)碼管顯示,由七段發(fā)光二極管組成數(shù)碼顯示器,利用字段的不同組合??煞謩e顯示0~9十個數(shù)字。片選信號產(chǎn)生模塊片選信號產(chǎn)生模塊是對數(shù)碼管進行片選并讓其能夠按照要求顯示數(shù)據(jù)的模塊</p><p><b&g

9、t;  第二章 各模塊功能</b></p><p>  2.1 jifei模塊</p><p>  此模塊為計費模塊(即總體結(jié)構(gòu)中的信號輸入模塊),實現(xiàn)計費功能,計費標準為:按行駛里程計費,起步價為7.00元,并在車行3公里后按2.20元/km計費,當計數(shù)器達到或超過20元時,每公里加收50%的車費,即按3.30元/km計費。CLK、START、STOP、PAUSE、speed

10、為輸入信號,分別代表汽車的起動、停止、暫停和速度,CLK為掃描時鐘,硬件實現(xiàn)時加入時鐘信號,另有兩個輸出,即MONEY和RUN,分別代表車費和路程,當車處于行駛狀態(tài)時,此模塊會自動記錄下路程與車費狀況并作為轉(zhuǎn)換模塊的輸入。</p><p>  jifei模塊源程序</p><p>  library ieee;</p><p>  use ieee.std_logi

11、c_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  entity jfmk is</p><p>  port(clk,start,stop,pause,speed:in std_logic;</p><p>  money,run:out integer rang

12、e 0 to 8000);</p><p><b>  end jfmk;</b></p><p>  architecture one of jfmk is</p><p><b>  begin</b></p><p>  process(clk,start,stop,pause,speed)&

13、lt;/p><p>  variable a,b:std_logic;</p><p>  variable aa:integer range 0 to 100;</p><p>  variable chf,lc:integer range 0 to 8000;</p><p>  variable num:integer range 0 to

14、 9;</p><p><b>  begin</b></p><p>  if(clk'event and clk='1')then</p><p>  if(stop='0') then</p><p><b>  chf:=0;</b></p>

15、;<p><b>  num:=0;</b></p><p><b>  b:='1';</b></p><p><b>  aa:=0;</b></p><p><b>  lc:=0;</b></p><p>  elsi

16、f(start='0') then</p><p><b>  b:='0';</b></p><p><b>  chf:=700;</b></p><p><b>  lc:=0;</b></p><p>  elsif(start='

17、;1' and speed='1' and pause='1') then</p><p>  if(b='0')then</p><p>  num:=num+1;</p><p><b>  end if;</b></p><p>  if(num=9)then

18、</p><p><b>  lc:=lc+5;</b></p><p><b>  num:=0;</b></p><p><b>  aa:=aa+5;</b></p><p><b>  end if;</b></p><p>

19、;  elsif(start='1' and speed='0' and pause='1')then</p><p><b>  lc:=lc+1;</b></p><p><b>  aa:=aa+1;</b></p><p><b>  end if;<

20、/b></p><p>  if(aa>=100)then</p><p><b>  a:='1';</b></p><p><b>  aa:=0;</b></p><p><b>  else</b></p><p>&

21、lt;b>  a:='0';</b></p><p><b>  end if;</b></p><p>  if(lc<300)then</p><p><b>  null;</b></p><p>  elsif(chf<2000 and a=&#

22、39;1') then</p><p>  chf:=chf+220;</p><p>  elsif(chf>=2000 and a='1')then</p><p>  chf:=chf+330;</p><p><b>  end if;</b></p><p>

23、;<b>  end if;</b></p><p>  money<=chf;</p><p><b>  run<=lc;</b></p><p>  end process;</p><p><b>  end one;</b></p><

24、p>  模塊分析:首先打開ieee庫,用use語句聲明使用std_logic_1164和std_logic_unsigned程序包。clk、start、stop、pause、speed為敏感信號,定義a,b為中間變量,變量aa、num、chf為位矢量。當時鐘上升沿到來時,如果STOP='0'則chf:=0,num:= 0,b:=1,aa:=0,lc:=0, 如果stop='1'且start='

25、;0'則chf:=700,lc:=0,stop='1’;如果stop='1'and start='1'and speed='1'and pause='1'且 b='0'則num:=num+1;如果stop='1'and start='1'and speed='1'and pause='1

26、'且num=9則lc:=lc+1;num:=0,aa:=aa+1。如果stop='1'and start='1'and speed='0'and pause='1'則lc:=lc+1;aa:=aa+1;以上各狀態(tài)分別代表汽車的停止、啟動、速度、暫停。如果aa>=100則a:='1',aa:=0,否則a:='0',如果chf<

27、;</p><p>  jifei模塊的時序仿真圖:</p><p><b>  時序仿真圖分析: </b></p><p>  圖中的stop為汽車停止輸入端,上升沿有效;start為汽車啟動輸入端,上升沿有效;pause為汽車暫停輸入端,上升沿有效;speed為汽車速度輸入端,上升沿有效。CLK為時鐘源信號;money為汽車車費輸出端,ru

28、n為汽車路程輸出端。</p><p>  由圖可知:當stop,Start,pause,speed全為高電平時路程按5的速度增加,車費為700.當路程增加到300時,車費變?yōu)?20,以后路程每增加100,車費增加220。</p><p><b>  2.2 x模塊</b></p><p>  此模塊為數(shù)據(jù)轉(zhuǎn)換模塊,功能是將計費模塊產(chǎn)生的車費與路

29、程的模擬量轉(zhuǎn)換成數(shù)字量并輸出,它是一個模為10的加法計數(shù)器,可將計費模塊輸出的車費和路程轉(zhuǎn)換成4位的十進制數(shù)。其中DACLK為時鐘信號,ASCORE、BSCORE連接計費模塊的MONEY和run,輸出為2個4位的十進制數(shù),可以分別表示路程和車費情況。當車運行于不同狀況時,此模塊會將不同的車費與路程狀況轉(zhuǎn)換為數(shù)字量并輸出。</p><p><b>  x模塊的源程序:</b></p>

30、;<p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  entity x is</p><p>  port(daclk:in std_logic;</p

31、><p>  ascore,bscore:in integer range 0 to 8000;</p><p>  age,ashi,abai,aqian,bge,bshi,bbai,bqian:out std_logic_vector(3 downto 0));</p><p><b>  end x;</b></p><p

32、>  architecture rt1 of x is</p><p><b>  begin</b></p><p>  process(daclk,ascore)</p><p>  variable comb1:integer range 0 to 8000;</p><p>  variable comb1

33、a,comb1b,comb1c,comb1d:std_logic_vector(3 downto 0);</p><p><b>  begin</b></p><p>  if (daclk'event and daclk='1')then</p><p>  if(comb1<ascore)then</p

34、><p>  if(comb1a=9 and comb1b=9 and comb1c=9)then</p><p>  comb1a:="0000";</p><p>  comb1b:="0000";</p><p>  comb1c:="0000";</p><p

35、>  comb1d:=comb1d+1;</p><p>  comb1:=comb1+1;</p><p>  elsif(comb1a=9 and comb1b=9)then</p><p>  comb1a:="0000";</p><p>  comb1b:="0000";</p&g

36、t;<p>  comb1:=comb1+1;</p><p>  comb1c:=comb1c+1;</p><p>  elsif(comb1a=9)then</p><p>  comb1a:="0000";</p><p>  comb1b:=comb1b+1;</p><p>

37、;  comb1:=comb1+1;</p><p><b>  else</b></p><p>  comb1a:=comb1a+1;</p><p>  comb1:=comb1+1;</p><p><b>  end if;</b></p><p><b>

38、;  else</b></p><p>  ashi<=comb1b;</p><p>  age<=comb1a;</p><p>  abai<=comb1c;</p><p>  aqian<=comb1d;</p><p><b>  comb1:=0;</b

39、></p><p>  comb1a:="0000";</p><p>  comb1b:="0000";</p><p>  comb1c:="0000";</p><p>  comb1d:="0000";</p><p><

40、;b>  end if;</b></p><p><b>  end if;</b></p><p>  end process;</p><p>  process(daclk,bscore)</p><p>  variable comb2:integer range 0 to 8000;</

41、p><p>  variable comb2a,comb2b,comb2c,comb2d:std_logic_vector(3 downto 0);</p><p><b>  begin</b></p><p>  if(daclk'event and daclk='1')then</p><p>

42、  if(comb2<bscore)then</p><p>  if(comb2a=9 and comb2b=9 and comb2c=9)then</p><p>  comb2a:="0000";</p><p>  comb2b:="0000";</p><p>  comb2c:=&qu

43、ot;0000";</p><p>  comb2d:=comb2d+1;</p><p>  comb2:=comb2+1;</p><p>  elsif(comb2a=9 and comb2b=9)then</p><p>  comb2a:="0000";</p><p>  co

44、mb2b:="0000";</p><p>  comb2:=comb2+1;</p><p>  comb2c:=comb2c+1;</p><p>  elsif(comb2a=9)then</p><p>  comb2a:="0000";</p><p>  comb2b

45、:=comb2b+1;</p><p>  comb2:=comb2+1;</p><p><b>  else</b></p><p>  comb2a:=comb2a+1;</p><p>  comb2:=comb2+1;</p><p><b>  end if;</b&g

46、t;</p><p><b>  else</b></p><p>  bshi<=comb2b;</p><p>  bge<=comb2a;</p><p>  bbai<=comb2c;</p><p>  bqian<=comb2d;</p><

47、p><b>  comb2:=0;</b></p><p>  comb2a:="0000";</p><p>  comb2b:="0000";</p><p>  comb2c:="0000";</p><p>  comb2d:="0000

48、";</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process;</p><p><b>  end rt1;</b></p><p>  程序分析:首先

49、打開ieee庫,用use語句聲明使用std_logic_1164和std_logic_unsigned程序包。定義實體,daclk、ascore、bscore為輸入,age、ashi、abai、aqian、bge、bshi、bbai、bqian為輸出位矢量。然后定義結(jié)構(gòu)體,daclk、ascore、bscore為敏感信號,定義變量comb1a,comb1b,comb1c,comb1d為位矢量,變量comb1為0到7000范圍。當時鐘上升

50、沿到來時,各個變量分別實現(xiàn)個、十、百、千的進位。然后實現(xiàn)一個循環(huán)。然后再將各個變量付給各個位矢量。</p><p><b>  X模塊的時序仿真圖</b></p><p>  時序仿真圖的分析轉(zhuǎn)換模塊的時序仿真圖如下圖所示:可見能將路程和車費轉(zhuǎn)換為4位的十進制數(shù),便于8位數(shù)碼管顯示。由圖可知:當ascore,bscore為13位二進制數(shù),當ascore為0-9時age

51、從0到9變化,當ascore為10時age等于0,ashi等于1。 當bscore為0-9時bge從0到9變化,當bscore為10時bge等于0,bshi等于1。</p><p><b>  2.3 sel模塊</b></p><p>  此模塊為片選信號產(chǎn)生模塊,功能是選擇八段數(shù)碼管按照設(shè)計要求進行正確的顯示。其具體的對應(yīng)關(guān)系如下表所示:</p>&

52、lt;p>  在該模塊中CLK為時鐘信號,A[2..0]為片選輸出,用于選擇數(shù)碼管,連接譯碼顯示模塊的片選端C[2..0]。</p><p>  se模塊的源程序如下:</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.st

53、d_logic_unsigned.all;</p><p>  entity sel is</p><p>  port(clk:in std_logic;</p><p>  a:out std_logic_vector(2 downto 0));</p><p><b>  end sel;</b></p>

54、;<p>  architecture rt1 of sel is</p><p><b>  begin</b></p><p>  process(clk)</p><p>  variable b:std_logic_vector(2 downto 0);</p><p><b>  beg

55、in</b></p><p>  if(clk'event and clk='1')then</p><p>  if(b="111")then</p><p><b>  b:="000";</b></p><p><b>  els

56、e</b></p><p><b>  b:=b+1;</b></p><p><b>  end if;</b></p><p><b>  end if;</b></p><p><b>  a<=b;</b></p>

57、<p>  end process;</p><p><b>  end rt1; </b></p><p>  sel模塊的波形圖:</p><p>  由圖可以看出,當CLK加入時鐘信號時,a從000到111逐個變化,該模塊可將模擬信號進行片選并有對應(yīng)的數(shù)碼管進行顯示。</p><p>  2.4 xxx

58、1模塊</p><p>  此模塊為顯示模塊中的動態(tài)掃描/譯碼/數(shù)碼管顯示模塊,功能是將已轉(zhuǎn)換好的數(shù)字量加載到兩個4位七段數(shù)碼管上并加以顯示。C[2..0]為片選端,用來連接片選模塊的片選輸出端A[2..0],A1、A2、A3、A4、B1、B2、B3、B4分別連接數(shù)據(jù)轉(zhuǎn)換模塊的八個轉(zhuǎn)換輸出端,因為設(shè)計要求路程和車費都要用2位小數(shù)點來表示,所以須設(shè)置一個控制小數(shù)點的變量,即程序中的DP端,D[3..0]連接數(shù)碼管控

59、制模塊的輸入端。</p><p>  xxx1模塊的源程序:</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  entity xxxl i

60、s</p><p>  port(c:in std_logic_vector(2 downto 0);</p><p>  dp:out std_logic;</p><p>  a1,a2,a3,a4,b1,b2,b3,b4:in std_logic_vector(3 downto 0);</p><p>  d:out std_logic

61、_vector(3 downto 0));</p><p><b>  end xxxl;</b></p><p>  architecture rtl of xxxl is</p><p><b>  begin</b></p><p>  process(c,a1,a2,a3,a4,b1,b2,

62、b3,b4)</p><p>  variable comb:std_logic_vector(2 downto 0);</p><p><b>  begin </b></p><p><b>  comb:=c;</b></p><p>  case comb is</p><

63、;p>  when"000"=>d<=a1;</p><p><b>  dp<='0';</b></p><p>  when"001"=>d<=a2;</p><p><b>  dp<='0';</b>&

64、lt;/p><p>  when"010"=>d<=a3;</p><p><b>  dp<='1';</b></p><p>  when"011"=>d<=a4;</p><p><b>  dp<='0

65、9;;</b></p><p>  when"100"=>d<=b1;</p><p><b>  dp<='0';</b></p><p>  when"101"=>d<=b2;</p><p><b>  dp

66、<='0';</b></p><p>  when"110"=>d<=b3;</p><p><b>  dp<='1';</b></p><p>  when"111"=>d<=b4;</p><p>

67、;<b>  dp<='0';</b></p><p>  when others=>null;</p><p><b>  end case;</b></p><p>  end process;</p><p><b>  end rtl;</b>

68、;</p><p>  xxx1模塊的時序仿真圖:</p><p>  由上圖可知,輸入信號C為3位片選信號其變化范圍為0到7,輸入信號c從0到7逐個變化時,輸出d逐個輸a1,a2,a3,a4,b1,b2,b3,b4的輸入信號。</p><p><b>  2.5 di模塊 </b></p><p>  此模塊為數(shù)碼管控

69、制模塊,功能是控制七段數(shù)碼管對轉(zhuǎn)換后的數(shù)字量進行顯示,使其完成路程和車費的顯示。其中D[3..0]連接動態(tài)掃描/譯碼/數(shù)碼管顯示模塊的D[3..0]端,Q[6..0]連接七段數(shù)碼管,利用其控制特性在數(shù)碼管上顯示出車費和路程。</p><p><b>  di模塊的源程序:</b></p><p>  library ieee;</p><p>

70、  use ieee.std_logic_1164.all;</p><p>  entity di is</p><p>  port(d:in std_logic _vector(3 downto 0);</p><p>  q:out std_logic_vector(6 downto 0));</p><p><b>  e

71、nd di;</b></p><p>  architecture rtl of di is</p><p><b>  begin</b></p><p>  process(d)</p><p><b>  begin</b></p><p><b>

72、;  case d is</b></p><p>  when"0000"=>q<="0111111";</p><p>  when"0001"=>q<="0000110";</p><p>  when"0010"=>q&

73、lt;="1011011";</p><p>  when"0011"=>q<="1001111";</p><p>  when"0100"=>q<="1100110";</p><p>  when"0101"=>

74、q<="1101101";</p><p>  when"0110"=>q<="1111101";</p><p>  when"0111"=>q<="0100111";</p><p>  when"1000"=&g

75、t;q<="1111111";</p><p>  when others=>q<="1101111";</p><p><b>  end case;</b></p><p>  end process;</p><p><b>  end rtl;&

76、lt;/b></p><p>  di模塊的時序仿真圖:</p><p>  從波形圖中可看出,此模塊可控制數(shù)碼管完成對數(shù)字量的顯示。當輸入為0000-1000時數(shù)碼管分別顯示0,1,2,3,4,5,6,7,8。當輸入為其他時數(shù)碼管顯示9。</p><p><b>  2.6 div模塊</b></p><p> 

77、 div模塊將實驗箱上50Mhz脈沖信號分頻為500hz。</p><p><b>  div模塊源程序:</b></p><p>  LIBRARY ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.al

78、l;</p><p>  ENTITY div IS</p><p>  port(clk:IN std_logic;</p><p>  clkout:OUT std_logic</p><p><b>  );</b></p><p><b>  end div;</b>

79、</p><p>  ARCHITECTURE one OF div IS</p><p><b>  BEGIN</b></p><p>  process(clk)</p><p>  variable cnt:integer range 0 to 100000;</p><p>  vari

80、able tmp:std_logic;</p><p><b>  begin</b></p><p>  if clk'event and clk='1' then</p><p>  if cnt>=99999 then</p><p><b>  cnt:=0;</b&

81、gt;</p><p>  tmp:=not tmp;</p><p><b>  else</b></p><p>  cnt:=cnt+1;</p><p><b>  end if;</b></p><p><b>  end if;</b><

82、;/p><p>  clkout<=tmp;</p><p>  end process;</p><p><b>  end one;</b></p><p>  div模塊時序仿真波形:</p><p>  div將時鐘信號分頻,使頻率減小。</p><p>  2.

83、7 decode3_8模塊</p><p>  sel通過decode3_8模塊選擇數(shù)碼管</p><p>  decode3_8模塊源程序:</p><p>  LIBRARY ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_lo

84、gic_unsigned.all;</p><p>  ENTITY decode3_8 IS</p><p>  PORT(SEL:IN std_logic_vector(2 downto 0);</p><p>  Q:OUT std_logic_vector(7 downto 0));</p><p>  END decode3_8;&

85、lt;/p><p>  ARCHITECTURE a OF decode3_8 IS</p><p><b>  BEGIN</b></p><p>  Q<="11111110"when sel=0 else</p><p>  "11111101"when sel=1 els

86、e</p><p>  "11111011"when sel=2 else</p><p>  "11110111"when sel=3 else</p><p>  "11101111"when sel=4 else</p><p>  "11011111"wh

87、en sel=5 else</p><p>  "10111111"when sel=6 else</p><p>  "01111111"when sel=7 else</p><p>  "11111111";</p><p><b>  END a;</b>

88、;</p><p>  decode3_8模塊時序仿真波形圖:</p><p>  decode3_8模塊選擇數(shù)碼管,當sel信號從0-7變化時,依次選擇1-8八個數(shù)碼管。</p><p><b>  第3章 總體電路圖</b></p><p><b>  整體工作情況:</b></p>

89、<p><b>  3.1、模塊連接:</b></p><p>  計費模塊的clk、start、stop、pause和speed端連接輸入,money[12..0]和run[12..0]連接轉(zhuǎn)換模塊的ascore[12..0]與bscore[12..0];</p><p>  轉(zhuǎn)換模塊的daclk端連接輸入,age[3..0]至bqian[3..0]連

90、接動態(tài)掃描/譯碼/數(shù)碼管顯示模塊的a1[3..0]至b4[3..0];</p><p>  動態(tài)掃描/譯碼/數(shù)碼管顯示模塊的C[2..0]連接片選輸出SEL[2..0],DP端連接輸出DP,D[3..0]連接數(shù)碼管控制模塊的D[3..0];</p><p>  片選信號產(chǎn)生模塊的CLK端與輸入信號相連,并連接轉(zhuǎn)換模塊的DACLK端,A[2..0]連接片選輸出SEL[2..0],并與動態(tài)掃描

91、/譯碼/數(shù)碼管顯示模塊的C[2..0]相連;</p><p>  數(shù)碼管控制模塊的D[3..0]端與動態(tài)掃描/譯碼/數(shù)碼管顯示模塊的D[3..0]端相連,Q[6..0]端連接八段數(shù)碼管輸出Q[6..0]。</p><p><b>  3.2、硬件連接:</b></p><p>  CLK接pin-28 輸入為1hz的脈沖;daclk是實驗箱上5

92、0Mhz固定晶振</p><p>  START、STOP、PAUSE、SPEED分別連接按鍵開關(guān),用于控制車的啟動、停止、暫停和速度;</p><p>  DP和Q[6..0]分別連接八段碼顯示單元的a到dp;</p><p>  W[7..0]接數(shù)據(jù)線。</p><p><b>  3.3、結(jié)果分析:</b><

93、/p><p>  該電路的仿真波形圖如下:clk為jifei模塊時鐘信號,daclk為時鐘信號,stop為汽車停止輸入端;start為汽車啟動輸入端;pause為汽車暫停輸入端;speed為汽車速度輸入端。DP表示小數(shù)點。</p><p>  該電路的總體管腳分配圖:</p><p>  clk:pin-28;daclk:pin-153;start:pin-4;stop

94、:pin-5;pause:pin-6; speed:pin-7;dp:pin-82;q[6..0]:pin-105;pin-104;pin-101;pin-100; pin-85;pin-84;pin-83;W[7..0]:pin-86;pin-87;pin-88;pin-93;pin-94;pin-95;pin-98;pin-99;vga[3..0]:pin-162;pin-161;pin-164;pin-163;</p>

95、<p><b>  第4章 硬件實現(xiàn)</b></p><p>  通過硬件下載,該電路可以完成硬件實現(xiàn),芯片管腳定義可以直接用編輯.pin文件。完成管腳定義后選擇器件,編譯后生成.sof、.pof文件。選擇sof文件進行下載。</p><p>  通過對每一模塊的仿真和下載,可以實現(xiàn)各個模塊的邏輯功能,驗證了各個模塊的正確性。在出租車計費系統(tǒng)的5個模塊中

96、 ,重點在于jifei模塊,x(轉(zhuǎn)化)模塊,顯示模塊。jifei模塊主要有汽車的啟動、停止、暫停、速度按鍵;轉(zhuǎn)化模塊主要是把車費和路程轉(zhuǎn)化為4位十進制;顯示模塊是將車費和路程顯示出來。各模塊完成后,在將它們組合成完整的出租車系統(tǒng),在設(shè)計過程中還需要改進的是控制系統(tǒng)的糾錯功能。</p><p>  出租車計費器系統(tǒng)的設(shè)計已全部完成,能按預(yù)期的效果進行模擬汽車啟動、停止、暫停等功能,并設(shè)計動態(tài)掃描電路顯示車費數(shù)目,由

97、動態(tài)掃描電路來完成。車暫時停止不計費,車費保持不變。若停止則車費清零,等待下一次計費的開始。出租車計費系統(tǒng)的設(shè)計中體現(xiàn)了VHDL覆蓋面廣,描述能力強,是一個多層次的硬件描述語言及PLD器件速度快,使用方便,便于修改等特點,本設(shè)計在實用方面具有一定的價值。</p><p><b>  第5章 總結(jié)</b></p><p>  兩周的嵌入式系統(tǒng)的課程設(shè)計完成了。本次所做的

98、基于CPLD的出租計費器課題很好的結(jié)合了VHDL與EDA的課程的內(nèi)容,使我加深了這兩門課程的理論的的掌握并初步學(xué)會了QuartusII軟件及CPLD芯片的使用,使自己的動手能力得到提高。理論知識只有只有經(jīng)過實踐運用才會有更深刻的理解。</p><p>  拿到任務(wù)書后翻閱查找了大量的書籍資料是自己對課題有了一個簡單概括的了解,課題要求能過實現(xiàn)出租車按照行駛里程計費并且能模擬汽車起動、停止、暫停以及速度等狀態(tài),還要

99、將車費和路程顯示出來并精確到小數(shù)點后兩位可是說功能較多設(shè)計起來自然就會很復(fù)雜。</p><p>  自己雖然學(xué)習了VHDL以及EDA這兩門課程但自知學(xué)到的只是一丁點的皮毛自然是沒有辦法很好的運用所以只能大量的搜集資料以及相關(guān)的內(nèi)容多做、多看、多了解更要多動手首先使用QuartusII編譯簡單的程序并進行調(diào)試仿真。然后學(xué)會接線并使用CPLD芯片運行小的電路。最后將自己編譯的出租車計費程序進行調(diào)試程序部分分為五個模塊

100、,調(diào)試的過程中出現(xiàn)了一些錯誤由于自己對軟件的使用不是很熟悉因此找錯誤用了很長的時間,但最后的努力沒有浪費,排除錯誤之后調(diào)試成功基本上能夠?qū)崿F(xiàn)所要求的功能讓我感到極大的欣慰。</p><p>  此次課程設(shè)計中得到了老師和同學(xué)的大量幫助令我能夠順利的完成,幾個同學(xué)一起合作即使有困難也能很快解決。讓我體會到團隊合作才會有更大的力量,所以在此衷心的所有幫助我的老師和同學(xué)。</p><p><

101、;b>  第6章 參考文獻</b></p><p>  1. EDA技術(shù)實用教程—VHDL版 潘松,黃繼業(yè) 編著</p><p>  2. 數(shù)字電子技術(shù)基礎(chǔ) 閻石 主編</p><p>  3. VHDL數(shù)字電路設(shè)計與應(yīng)用實踐教程 王振紅 主編<

溫馨提示

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

評論

0/150

提交評論