速度里程表設(shè)計_第1頁
速度里程表設(shè)計_第2頁
速度里程表設(shè)計_第3頁
速度里程表設(shè)計_第4頁
速度里程表設(shè)計_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗題目:速度里程表實驗題目:速度里程表 班級:生物醫(yī)學(xué)工程學(xué)院班級:生物醫(yī)學(xué)工程學(xué)院 07 級級 組員:(1).姓名姓名: 徐健 學(xué)號學(xué)號: (2 2)姓名:)姓名: 朱杰檀 學(xué)號:學(xué)號: (3 3)姓名:)姓名: 黃銀國 學(xué)號:學(xué)號: (4 4)姓名)姓名 陳甜 學(xué)號:學(xué)號: (5 5)姓名:)姓名: 李凌宇 學(xué)號:學(xué)號: 日期:2009 年 6 月 27 日 目錄目錄 實驗原理。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。

2、3 方案論證和選擇。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。3 所用設(shè)備、器材。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。3 硬件方案(完整的電路原理圖) 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。4 軟件方案

3、(程序流程圖,源程序(含注釋) ) 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。10 調(diào)試過程。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。13 運行結(jié)果及分析。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。16 實驗的收獲體會及建議。 。

4、 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。17 組長對本人及組員評價。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。17 參考文獻(xiàn):作者、名稱、出版社、出版日期。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。17 實驗原理:實驗原理: 本設(shè)計能實時地將所測的速度與累計里程數(shù)顯示出來,主要是將傳感器輸入到單片機(jī)的 脈沖

5、信號的頻率(傳感器將不同車速轉(zhuǎn)變成不同頻率的脈沖信號)實時地測量出來,考慮 到信號的衰減、干擾等影響,在信號送入單片機(jī)前應(yīng)對其進(jìn)行放大整形。 本設(shè)計用兩個按鍵來控制顯示速度或里程。單片機(jī)利用定時器 T0 的控制功能測出輸入 信號的周期后,再利用單片機(jī)的算術(shù)運算功能將周期轉(zhuǎn)換成速度,同時每秒鐘進(jìn)行一次里 程累計,從而計算出總里程。最后將得出的速度、里程值存儲在 EEPROM 中,并根據(jù)兩 個按鍵的選擇情況來顯示速度或里程。為了方便計算要顯示數(shù)據(jù)值的段碼,可再將其轉(zhuǎn)換 成壓縮的 BCD 碼,然后通過查表將要顯示的數(shù)據(jù)值中每一位的壓縮 BCD 碼轉(zhuǎn)換成 8 段碼 送到顯示緩沖區(qū),最后經(jīng)串口數(shù)據(jù)存儲器

6、送至 LED 顯示模塊以顯示所測的速度或里程。 本設(shè)計的里程數(shù)的算法是一種大概的算法(假設(shè)在一定時間內(nèi)汽車是勻速行進(jìn),平均速 度與時間的乘積即為里程數(shù))。 設(shè)計時,應(yīng)綜合考慮測速精度和系統(tǒng)反應(yīng)時間。本設(shè)計用測量脈沖頻率來計算速度, 因而具有較高的測速精度。在計算里程時取了汽車的理想狀態(tài)。實際中,誤差控制在幾米 之內(nèi),相對于整個里程來說不是很大。為了保證系統(tǒng)的實時性,系統(tǒng)的速度轉(zhuǎn)換模塊和顯 示數(shù)據(jù)轉(zhuǎn) BCD 碼模塊都采用快速算法。另外,還應(yīng)盡量保證其他子模塊在編程時的通用性 和高效性。本設(shè)計的速度和里程值采用 8 位顯示,并包含兩個小數(shù)位。 方案論證和選擇方案論證和選擇 本速度里程表設(shè)計以單片機(jī)

7、和光電傳感器為核心。傳感器將不同車速轉(zhuǎn)變成的不同頻率 的脈沖信號輸入到單片機(jī)進(jìn)行控制與計算,再采用 LED 模塊進(jìn)行顯示,使得速度里程數(shù)據(jù) 能直觀的顯示給使用者。 所用設(shè)備、器材組成所用設(shè)備、器材組成 本速度里程表由信號預(yù)處理電路、AT89C51 單片機(jī)、串口液晶顯示電路、串口數(shù)據(jù)存 儲電路和系統(tǒng)軟件組成。其中信號預(yù)處理電路包含信號放大、波形變換和波形整形。信號 預(yù)處理電路中的放大器用于對待測信號進(jìn)行放大,以降低對待測信號的幅度要求;波形變 換和波形整形電路則用來將放大的信號轉(zhuǎn)換成可與單片機(jī)接口的 TTL 信號;通過單片機(jī)的 設(shè)置可使 INT0 引腳能夠?qū)?nèi)部定時器 T0 的工作進(jìn)行控制,這樣

8、能精確地測出加到 INT0 引腳的正脈沖數(shù)(即測出脈沖信號的周期) ;設(shè)計中速度顯示采用 LED 模塊,所得的數(shù)據(jù)采 用 I2C 總線并通過 EEPROM 來存儲,因而節(jié)省了所需單片機(jī)的口線和外圍器件,同時也 簡化了顯示部分的軟件編程系統(tǒng)軟件包括單片機(jī)和 LED 模塊的初始化模塊、LED 模塊的寫 數(shù)據(jù)命令子模塊、周期測量模塊、速度里程計算模塊、數(shù)據(jù)存儲模塊、速度和里程顯示 數(shù)據(jù)轉(zhuǎn) BCD 碼模塊、顯示數(shù)據(jù)消多余零模塊、數(shù)據(jù)顯示模塊以及實時中斷服務(wù)模塊等,系 統(tǒng)的原理框圖如圖 1 所示。 圖 1 系統(tǒng)的原理框圖 硬件方案(完整的電路原理圖)硬件方案(完整的電路原理圖) 一、系統(tǒng)硬件設(shè)計 1 1

9、 信號預(yù)處理電路信號預(yù)處理電路 信號預(yù)處理電路如圖 3 所示,系統(tǒng)的信號預(yù)處理電路由二級電路構(gòu)成,第一級是由開 關(guān)三極管組成的零偏置放大器,采用開關(guān)三極管可以保證放大器具有良好的高頻響應(yīng)。當(dāng) 輸入信號為零或負(fù)電壓時,三極管截止,電路輸出高電平;而當(dāng)輸入信號為正電壓時,三 極管導(dǎo)通,此時輸出電壓隨著輸入電壓的上升而下降,這使得速度里程表既可以測量任意 方波信號的頻率,也可以測量正弦波信號的頻率。由于放大器的放大功能降低了對待測信 號的幅度要求,因此,系統(tǒng)能對任意大于 0.5V 的正弦波和脈沖信號進(jìn)行測量。預(yù)處理電路 的第二級采用 74LS14 把放大器生成的單相脈沖轉(zhuǎn)換成與 COMS 電平相兼容

10、的方波信號(如 圖 4 所示),同時將輸出信號加到單片機(jī)的 P3.2 口上。 圖 3 信號預(yù)處理電路圖 圖 4 施密特觸發(fā)器對脈沖的整形 利用施密特觸發(fā)器狀態(tài)轉(zhuǎn)換過程中的正反饋作用,可以把邊沿變化緩慢的周期性信 號變換為邊沿很陡的矩形脈沖信號。輸入的信號只要幅度大于 VT+,即可在施密特觸發(fā)器 的輸出端得到同等頻率的矩形脈沖信號。 從傳感器得到的矩形脈沖經(jīng)傳輸后往往發(fā)生波形畸變。當(dāng)傳輸線上的電容較大時, 波形的上升沿將明顯變壞;當(dāng)傳輸線較長,而且接受端的阻抗與傳輸線的阻抗不匹配時, 在波形的上升沿和下降沿將產(chǎn)生振蕩現(xiàn)象;當(dāng)其他脈沖信號通過導(dǎo)線間的分布電容或公共 電源線疊加到矩形脈沖信號時,信號

11、上將出現(xiàn)附加的噪聲。無論出現(xiàn)上述的那一種情況, 都可以通過用施密特反相觸發(fā)器整形而得到比較理想的矩形脈沖波形。只要施密特觸發(fā)器 的 VT+和 VT-設(shè)置得合適,均能受到滿意的整形效果。 2 2 EEPROMEEPROM AT24C02 的應(yīng)用 AT24C02 是 CMOS 2048 位串行 EEPROM,在內(nèi)部組織成 2568 位。AT24C02 的特點是 具有允許在簡單的二線總線上工作的串行接口和軟件協(xié)議。 如圖 5 所示,在本設(shè)計中用芯片 AT24C02 的 SDA 端與單片機(jī)的 P3.7 口相連,SCL 端 與單片機(jī)的 P3.5 口相連。因為在這個 I2C 總線上只有一個器件,所以把 A

12、T24C02 的地址設(shè) 為 000,即把 A0、A1、A2 都接地。單片機(jī)計算出來的里程數(shù)據(jù)通過 SDA、SCL 向 AT24C02 輸送數(shù)據(jù)。單片機(jī)首先向 AT24C02 發(fā)送寫信號,當(dāng)確認(rèn)后從單片機(jī)內(nèi)部的數(shù)據(jù)儲存單元提 取數(shù)據(jù)然后向 AT24C02 的內(nèi)部地址傳送數(shù)據(jù)。當(dāng)顯示里程時,單片機(jī)首先向 AT24C02 發(fā)送 讀信號,然后確認(rèn)后,單片機(jī)從 AT24C02 內(nèi)部的地址向單片機(jī)的讀出單元字節(jié)讀出數(shù)據(jù), 供顯示所用。 圖 5 AT24C02 與單片機(jī)的接口電路圖 3 顯示部分顯示部分 本設(shè)計的顯示模塊包括 MC14511BCP、CD4076、74LS138 和 8 個 LED 顯示管等器

13、件。 MC14511 是將鎖存、譯碼、驅(qū)動三種功能集于一身的“三合一”器件。鎖存器的作用是避 免在計數(shù)過程中出現(xiàn)跳數(shù)現(xiàn)象,便于觀察和記錄。用譯碼器將 BCD 碼轉(zhuǎn)換成 7 段碼,再經(jīng) 過大電流反相器,驅(qū)動共陰極 LED 數(shù)碼管。譯碼器屬于非時序電路,其輸出狀態(tài)與時鐘無 關(guān),僅取決于輸入的 BCD 碼。 74LS138 的作用相當(dāng)于位選的功能,當(dāng) C,B,A 的輸入分別為 “000、001、010、011、100、101、110、111”時分別選擇不同的 MC14511,從而在不同 位上顯示不同的數(shù)字和小數(shù)點。CD4076 是 CMOS 4 位三態(tài)輸出 D 寄存器,通過 74LS138 的 Y6

14、,Y7 來控制其 CP 的工作,從而使 CD4076 來控制小數(shù)點顯示。圖 6 是顯示模塊 圖 6 顯示模塊框圖 圖 7 為系統(tǒng)顯示部分的電路。系統(tǒng)中用 74LS138 的 Y0Y5 選擇 MC14511 以驅(qū)動 LED 顯示, Y6、Y7 來控制 CD40756 的 CP,從而達(dá)到以 CD4076 的 Q1Q4 控制小數(shù)點的顯示,另一個 CD4076 只用到其 Q1 和 Q2,圖中字符相對應(yīng)的地方表示其引腳相連。 圖 7 系統(tǒng)顯示部分的電路 8 二、原理原理圖電路見圖 1,由檢測傳感器、單片機(jī)電路和數(shù)碼顯示電路等部分組成。 圖 1 軟件方案(程序流程圖,源程序(含注釋)軟件方案(程序流程圖,

15、源程序(含注釋) ) 系統(tǒng)的軟件設(shè)計系統(tǒng)的軟件設(shè)計 1 1 系統(tǒng)軟件框圖系統(tǒng)軟件框圖 如圖 8 所示,本系統(tǒng)軟件采用模塊化設(shè)計方法。整個系統(tǒng)由初始化模塊、頻率測量 模塊、速度,里程計算模塊、數(shù)據(jù)轉(zhuǎn)碼模塊、速度顯示模塊、里程顯示模塊、數(shù)據(jù) 存儲,讀取模塊、定時器中斷服務(wù)模塊以及其他功能模塊組成。 圖 8 系統(tǒng)軟件框圖 2 2 數(shù)據(jù)處理數(shù)據(jù)處理 待測信號經(jīng)預(yù)處理電路后加至單片機(jī)的 P3.4(T0)引腳可為單片機(jī)測量信號頻率 提供有效的輸入信號。單片機(jī)通過檢測 P3.4 引腳電平來決定是否啟動測量頻率程序。當(dāng)該 引腳為高電平時,系統(tǒng)處于等待狀態(tài),要一直到該引腳出現(xiàn)低電平時才開始測頻率。 我們可從硬件

16、的鋁盤上知道兩個過孔之間在圓周上的距離。而這個距離 M 正好為計 算速度和距離起到了基本的數(shù)據(jù)儲備作用。同時可以從 TL0 寄存器知道在兩秒內(nèi)單片機(jī)檢 測到的 N 個脈沖。而 MN 所得到的正是這兩秒內(nèi)鋁盤在圓周上所走得距離 S。(此時假設(shè) 在這個兩秒內(nèi)車子是勻速前進(jìn)的),距離 S 除以 2s 的時間,就可以大概的算出這 2s 內(nèi)鋁 盤的線速度。再根據(jù)鋁盤與汽車的輪子保持著一樣的角速度,得到鋁盤的線速度與輪子線 速度的關(guān)系,從而算出汽車在這 2s 的平均速度。 至于里程的計算,根據(jù)速度計算的分析,在得到 2s 內(nèi)鋁盤在其圓周上走過的距離 后。根據(jù)它與汽車輪子的圓周走過的距離有一定比例關(guān)系(通過

17、兩者角速度一樣的算法) 可以通過單片機(jī)的算出汽車在這兩秒內(nèi)走過的路程 S1。把這個路程 S1 與存儲器原來的里 程數(shù)相加即可得到目前的總里程數(shù)。 通過單片機(jī)計算出來的速度和里程的數(shù)據(jù),必須通過 BCD 碼的轉(zhuǎn)換才能輸出給顯示 模塊??偫锍虜?shù)的顯示是設(shè)定出現(xiàn)在電動汽車開動,單片機(jī)開機(jī)經(jīng)過初始化后顯示出來, 這樣以來用戶可以清楚的知道自己的車子已經(jīng)運行了多少公里了。而速度的顯示則是在計 算出速度里程后立刻顯示出來,體現(xiàn)實時性。 速度里程表流程圖 程序:速度里程表-程序 程序的基本思路如流程圖(速度里程表流程圖)所示, ,用定時器設(shè)定每一圈的時間。里程 記圈數(shù),用記數(shù)總?cè)?shù)除以一公里需要的圈數(shù)即要顯

18、示的公里數(shù)。 SDABIT P1.7;I2C 總線定義 SCLBIT P1.6 RSTBIT P1.0 KEY_INTBIT P3.2 MTDEQU40H ;發(fā)送數(shù)據(jù)緩沖器 MRDEQU49H ;接收數(shù)據(jù)緩沖區(qū) ;定義器件地址,變 ZLG7290EQU70H ;ZLG7290 的器件地址 ACKBIT 10H ;應(yīng)答標(biāo)志位 SLADATA50H ;器件的從地址 SUBADATA51H ;器件的子地址 NUMBYTEDATA52H ;讀/寫的字節(jié)數(shù)變量 ORG8000H LJMPMAIN ORG8100H ;-主程序如下: MAIN: MOV SP,#70H MOV TMOD,#56H MOV

19、TL0,#0FFH MOV TH0,#0FFH MOV TL1,#0FEH MOV TH1,#0FFH SETB EA SETB ET0 SETB ET1 CLR TR0 CLR TR1 BEGIN: JB P3.0,BEGIN SETB TR1 MOV R2,#03H MOV P1,#0FCH LOOP: JNB P3.1,MAIN JMP LOOP INTT0: INC R2 MOV 30H,R2 XRL 30H,#0FFH MOV P1,30H RETI INTT1: CLR ET1 SETB TR0 RETI CLRRST LCALL DELAY SETBRST LCALL DELAY

20、 MAINLOOP: JBT0,KEY_HANDLE SJMPMAINLOOP KEY_HANDLE: MOVSLA,#ZLG7290;指定器件地址 MOVSUBA,#01H;指定子地址 MOVNUMBYTE,#01H ;發(fā)送 2 字節(jié)數(shù)據(jù) LCALL IRDNBYTE;調(diào)用寫 2 字節(jié)數(shù)據(jù)程序 LCALL DELAY MOV R7,#08H MOV A,P1 MOV R6,#60H HANDLELOOP: MOV MTD,R6 MOV MRD,A PUSHACC MOV30H,R7 MOVMTD+1,MRD MOVSLA,#ZLG7290;指定器件地址 MOVSUBA,#07H;指定子地址

21、MOVNUMBYTE,#02H ;發(fā)送 2 字節(jié)數(shù)據(jù) LCALL IWRNBYTE ;調(diào)用寫 2 字節(jié)數(shù)據(jù)程序 LCALL DELAY USING2 MOVR7,30H POPACC INC R6 DJNZR7,HANDLELOOP SJMPMAINLOOP DELAY: MOV R7,#80H MIN:DJNZ R7,YS500 RET YS500:LCALL YS500US LJMP MIN YS500US:MOV R6,#80H DJNZ R6,$ RET DELAY1:MOV R7,#20H DJNZ R7,$ RET $INCLUDE(VI2C_ASM.INC);包含 VIIC 軟件

22、包 END 調(diào)試過程調(diào)試過程 運行結(jié)果及分析:運行結(jié)果及分析: 程序運行沒有錯誤,但是沒有數(shù)據(jù)顯示。 分析: 可能程序中的輸出數(shù)據(jù)環(huán)節(jié)少了 結(jié)論: 本設(shè)計以 MCS-51 為核心,通過光電傳感器來檢測汽車的運轉(zhuǎn)情況進(jìn)而實現(xiàn)電動汽 車的速度,里程的計算及里程的累計,存儲,最后用 8 位的 LED 能直觀的將速度與里程顯 示給用戶,從而達(dá)到智能速度里程表的作用。 實驗的收獲體會及建議:實驗的收獲體會及建議: 單片機(jī)作為我們的主要專業(yè)課之一,雖然在大二下學(xué)期開學(xué)初我對這門課并沒有什么興 趣,覺得那些程序枯燥乏味,但在這次課程設(shè)計后我發(fā)現(xiàn)自己在一點一滴的努力中對單片 機(jī)的興趣也在逐漸增加。這次單片機(jī)課程設(shè)計我們歷時兩個多星期,在我們班里算是倒數(shù) 幾組

溫馨提示

  • 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

提交評論