課程設(shè)計---出租車計價器設(shè)計_第1頁
已閱讀1頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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è)計:陳廷川</b></p><p><b>  軟件設(shè)計:喬雷 </b></p><p>  文檔及仿真: 喬雷 陳廷川</p><p>  EDA&VHDL的簡介</p><p>  EDA(Electronic Design Automation)技術(shù)。EDA技

11、術(shù)就是依賴功能強(qiáng)大的計算機(jī),在EDA工具軟件平臺上,對以硬件描述語言HDL(Hardware Description Language)為系統(tǒng)邏輯描述手段完成的設(shè)計文件,自動地完成邏輯編譯、化簡、分割、綜合、布局布線以及邏輯優(yōu)化和仿真測試,直至實現(xiàn)既定的電子線路系統(tǒng)功能。EDA技術(shù)使得設(shè)計者的工作僅限于利用軟件的方式,即利用硬件描述語言和EDA軟件來完成對系統(tǒng)硬件功能的實現(xiàn),這是電子設(shè)計技術(shù)的一個巨大進(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è)計環(huán)境,或宣布自己的設(shè)計工具可以和VHDL接口。1993年,IEEE對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)域,已成為事實上的通用硬件描述語言。</p><p><b>  出租車計價器設(shè)計</b></p><p><b>  一、設(shè)計要求</b></p&

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

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

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

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

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

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

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

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

22、_logic; --計價使能信號</p><p>  stop:in std_logic; --等待信號</p><p>  fin:in std_logic; --公里脈沖信號</p>&l

23、t;p>  cha2,cha1,cha0:out std_logic_vector(3 downto 0); --費用數(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、)); --等待時間 </p><p><b>  計價部分原理如下:</b></p><p>  起步價10元,3公里內(nèi)10元,超出3公里部分,每公里1.6元,車暫停時,2分鐘內(nèi)不加價,超出2分鐘部分,每分鐘2.5元;</p><p>  計費部分源程序如下:</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的時鐘 </p><p>  start :in std_logic; --計價使能信號</p><p>  stop:in std_logi

27、c; --等待信號</p><p>  fin:in std_logic; --公里脈沖信號</p><p>  cha3,cha2,cha1,cha0:out std_logic_vector(3 downto 0); --費用數(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)); --等待時間 </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的信號</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; --秒計數(shù)器</p><p>  signal c3,c2,c1,c0:std_logic_vector(3 downto 0); --制費用計數(shù)器</p><p>  signal k1,k0:std_logic_vector(3 downto 0); --公里計數(shù)器<

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

33、ic; --使能信號</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的信號</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的信號</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的信號</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語句得到計費脈沖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語句完成等待計時</p><p>  if

42、 m0="1001" then m0<="0000"; --此IF語句完成分計數(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使能信號

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語句完成公里脈沖計數(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使能信號</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; --費用數(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語句完成對費用的計數(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ù)——凌陽16位單片機(jī)原理及應(yīng)用.西安電子科技大學(xué)出版社,2004,1.</p><p><b&

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

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

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

59、;  出租車計費器系統(tǒng)的設(shè)計已全部完成,能按預(yù)期的效果進(jìn)行模擬汽車啟動、停止、暫停等功能,并設(shè)計LED數(shù)碼管顯示車費數(shù)目。車暫時1分鐘內(nèi)車費保持不變。若停止則車費清零,等待下一次計費的開始出租車計費系統(tǒng)的設(shè)計中體現(xiàn)了VHDL覆蓋面廣,描述能力強(qiáng),是一個多層次的硬件描述語言及PLD器件速度快,使用方便,便于修改等特點,本設(shè)計在實用方面具有一定的價值。</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>  計費模塊</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; --計費驅(qū)動信號 </p><p>  start:in std_logic; --計費開始信號 </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"; --起步價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、 --公里計數(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); --選擇信號</p>

94、;<p>  c1,c2,c3,c4,out1,out2,out3,out4:in std_logic_vector(3 downto 0); --里程顯示,時間顯示輸入 </p><p>  y:out std_logic_vector(3 downto 0)); --里程顯示,時間顯示輸出</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等.壓縮文件請下載最新的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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論