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

下載本文檔

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

文檔簡介

1、<p><b>  摘要</b></p><p>  隨著微電子技術(shù)的發(fā)展,現(xiàn)代電子技術(shù)的核心已日趨轉(zhuǎn)向基于計(jì)算機(jī)的電子設(shè)計(jì)自動(dòng)化技術(shù)。</p><p>  本學(xué)期,學(xué)校開設(shè)了EDA和VHDL課程的學(xué)習(xí),而學(xué)習(xí)一門編程語言,最好的方法莫過于在一個(gè)完整的系統(tǒng)開發(fā)過程中進(jìn)行。因此,EDA綜合實(shí)驗(yàn)就是一個(gè)最好的學(xué)習(xí)實(shí)踐機(jī)會(huì)。</p><p>

2、;  隨著我國社會(huì)經(jīng)濟(jì)的全面發(fā)展,各大中小城市的出租車營運(yùn)事業(yè)發(fā)展迅速,出租車已經(jīng)成為人們?nèi)粘3鲂羞x擇較為普遍的交通工具。人們對(duì)出租車計(jì)費(fèi)器的要求也越來越高,用戶不僅要求計(jì)費(fèi)器性能穩(wěn)定,計(jì)費(fèi)準(zhǔn)確,有防作弊功能;同時(shí)還要求其具有車票資料打印、IC卡付費(fèi)和電腦串行通信功能。不同國家和地址的計(jì)費(fèi)方式存在差異,如有些地區(qū)有夜間收費(fèi)及郊區(qū)收費(fèi)等,而有些地區(qū)則無夜間收費(fèi)和郊區(qū)收費(fèi)。出租車計(jì)價(jià)器是出租車營運(yùn)收費(fèi)的專用智能化儀表是出租車市場規(guī)范化、 標(biāo)

3、準(zhǔn)化以及減少司機(jī)與乘客之間發(fā)生糾紛的重要設(shè)備。一種功能完備、簡單易用、計(jì)量準(zhǔn)確的出租車計(jì)價(jià)器是加強(qiáng)出租車行業(yè)管理、提高服務(wù)質(zhì)量的必備品。本實(shí)驗(yàn)就是采用VHDL硬件描述語言作為設(shè)計(jì)手段,采用自頂向下的設(shè)計(jì)思路,得到一種出租車計(jì)價(jià)系統(tǒng)的軟件結(jié)構(gòu),通過在 Quartus II軟件下進(jìn)行模擬仿真,并進(jìn)行相應(yīng)的硬件下載調(diào)試,證明所設(shè)計(jì)的電路系統(tǒng)完成了出租車計(jì)價(jià)器的功能,各技術(shù)指標(biāo)符合預(yù)定標(biāo)準(zhǔn),具有一定實(shí)用性。</p><p&g

4、t;  關(guān)鍵詞:EDA &VHDL;Quartus ii;出租車計(jì)價(jià)器。</p><p><b>  目錄</b></p><p>  1.摘要--------------------------------------------1頁</p><p>  2.正文------------------------------------

5、----------------------------3頁</p><p>  1.設(shè)計(jì)要求 ----------------------------------------------------------3頁</p><p>  2.實(shí)驗(yàn)原理及程序-----------------------------------------------------4頁</p>&

6、lt;p>  出租車計(jì)價(jià)流程圖 ------------------------------------------------4頁</p><p>  統(tǒng)結(jié)構(gòu)圖-------------------------------------------------4頁</p><p>  試驗(yàn)程序----------------------------------------------

7、---5頁</p><p>  波形仿真圖-----------------------------------------------9頁</p><p>  3.參考文獻(xiàn)-------------------------------------------12頁</p><p>  4.結(jié)束語-----------------------------------

8、------ 12頁</p><p>  5.致謝--------------------------------------------12頁</p><p>  6.附錄-----------------------------------------------13頁</p><p>  源程序---------------------------------

9、-------------13頁</p><p><b>  組員及工作分配</b></p><p><b>  成員:</b></p><p><b>  喬雷 陳廷川</b></p><p><b>  分工:</b></p><p

10、><b>  硬件設(shè)計(jì):陳廷川</b></p><p><b>  軟件設(shè)計(jì):喬雷 </b></p><p>  文檔及仿真: 喬雷 陳廷川</p><p>  EDA&VHDL的簡介</p><p>  EDA(Electronic Design Automation)技術(shù)。EDA技

11、術(shù)就是依賴功能強(qiáng)大的計(jì)算機(jī),在EDA工具軟件平臺(tái)上,對(duì)以硬件描述語言HDL(Hardware Description Language)為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件,自動(dòng)地完成邏輯編譯、化簡、分割、綜合、布局布線以及邏輯優(yōu)化和仿真測試,直至實(shí)現(xiàn)既定的電子線路系統(tǒng)功能。EDA技術(shù)使得設(shè)計(jì)者的工作僅限于利用軟件的方式,即利用硬件描述語言和EDA軟件來完成對(duì)系統(tǒng)硬件功能的實(shí)現(xiàn),這是電子設(shè)計(jì)技術(shù)的一個(gè)巨大進(jìn)步。</p><

12、;p>  VHDL(Very-High-Speed Integrated Circuit HardwareDescription Language),誕生于1982年。1987年底,VHDL被IEEE和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言 。自IEEE-1076(簡稱87版)之后,各EDA公司相繼推出自己的VHDL設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)工具可以和VHDL接口。1993年,IEEE對(duì)VHDL進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力

13、上擴(kuò)展VHDL的內(nèi)容,公布了新版本的VHDL,即IEEE標(biāo)準(zhǔn)的1076-1993版本,簡稱93版。VHDL和verilog作為ieee的工業(yè)標(biāo)準(zhǔn)硬件描述語言,得到眾多EDA公司支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語言。</p><p><b>  出租車計(jì)價(jià)器設(shè)計(jì)</b></p><p><b>  一、設(shè)計(jì)要求</b></p&

14、gt;<p>  1.計(jì)費(fèi)起步開始計(jì)費(fèi),首先顯示起步費(fèi)3.00元,車在行駛3公里內(nèi),之手起步費(fèi);</p><p>  2.行駛超過3公里后,每公里2元,車費(fèi)一次累加;</p><p>  當(dāng)遇到紅燈或客戶需要停車等待是,按時(shí)間計(jì)費(fèi),計(jì)費(fèi)單價(jià)為美累計(jì)超過一分鐘按1.00元收費(fèi);</p><p>  4.以十進(jìn)制顯示行駛里程,等待累計(jì)時(shí)間,總費(fèi)用。<

15、/p><p><b>  二、實(shí)驗(yàn)原理</b></p><p>  車輪轉(zhuǎn)一圈產(chǎn)生一個(gè)脈沖,用計(jì)數(shù)器累加脈沖數(shù)。再根據(jù)車輪周長,確定車子跑100米要多少脈沖。每100米產(chǎn)生一個(gè)新脈沖,對(duì)新脈沖計(jì)數(shù),這樣公里數(shù)可精確到0.1。對(duì)于計(jì)價(jià)部分用加法器,3km后每到5個(gè)百米脈沖(即0.5km)時(shí)加一次公里單價(jià)的一半。</p><p>  圖1 出租車計(jì)價(jià)器

16、流程圖</p><p>  根據(jù)設(shè)計(jì)要求,系統(tǒng)的輸入信號(hào)clk,計(jì)價(jià)開始信號(hào)start,等待信號(hào)stop,里程脈沖信號(hào)fin。系統(tǒng)的輸出信號(hào)有:總費(fèi)用數(shù)C0—c3,行駛距離k0—k1,等待時(shí)間m0—m1等。系統(tǒng)有兩個(gè)脈沖輸入信號(hào)clk_750k,fin,其中clk_750k將根據(jù)設(shè)計(jì)要求分頻成14hz,15hz和1hz分別作為公里計(jì)費(fèi)和超時(shí)計(jì)費(fèi)的脈沖。兩個(gè)控制輸入開關(guān)start,stop;控制過程為:start作

17、為計(jì)費(fèi)開始的開關(guān),當(dāng)start為高電平時(shí),系統(tǒng)開始根據(jù)輸入的情況計(jì)費(fèi)。當(dāng)有乘客上車并開始行駛時(shí),fin脈沖到來,進(jìn)行行駛計(jì)費(fèi),此時(shí)的stop需要置為0;如需停車等待,就把stop變?yōu)楦唠娖?,并去除fin輸入脈沖,進(jìn)行等待計(jì)費(fèi);當(dāng)乘客下車且不等待時(shí),直接將start置為0,系統(tǒng)停止工作;價(jià)格開始?xì)w為起步價(jià)3.0元。</p><p>  整個(gè)設(shè)計(jì)由分頻模塊,計(jì)量模塊,計(jì)費(fèi)模塊,控制模塊和顯示模塊五個(gè)部分組成。其中計(jì)量

18、模塊是整個(gè)系統(tǒng)實(shí)現(xiàn)里程計(jì)數(shù)和時(shí)間計(jì)數(shù)的</p><p>  重要部分;控制模塊是實(shí)現(xiàn)不同計(jì)費(fèi)方式的選擇部分,根據(jù)所設(shè)計(jì)的使能端選擇是根據(jù)里程計(jì)費(fèi)還是根據(jù)等待時(shí)間計(jì)費(fèi),同時(shí)設(shè)計(jì)通過分頻模塊產(chǎn)生不同頻率的脈沖信號(hào)來實(shí)現(xiàn)系統(tǒng)的計(jì)費(fèi)。計(jì)量模塊采用1hz的驅(qū)動(dòng)信號(hào),計(jì)費(fèi)模塊采用14hz,13hz的驅(qū)動(dòng)信號(hào);計(jì)量模塊每計(jì)數(shù)一次,計(jì)量模塊就實(shí)現(xiàn)14次或者13次計(jì)數(shù),即為實(shí)現(xiàn)計(jì)時(shí)的1/min,計(jì)程時(shí)的2元/km的收費(fèi)。</

19、p><p><b>  圖2 系統(tǒng)結(jié)構(gòu)圖</b></p><p><b>  接口部分定義如下:</b></p><p>  輸入:clk_240,系統(tǒng)時(shí)鐘,頻率為240Hz;</p><p>  Start,啟動(dòng)信號(hào),當(dāng)start=1時(shí),汽車啟動(dòng),開始計(jì)價(jià); 當(dāng)start=0時(shí),清零;</p&g

20、t;<p>  Stop,暫時(shí)計(jì)時(shí)信號(hào),當(dāng)stop-1時(shí),中途暫停,開始計(jì)時(shí);當(dāng)stop=0時(shí),再次出發(fā);</p><p>  Fin,汽車車速脈沖信號(hào),是一個(gè)與隨著車速變化而變化的脈沖信號(hào)。</p><p>  輸出:cha2,cha1,cha0,分別為價(jià)錢的十位,個(gè)位和角位;</p><p>  Km1,km0,分別為行駛公里數(shù)的十位,個(gè)位;<

21、;/p><p>  Min0,暫時(shí)分鐘數(shù)輸出。</p><p>  接口部分源程序如下:</p><p>  port ( clk_240 :in std_logic; --頻率為240Hz的時(shí)鐘 </p><p>  start :in std

22、_logic; --計(jì)價(jià)使能信號(hào)</p><p>  stop:in std_logic; --等待信號(hào)</p><p>  fin:in std_logic; --公里脈沖信號(hào)</p>&l

23、t;p>  cha2,cha1,cha0:out std_logic_vector(3 downto 0); --費(fèi)用數(shù)據(jù)</p><p>  km1,km0:out std_logic_vector(3 downto 0); --公里數(shù)據(jù) </p><p>  min0: out std_logic_vector(3 downto 0

24、)); --等待時(shí)間 </p><p><b>  計(jì)價(jià)部分原理如下:</b></p><p>  起步價(jià)10元,3公里內(nèi)10元,超出3公里部分,每公里1.6元,車暫停時(shí),2分鐘內(nèi)不加價(jià),超出2分鐘部分,每分鐘2.5元;</p><p>  計(jì)費(fèi)部分源程序如下:</p><p>  librar

25、y IEEE;</p><p>  use IEEE.STD_LOGIC_1164.ALL;</p><p>  use IEEE.STD_LOGIC_ARITH.ALL;</p><p>  use IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  entity taxi is</p><p&

26、gt;  port ( clk_240 :in std_logic; --頻率為240Hz的時(shí)鐘 </p><p>  start :in std_logic; --計(jì)價(jià)使能信號(hào)</p><p>  stop:in std_logi

27、c; --等待信號(hào)</p><p>  fin:in std_logic; --公里脈沖信號(hào)</p><p>  cha3,cha2,cha1,cha0:out std_logic_vector(3 downto 0); --費(fèi)用數(shù)據(jù)</p><

28、p>  km1,km0:out std_logic_vector(3 downto 0); --公里數(shù)據(jù) </p><p>  min1,min0: out std_logic_vector(3 downto 0)); --等待時(shí)間 </p><p><b>  end taxi;</b></p>

29、<p>  architecture behav of taxi is</p><p>  signal f_15,f_16,f_1:std_logic; --頻率為15Hz,16Hz,1Hz的信號(hào)</p><p>  signal q_15:integer range 0 to 15;

30、 --分頻器</p><p>  signal q_16:integer range 0 to 14; --分頻器</p><p>  signal q_1:integer range 0 to 239; --分頻器</p><p>  signal w:integer rang

31、e 0 to 59; --秒計(jì)數(shù)器</p><p>  signal c3,c2,c1,c0:std_logic_vector(3 downto 0); --制費(fèi)用計(jì)數(shù)器</p><p>  signal k1,k0:std_logic_vector(3 downto 0); --公里計(jì)數(shù)器<

32、;/p><p>  signal m1:std_logic_vector(2 downto 0); --分的十位計(jì)數(shù)器</p><p>  signal m0:std_logic_vector(3 downto 0); --分的個(gè)位計(jì)數(shù)器</p><p>  signal en1,en0,f:std_log

33、ic; --使能信號(hào)</p><p><b>  begin</b></p><p>  feipin:process(clk_240,start)</p><p><b>  begin</b></p><p>  if clk_240

34、9;event and clk_240='1' then</p><p>  if start='0' then q_15<=0;q_16<=0;f_15<='0';f_16<='0';f_1<='0';f<='0';</p><p><b>  e

35、lse</b></p><p>  if q_15=15 then q_15<=0;f_15<='1'; --此IF語句得到頻率為15Hz的信號(hào)</p><p>  else q_15<=q_15+1;f_15<='0';</p><p><b>  end if;</b

36、></p><p>  if q_16=14 then q_16<=0;f_16<='1'; --此IF語句得到頻率為16Hz的信號(hào)</p><p>  else q_16<=q_16+1;f_16<='0';</p><p><b>  end if;</b></

37、p><p>  if q_1=239 then q_1<=0;f_1<='1'; --此IF語句得到頻率為1Hz的信號(hào)</p><p>  else q_1<=q_1+1;f_1<='0';</p><p><b>  end if;</b></p><p&

38、gt;  if en1='1' then f<=f_15; --此IF語句得到計(jì)費(fèi)脈沖f</p><p>  elsif en0='1' then f<=f_16;</p><p>  else f<='0';</p><p><b>  end if;<

39、;/b></p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process;</p><p>  process(f_1)</p><p><b>  begin</b&g

40、t;</p><p>  if f_1'event and f_1='1' then</p><p>  if start='0' then</p><p>  w<=0;en1<='0';en0<='0';m1<="000";m0<="

41、;0000";k1<="0000";k0<="0000";</p><p>  elsif stop='1' then</p><p>  if w=59 then w<=0; --此IF語句完成等待計(jì)時(shí)</p><p>  if

42、 m0="1001" then m0<="0000"; --此IF語句完成分計(jì)數(shù)</p><p>  if m1<="101" then m1<="000";</p><p>  else m1<=m1+1;</p><p><b&

43、gt;  end if;</b></p><p>  else m0<=m0+1;</p><p><b>  end if;</b></p><p>  if m1&m0>"0000001"then en1<='1'; --此IF語句得到en1使能信號(hào)

44、</p><p>  else en1<='0';</p><p><b>  end if;</b></p><p>  else w<=w+1;en1<='0';</p><p><b>  end if;</b></p><

45、p>  elsif fin='1' then</p><p>  if k0="1001" then k0<="0000"; --此IF語句完成公里脈沖計(jì)數(shù)</p><p>  if k1="1001" then k1<="0000";</

46、p><p>  else k1<=k1+1;</p><p><b>  end if;</b></p><p>  else k0<=k0+1;</p><p><b>  end if;</b></p><p>  if k1&k0>"00

47、000010" then en0<='1'; --此IF語句得到en0使能信號(hào)</p><p>  else en0<='0';</p><p>  end if; </p><p>  else en1<='0';en0<='0';&

48、lt;/p><p><b>  end if;</b></p><p>  cha3<=c3;cha2<=c2;cha1<=c1;cha0<=c0; --費(fèi)用數(shù)據(jù)輸出</p><p>  km1<=k1;km0<=k0;min1<='0'&m1;min0

49、<=m0; --公里數(shù)據(jù)、分鐘數(shù)據(jù)輸出</p><p><b>  end if;</b></p><p>  end process;</p><p>  process(f,start)</p><p><b>  begin</b></p><

50、;p>  if start='0' then c3<="0000";c2<="0001";c1<="0000";c0<="0000";</p><p>  elsif f'event and f='1' then</p><p>  if c

51、0="1001" then c0<="0000"; --此IF語句完成對(duì)費(fèi)用的計(jì)數(shù)</p><p>  if c1="1001" then c1<="0000";</p><p>  if c2="1001" then c2<=&quo

52、t;0000";</p><p>  if c3<="1001" then c3<="0000";</p><p>  else c3<=c3+1;</p><p><b>  end if;</b></p><p>  else c2<=c2+1

53、;</p><p><b>  end if;</b></p><p>  else c1<=c1+1;</p><p><b>  end if;</b></p><p>  else c0<=c0+1;</p><p><b>  end if;&l

54、t;/b></p><p><b>  end if;</b></p><p>  end process;</p><p>  end behav; </p><p><b>  圖3 仿真波形圖1</b></p><p><b>  圖4 仿真波形圖2&l

55、t;/b></p><p><b>  參考文獻(xiàn)</b></p><p>  EDA技術(shù)與VHDL 潘松 黃繼業(yè) 編著,--3版,--北京:清華大學(xué)出版社,2009.9</p><p>  單片機(jī)原理及實(shí)用技術(shù)——凌陽16位單片機(jī)原理及應(yīng)用.西安電子科技大學(xué)出版社,2004,1.</p><p><b&

56、gt;  結(jié)束語 </b></p><p>  這次實(shí)訓(xùn)中,我們主要是運(yùn)用VHDL語言設(shè)計(jì)了一個(gè)出租車計(jì)費(fèi)器,并且用層次化的設(shè)計(jì)方法來實(shí)現(xiàn)這個(gè)電路。在程序編寫結(jié)束后,我們還對(duì)該程序進(jìn)行了調(diào)試, 能按預(yù)期的效果進(jìn)行模擬汽車啟動(dòng)、停止、暫停等功能,基本完成課程設(shè)計(jì)的要求。</p><p>  此外,由于是初學(xué)EDA及VHDL,難免一些錯(cuò)誤及不足之處,本系統(tǒng)也存在一定的缺陷,如車費(fèi)只

57、能顯示到十位,百位無法顯示,暫停也只能顯示10分鐘以內(nèi)。因此,改進(jìn)方向可從擴(kuò)大輸出范圍入手。</p><p>  通過此次實(shí)訓(xùn),我們更進(jìn)一步的深入了解了VHDL設(shè)計(jì)語言,并通過使用對(duì)它有了更深的體會(huì)。對(duì)于編程過程中可能遇到的問題有了一定的了解,也明白了其中的一些注意事項(xiàng),對(duì)于下次進(jìn)行編程設(shè)計(jì)有很大的幫助和提高。</p><p>  總之,這次實(shí)驗(yàn)不僅僅加強(qiáng)了我們的動(dòng)手編程能力,也大大加強(qiáng)了

58、團(tuán)隊(duì)合作以及設(shè)計(jì)能力,使我們?cè)诶碚搶W(xué)習(xí)和編程練習(xí)方面及實(shí)際操作方面都獲得了較大的收獲。</p><p><b>  致謝</b></p><p>  最后,衷心感謝xx老師全程指導(dǎo)及提出的寶貴建議,可以說,沒有xx老師,本實(shí)驗(yàn)就不能取得成功。</p><p><b>  附錄</b></p><p>

59、;  出租車計(jì)費(fèi)器系統(tǒng)的設(shè)計(jì)已全部完成,能按預(yù)期的效果進(jìn)行模擬汽車啟動(dòng)、停止、暫停等功能,并設(shè)計(jì)LED數(shù)碼管顯示車費(fèi)數(shù)目。車暫時(shí)1分鐘內(nèi)車費(fèi)保持不變。若停止則車費(fèi)清零,等待下一次計(jì)費(fèi)的開始出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)中體現(xiàn)了VHDL覆蓋面廣,描述能力強(qiáng),是一個(gè)多層次的硬件描述語言及PLD器件速度快,使用方便,便于修改等特點(diǎn),本設(shè)計(jì)在實(shí)用方面具有一定的價(jià)值。</p><p><b>  百進(jìn)紙模塊</b&g

60、t;</p><p><b>  1.源程序:</b></p><p>  library ieee; use ieee.std_logic_1164.all; </p><p>  use ieee.std_logic_unsigned.all; </p><p>  entity baijinzhi is p

61、ort(start,clk2: in std_logic; --秒脈沖 </p><p>  a: out std_logic_vector(3 downto 0)); </p><p>  end baijinzhi; </p><p>  architecture rt1 of baijinzhi issig

62、nal </p><p>  count_1:std_logic_vector(3 downto 0);</p><p>  begin </p><p>  a<=count_1;process(start,clk2) </p><p>  begin </p><p>  if

63、(start='0')then </p><p>  count_1<="0000"; </p><p>  elsif(clk2'event and clk2='1')then </p><p>  if(count_1="0111&qu

64、ot;)then </p><p>  count_1<="0000"; </p><p>  else </p><p>  count_1<=count_1+'1'; </

65、p><p>  end if; </p><p><b>  end if;</b></p><p>  end process;</p><p><b>  end rt1</b></p><p><b>  計(jì)費(fèi)模塊</b>&l

66、t;/p><p><b>  源程序如下:</b></p><p>  Library IEEE;</p><p>  use IEEE.std_logic_1164.all;</p><p>  use IEEE.std_logic_arith.all;</p><p>  use IEEE

67、.std_logic_unsigned.all;</p><p>  entity jifei isport(clk2:in std_logic; --計(jì)費(fèi)驅(qū)動(dòng)信號(hào) </p><p>  start:in std_logic; --計(jì)費(fèi)開始信號(hào) </p><p>  c0,c1,c2,

68、c3:buffer std_logic_vector(3 downto 0));</p><p>  end jifei;</p><p>  architecture rt1 of jifei isbeginprocess(clk2,start)</p><p><b>  begin </b></p><p&

69、gt;  if start='0'then c3<="0000";</p><p>  c2<="0000";c1<="0101";c0<="0000"; --起步價(jià)5元 </p><p>  elsif clk2'event and clk2=&#

70、39;1'then </p><p>  if c0="1001" then c0<="0000"; </p><p>  if c1="1001" then c1<="0000"; </p><p>  if c2="1

71、001" then c2<="0000"; </p><p>  if c3="1001" then c3<="0000"; </p><p>  else c3<=c3+1; </p><p>  end if;

72、 </p><p>  else c2<=c2+1; </p><p>  end if; </p><p>  else c1<=c1+1; </p><p>  end if; </p><p>  else c0<=

73、c0+1; </p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process;</p><p><b>  end rt1;</b></p><p>&

74、lt;b>  3.公里模塊</b></p><p><b>  源程序如下:</b></p><p>  library ieee; </p><p>  use ieee.std_logic_1164.all; </p><p>  use ieee.std_logic_unsigned.all; &

75、lt;/p><p>  entity gongli is </p><p>  port(clk1,start: in std_logic; --百米脈沖</p><p>  k1,k2,k3,k4: out std_logic_vector(3 downto 0); --里程顯示 </p><p&g

76、t;  temp2 : out std_logic); </p><p>  end gongli; </p><p>  architecture rt1 of gongli is </p><p>  signal count_1: std_logic_vector(3 downto 0);</p><p>  signal coun

77、t_2: std_logic_vector(3 downto 0);</p><p>  signal count_3: std_logic_vector(3 downto 0);</p><p>  signal count_4: std_logic_vector(3 downto 0);</p><p><b>  begin </b>

78、</p><p>  k1<=count_1;</p><p>  k2<=count_2;</p><p>  k3<=count_3;</p><p>  k4<=count_4;</p><p>  process(start,clk1) </p><p><

79、b>  begin </b></p><p>  if(start='0')then </p><p>  count_1<="0000";</p><p>  count_2<="0000";</p><p>  count_3<="000

80、0";</p><p>  count_4<="0000"; ---公里清零</p><p>  elsif(clk1'event and clk1='1')then </p><p>  if(count_1="1001")then

81、 --公里計(jì)數(shù)器 </p><p>  count_1<="0000";count_2<=count_2+1;temp2<='1';</p><p>  if(count_2="1001")then </p><p>  count_2<="0000&qu

82、ot;;count_3<=count_3+'1'; </p><p>  if(count_3="1001")then </p><p>  count_3<="0000";count_4<=count_4+'1'; </p><p><

83、b>  end if; </b></p><p><b>  end if; </b></p><p><b>  else </b></p><p>  count_1<=count_1+'1';temp2<='0'; </p><p>

84、;  end if; </p><p><b>  end if; </b></p><p>  end process;</p><p><b>  end rt1; </b></p><p><b>  4.輸出模塊</b></p><p

85、><b>  源程序如下:</b></p><p>  library ieee; </p><p>  use ieee.std_logic_1164.all; </p><p>  use ieee.std_logic_unsigned.all; </p><p>  entity shuchu is <

86、/p><p>  port(y: in std_logic_vector(3 downto 0); </p><p>  e: out std_logic_vector(6 downto 0)); </p><p>  end shuchu; </p><p>  architecture rt1of shuchu is </p>

87、<p><b>  begin</b></p><p><b>  process</b></p><p><b>  begin</b></p><p><b>  case y is</b></p><p>  when"0000&

88、quot;=>e<="0111111";</p><p>  when"0001"=>e<="0000110";</p><p>  when"0010"=>e<="1011011";</p><p>  when"001

89、1"=>e<="1001111";</p><p>  when"0100"=>e<="1100110";</p><p>  when"0101"=>e<="1101101";</p><p>  when"0

90、110"=>e<="1111101";</p><p>  when"0111"=>e<="0000111";</p><p>  when"1000"=>e<="1111111";</p><p>  when"

91、;1001"=>e<="1100111";</p><p>  when others=>e<="0000000";</p><p><b>  end case;</b></p><p>  end process;</p><p><b&

92、gt;  end rt1;</b></p><p><b>  5.顯示模塊</b></p><p><b>  源程序如下:</b></p><p>  library ieee; </p><p>  use ieee.std_logic_1164.all; </p>

93、<p>  use ieee.std_logic_unsigned.all; </p><p>  entity xianshi is </p><p>  port(start: in std_logic;</p><p>  a:in std_logic_vector(3 downto 0); --選擇信號(hào)</p>

94、;<p>  c1,c2,c3,c4,out1,out2,out3,out4:in std_logic_vector(3 downto 0); --里程顯示,時(shí)間顯示輸入 </p><p>  y:out std_logic_vector(3 downto 0)); --里程顯示,時(shí)間顯示輸出</p><p>  end xianshi

95、;</p><p>  architecture rt1 of xianshi is </p><p><b>  begin</b></p><p><b>  process </b></p><p><b>  begin</b></p><p>

96、  if(start='0')then</p><p>  y<="0000";</p><p>  else case a is</p><p>  when "0000"=> y<=c1 ;</p><p>  when "0001"=>

97、 y<=c2 ;</p><p>  when "0010"=> y<=c3 ;</p><p>  when "0011"=> y<=c4 ;</p><p>  when "0100"=> y<=out1 ;</p><p>  when

98、 "0101"=> y<=out2;</p><p>  when "0110"=> y<=out3 ;</p><p>  when "0111"=> y<=out4;</p><p>  when others =>y<= "0000"

99、;</p><p><b>  end case;</b></p><p><b>  end if;</b></p><p>  end process;</p><p><b>  end rt1;</b></p><p><b>  6.

100、dian模塊</b></p><p><b>  源程序如下:</b></p><p>  library ieee; </p><p>  use ieee.std_logic_1164.all; </p><p>  use ieee.std_logic_unsigned.all; </p>

101、<p>  entity dian is </p><p>  port(a: in std_logic_vector(3 downto 0);</p><p>  e: out std_logic); </p><p>  end dian; </p><p>  architecture rt1 of dian is <

102、/p><p><b>  begin</b></p><p><b>  process</b></p><p><b>  begin</b></p><p>  case a is </p><p>  when "0001"=&

103、gt;e<='1'; </p><p>  when "0101"=>e<='1';</p><p>  when others=>e<='0';</p><p><b>  end case;</b></p><p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論