EDA技術(shù)課程設(shè)計出租車自動計費(fèi)系統(tǒng)_第1頁
EDA技術(shù)課程設(shè)計出租車自動計費(fèi)系統(tǒng)_第2頁
EDA技術(shù)課程設(shè)計出租車自動計費(fèi)系統(tǒng)_第3頁
EDA技術(shù)課程設(shè)計出租車自動計費(fèi)系統(tǒng)_第4頁
EDA技術(shù)課程設(shè)計出租車自動計費(fèi)系統(tǒng)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、東 北 石 油 大 學(xué)課 程 設(shè) 計課 程 eda技術(shù)課程設(shè)計 題 目 出租車自動計費(fèi)系統(tǒng) 院 系 電子科學(xué)學(xué)院 專業(yè)班級 電子信息工程 學(xué)生姓名 學(xué)生學(xué)號 070901140520 指導(dǎo)教師 2011年 3 月11日東北石油大學(xué)課程設(shè)計任務(wù)書課程 eda技術(shù)課程設(shè)計題目 出租車自動計費(fèi)系統(tǒng)專業(yè) 電子信息工程 姓名 學(xué)號 070901140520主要內(nèi)容、基本要求、主要參考資料等主要內(nèi)容:設(shè)計一個最大量程為99.99元的出租車自動計費(fèi),計費(fèi)器具有行車?yán)锍逃嬞M(fèi)、等候時間計費(fèi)及起價三部分功能,并用數(shù)碼管顯示車費(fèi)的數(shù)目?;疽螅?、設(shè)計一個出租車自動計費(fèi)器,具有行車?yán)锍逃嬞M(fèi)、等候時間計費(fèi)、及起價三

2、部分,用四位數(shù)碼管顯示總金額,最大值為99.99元;2、行車?yán)锍虇蝺r1元/公里,等候時間單價0.5元/10分鐘,起價3元(3公里起價)均能通過人工輸入。3、行車?yán)锍痰挠嬞M(fèi)電路將汽車行駛的里程數(shù)轉(zhuǎn)換成與之成正比的脈沖數(shù),然后由計數(shù)譯碼電路轉(zhuǎn)換成收費(fèi)金額,實(shí)驗(yàn)中以一個脈沖模擬汽車前進(jìn)十米,則每100個脈沖表示1公里,然后用bcd碼比例乘法器將里程脈沖乘以每公里單價的比例系數(shù),比例系數(shù)可由開關(guān)預(yù)置。例如單價是1.0元/公里,則脈沖當(dāng)量為0.01元/脈沖。4、用led顯示行駛公里數(shù),兩個數(shù)碼管顯示收費(fèi)金額。主要參考資料:1 潘松著.eda技術(shù)實(shí)用教程(第二版). 北京:科學(xué)出版社,2005.2 康華光

3、主編.電子技術(shù)基礎(chǔ) 模擬部分. 北京:高教出版社,2006.3 閻石主編.數(shù)字電子技術(shù)基礎(chǔ). 北京:高教出版社,2003.完成期限 2011.3.11 指導(dǎo)教師 專業(yè)負(fù)責(zé)人 2011年 3月7日一、總體設(shè)計思想1.基本原理可以使用汽車的里程計數(shù)脈沖,也可以在車輪上加裝電磁繼電器,在每行駛一定里程發(fā)出一次脈沖。在本實(shí)驗(yàn)中假設(shè)每10米發(fā)出一次脈沖。時間信號可以通過電容電感振蕩電路或晶體振蕩電路產(chǎn)生分頻取得。本實(shí)驗(yàn)中使通過實(shí)驗(yàn)箱的固定脈沖產(chǎn)生模塊取得?;赾pld的出租車計費(fèi)器的組成如下圖所示。各部分主要功能包括:信號輸入模塊對車輪傳感器傳送的脈沖信號進(jìn)行計數(shù)(每轉(zhuǎn)一圈送一個脈沖),并以高低脈沖模擬

4、出租汽車啟動、停止、暫停、加速按鈕,具有輸入信號作用;數(shù)據(jù)轉(zhuǎn)換模塊將計費(fèi)模塊輸出的車費(fèi)和路程轉(zhuǎn)換成4位的十進(jìn)制數(shù)據(jù);譯碼動態(tài)掃描模塊將路程與費(fèi)用的數(shù)值譯碼后用動態(tài)掃描的方式驅(qū)動數(shù)碼管;數(shù)碼管顯示模塊將公里數(shù)和計費(fèi)金額均用4位led數(shù)碼管顯示(2位整數(shù),2位小數(shù))。2.設(shè)計框圖系統(tǒng)框圖二、設(shè)計步驟和調(diào)試過程1、總體設(shè)計電路(1)分頻模塊分頻模塊是對系統(tǒng)時鐘頻率進(jìn)行分頻。將外部時鐘clk經(jīng)過適當(dāng)?shù)姆诸l后,產(chǎn)生1hz的基準(zhǔn)時鐘信號,提供給電路系統(tǒng)中各有模塊作為計時。這里主要是一個計數(shù)器實(shí)現(xiàn)時鐘的分頻,當(dāng)累加到預(yù)置的數(shù)值后輸出高電平,否則輸出低電平,從而實(shí)現(xiàn)時鐘的分頻。(2)控制模塊計價器控制模塊主要

5、完成對計價器狀態(tài)的控制。 控制模塊的仿真波形圖(3)計量模塊計量模塊是2個100進(jìn)制計數(shù)器,輸入的每10米一次脈沖經(jīng)一次100進(jìn)制計數(shù)獲得每km一次的脈沖,由100進(jìn)制計數(shù)輸出為2個4位2進(jìn)制bcd碼。接顯示模塊,得到計程(0-99km)。計時部分:計算乘客的等待累計時間。等候時間計費(fèi)需將等候時間轉(zhuǎn)換成脈沖個數(shù),用每個脈沖表示的金額與脈沖數(shù)相乘即得計費(fèi)數(shù),例如100個脈沖表示10分鐘,而10分鐘收費(fèi)0。5元,則脈沖當(dāng)量為0。05元/脈沖,如果將脈沖當(dāng)量設(shè)置成與行車?yán)锍逃嬞M(fèi)相同(0。01元/脈沖),則10分鐘內(nèi)的脈沖數(shù)應(yīng)為500個。計程部分:計算乘客所行駛的公里數(shù)。計程器的量程為99km,滿量程

6、后自動歸零。計量模塊的仿真波形圖(4)計費(fèi)模塊計費(fèi)模塊是設(shè)計中的關(guān)鍵模塊,也是最難的模塊。邏輯復(fù)雜,要求多。使用前兩模塊中的分鐘信號作為時間輸入,千米信號作為路程輸入。使用2個特殊編寫的10進(jìn)制計數(shù)器對時間和里程計數(shù)。并且在里程計數(shù)設(shè)置ent輸出,在計費(fèi)小于3元是鉗制角金額輸出為零。但是角計費(fèi)照常只是不顯示。在金額超過3元時顯示。再使用一十進(jìn)制計數(shù)器進(jìn)行十元計數(shù)。 計費(fèi)模塊仿真波形圖(4)譯碼顯示模塊: 譯碼顯示模塊完成計價、計時和計程數(shù)據(jù)顯示。計費(fèi)數(shù)據(jù)送入譯碼顯示模塊進(jìn)行譯碼,最后送至以十元、元、角為單位對應(yīng)的數(shù)碼管上顯示。計程數(shù)據(jù)送入譯碼顯示模塊進(jìn)行譯碼,最后送至以km為單位的數(shù)碼管上顯示

7、。 2、模塊設(shè)計和相應(yīng)模塊程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity chuzuche isport( clk: in std_logic; -系統(tǒng)時鐘 start: in std_logic; -計費(fèi)開始信號 stop: in std_logic; -行駛中,中途等待停止信號 fin: in std_logic; -1km脈沖信號 cha3,cha2,cha1,cha0: out std_logic_vector(3

8、 downto 0); -計費(fèi)輸出信號 km1,km0: out std_logic_vector(3 downto 0); -行駛公里數(shù) min1,min0: out std_logic_vector(3 downto 0); -等待時間輸出end entity chuzuche ;architecture behave of chuzuche is signal q_1: integer range 0 to 99; signal w: integer range 0 to 59;signal c3,c2,c1,c0: std_logic_vector(3 downto 0); signa

9、l k1,k0: std_logic_vector(3 downto 0); signal m1: std_logic_vector(2 downto 0); signal m0: std_logic_vector(3 downto 0);signal temp0,temp1: std_logic_vector(3 downto 0);signal f_1: std_logic; signal en0,en1: std_logic;beginfeipin:process(clk,start)begin if clkevent and clk=1 then if start=0 then f_1

10、 =0; q_1 =0; else if q_1=99 then q_1=0; f_1=1; else q_1=q_1+1; f_1=0; end if; end if; end if;end process;process(fin)begin if finevent and fin=1 then if start=0 then k1=0000; k0=0000; elsif stop=0 then if k0=1001 then k0=0000; if k1=1001 then k1=0000; else k1=k1+1; end if; else k0=k0+1; end if; end

11、if; end if;end process; process(f_1)begin if f_1event and f_1=1 then if start=0 then w=0; m1=000; m0=0000; elsif stop=1 then if w=59 then w=0; if m0=1001 then m0=0000; if m1=0101 then m1=0000; else m1=m1+1; end if; else m0=m0+1; end if;else w=w+1; end if;end if; end if;end process;process(clk)begin

12、if clkevent and clk=1 then if start=0 then en0=0; en1=0; elsif stop=0 then en100000011 then en0=1; else en0=0; end if; elsif stop=1 then en00000010 then en1=1; else en1=0; end if; end if;end if;end process;process(clk,start)variable c13,c15 : integer;begin if start=0 then c3=0000; c2=0000; c1=0011;

13、c0=0000; c13:=0; c15:=0; temp0=0000; temp1=0000; elsif clkevent and clk=1 then if(en0=1)then if(c1313)then c13:=c13+1; if(c13=1)then temp0=k0; end if; if c0=1001 then c0=0000; if c1=1001 then c1=0000; if c2=1001 then c2=0000; if c3=1001 then c3=0000; else c3=c3+1; end if; else c2=c2+1; end if; else

14、c1=c1+1; end if; else c0=c0+1; end if; elsif(k0/=temp0)then c13:=0; end if; elsif(en1=1)then if(c1515)thenc15:=c15+1;if(c15=1)then temp1=m0;end if; if c0=1001 then c0=0000; if c1=1001 then c1=0000; if c2=1001 then c2=0000; if c3=1001 then c3=0000; else c3=c3+1; end if; else c2=c2+1; end if; else c1=

15、c1+1; end if;else c0=c0+1;end if;elsif(m0/=temp1)then c15:=0;end if; end if; end if;end process;process(f_1)begin if f_1event and f_1=1then if start=0 then min1=0000;min0=0000; km1=0000; km0=0000;cha3=0000;cha2=0000; cha1=0000;cha0 =0000; else min1=0&m1;min0=m0; km1=k1; km0=k0;cha3=c3;cha2=c2; cha1=

16、c1;cha0=c0; end if; end if; end process;end behave;3、仿真及仿真結(jié)果分析仿真圖1仿真圖2 4、實(shí)驗(yàn)調(diào)試結(jié)果 為驗(yàn)證所設(shè)計程序是否正確,將程序下載進(jìn)行硬件測試。在quartus開發(fā)環(huán)境中進(jìn)行管腳鎖定,連接好數(shù)碼管驅(qū)動電路,然后將目標(biāo)文件下載到器件中。經(jīng)過多次數(shù)據(jù)測試,顯示正常,基本實(shí)現(xiàn)本實(shí)驗(yàn)的要求。三、結(jié)論及心得體會短短一周的eda課程設(shè)計已經(jīng)接近尾聲了,我們從挑選課設(shè)題目,查閱資料,到研究出總體設(shè)計,詳細(xì)設(shè)計,然后分工合作,再到最后的編程上機(jī)調(diào)試,修改程序,完善程序,收獲頗多。出租車計費(fèi)器系統(tǒng)的設(shè)計已全部完成,能按預(yù)期的效果進(jìn)行模擬汽車啟動,

17、停止、暫停等功能,并設(shè)計動態(tài)掃描電路顯示車費(fèi)數(shù)目。車暫停時停止計費(fèi)。若停止清零,等待下一次計費(fèi)的開始。出租車計費(fèi)系統(tǒng)設(shè)計中體現(xiàn)了vhdl覆蓋面廣,描述能力強(qiáng),是一個多層次的硬件描述語言及pld器件速度快,使用方便,便于修改等特點(diǎn)。本設(shè)計在使用方面居庸一點(diǎn)的價值。由于時間有限和經(jīng)驗(yàn)是平的欠缺,不足之處還望老師予以指正。在這一周里我們再次熟悉和增強(qiáng)了對vhdl語言的基本知識,熟悉利用vhdl語言對常用的的組合邏輯電路和時序邏輯電路編程,把編程和實(shí)際結(jié)合起來。vhdl硬件描述語言打破了硬件和軟件設(shè)計人員之間互不干涉的界限,可以使用語言的形式來進(jìn)行數(shù)字系統(tǒng)的硬件結(jié)構(gòu)、行為的描述,直接設(shè)計數(shù)字電路硬件系

18、統(tǒng)。通過編程、下載后,該芯片已經(jīng)具備了原來需要使用復(fù)雜的數(shù)字電路實(shí)現(xiàn)的功能;更加了解和加深了對編制和調(diào)試程序的技巧,進(jìn)一步提高了上機(jī)動手能力,培養(yǎng)了使用設(shè)計綜合電路的能力,養(yǎng)成了提供文檔資料的習(xí)慣和規(guī)范編程的思想。本次的課程設(shè)計將各個單一的模塊實(shí)現(xiàn)其功能后,學(xué)會通過原理圖或頂層文件把各模塊連接,從而實(shí)現(xiàn)對出租車自動計費(fèi)。課設(shè)注重的不僅是把理論知識鞏固,而且應(yīng)把理論和實(shí)際相結(jié)合,把知識應(yīng)用到生活中。在課設(shè)過程中,遇到了不少問題,數(shù)碼管無法正常顯示,計費(fèi)不按要求等。通過的對源代碼的修改,發(fā)現(xiàn)了一些易忽略的細(xì)節(jié)。課設(shè)考驗(yàn)的是思維邏輯能力,對知識的靈活應(yīng)用,當(dāng)然,合作精神是不可或缺的。課設(shè)時間不長,要在短時間內(nèi)完成絕不是個人力量能達(dá)到的,要學(xué)會集眾人之精華,還要善于利用已有的工具為自己服務(wù),開拓思維。課設(shè)讓我們認(rèn)識到所學(xué)本科知識的真正實(shí)用性,只是這門課開始研究的第一步。在設(shè)計程序時,不能妄想一次就將整個程序設(shè)計好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論