|
|
該帖有一個(gè)WIFI模塊資料,一個(gè)出租車計(jì)價(jià)畢業(yè)設(shè)計(jì)
所有資料下載:
網(wǎng)絡(luò)模塊.rar
(2.82 MB, 下載次數(shù): 53)
2016-5-16 20:32 上傳
點(diǎn)擊文件名下載附件
出租車計(jì)費(fèi)器畢業(yè)設(shè)計(jì).doc
(337 KB, 下載次數(shù): 64)
2016-5-16 20:33 上傳
點(diǎn)擊文件名下載附件
濟(jì)南鐵道職業(yè)技術(shù)學(xué)院
畢業(yè)設(shè)計(jì)報(bào)告摘要
本文介紹了以STC12C5A08AD單片機(jī)為核心的多功能出租車計(jì)價(jià)器的設(shè)計(jì) ,闡述了系統(tǒng)軟硬件設(shè)計(jì)過(guò)程及關(guān)鍵技術(shù)。經(jīng)測(cè)試,本計(jì)價(jià)器具有計(jì)程、計(jì)價(jià)、計(jì)時(shí)、等待時(shí)間計(jì)價(jià)等多種計(jì)量功能,并且具有存儲(chǔ)、查詢、起步價(jià)、起步價(jià)里程和每公里價(jià)格的預(yù)置、價(jià)格預(yù)置密碼確認(rèn)、車速顯示、超速提醒、語(yǔ)音服務(wù)、清單打印和車內(nèi)溫度顯示等多種功能。
關(guān)鍵詞
出租車計(jì)價(jià)器 多功能 STC12C5A08AD 軟硬件設(shè)計(jì)
目 錄
1 引言 ………………………………………………………………………… 1
2 方案論證 …………………………………………………………………… Y
2.1 主控芯片的選擇 ……………………………………………………… Y
2.2 鍵盤選擇 ……………………………………………………………… Y
2.3掃描方式的選擇 ……………………………………………………… Y
2.4顯示驅(qū)動(dòng)方式選擇 ……………………………………………………… Y
3 系統(tǒng)整體 …………………………………………………………………… Y
3.1系統(tǒng)整體框圖………………………………………………………………Y
4各單元電路設(shè)計(jì)……………………………………………………………… Y
4.1主控單元………………………………………………………………… Y
4.2模擬出租車車速裝置與里程檢測(cè)單元……………………………………Y
4.3鍵盤控制單元…………………………………………………………… Y
4.4數(shù)碼顯示單元…………………………………………………………… Y
4.5實(shí)時(shí)時(shí)鐘與等待時(shí)間累加單元………………………………………… Y
4.6語(yǔ)音播報(bào)與超速提醒單元……………………………………………… Y
4.7票據(jù)打印單元…………………………………………………………… Y
4.8車內(nèi)實(shí)時(shí)溫度顯示單元………………………………………………… Y
5系統(tǒng)軟件設(shè)計(jì)………………………………………………………………… Y
6測(cè)試方案與測(cè)試結(jié)果………………………………………………………… Y
表1 系統(tǒng)性能測(cè)試項(xiàng)目表………………………………………………… Y
表2 按鍵模擬設(shè)置里程、單程/往返計(jì)價(jià)測(cè)試結(jié)果……………………… Y
表3 預(yù)置轉(zhuǎn)速后計(jì)價(jià)測(cè)試結(jié)果…………………………………………… Y
表4 累計(jì)等待時(shí)間計(jì)價(jià)功能測(cè)試結(jié)果…………………………………… Y
表5 起步價(jià)、起步里程與每公里價(jià)格預(yù)置功能測(cè)試結(jié)果………………… Y
表6 白天/晚上計(jì)價(jià)標(biāo)準(zhǔn)測(cè)試結(jié)果 ……………………………………… Y
總結(jié) …………………………………………………………………………… Y
致謝 …………………………………………………………………………… Y
參考文獻(xiàn)…………………………………………………………………………Y
附錄一主程序流程 …………………………………………………… Y
附錄二 計(jì)價(jià)子程序流程 …………………………………………………… Y
附錄三顯示子程序 …………………………………………………… Y
附錄四時(shí)鐘子程序 …………………………………………………… Y
附錄五 溫度傳感器子程序 …………………………………………………… Y
引 言
出租車計(jì)價(jià)器是出租車營(yíng)運(yùn)收費(fèi)的專用智能化儀表 ,隨著電子技術(shù)的發(fā)展 ,出租車計(jì)價(jià)器技術(shù)也在不斷進(jìn)步和提高。國(guó)內(nèi)出租車計(jì)價(jià)器已經(jīng)經(jīng)歷了4 個(gè)階段的發(fā)展。從傳統(tǒng)的全部由機(jī)械元器件組成的機(jī)械式,到半電子式即用電子線路代替部分機(jī)械元器件的出租車計(jì)價(jià)器;再?gòu)募呻娐肥降侥壳暗膯纹瑱C(jī)系統(tǒng)設(shè)計(jì)的出租車計(jì)價(jià)器。出租車計(jì)價(jià)器計(jì)費(fèi)是否準(zhǔn)確、出租車司機(jī)是否超速才是乘客最關(guān)心的問(wèn)題,而計(jì)價(jià)器營(yíng)運(yùn)數(shù)據(jù)的管理是否方便又是出租車司機(jī)最關(guān)注的。因此設(shè)計(jì)出一種既能有效防止司機(jī)作弊和超速又能方便司機(jī)的計(jì)價(jià)器尤為重要。因此,本文以單片機(jī)STC12C5A08AD為核心設(shè)計(jì)一款多功能出租車計(jì)價(jià)器,該計(jì)價(jià)器能實(shí)現(xiàn)里程計(jì)價(jià)與顯示、數(shù)據(jù)存儲(chǔ)與查詢、時(shí)鐘顯示、超速提醒、語(yǔ)音播報(bào)和票據(jù)打印等功能。它比市場(chǎng)上的一些計(jì)價(jià)器使用更方便 ,功能更全,還具有有效防止司機(jī)作弊和系統(tǒng)穩(wěn)定性好的優(yōu)點(diǎn)。其中的超速提醒功能可以提醒司機(jī)和乘客 ,以告誡司機(jī)不要超速行駛,以避免交通事故的發(fā)生。
方案論證
1、主控芯片選擇
方案一: 采用普通的51系列單片機(jī),可以滿足設(shè)計(jì)要求,但從成本、功耗、運(yùn)行速度方面不及STC系列單片機(jī)。
方案二: 采用增強(qiáng)型STC系列單片機(jī),STC系列單片機(jī)具有高速、低功耗、高可靠、強(qiáng)抗干擾,強(qiáng)抗靜電、超低價(jià)等優(yōu)點(diǎn),因此本設(shè)計(jì)采用STC12C5A08AD作為系統(tǒng)主控芯片。
2、鍵盤選擇
方案一:采用獨(dú)立式鍵盤,由于本設(shè)計(jì)需要設(shè)有單程、往返、暫停、清除、鍵盤預(yù)置、價(jià)格預(yù)置密碼確認(rèn)等功能鍵,如果采用獨(dú)立式鍵盤,編程復(fù)雜,對(duì)使用者來(lái)說(shuō),操作十分不方便。
方案二:采用矩陣式鍵盤,編程簡(jiǎn)單,無(wú)論是按鍵控制還是密碼輸入都很方便,容易被使用者接受和使用。本設(shè)計(jì)采用此方案。
3、掃描方式選擇
方案一:采用動(dòng)態(tài)掃描顯示,由于本設(shè)計(jì)需要顯示的內(nèi)容較多,采用的數(shù)碼管位數(shù)多。如果采用動(dòng)態(tài)顯示,需要將16 個(gè)數(shù)碼管分組驅(qū)動(dòng),占用I/O多,在輪流顯示過(guò)程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,掃描速度跟不上,各位數(shù)碼管并非同時(shí)點(diǎn)亮,顯示亮度不夠。
方案二:采用靜態(tài)顯示,靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是不存在掃描速度及閃爍問(wèn)題,因此編程簡(jiǎn)單;數(shù)碼管位選通由各自獨(dú)立74HC595驅(qū)動(dòng)控制,顯示穩(wěn)定且亮度高。本設(shè)計(jì)采用此方案。
4、顯示驅(qū)動(dòng)方式選擇
方案一: 采用74HC164做驅(qū)動(dòng),成本低,接線少,但驅(qū)動(dòng)能力弱,沒(méi)有鎖存,數(shù)碼管顯示不穩(wěn)定。
方案二:采用74HC595做驅(qū)動(dòng),驅(qū)動(dòng)能力強(qiáng),有鎖存端,數(shù)碼管顯示穩(wěn)定,因此本設(shè)計(jì)采用此方案。
系統(tǒng)整體方案
圖 1 系統(tǒng)整體框圖
整體方案設(shè)計(jì)方框圖如圖 1 所示,整個(gè)系統(tǒng)由單片機(jī)STC12C5A08AD控制,整個(gè)系統(tǒng)由光電傳感器速度采集部分, DS1302 時(shí)鐘電路、ISD2560語(yǔ)音播報(bào)電路、票據(jù)打印電路、溫度采集、模擬車速裝置、超速提醒和價(jià)格預(yù)置等組成,采用 4×4矩陣式鍵盤控制、顯示電路采用74HC595驅(qū)動(dòng)。
各單元電路設(shè)計(jì)
1、主控單元
本設(shè)計(jì)采用STC系列單片機(jī)STC12C5A08AD控制,利用單片機(jī)采集按鍵及車速模擬傳感器信息完成各種控制,并利用其內(nèi)部存儲(chǔ)器,當(dāng)通過(guò)按鍵設(shè)定一次數(shù)據(jù)完畢后(如:晝夜單價(jià)、等候時(shí)間、起租里程、起租金額等),系統(tǒng)就自動(dòng)調(diào)用存儲(chǔ)程序,將數(shù)據(jù)信息保存在芯片內(nèi);當(dāng)系統(tǒng)重新上電時(shí),自動(dòng)調(diào)用讀存儲(chǔ)器程序,將存儲(chǔ)器內(nèi)的數(shù)據(jù)信息,讀到緩存單元中,供主程序使用。由于保存在單片機(jī)中的數(shù)據(jù)是不能隨意進(jìn)行改動(dòng),因此它具有防作弊功能。此外出租車營(yíng)運(yùn)過(guò)程中的一些營(yíng)運(yùn)數(shù)據(jù),如:單次出租的營(yíng)運(yùn)額和營(yíng)運(yùn)里程、一段時(shí)間內(nèi)的營(yíng)運(yùn)總額和總路程等,也存儲(chǔ)在單片機(jī)中,以便出租車公司及司機(jī)查詢,使出租車司機(jī)與出租公司更便于管理營(yíng)運(yùn)數(shù)據(jù)。
2、模擬出租車車速裝置與里程檢測(cè)單元
本單元控制部分采用一片STC系列單片機(jī)STC12C5A08AD控制,通過(guò)改變單片機(jī)送給步進(jìn)電機(jī)驅(qū)動(dòng)模塊的脈沖信號(hào)頻率,控制步進(jìn)電機(jī)的轉(zhuǎn)速。步進(jìn)電機(jī)帶動(dòng)轉(zhuǎn)盤轉(zhuǎn)動(dòng),用光電傳感器同步檢測(cè)轉(zhuǎn)盤的轉(zhuǎn)速信號(hào),送主控單元單片機(jī)處理,轉(zhuǎn)換成實(shí)時(shí)車速顯示。本單元設(shè)有三個(gè)按鍵,一個(gè)為轉(zhuǎn)速預(yù)置控制鍵,另外兩個(gè)是預(yù)設(shè)轉(zhuǎn)速加減鍵,預(yù)設(shè)轉(zhuǎn)速可以在本單元同步顯示。模擬出租車車速裝置與里程測(cè)量單元電路原理如圖3所示。
圖2 主控單元電路圖
3、鍵盤控制單元
根據(jù)題目要求,需要設(shè)置的鍵盤較多,故本設(shè)計(jì)采用4×4矩陣式鍵盤,鍵盤功能如圖4所示。按單程/往返按鍵一次,進(jìn)行單程計(jì)價(jià),連續(xù)按單程/往返按鍵兩次,進(jìn)行往返計(jì)價(jià);到達(dá)目的地后,按“暫停”鍵,計(jì)價(jià)器可暫停計(jì)價(jià);反復(fù)按“查詢”鍵,計(jì)價(jià)器能依次顯示總等待時(shí)間,里程數(shù)和金額數(shù);按“清除”鍵,能將記錄的數(shù)據(jù)(里程、等待時(shí)間與價(jià)格等)清0;按價(jià)格預(yù)置/時(shí)間調(diào)整鍵一次,進(jìn)入起步價(jià)、起步價(jià)里程和每公里價(jià)格的預(yù)置狀態(tài),輸入4位密碼后,開(kāi)始預(yù)置起步價(jià),預(yù)置完后按價(jià)格預(yù)置/時(shí)間調(diào)整鍵確認(rèn),再預(yù)置起步價(jià)里程和每公里價(jià)格,每預(yù)置完一項(xiàng),按價(jià)格預(yù)置/時(shí)間調(diào)整鍵一次,進(jìn)行確認(rèn);連續(xù)按價(jià)格預(yù)置/時(shí)間調(diào)整鍵兩次,進(jìn)入時(shí)間調(diào)整程序,通過(guò)數(shù)字鍵輸入時(shí)間即可。按下“按鍵模擬“鍵,進(jìn)入按鍵模擬狀態(tài),每按一次,行車?yán)锍碳?.1公里。
圖3 模擬出租車車速裝置與里程測(cè)量單元
圖4 4×4矩陣式鍵盤
4、數(shù)碼顯示單元
本設(shè)計(jì)采用16位的高亮度LED數(shù)碼管分別顯示行車?yán)锍虜?shù)(4 位),金額數(shù)(4 位),實(shí)時(shí)車速(4 位),另外4位輪流顯示車內(nèi)實(shí)時(shí)溫度(紅)、實(shí)時(shí)時(shí)鐘(黃)和累計(jì)等待時(shí)間(綠),顯示內(nèi)容分別用紅黃綠指示燈示意。當(dāng)為空車時(shí),為了節(jié)電,只顯示實(shí)時(shí)時(shí)間和車內(nèi)實(shí)時(shí)溫度 ,為供司機(jī)查看時(shí)間提供方便;當(dāng)司機(jī)要查詢以往的營(yíng)運(yùn)數(shù)據(jù)時(shí),按查詢鍵時(shí),計(jì)價(jià)器依次顯示總等待時(shí)間、里程數(shù)和金額數(shù);有乘客時(shí)顯示營(yíng)運(yùn)的實(shí)時(shí)車速、程數(shù)、金額數(shù),輪流顯示車內(nèi)實(shí)時(shí)溫度(紅)、實(shí)時(shí)時(shí)鐘(黃)和累計(jì)等待時(shí)間(綠)。顯示驅(qū)動(dòng)器采用16片串入并出8位移位寄存器74HC595級(jí)聯(lián)。顯示電路如圖5所示。
圖5 數(shù)碼顯示單元
5、實(shí)時(shí)時(shí)間與等待時(shí)間單元
時(shí)間計(jì)時(shí)采用美國(guó)DALLAS公司推出的一種高性能、低功耗的實(shí)時(shí)時(shí)鐘芯片DS1302,計(jì)價(jià)器在出租車空車行駛時(shí)顯示實(shí)時(shí)時(shí)鐘;有乘客時(shí),輪流顯示實(shí)時(shí)時(shí)間和累計(jì)等待時(shí)間。
累計(jì)等待時(shí)間的確定方法是:當(dāng)單片機(jī)檢測(cè)車速低于5公里/小時(shí)時(shí),啟動(dòng)內(nèi)部定時(shí)器開(kāi)始計(jì)時(shí),車速高于5公里/小時(shí)時(shí),停止計(jì)時(shí),單片機(jī)將各次等待時(shí)間累加,作為總等待時(shí)間。等待時(shí)間顯示與實(shí)時(shí)時(shí)間顯示輪流進(jìn)行。
利用DS1302的實(shí)時(shí)時(shí)鐘作為白天/晚上單價(jià)自動(dòng)轉(zhuǎn)換的一個(gè)基準(zhǔn) ,通過(guò) DS1302 獲取時(shí)間信息分辨白天/晚上 ,然后調(diào)用內(nèi)部程序存儲(chǔ)器信息,獲取白天/晚上的單價(jià)及起始價(jià) ,便開(kāi)始計(jì)價(jià)并顯示時(shí)間、里程和金額等信息;當(dāng)實(shí)時(shí)時(shí)間在21:00至次日5:00時(shí),執(zhí)行晚上收費(fèi)標(biāo)準(zhǔn)。DS1302與STC12C5A08AD的連接圖如圖6所示。
6、語(yǔ)音播報(bào)與超速提醒單元
為使計(jì)價(jià)器更加微型化、智能化、人性化,我們?cè)O(shè)計(jì)了語(yǔ)音播報(bào)與超速提醒功能。語(yǔ)音芯片采用集成度較高ISD2560芯片,其最大特點(diǎn)是采用E2PROM進(jìn)行模擬信息直接存取而不必經(jīng)過(guò)A/D和D/ A轉(zhuǎn)換。它內(nèi)部帶有話筒放大器、自動(dòng)增益控制時(shí)鐘、揚(yáng)聲器驅(qū)動(dòng)電路等,采用+ 5V電源供電。語(yǔ)音模塊與單片機(jī)的接口如圖7所示。設(shè)計(jì)過(guò)程中 ,先將固定語(yǔ)音部分(上、下車、超速提醒用語(yǔ))信息存儲(chǔ)到ISD2560內(nèi)部的不同起點(diǎn)地址中。營(yíng)運(yùn)過(guò)程中根據(jù)上、下車與超速的不同營(yíng)運(yùn)狀態(tài)來(lái)實(shí)現(xiàn)不同語(yǔ)音功能播放。在語(yǔ)音芯片工作時(shí),系統(tǒng)首先主程序調(diào)用放音處理程序,根據(jù)發(fā)音地址尋找ISD2560中的發(fā)音單元 ,然后將信號(hào)送到揚(yáng)聲器發(fā)出聲音。
當(dāng)空車燈掰下乘客上車時(shí):ISD2560語(yǔ)音播報(bào)電路進(jìn)行語(yǔ)音播報(bào)1(歡迎乘客乘坐本出租車…);當(dāng)空車燈打上,乘客下車時(shí):進(jìn)行播報(bào)2(謝謝再次乘坐本出租車,請(qǐng)交金額…);當(dāng)單片機(jī)檢測(cè)到超速信息時(shí),進(jìn)行播報(bào)3(車輛超速、請(qǐng)減速)。
圖7 語(yǔ)音播報(bào)與超速提醒單元電路
7、票據(jù)打印單元
本系統(tǒng)設(shè)有票據(jù)打印功能,當(dāng)出租車到達(dá)指定地點(diǎn),司機(jī)翻起空車牌,便產(chǎn)生一個(gè)信號(hào)通知單片機(jī),單片機(jī)啟動(dòng)打印服務(wù),將行車的中途等待時(shí)間、營(yíng)運(yùn)里程、單價(jià)、金額、日期及上下車時(shí)間等數(shù)據(jù)打印成出租車專用發(fā)票。微型打印機(jī)接口電路如圖7所示。該電路采用接口插板方式與單片機(jī)相連,這一特點(diǎn)使得計(jì)價(jià)器的票據(jù)打印在功能上與主系統(tǒng)一體化,而在檢查、維修時(shí)又可單獨(dú)進(jìn)行。本設(shè)計(jì)中所用微打是RD系列微型打印機(jī),微型打印機(jī)與單片機(jī)通過(guò)串行接口相連,當(dāng)所需要打印的數(shù)據(jù)出現(xiàn)在打印機(jī)串行輸入口時(shí),STB只要從高電平轉(zhuǎn)到低電平,再?gòu)牡碗娖睫D(zhuǎn)到高電平,就可把數(shù)據(jù)送入打印機(jī)。這時(shí)打印機(jī)將 BUSY 線置為忙(高電平),禁止新數(shù)據(jù)輸入;當(dāng)打印機(jī)取走數(shù)據(jù)并處理完畢后,BUSY線被置為閑(低電平),同時(shí)送出回答脈沖ACK通知系統(tǒng),可以再次輸入數(shù)據(jù)。
8、車內(nèi)實(shí)時(shí)溫度顯示單元
本設(shè)計(jì)增加了車內(nèi)實(shí)時(shí)溫度檢測(cè)功能,我們采用溫度芯片DS18B20。DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3引腳TO-92小體積封裝形式。測(cè)溫分辨率可達(dá)0.0625℃,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出。CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。
系統(tǒng)軟件設(shè)計(jì)
在主程序模塊中,需要完成對(duì)各芯片的初始化,各中斷的初始化(外部中斷 0、外部中斷1、T0的初始化),另外,在主程序模塊中還需要設(shè)置啟動(dòng)/清除標(biāo)志寄存器、里程寄存器和金額寄存器,并對(duì)它們進(jìn)行初始化。然后,主程序?qū)⒏鶕?jù)各標(biāo)志寄存器的內(nèi)容,分別完成車速檢測(cè)、顯示、累計(jì)等待時(shí)間、計(jì)程和計(jì)價(jià)等不同的操作。主程序流程圖如圖8所示。
單片機(jī)采集并判斷空車燈信號(hào)及路程檢測(cè)傳感器信號(hào),當(dāng)出租車啟動(dòng)時(shí) ,單片機(jī)檢測(cè)到光電傳感器的脈沖信號(hào)并進(jìn)行里程計(jì)算。當(dāng)無(wú)乘客時(shí),單片機(jī)調(diào)用實(shí)時(shí)時(shí)間芯片DS1302 程序和串口顯示驅(qū)動(dòng)程序,用4只LED進(jìn)行時(shí)鐘顯示;當(dāng)空車燈掰下乘客上車時(shí): ISD2560 語(yǔ)音播報(bào)電路進(jìn)行語(yǔ)音播報(bào)1 (歡迎乘客乘坐本出租車 …),通過(guò)DS1302 獲取時(shí)間信息分辨白天/晚上,然后調(diào)用內(nèi)部程序存儲(chǔ)器信息,獲取白天/晚上的單價(jià)及起始價(jià),便開(kāi)始計(jì)價(jià)并顯示時(shí)間、里程和金額等信息;當(dāng)空車燈打上,乘客下車時(shí):進(jìn)行播報(bào) 2 (謝謝再次乘坐本出租車 ,請(qǐng)交金額 …) ,并打印好票據(jù) ,單片機(jī)將營(yíng)運(yùn)數(shù)據(jù)信息存儲(chǔ)到內(nèi)部存儲(chǔ)器中 ;等出租車再次啟動(dòng)后,本次金額與里程等信息清零復(fù)位 ,就此完成一次計(jì)價(jià)。當(dāng)單片機(jī)檢測(cè)到超速信息時(shí),進(jìn)行播報(bào)3(車輛超速,請(qǐng)減速)。
測(cè)試方案與測(cè)試結(jié)果
表1 系統(tǒng)性能測(cè)試項(xiàng)目表
題目要求
| 測(cè)試項(xiàng)目與方法
| 測(cè)試結(jié)果
| 結(jié)果
描述
| 基
本
要
求
| 1、按單程/往返鍵,利用按鍵模擬設(shè)置里程,觀察數(shù)碼管顯示信息;
| 測(cè)試數(shù)據(jù)見(jiàn)表2
| 本設(shè)計(jì)很好的完成了題目基本要求的各項(xiàng)內(nèi)容
| 2、按單程/往返鍵,然后用按鍵模擬,連續(xù)調(diào)整里程,觀察數(shù)碼管顯示信息;
| 按單程鍵后,用按鍵模擬,行程按0.1公里步距遞進(jìn),動(dòng)態(tài)顯示公里與金額數(shù)
| 3、按暫停鍵,觀察計(jì)價(jià)器的信息;
| 在正常計(jì)價(jià)狀態(tài)下按下暫停鍵,停止計(jì)價(jià)
| 4、按清除鍵,觀察數(shù)碼管的顯示狀態(tài);
| 除實(shí)時(shí)時(shí)間顯示正常外,其他各數(shù)碼管均顯示零
| 5、反復(fù)按查詢鍵,觀察顯示內(nèi)容。
| 按查詢鍵,顯示里程數(shù),再按查詢鍵,顯示金額數(shù)
| 發(fā)
揮
部
分
| 利用鍵盤預(yù)置轉(zhuǎn)速,利用數(shù)字鐘計(jì)時(shí),測(cè)試5分鐘,觀察車速、里程、金額各項(xiàng)顯示
| 測(cè)試數(shù)據(jù)見(jiàn)表3所示
| 本系統(tǒng)能很好的完成題目發(fā)揮部分的各項(xiàng)要求
| 等待時(shí)間計(jì)價(jià)功能:通過(guò)不斷改變轉(zhuǎn)速設(shè)置值,各測(cè)試5分鐘,觀察等待時(shí)間、里程和價(jià)格顯示情況
| 測(cè)試數(shù)據(jù)見(jiàn)表4所示
| 起步價(jià)、起步價(jià)里程與每公里價(jià)格預(yù)置功能測(cè)試,按價(jià)格預(yù)置鍵一次,輸入4位密碼后,預(yù)置起步價(jià),起步價(jià)里程和每公里價(jià)格,設(shè)置轉(zhuǎn)盤轉(zhuǎn)速,測(cè)試5分鐘,觀察顯示信息
| 測(cè)試數(shù)據(jù)見(jiàn)表5所示
| 特
色
創(chuàng)
新
| 語(yǔ)音播報(bào)功能測(cè)試:接通和斷開(kāi)模擬空車燈開(kāi)關(guān),檢測(cè)播報(bào)情況;設(shè)置車速100公里/小時(shí),檢測(cè)超速提示情況
| 按設(shè)置內(nèi)容正常播報(bào)
|
| 打印功能測(cè)試:按暫停鍵后,啟動(dòng)打印機(jī)打印里程與金額,觀察打印結(jié)果
| 打印結(jié)果與顯示相符
| 白天/晚上計(jì)價(jià)標(biāo)準(zhǔn)測(cè)試:調(diào)整DS1302時(shí)間21:00至次日5:00時(shí)中任意時(shí)間,設(shè)置車速,測(cè)試5分鐘,觀察里程和金額等信息
| 測(cè)試數(shù)據(jù)見(jiàn)表6所示
| 溫度顯示
| 能輪流顯示實(shí)時(shí)溫度
|
表2 按鍵模擬設(shè)置里程,單程/往返計(jì)價(jià)測(cè)試結(jié)果
金額(元) 里程(公里)
| 單程金額
| 往返金額
| 誤差
| 理論值
| 顯示值
| 理論值
| 顯示值
| 10.0
| 22.0
| 22.0
| 18.5
| 18.5
| 0
| 15.0
| 32.0
| 32.0
| 26.0
| 26.0
| 0
| 25.0
| 52.0
| 52.0
| 41.0
| 41.0
| 0
| 40.0
| 82.0
| 82.0
| 63.5
| 63.5
| 0
| 60.0
| 122.0
| 122.0
| 93.5
| 93.5
| 0
| 表3 預(yù)置轉(zhuǎn)速后計(jì)價(jià)測(cè)試結(jié)果
| 預(yù)設(shè)轉(zhuǎn)速R/min
| 實(shí)時(shí)車速顯示
(公里/時(shí))
| 里程(公里)
| 價(jià)格 /元
| 誤差
| 單程
| 往返
| 觀測(cè)5分鐘
| 10
| 10.0
| 50.0
| 102.0
| 78.5
| 0
| 15
| 15.0
| 75.0
| 152.0
| 116.0
| 0
| 25
| 25.0
| 125.0
| 252.0
| 191.0
| 0
| 40
| 40.0
| 200.0
| 402.0
| 303.5
| 0
| 55
| 55.0
| 275.0
| 552.0
| 416.0
| 0
| 表4 累計(jì)等待時(shí)間計(jì)價(jià)功能測(cè)試結(jié)果
| 轉(zhuǎn)速/min
| 等待時(shí)間
| 里程
(公里)
| 金額(元)
| 誤差
| 單程
| 往返
| 0
| 各觀測(cè)5分鐘
| 3
| 5
| 15.0
| 34.0
| 27.5
| 0
| 5
| 5
| 25.0
| 54.0
| 42.5
| 0
| 10
| 0
| 50.0
| 102.0
| 78.5
| 0
| 20
| 0
| 100.0
| 202.0
| 153.5
| 0
| 40
| 0
| 200.0
| 402.0
| 303.5
| 0
| 總計(jì)
|
| 10
| 390.0
| 794.0
| 605.5
| 0
|
表5 起步價(jià)、起步價(jià)里程與每公里價(jià)格預(yù)置功能測(cè)試結(jié)果
起步價(jià)(元)
| 起步里程(公里)
| 每里價(jià)格(元)
| 測(cè)試
| 轉(zhuǎn)速R/min
| 里程
(公里)
| 價(jià)格/元
| 單程
| 往返
| 單程
| 往返
| 6.0
| 4.0
| 2.0
| 1.5
| 觀測(cè)
5分鐘
| 10
| 50.0
| 98.0
| 75.0
| 8.0
| 3.0
| 2.0
| 1.0
| 25
| 125.0
| 252.0
| 130.0
| 5.0
| 2.0
| 3.0
| 2.0
| 30
| 150.0
| 449.0
| 301.0
| 10.0
| 5.0
| 2.0
| 1.0
| 50
| 250.0
| 500.0
| 255.0
|
時(shí)間段/時(shí)
| 起步價(jià)
(元)
| 起步里程(公里)
| 每公里價(jià)格/元
| 公里
(公里)
| 價(jià)格/元
| 單程
| 往返
| 單程
| 往返
| 8---10
| 8.0
| 3.0
| 2.0
| 1.5
| 10.0
| 22.0
| 18.5
| 12---16
| 8.0
| 3.0
| 2.0
| 1.5
| 20.0
| 42.0
| 33.5
| 22---24
| 8.0
| 3.0
| 2.5
| 2.0
| 10.0
| 25.5
| 22.0
| 3---5
| 8.0
| 3.0
| 2.5
| 2.0
| 20.0
| 50.5
| 42.0
| 表6 白天/晚上計(jì)價(jià)標(biāo)準(zhǔn)測(cè)試結(jié)果
總 結(jié)
在本次設(shè)計(jì)的過(guò)程中,我遇到了各種困難和許多沒(méi)有預(yù)想到情況,但通過(guò)自己的努力和老師的協(xié)作以及同學(xué)的幫助,我終于克服了困難,順利完成了本次的設(shè)計(jì)任務(wù),達(dá)到了預(yù)期的目的。腳踏實(shí)地,認(rèn)真嚴(yán)謹(jǐn),實(shí)事求是的學(xué)習(xí)態(tài)度,不怕困難、堅(jiān)持不懈、吃苦耐勞的精神是我在這次設(shè)計(jì)中最大的收益。我想這是一次意志的磨練,是對(duì)我實(shí)際能力的一次提升,也會(huì)對(duì)我未來(lái)的學(xué)習(xí)和工作有很大的幫助。在這次畢業(yè)設(shè)計(jì)中也使我們的同學(xué)關(guān)系更進(jìn)一步了,同學(xué)之間互相幫助,有什么不懂的大家在一起商量,聽(tīng)聽(tīng)不同的看法對(duì)我們更好的理解知識(shí),所以在這里非常感謝幫助我的同學(xué)。在此更要感謝我的導(dǎo)師和專業(yè)老師,是你們的細(xì)心指導(dǎo)和關(guān)懷,使我能夠順利的完成畢業(yè)論文。在我的學(xué)業(yè)和論文的研究工作中無(wú)不傾注著老師們辛勤的汗水和心血。老師的嚴(yán)謹(jǐn)治學(xué)態(tài)度、淵博的知識(shí)、無(wú)私的奉獻(xiàn)精神使我深受啟迪。從尊敬的導(dǎo)師身上,我不僅學(xué)到了扎實(shí)、寬廣的專業(yè)知識(shí),也學(xué)到了做人的道理。在此我要向我的導(dǎo)師致以最衷心的感謝和深深的敬意。
所設(shè)計(jì)的多功能出租車計(jì)價(jià)器不僅功能齊全,而且經(jīng)過(guò)測(cè)試,各項(xiàng)測(cè)試指標(biāo)均達(dá)到了要求。通過(guò)這次設(shè)計(jì)活動(dòng),我在硬件設(shè)計(jì)、軟件編程方面的能力得到了極大的提高。為以后走向工作崗位積累了不可多得的經(jīng)驗(yàn)。這種體驗(yàn)為我們走好今后的人生路增添了極大的信心。
參考文獻(xiàn)
[1 ] 何立民.單片機(jī)應(yīng)用技術(shù)選編[M] .北京:北京航空航天大學(xué)出版社 ,1999.
[2 ] 求實(shí)科技.單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航[M] . 北京:人民郵電出版社 ,2004.
[3 ] 陳小忠.單片機(jī)接口技術(shù)實(shí)用子程序[M] . 北京:人民郵電出版社 ,2005.
[4 ] 趙晶主.電路設(shè)計(jì)與制版 Protel99 高級(jí)應(yīng)用[M] . 北京:人民郵電出版社 ,2000.
[5 ] 全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽組委會(huì).全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽獲獎(jiǎng)作品精選[M] .北京:北京理工大學(xué)出版社 ,2000.
[6 ] 楊恢先 ,黃輝先.單片機(jī)原理及應(yīng)用[M] .長(zhǎng)沙:國(guó)防科技大學(xué)出版社 ,2003.
附錄一
主程序流程:
圖8 系統(tǒng)的主程序流程框圖
附錄二
計(jì)價(jià)子程序流程:
圖9 計(jì)價(jià)子程序流程圖
附錄三
顯示子程序:
- //靜態(tài)顯示
- #include
- #include
-
- //定義定形碼表,共陽(yáng)極
- unsigned char code dispTab[]={
- //0 1 2 3 4 5 6 7 8 9 0X03,0X9F,0X25,0X0D,0X99,0X49,0X41,0X1F,0X01,0X09,0XFD,0xff };
- #define uint unsigned int
- #define uchar unsigned char
- sbit ST_CP =P2^1; //74HC595(12)-ST_CP 上升沿--移位寄存器的數(shù)據(jù)進(jìn)入數(shù)據(jù)存儲(chǔ)寄存器 輸出鎖存器的時(shí)鐘信號(hào)端口
- sbit MR =P2^0; //74HC595(10)-MR 為0將移位寄存器的數(shù)據(jù)清0
- sbit oe =P2^2;
- }
-
- void sendData(unsigned char sendDat) //傳送一個(gè)字節(jié)的數(shù)據(jù)數(shù)據(jù)
- { unsigned char i;
- for(i=0;i<8;i++)
- { if((sendDat&0x01)==0) SDAT=0;
- else SDAT=1;
- _nop_(); SHCP=0; _nop_();
- SHCP=1
- sendDat=sendDat>>1;
- }
- }
- //-----------------------------------------
- //靜態(tài)顯示函數(shù),模擬串口+74LS595
- //參數(shù):*dispBuf顯示緩沖區(qū)
- // n顯示位數(shù)
- void disp(unsigned char data *dispBuf,unsigned char n)
- { unsigned char c, i;
- for(i=0;i<n;i++)
- { c=dispBuf[i]; //取出待顯示字符
- sendData(dispTab[c]); //送出字形碼數(shù)據(jù)
- delayn(2000);
- } STCP=0;
- STCP=1; //輸出
- }
- void xs(void)
- {
-
- disp(dispBuf,sizeof(dispBuf));
- oldTime=a*100;
- }
- dispBuf[3] = oldTime/1000;
- dispBuf[2] = oldTime%1000/100;
- dispBuf[1] = oldTime%100/10;
- dispBuf[0] = oldTime0%10;
- disp(dispBuf,sizeof(dispBuf));
- }
- }
-
-
-
-
-
-
-
- 附錄四
- 時(shí)鐘子程序:
- include
- /*****定義DS1302接口*****/
- sbit clock_clk = P3 ^ 6; //ds1302_clk(時(shí)鐘線)
- sbit clock_dat = P3 ^ 5; //ds1302_dat(數(shù)據(jù)線)
- sbit clock_Rst = P3 ^ 4; //ds1302_Rst(復(fù)位線)
-
- /*****定義累加器A中的各位*****/
- sbit a0 = ACC ^ 0;
- sbit a1 = ACC ^ 1;
- sbit a2 = ACC ^ 2;
- sbit a3 = ACC ^ 3;
- sbit a4 = ACC ^ 4;
- sbit a5 = ACC ^ 5;
- sbit a6 = ACC ^ 6;
- sbit a7 = ACC ^ 7;
-
- /*****DS1302驅(qū)動(dòng)程序(底層協(xié)議)*****/
- void clock_out(unsigned char dd)
- {
- ACC=dd;
- clock_dat=a0; clock_clk=1; clock_clk=0;
- clock_dat=a1; clock_clk=1; clock_clk=0;
- clock_dat=a2; clock_clk=1; clock_clk=0;
- clock_dat=a3; clock_clk=1; clock_clk=0;
- clock_dat=a4; clock_clk=1; clock_clk=0;
- clock_dat=a5; clock_clk=1; clock_clk=0;
- clock_dat=a6; clock_clk=1; clock_clk=0;
- clock_dat=a7; clock_clk=1; clock_clk=0;
- }
-
- /*****DS1302寫數(shù)據(jù)(底層協(xié)議)*****/
- void write_clock(unsigned char ord, unsigned char dd)
- {
- clock_clk=0;
- clock_Rst=0;
- clock_Rst=1;
- clock_out(ord);
- clock_out(dd);
- clock_Rst=0;
- clock_clk=1;
- }
-
- /*****DS1302寫入字節(jié)(底層協(xié)議)*****/
- unsigned char clock_in(void)
- {
- clock_dat=1;
- a0=clock_dat;
- clock_clk=1; clock_clk=0; a1=clock_dat;
- clock_clk=1; clock_clk=0; a2=clock_dat;
- clock_clk=1; clock_clk=0; a3=clock_dat;
- clock_clk=1; clock_clk=0; a4=clock_dat;
- clock_clk=1; clock_clk=0; a5=clock_dat;
- clock_clk=1; clock_clk=0; a6=clock_dat;
- clock_clk=1; clock_clk=0; a7=clock_dat;
- return(ACC);
- }
-
- /*****DS1302讀數(shù)據(jù)(底層協(xié)議)*****/
- unsigned char read_clock(unsigned char ord)
- {
- unsigned char dd=0;
- clock_clk=0;
- clock_Rst=0;
- clock_Rst=1;
- clock_out(ord);
- dd=clock_in();
- clock_Rst=0;
- clock_clk=1;
- return(dd);
- }
- /*****END*****/
復(fù)制代碼
附錄五 溫度傳感器子程序:
|
評(píng)分
-
查看全部評(píng)分
|