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

下載本文檔

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

文檔簡介

1、<p>  課 程 設(shè) 計 報 告</p><p>  課程名稱 數(shù)字系統(tǒng)與邏輯設(shè)計 </p><p>  課題名稱 出租車計費器的設(shè)計 </p><p>  專 業(yè) </p><p>  班 級 </p

2、><p>  學(xué) 號 </p><p>  姓 名 </p><p>  指導(dǎo)教師 </p><p>  2013年 7月 7日</p><p>  課 程 設(shè) 計 任 務(wù) 書</p><p> 

3、 課程名稱 數(shù)字系統(tǒng)與邏輯設(shè)計 </p><p>  課 題 出租車計費器的設(shè)計 </p><p>  專業(yè)班級 </p><p>  學(xué)生姓名 </p><p>  學(xué) 號 </p&

4、gt;<p>  指導(dǎo)老師 </p><p>  審 批 </p><p>  任務(wù)書下達日期 2013 年 6月 29日</p><p>  任務(wù)完成日期 2013 年 7月 7日</p><p>  《數(shù)字系統(tǒng)與邏輯設(shè)

5、計》課程設(shè)計任務(wù)書</p><p><b>  一 、設(shè)計目的</b></p><p>  全面熟悉、掌握VHDL語言基本知識,掌握利用VHDL語言對常用的的組合邏輯電路和時序邏輯電路編程,把編程和實際結(jié)合起來,熟悉編制和調(diào)試程序的技巧,掌握分析結(jié)果的若干有效方法,進一步提高上機動手能力,培養(yǎng)使用設(shè)計綜合電路的能力,養(yǎng)成提供文檔資料的習(xí)慣和規(guī)范編程的思想。 </

6、p><p><b>  二、設(shè)計要求</b></p><p>  1、設(shè)計正確,方案合理。</p><p>  2、程序精煉,結(jié)構(gòu)清晰。</p><p>  3、設(shè)計報告5000字以上,含程序設(shè)計說明,用戶使用說明,源程序清單及程序框圖。</p><p><b>  4、上機演示。</

7、b></p><p>  5、有詳細的文檔。文檔中包括設(shè)計思路、設(shè)計仿真程序、仿真結(jié)果及相應(yīng)的分析與結(jié)論。 </p><p><b>  三、進度安排</b></p><p>  第十九周 星期一: 課題講解,查閱資料</p><p>  星期二: 總體設(shè)計,詳細設(shè)計</p><p>

8、  星期三: 編程,上機調(diào)試、修改程序</p><p>  星期四: 上機調(diào)試、完善程序</p><p><b>  星期五: 答辯</b></p><p>  星期六-星期天:撰寫課程設(shè)計報告</p><p><b>  附:</b></p><p>  課程設(shè)計報告

9、裝訂順序:封面、任務(wù)書、目錄、正文、評分、附件(A4大小的圖紙及程序清單)。 </p><p>  正文的格式:一級標題用3號黑體,二級標題用四號宋體加粗,正文用小四號宋體;行距為22。</p><p>  正文的內(nèi)容:一、課題的主要功能;二、課題的功能模塊的劃分(要求畫出模塊圖);三、主要功能的實現(xiàn);四、系統(tǒng)調(diào)試與仿真;五、總結(jié)與體會;六、附件(所有程序的原代碼,要求對程序?qū)懗霰匾淖?/p>

10、釋);七、評分表。</p><p><b>  目 錄</b></p><p>  一. 系統(tǒng)的總體設(shè)計1</p><p>  1.1 問題描述1</p><p>  1.2 設(shè)計思想1</p><p>  1.3 引腳分配1</p><p>  二.出租車計費功

11、能的實現(xiàn)2</p><p>  2.1 系統(tǒng)的總體框圖2</p><p>  2.2 程序流程圖3</p><p>  2.3 系統(tǒng)各功能模塊的實現(xiàn)4</p><p>  四. 調(diào)試與仿真8</p><p>  五. 總結(jié)與體會9</p><p><b>  六. 附件1

12、0</b></p><p><b>  七. 評分表15</b></p><p>  一. 系統(tǒng)的總體設(shè)計</p><p><b>  1.1 問題描述</b></p><p>  出租車計費器一般都是按公里計費,通常是起步價xx 元(xx 元可以行走x公里),然后再是xx 元/公里

13、。要完成一個出租車計費器,就要有兩個計數(shù)單位,一個用來計公里,另外一個用來計費用。通常在出租車的輪子上都有傳感器,用來記錄車輪轉(zhuǎn)動的圈數(shù),而車輪子的周長是固定的,所以知道了圈數(shù)自然也就知道了里程。在這個實驗中,就要模擬出租車計費器的工作過程,用直流電機模擬出租車輪子,通過傳感器,可以得到電機每轉(zhuǎn)一周輸出一個脈沖波形。 (有條件的同學(xué)再完成:顯示用8 個七段碼管,前四個顯示里程,后四個顯示費用。)</p><p>

14、<b>  1.2 設(shè)計思想</b></p><p>  該出租車計費器按下開關(guān)S1后開始計費和計里程數(shù),起步價是3元,準行1公里,以后1元/公里。時鐘輸入為一個1KHz的系統(tǒng)時鐘,直流電機模塊每轉(zhuǎn)一圈輸出一個脈沖信號給CPU,另外用按鍵模塊的S1 來作為整個系統(tǒng)的復(fù)位按鈕,每復(fù)位一次,計費器從頭開始計費。直流電機模塊用來模擬出租車的車輪子,每轉(zhuǎn)動一圈認為是行走1 米,所以每旋轉(zhuǎn)1000 圈

15、,認為車子前進1 公里。系統(tǒng)設(shè)計是需要檢測電機的轉(zhuǎn)動情況,每轉(zhuǎn)1000圈,分頻模塊輸出一個上升沿信號。車費和里程數(shù)在一個8位7段數(shù)碼管上顯示,前4位顯示里程,后4位顯示費用。</p><p><b>  1.3 引腳分配</b></p><p><b>  顯示:</b></p><p>  動態(tài)八位七段數(shù)碼管模塊<

16、/p><p><b>  時鐘:</b></p><p>  直流電機脈沖輸入:</p><p><b>  復(fù)位按鍵</b></p><p>  二.出租車計費功能的實現(xiàn)</p><p>  2.1 系統(tǒng)的總體框圖</p><p>  該出租車計費系統(tǒng)

17、由三個模塊組成,分別是:</p><p>  計費模塊:計算應(yīng)付車費</p><p>  計程模塊:計錄已行里程</p><p>  顯示模塊:將應(yīng)付車費和已行里程顯示在數(shù)碼管上</p><p>  各模塊之間的關(guān)系為:</p><p><b>  2 程序流程圖</b></p>&

18、lt;p><b>  計算路程框圖:</b></p><p>  計算出租車計費框圖:</p><p>  2.3 系統(tǒng)各功能模塊的實現(xiàn)</p><p><b>  計算距離模塊:</b></p><p>  REG:PROCESS(s1,meter) </p><p&

19、gt;<b>  begin</b></p><p>  if s1='1' then </p><p><b>  q1<=0;</b></p><p><b>  q2<=0;</b></p><p><b>  q3<=0;&l

20、t;/b></p><p><b>  q4<=0;</b></p><p>  elsif meter'event and meter='1' then --clk'event and clk='1' then</p><p>  if q4=9 then</p>

21、<p><b>  q4<=0;</b></p><p>  if q3=9 then</p><p><b>  q3<=0;</b></p><p>  if q2=9 then</p><p><b>  q2<=0;</b></p>

22、;<p><b>  q1<=q1+1;</b></p><p><b>  else</b></p><p><b>  q2<=q2+1;</b></p><p><b>  end if;</b></p><p><b

23、>  else</b></p><p>  q3<=q3+1; </p><p><b>  end if;</b></p><p><b>  else</b></p><p><b>  q4<=q4+1;</b></p><

24、;p><b>  end if;</b></p><p><b>  end if;</b></p><p><b>  --end if;</b></p><p>  end process REG;</p><p><b>  計費距離模塊:</b&g

25、t;</p><p>  COM:process( q1) </p><p><b>  begin</b></p><p>  if q1<7 then</p><p><b>  a4<=q1+3;</b></p><p>  else if q1=7 t

26、hen</p><p><b>  a4<=0;</b></p><p>  if a3=9 then</p><p><b>  a3<=0;</b></p><p>  if a2=9 then</p><p><b>  a2<=0;<

27、/b></p><p><b>  a1<=a1+1;</b></p><p><b>  else</b></p><p><b>  a2<=a2+1;</b></p><p><b>  end if;</b></p>

28、<p><b>  else</b></p><p><b>  a3<=a3+1;</b></p><p><b>  end if;</b></p><p>  else if q1=8 then</p><p><b>  a4<=1;&

29、lt;/b></p><p>  if a3=9 then </p><p><b>  a3<=0;</b></p><p>  if a2=9 then</p><p><b>  a2<=0;</b></p><p><b>  a1<

30、=a1+1;</b></p><p><b>  else</b></p><p><b>  a2<=a2+1;</b></p><p><b>  end if;</b></p><p><b>  else</b></p>

31、;<p><b>  a3<=a3+1;</b></p><p><b>  end if;</b></p><p>  else if q1=9 then</p><p><b>  a4<=2;</b></p><p>  if a3=9 then

32、 </p><p><b>  a3<=0;</b></p><p>  if a2=9 then</p><p><b>  a2<=0;</b></p><p><b>  a1<=a1+1;</b></p><p><b&g

33、t;  else</b></p><p><b>  a2<=a2+1;</b></p><p><b>  end if;</b></p><p><b>  else</b></p><p><b>  a3<=a3+1;</b>

34、;</p><p><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;

35、</b></p><p>  end process COM;</p><p><b>  顯示模塊:</b></p><p>  CAM:process(clk)</p><p><b>  begin</b></p><p>  if clk'even

36、t and clk='1' then </p><p>  cout<=cout+1;</p><p><b>  end if;</b></p><p>  end process CAM;</p><p>  pra:process(cout)</p><p><b

37、>  begin</b></p><p>  case cout is</p><p>  when "000"=> wx<="10000000";shuju<=q1;</p><p>  when "001"=> wx<="01000000&quo

38、t;;shuju<=q2;</p><p>  when "010"=> wx<="00100000";shuju<=q3;</p><p>  when "011"=> wx<="00010000";shuju<=q4;</p><p>  w

39、hen "100"=> wx<="00001000";shuju<=a1;</p><p>  when "101"=> wx<="00000100";shuju<=a2;</p><p>  when "110"=> wx<="00

40、000010";shuju<=a3;</p><p>  when "111"=> wx<="00000001";shuju<=a4;</p><p><b>  end case;</b></p><p>  end process pra;</p>&l

41、t;p>  process(shuju) </p><p><b>  begin</b></p><p>  case shuju is</p><p>  when 0=>duan<="0111111"; --0</p><p>  when 1=>duan<=&qu

42、ot;0000110"; --1</p><p>  when 2=>duan<="1011011"; --2</p><p>  when 3=>duan<="1001111"; --3</p><p>  when 4=>duan<="1100110"; -

43、-4</p><p>  when 5=>duan<="1101101"; --5</p><p>  when 6=>duan<="1111101"; --6</p><p>  when 7=>duan<="0000111"; --7</p><p

44、>  when 8=>duan<="1111111"; --8</p><p>  when 9=>duan<="1101111"; --9</p><p>  when others=>null; </p><p><b>  end case;</b></p&

45、gt;<p>  end process; </p><p><b>  四. 調(diào)試與仿真</b></p><p>  在調(diào)試過程中,出現(xiàn)了很多的問題,在編譯時出現(xiàn)同時賦值的現(xiàn)象:</p><p>  圖4 同時賦值現(xiàn)象</p><p>  在程序使用軟件仿真時,出現(xiàn)了問題;開始使用10進制數(shù)進行

46、仿真時由于在計費時,開始不適應(yīng)復(fù)位信號,就會出現(xiàn)幾公里幾塊錢,一但經(jīng)過復(fù)位之后程序使用就正常了,這是有與我在使用時沒有復(fù)位時,不給初值一樣,后來經(jīng)過修改之后就正常了。</p><p><b>  圖5 計費仿真</b></p><p><b>  圖6 距離仿真</b></p><p>  圖7 出租車計費仿真</

47、p><p><b>  五. 總結(jié)與體會</b></p><p>  通過這次緊張而又充實的EDA課程設(shè)計,我感受到了VHDL語言和普通軟件語言之間的區(qū)別,也能夠更加熟練地運用VHDL語言進行邏輯電路的設(shè)計了,受益匪淺。在沒有進行課程設(shè)計之前,我們的上機實踐從來沒有編寫過規(guī)模如此的數(shù)字電路系統(tǒng),最多就寫寫什么半加器,全加器之類的小型實體。而這次課程設(shè)計要想實現(xiàn)課題要求的功

48、能,必須將若干小型實體組合成一個相對大型的實體。不僅如此,在寫完程序后,還要把程序下載到芯片內(nèi),連接相應(yīng)的電子器件,觀察真正的效果。所以,通過這次緊張的課程設(shè)計,我體會了從開始利用VHDL語言編程到把設(shè)想放到真正在電子器件上實現(xiàn)的全部過程,提高了自己從事工程項目設(shè)計的能力。</p><p>  另外,在課程設(shè)計的過程,我碰到了很多棘手的難題,雖然也進行了苦思冥想,卻還是得不到解決方法,有時也有想放棄的念頭,不過終

49、于還是堅持了下來,完成了任務(wù),我意識到今后不管是在工作還是學(xué)習(xí)中,做工程項目都需要有忍耐力和堅持。</p><p>  結(jié)果重要,過程更是我們學(xué)習(xí)的寶貴經(jīng)驗。課程設(shè)計不僅是學(xué)習(xí)一門課,更可以鍛煉我們的實踐能力,動手操作能力,和解決問題的能力。能夠?qū)⒄n堂上所學(xué)的知識靈活、巧妙的運用到實踐操作上是一次很好的體驗,和機會。不僅鍛煉路我們的動手能力,而且加深了對課本的理解和彌補了課本上所不能涉及到的東西。所以在對待每一次

50、的課程設(shè)計時我都很認真,也終于通過自己的努力終于完成了此次的課程設(shè)計。</p><p><b>  六. 附件</b></p><p><b>  程序源代碼:</b></p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;<

51、;/p><p>  use ieee.std_logic_unsigned.all;</p><p>  ENTITY eda IS</p><p>  PORT(clk : IN STD_LOGIC;--外部時鐘輸入口</p><p>  meter : IN STD_LOGIC; -- 外部轉(zhuǎn)圈信號輸入,假定每個上升沿視為車輪轉(zhuǎn)一圈<

52、;/p><p>  S1 : IN STD_LOGIC; -- 外部按鍵輸入復(fù)位信號,假定低電平表示按鍵被按下,高電平表示按鍵未按下</p><p>  wx:out std_logic_vector(7 downto 0);</p><p>  cost1,cost2,cost3,cost4 :out integer range 0 to 9; --輸出計費值個

53、位十位百味</p><p>  dist1,dist2,dist3,dist4 : out integer range 0 to 9); --輸出公里數(shù)小數(shù)點后一位,個位,十位</p><p>  END entity;</p><p>  architecture behav of eda is</p><p>  signal q1,q2

54、,q3,q4:integer range 0 to 9; --</p><p>  signal a1,a2,a3,a4:integer range 0 to 9;</p><p>  signal cout:STD_LOGIC_VECTOR (2 DOWNTO 0);</p><p>  --signal wx:std_logic_vector(7 downto

55、 0);</p><p>  signal shuju:integer range 0 to 9; --控制路程和計費數(shù)據(jù)顯示的位置</p><p>  signal duan:std_logic_vector(6 downto 0); ---控制數(shù)碼管顯示輸出</p><p><b>  begin</b></p><

56、p>  REG:PROCESS(s1,meter) --計算路程</p><p><b>  begin</b></p><p>  if s1='1' then </p><p><b>  q1<=0;</b></p><p><b>  q2<=

57、0;</b></p><p><b>  q3<=0;</b></p><p><b>  q4<=0;</b></p><p>  elsif meter'event and meter='1' then --clk'event and clk='1&#

58、39; then</p><p>  if q4=9 then</p><p><b>  q4<=0;</b></p><p>  if q3=9 then</p><p><b>  q3<=0;</b></p><p>  if q2=9 then</

59、p><p><b>  q2<=0;</b></p><p><b>  q1<=q1+1;</b></p><p><b>  else</b></p><p><b>  q2<=q2+1;</b></p><p>

60、;<b>  end if;</b></p><p><b>  else</b></p><p>  q3<=q3+1; </p><p><b>  end if;</b></p><p><b>  else</b></p>&l

61、t;p><b>  q4<=q4+1;</b></p><p><b>  end if;</b></p><p><b>  end if;</b></p><p><b>  --end if;</b></p><p>  end proc

62、ess REG;</p><p>  COM:process( q1) --計算出租車計費</p><p><b>  begin</b></p><p>  if q1<7 then</p><p><b>  a4<=q1+3;</b></p><p> 

63、 else if q1=7 then</p><p><b>  a4<=0;</b></p><p>  if a3=9 then</p><p><b>  a3<=0;</b></p><p>  if a2=9 then</p><p><b>

64、  a2<=0;</b></p><p><b>  a1<=a1+1;</b></p><p><b>  else</b></p><p><b>  a2<=a2+1;</b></p><p><b>  end if;</b

65、></p><p><b>  else</b></p><p><b>  a3<=a3+1;</b></p><p><b>  end if;</b></p><p>  else if q1=8 then</p><p><b&

66、gt;  a4<=1;</b></p><p>  if a3=9 then </p><p><b>  a3<=0;</b></p><p>  if a2=9 then</p><p><b>  a2<=0;</b></p><p>&l

67、t;b>  a1<=a1+1;</b></p><p><b>  else</b></p><p><b>  a2<=a2+1;</b></p><p><b>  end if;</b></p><p><b>  else<

68、/b></p><p><b>  a3<=a3+1;</b></p><p><b>  end if;</b></p><p>  else if q1=9 then</p><p><b>  a4<=2;</b></p><p>

69、;  if a3=9 then </p><p><b>  a3<=0;</b></p><p>  if a2=9 then</p><p><b>  a2<=0;</b></p><p><b>  a1<=a1+1;</b></p>&

70、lt;p><b>  else</b></p><p><b>  a2<=a2+1;</b></p><p><b>  end if;</b></p><p><b>  else</b></p><p><b>  a3<

71、=a3+1;</b></p><p><b>  end if;</b></p><p>  end if;</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p><

72、;b>  end if;</b></p><p>  end process COM;</p><p>  ------------------------------------------------------------計費 路程顯示輸出</p><p>  CAM:process(clk)</p><p>&l

73、t;b>  begin</b></p><p>  if clk'event and clk='1' then </p><p>  cout<=cout+1;</p><p><b>  end if;</b></p><p>  end process CAM;<

74、/p><p>  pra:process(cout) --控制路程和計費輸出位置</p><p><b>  begin</b></p><p>  case cout is</p><p>  when "000"=> wx<="10000000";shuju<=

75、q1;</p><p>  when "001"=> wx<="01000000";shuju<=q2;</p><p>  when "010"=> wx<="00100000";shuju<=q3;</p><p>  when "011

76、"=> wx<="00010000";shuju<=q4;</p><p>  when "100"=> wx<="00001000";shuju<=a1;</p><p>  when "101"=> wx<="00000100";

77、shuju<=a2;</p><p>  when "110"=> wx<="00000010";shuju<=a3;</p><p>  when "111"=> wx<="00000001";shuju<=a4;</p><p><b&

78、gt;  end case;</b></p><p>  end process pra;</p><p>  process(shuju) --數(shù)碼管顯示</p><p><b>  begin</b></p><p>  case shuju is</p><p>  wh

79、en 0=>duan<="0111111"; --0</p><p>  when 1=>duan<="0000110"; --1</p><p>  when 2=>duan<="1011011"; --2</p><p>  when 3=>duan<=&

80、quot;1001111"; --3</p><p>  when 4=>duan<="1100110"; --4</p><p>  when 5=>duan<="1101101"; --5</p><p>  when 6=>duan<="1111101";

81、 --6</p><p>  when 7=>duan<="0000111"; --7</p><p>  when 8=>duan<="1111111"; --8</p><p>  when 9=>duan<="1101111"; --9</p><

82、;p>  when others=>null; </p><p><b>  end case;</b></p><p>  end process;</p><p>  dist1<=q1;</p><p>  dist2<=q2;</p><p>  dist3&l

83、t;=q3;</p><p>  dist4<=q4;</p><p>  cost1<=a1;</p><p>  cost2<=a2;</p><p>  cost3<=a3;</p><p>  cost4<=a4;</p><p>  end behav;

溫馨提示

  • 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

提交評論