![畢業(yè)設(shè)計(jì)(論文)出租車計(jì)費(fèi)系統(tǒng)之電路的設(shè)計(jì)與實(shí)現(xiàn)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/27/e0914756-78fb-4e7f-afec-0fcc9335c475/e0914756-78fb-4e7f-afec-0fcc9335c4751.gif)
![畢業(yè)設(shè)計(jì)(論文)出租車計(jì)費(fèi)系統(tǒng)之電路的設(shè)計(jì)與實(shí)現(xiàn)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/27/e0914756-78fb-4e7f-afec-0fcc9335c475/e0914756-78fb-4e7f-afec-0fcc9335c4752.gif)
![畢業(yè)設(shè)計(jì)(論文)出租車計(jì)費(fèi)系統(tǒng)之電路的設(shè)計(jì)與實(shí)現(xiàn)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/27/e0914756-78fb-4e7f-afec-0fcc9335c475/e0914756-78fb-4e7f-afec-0fcc9335c4753.gif)
![畢業(yè)設(shè)計(jì)(論文)出租車計(jì)費(fèi)系統(tǒng)之電路的設(shè)計(jì)與實(shí)現(xiàn)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/27/e0914756-78fb-4e7f-afec-0fcc9335c475/e0914756-78fb-4e7f-afec-0fcc9335c4754.gif)
![畢業(yè)設(shè)計(jì)(論文)出租車計(jì)費(fèi)系統(tǒng)之電路的設(shè)計(jì)與實(shí)現(xiàn)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/27/e0914756-78fb-4e7f-afec-0fcc9335c475/e0914756-78fb-4e7f-afec-0fcc9335c4755.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、長春師范學(xué)院畢業(yè)論文摘要長春師范學(xué)院畢業(yè)設(shè)計(jì)(論文)題目 出租車計(jì)費(fèi)系統(tǒng)之電路的設(shè)計(jì)與實(shí)現(xiàn) 院系名稱 計(jì)算機(jī)科學(xué)與技術(shù) 班 級 06級計(jì)算機(jī)科學(xué)與技術(shù) 學(xué)生姓名 學(xué)號 0611240112 指導(dǎo)教師 評閱教師 時(shí) 間 ii摘要現(xiàn)在各大中城市出租車行業(yè)都已普及自動(dòng)計(jì)價(jià)器,所以計(jì)價(jià)器技術(shù)的發(fā)展已成定局。而部分小城市尚未普及,但隨著城市建設(shè)日益加快,象征著城市面貌的出租車行業(yè)也將加速發(fā)展,計(jì)價(jià)器的普及也是毫無疑問的,所以未來汽車計(jì)價(jià)器的市場還是十分有潛力的。本文介紹了利用 spce061a 作為主控制器,配合 splc501 液晶模組設(shè)計(jì)出租車計(jì)價(jià)器的過程。該系統(tǒng)可以接受里程傳感器的脈沖輸入(在本方
2、案中使用 pwm 模擬替代傳感器脈沖),并對脈沖進(jìn)行計(jì)量,繼而實(shí)現(xiàn)轉(zhuǎn)換成里程的過程;采用現(xiàn)行出租車計(jì)價(jià)系統(tǒng)的計(jì)算方法,對行駛里程進(jìn)行計(jì)費(fèi);并具有友好的語音提示界面。關(guān)鍵詞:spce061a splc501 液晶模組 出租車 計(jì)價(jià)器長春師范學(xué)院畢業(yè)論文abstractabstractit is now the major cities in the taxi industry have universal automatic meter, meter technology development is a foregone conclusion. and some small cities no
3、t yet universal, but with increasing speed up urban construction, a symbol of urban landscape taxi industry will also accelerate development, and the popularity meter is no doubt, therefore, the future of the automobile market valuation is still potential .describes spce061a as the main controller,
4、with splc501 taximeter lcd module design process. the system can accept the mileage sensor pulse input (in this program using alternative sensors analog pwm pulse), and pulse measurement, then the process of realization into mileage; use of the existing taxi pricing system is calculated on the milea
5、ge to billing; and have a friendly voice prompts interface.key words: spce061a splc501 lcd module taximeter長春師范學(xué)院畢業(yè)論文目錄目錄1 引言3 1.1 開發(fā)背景.31.2 開發(fā)方案.4 1.3 功能簡介.42 系統(tǒng)硬件設(shè)計(jì).52.1 spce061a芯片簡介.6 2.1.1 spce061a 特性.62.1.2spce061a接口說明 .72.2 splc501芯片. 82.2.1 splc501簡介.82.2.2 splc501功能.92.2.3 splc501 液晶模組特性.92.
6、3 硬件電路.102.3.1 spce061a最小系統(tǒng).102.3.2 lcd顯示器.103 系統(tǒng)軟件設(shè)計(jì).123.1 主程序. 123.2 液晶驅(qū)動(dòng)程序.133.3 按鍵掃描程序.153.4 計(jì)價(jià)管理程序.213.4.1 pwm管理程序.213.4.2 里程計(jì)量程序.213.4.3 時(shí)間管理程序.223.4.4 費(fèi)用管理程序.223.4.5 用戶界面控制程序.254 調(diào)試及檢測.26 4.1在線調(diào)試. 26 4.1.1在線調(diào)試器(probe)和ez-probe簡介.264.2 spce061a的檢測.274.2.1程序下載. .274.2.2檢測.285 設(shè)計(jì)時(shí)應(yīng)注意的問題.296 計(jì)價(jià)器發(fā)
7、展前景.297 結(jié)語語.308 參考文獻(xiàn).31長春師范學(xué)院畢業(yè)論文第一章 1引言1引言本方案在深入了解在出租車上計(jì)價(jià)系統(tǒng)的工作原理基礎(chǔ)上,充分發(fā)揮人性化的特點(diǎn),利用 spce061a 的語音功能,配合 splc501 液晶模組,模擬實(shí)現(xiàn)帶語音提示功能的出租車計(jì)價(jià)系統(tǒng)。1.1開發(fā)背景汽車計(jì)價(jià)器是乘客與司機(jī)雙方的交易準(zhǔn)則,它是出租車行業(yè)發(fā)展的重要標(biāo)志,是出租車中最重要的工具。它關(guān)系著交易雙方的利益。具有良好性能的計(jì)價(jià)器無論是對廣大出租車司機(jī)朋友還是乘客來說都是很必要的。因此,汽車計(jì)價(jià)器的研究也是十分有一個(gè)應(yīng)用價(jià)值的。 隨著生活水平的提高,人們已不再滿足于衣食住的享受,出行的舒適已受到越來越多人的關(guān)
8、注。于是,出租車行業(yè)以低價(jià)高質(zhì)的服務(wù)給人們帶來了出行的享受。但是總存在著買賣糾紛困擾著行業(yè)的發(fā)展。而在出租車行業(yè)中解決這一矛盾的最好方法就是改良計(jì)價(jià)器。用更加精良的計(jì)價(jià)器來為乘客提供更加方便快捷的服務(wù)。現(xiàn)在各大中城市出租車行業(yè)都已普及自動(dòng)計(jì)價(jià)器,所以計(jì)價(jià)器技術(shù)的發(fā)展已成定局。而部分小城市尚未普及,但隨著城市建設(shè)日益加快,象征著城市面貌的出租車行業(yè)也將加速發(fā)展,計(jì)價(jià)器的普及也是毫無疑問的,所以未來汽車計(jì)價(jià)器的市場還是十分有潛力的。 計(jì)價(jià)器作為出租車的一個(gè)重要組成部分,關(guān)系著出租車司機(jī)和乘客雙方利益,起著重要的作用,因此,具有良好性能的計(jì)價(jià)器對廣大出租車司機(jī)朋友來說是很必要的。 我國在70年代開始
9、出現(xiàn)出租車,但那時(shí)的計(jì)費(fèi)系統(tǒng)大都是國外進(jìn)口不但不夠準(zhǔn)確,價(jià)格還十分昂貴。隨著改革開放日益深入,出租車行業(yè)的發(fā)展勢頭已十分突出,國內(nèi)各機(jī)械廠家紛紛推出國產(chǎn)計(jì)價(jià)器。出租車計(jì)價(jià)器的功能從剛開始的只顯示路程(需要司機(jī)自己定價(jià),計(jì)算后四舍五入),到能夠自主計(jì)費(fèi),以及現(xiàn)在的能夠打一發(fā)票和語音提示、按時(shí)間自主變動(dòng)單價(jià)等功能。隨著城市旅游業(yè)的發(fā)展,出租車行業(yè)已成為城市的窗口,象征著一個(gè)城市的文明程度。 1.2開發(fā)方案 采用模擬電路和數(shù)字電路設(shè)計(jì)的計(jì)價(jià)器整體電路的規(guī)模較大,用到的器件多,造成故障率高,難調(diào)試,對于模式的切換需要用到機(jī)械開關(guān),機(jī)械開關(guān)時(shí)間久了會(huì)造成接觸不良,功能不易實(shí)現(xiàn)。為此我們采用了單片機(jī)進(jìn)行設(shè)
10、計(jì),相對來說功能強(qiáng)大,用較少的硬件和適當(dāng)?shù)能浖嗷ヅ浜峡梢院苋菀椎膶?shí)現(xiàn)設(shè)計(jì)要求,且靈活性強(qiáng),可以通過軟件編程來完成更多的附加功能。針對計(jì)費(fèi)模式的切換,通過軟件編程就可以輕易而舉的實(shí)現(xiàn)。避免了機(jī)械開關(guān)帶來的不穩(wěn)定因素。采用了單片機(jī)進(jìn)行設(shè)計(jì),相對來說功能強(qiáng)大,用較少的硬件和適當(dāng)?shù)能浖嗷ヅ浜峡梢院苋菀椎膶?shí)現(xiàn)設(shè)計(jì)要求,且靈活性強(qiáng),可以通過軟件編程來完成更多的附加功能。針對計(jì)費(fèi)模式的切換,通過軟件編程就可以輕易而舉的實(shí)現(xiàn)。避免了機(jī)械開關(guān)帶來的不穩(wěn)定因素。單片機(jī)的基本知識和部分應(yīng)用,進(jìn)行的汽車計(jì)價(jià)器設(shè)計(jì)。然后詳細(xì)介紹了系統(tǒng)硬件設(shè)計(jì)和軟件設(shè)計(jì),以及單片機(jī)相關(guān)技術(shù)知識,對程序中用到的系統(tǒng)函數(shù)也做了簡單介紹。
11、出租車計(jì)價(jià)器顯示的營運(yùn)金額是營運(yùn)里程與價(jià)格的函數(shù)(等候時(shí)間一般折算成一定比例的里程來計(jì)算)。出租車計(jì)價(jià)器通過傳感器與行駛車輛連接。出租汽車的實(shí)際里程通過傳感器的脈沖信號在計(jì)價(jià)器里折算成一定的計(jì)價(jià)營運(yùn)里程。1.3功能簡介本方案可以通過里程傳感器的脈沖輸入實(shí)現(xiàn)里程的轉(zhuǎn)換和行駛里程計(jì)費(fèi)過程,并提供了有好的用戶界面和語音提示功能。2 系統(tǒng)硬件設(shè)計(jì)圖 2.1 為出租車計(jì)價(jià)器的系統(tǒng)框圖,采用 spce061a 作為主控制器,通過 iob2 接收傳感器的脈沖輸入(在本方案中使用 iob9輸出的 pwm 模擬傳感器的脈沖),對脈沖進(jìn)行計(jì)數(shù),然后換算成里程數(shù),并按照現(xiàn)行的出租車計(jì)價(jià)系統(tǒng)的標(biāo)準(zhǔn)進(jìn)行計(jì)費(fèi)。 圖 2.
12、1 出租車計(jì)價(jià)器系統(tǒng)框圖圖 2.2 為出租車計(jì)價(jià)器的硬件連接圖。 圖 2.2 出租車計(jì)價(jià)器硬件連接圖2.1 spce061a 芯片簡介61 板是 spce061a emu board 的簡稱,是以凌陽 16 位單片機(jī) spce061a為核心的精簡開發(fā)仿真實(shí)驗(yàn)板,大小相當(dāng)于一張撲克牌,是“凌陽科技大學(xué)計(jì)劃”專為大學(xué)生、電子愛好者等進(jìn)行電子實(shí)習(xí)、課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)、電子制作及電子競賽所設(shè)計(jì)的,也可作為單片機(jī)項(xiàng)目初期研發(fā)使用。61 板除了具備單片機(jī)最小系統(tǒng)電路外,還包括有電源電路、音頻電路(含 mic 輸入部分和 dac 音頻輸出部分)、復(fù)位電路等,并采用電池供電,方便隨身攜帶。2.1.1 spce
13、061a 特性其芯片特性如下: 1、工作電壓:內(nèi)核工作電壓 vdd為 3.03.6v(cpu),i/o口工作電壓 vddh 為 vdd5.5v; 2、cpu時(shí)鐘:0.32mhz49.152mhz;3、內(nèi)置 2k字 sram 和 32k字閃存 rom; 4、系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)),耗電小于 2a3.6v; 5、具備觸鍵喚醒的功能; 6、32 位通用可編程輸入/輸出端口; 7、2 個(gè)16 位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值); 8、7 通道10 位電壓模-數(shù)轉(zhuǎn)換器(adc)和單通道聲音模-數(shù)轉(zhuǎn)換器; 9、2 個(gè)10位 dac(數(shù)-模轉(zhuǎn)換)輸出通道; 10、14 個(gè)中斷源可
14、來自定時(shí)器 a / b,時(shí)基,2 個(gè)外部時(shí)鐘源輸入,鍵喚醒; 11、具備串行設(shè)備接口; 12、低電壓復(fù)位(lvr)功和低電壓監(jiān)測(lvd)功能; 13、內(nèi)置在線仿真(ice,in- circuit emulator)接口。2.1.2 spce061a接口說明 1、電源接口電源輸入端口,是61板的能源供應(yīng)中心,整塊板子的電源都由此提供進(jìn)去,可采用電池或穩(wěn)壓電源提供5v輸入,并且必需至少保證電流在50ma以上,否則會(huì)造成系統(tǒng)無法倍頻和下載出錯(cuò)。2、io電壓選擇接口io電壓參考電壓可選擇5v或3.3v,選擇5v時(shí)為ttl電平;選擇3.3v時(shí)為lvttl電平,輸出:3.3v lvttl (可直接驅(qū)動(dòng)5
15、v ttl) ,輸入:3.3v lvttl或5v ttl 。3、音頻輸出接口音頻輸出接口是為輸出語音準(zhǔn)備的,主要包括兩個(gè)dac接口和一個(gè)喇叭接口,可用來進(jìn)行語音提示和運(yùn)算結(jié)果的播報(bào)。4、mic輸入口mic是語音輸入接口,可用于語音數(shù)據(jù)的采集,在做語音錄入和語音識別都離不開它。5、io接口io接口是微處理器最重要的接口,可以通過io進(jìn)行外部數(shù)據(jù)的采集和外掛芯片的操作。6、ad外部參考電壓輸入口和2v參考電壓輸出口通過調(diào)整ad外部參考電壓可調(diào)整低于3.3v輸入模擬電壓的精度,以適合不同應(yīng)用的需求。 通過2v參考電壓輸出口,我們可以查看adc工作狀態(tài)是否滿足我們的需求。7、在線調(diào)試器(probe)、
16、ez-probe接口和選擇跳線spce061a的內(nèi)部結(jié)構(gòu)框圖如圖 2.3 所示。圖 2.3 spce061a 內(nèi)部結(jié)構(gòu)圖spce061a主要包括輸入/輸出端口、定時(shí)器/計(jì)數(shù)器、數(shù)/模轉(zhuǎn)換、模/數(shù)轉(zhuǎn)換、串行設(shè)備輸入輸出、通用異步串行接口、低電壓監(jiān)測和復(fù)位等部分,并且內(nèi)置在線仿真電路ice接口,較高的處理速度使其能夠快速的處理復(fù)雜的數(shù)字信號。2.2 splc501芯片2.2.1 splc501簡介splc501 液晶顯示模組采用的驅(qū)動(dòng)控制芯片為凌陽科技的 splc501a芯片,splc501a為液晶顯示控制驅(qū)動(dòng)器,集行、列驅(qū)動(dòng)器和控制器于一體,廣泛應(yīng)用于小規(guī)模液晶顯示模塊。 splc501a單芯片
17、液晶驅(qū)動(dòng),可以直接與其他微控制器接口總線相連。微控制器可以將顯示數(shù)據(jù)通過 8 位數(shù)據(jù)總線或者串行接口寫到 splc501a的顯存中。下列是 splc501a的特點(diǎn):1、內(nèi)置 8580 位顯示 ram。ram 中的一位數(shù)據(jù)控制液晶屏上的一個(gè)象素點(diǎn)的亮、暗狀態(tài)?!?”亮“0”暗。 2、具有 65 行驅(qū)動(dòng)輸出和 132 列驅(qū)動(dòng)輸出(注:模組中的液晶顯示面板僅為 64 行、128 列) 。3、可以直接與 80 系列和 68 系列微處理器相連。 4、內(nèi)置晶振電路,也可以外接晶振 。5、工作溫度范圍為40 攝氏度85 攝氏度。2.2.2 splc501功能splc501 液晶顯示模組為 128x64 點(diǎn)陣
18、,面板采用 stn(super twisted nematic)超扭曲向列技術(shù)制成并且由 128 segment 和 64 common 組成,lcm 非常容易通過接口被訪問。 模組上的液晶顯示器采用凌陽科技的 splc501 芯片作為 lcd驅(qū)動(dòng)和控制器,為 128x64 點(diǎn)陣圖形液晶顯示器。2.2.3 splc501 液晶模組特性splc501 液晶模組具有以下特性:1、顯示模式:黃色模式 stn 液晶; 2、顯示格式:12864 點(diǎn)陣的圖形液晶; 3、輸入數(shù)據(jù):兼容 68/80 系列 mpu 時(shí)序。2.3 硬件電路2.3.1 spce061a最小系統(tǒng)本方案使用 61 板作為單片機(jī)最小系統(tǒng)
19、。61 板包括 spce061a芯片及其外圍的基本模塊,外圍模塊包括:晶振輸入模塊(osc)、鎖相環(huán)外圍電路(pll)、復(fù)位電路(reset)、指示燈(led)等,如圖 2.4所示。 圖 2.4 spce061a 最小系統(tǒng) 2.3.2 lcd顯示器splc501 液晶顯示模組采用 gpg12063ys3 lcd模塊,此模塊內(nèi)嵌 splc501a芯片,采用先進(jìn)的cog技術(shù),將芯片嵌在 lcd玻璃上,圖 2.5 為此液晶顯示器系統(tǒng)框圖。圖 2.5 液晶顯示器系統(tǒng)框圖splc501 液晶模組提供點(diǎn)陣分辨率為 12864。spce061a與 splc501 液晶模組的硬件連接如圖 2.6 所示。圖 2
20、.6 spce061a 與 splc501 液晶模組的硬件連接3系統(tǒng)軟件設(shè)計(jì)本系統(tǒng)軟件中包括下面程序模塊: 主 程 序:初始化系統(tǒng)涉及到的硬件模塊,掃描鍵盤,根據(jù)按鍵啟動(dòng)/停止里程測量,并調(diào)用用戶界面程序定時(shí)更新日期時(shí)間顯示,實(shí)時(shí)更新單價(jià)、里程、低速時(shí)間、費(fèi)用等信息顯示。 液晶驅(qū)動(dòng)程序:lcd顯示驅(qū)動(dòng)程序,實(shí)現(xiàn)文本、圖形顯示等功能。 按鍵掃描程序:掃描按鍵,返回掃描結(jié)果。 語音播放程序:播放提示音,行駛里程、費(fèi)用等。 計(jì)價(jià)管理程序:完成傳感器脈沖計(jì)量,然后轉(zhuǎn)換為公里數(shù),并根據(jù)規(guī)則計(jì)算對應(yīng)的費(fèi)用,同時(shí),監(jiān)測行駛速度,統(tǒng)計(jì)低速時(shí)間,計(jì)算低速等待費(fèi)用,提供液晶顯示更新函數(shù),以便主函數(shù)可以控制更新用戶
21、界面以及行駛里程、費(fèi)用等信息的顯示。該模塊包括 pwm 管理程序、里程計(jì)量程序、時(shí)間管理程序、費(fèi)用管理程序、用戶界面控制程序等部分。3.1主程序主程序流程如圖 3.1:程序運(yùn)行后首先初始化各個(gè)硬件部件,同時(shí)打開 1khz 和 2hz 時(shí)基中斷,為鍵盤掃描和時(shí)間管理模塊服務(wù)。然后,程序進(jìn)入主循環(huán),不斷進(jìn)行按鍵掃描,并根據(jù)按鍵啟動(dòng)/停止里程計(jì)量,或進(jìn)入系統(tǒng)設(shè)置模式。在主循環(huán)中同時(shí)還對時(shí)間顯示進(jìn)行更新。圖 3.1 主程序流程圖3.2液晶驅(qū)動(dòng)程序lcd顯示部分采用 splc501 液晶模組附帶的驅(qū)動(dòng)程序。該驅(qū)動(dòng)程序的架構(gòu)如圖 3.2所示。圖 3.2 lcd驅(qū)動(dòng)程序架構(gòu)驅(qū)動(dòng)程序由 5 個(gè)文件組成,分別為
22、:底層驅(qū)動(dòng)程序文件 splc501driver_io.inc、splc501driver_io.asm;用戶 api 功能接口函數(shù)文件 splc501user.h、splc501user.c、dataosforlcd.asm。 splc501driver_io.inc:該文件為底層驅(qū)動(dòng)程序的頭文件,主要對使用到的寄存器(如端口控制寄存器等)進(jìn)行定義,還對 spce061a 與 splc501 液晶顯示模組的接口進(jìn)行配置;用戶可以根據(jù)自已的需求來配置此文件,但要使端口的分配符合實(shí)際硬件的接線。 splc501driver_io.asm:該文件為底層驅(qū)動(dòng)程序,負(fù)責(zé)與 splc501 液晶顯示模組進(jìn)
23、行數(shù)據(jù)傳輸?shù)娜蝿?wù),主要包括端口初始化、寫控制指令、寫數(shù)據(jù)、讀數(shù)據(jù)等函數(shù);這些函數(shù)僅供 splc501user.c 調(diào)用,不建議用戶在應(yīng)用程序中調(diào)用這些函數(shù)。 splc501user.h:該文件為用戶 api 功能函數(shù)文件的頭文件,主要對一些記住符進(jìn)行定義,以及配置lcd 的一些設(shè)置,另外該文件里還對 splc501user.c 中的函數(shù)作了外部聲明,用戶需要使用 lcd 的 api功能函數(shù)時(shí),需要把該文件包含在用戶的 c 文件中。 splc501user.c:文件中定義了針對 lcd顯示的各種 api 功能函數(shù)。 dataosforlcd.asm:該文件中提供了一些供 api 功能函數(shù)調(diào)用的數(shù)
24、據(jù)處理子程序,主要完成顯示效果的疊加、畫圓偏差量的計(jì)算等。3.3按鍵掃描程序系統(tǒng)使用 1024hz 時(shí)基中斷對 ioa口低八位進(jìn)行掃描,并進(jìn)行去抖、長短按鍵判斷等工作按鍵掃描程序提供如下三個(gè) api 函數(shù)以供用戶使用按鍵功能:語法格式:void keyscan_init(void);入口參數(shù):無出口參數(shù):無返回值:無功 能:按鍵掃描初始化。調(diào)用該函數(shù)將同時(shí)初始化按鍵掃描使用的 i/o口。void keyscan_init(void)ui_keyscanstate = c_keystatefirst;ui_keystate = c_nullkey;ui_keycount = 0;ui_keyco
25、untbk = 0;ui_keyid = c_null;ui_repeatevent = 0;ui_repeatcount = 0;drvkeyinit();語法格式:void keyscan_serviceloop();入口參數(shù):無 出口參數(shù):無 返回值:無功 能:按鍵掃描后臺(tái)服務(wù)程序。該函數(shù)一般被安置在 1khz 時(shí)基中斷中。void keyscan_serviceloop(void)switch(ui_keyscanstate)case c_keystatefirst:if(c_null != drvgetkeyid()ui_keyid = drvgetkeyid();ui_keysca
26、nstate = c_keystatedebounce;ui_keycount = 0;ui_repeatevent = 0;ui_repeatcount = 0;break;case c_keystatedebounce:if(ui_keycount c_debouncelimit)if(c_null != drvgetkeyid()if(drvgetkeyid() = ui_keyid)ui_keystate = c_skeystate;ui_keyscanstate = c_keystaterepeat;elseui_keyscanstate = c_keystatefirst;else
27、ui_keyscanstate = c_keystatefirst;/ui_keycount = 0;elseui_keycount+;break;case c_keystaterepeat:if(c_null != drvgetkeyid()if(drvgetkeyid() = ui_keyid)/if(ui_keycount c_firstrepeattim - c_repeattim)/if(+ui_repeatcount = c_repeattim)/ui_repeatcount = 0;/ui_repeatevent = 1;/if(ui_keycount c_lkeylimit)u
28、i_keyscanstate = c_keystateafterlkey;ui_keystate = c_lkeystate;elseui_keycount+;elseui_keyscanstate = c_keystatefirst;elseui_keyscanstate = c_keystatereleasedebounce;ui_keycountbk = ui_keycount;ui_keycount = 0;break;case c_keystatereleasedebounce:if(ui_keycount c_debouncelimit)if(c_null = drvgetkeyi
29、d()ui_keyscanstate = c_keystatefirst;if(c_skeystate = ui_keystate)ui_keystate = c_sreleasekeystate;else if(c_lkeystate = ui_keystate)ui_keystate = c_lreleasekeystate;elseui_keycount = ui_keycountbk;ui_keyscanstate = c_keystaterepeat;elseui_keycount+;break;case c_keystateafterlkey:if(+ui_repeatcount
30、= c_repeattim)ui_repeatcount = 0;ui_repeatevent = 1;if(c_null = drvgetkeyid()ui_keyscanstate = c_keystatereleasedebounce;else if(drvgetkeyid() != ui_keyid)ui_keyscanstate = c_keystatefirst;break;default:break;unsigned int keyscan_getkey(unsigned int *keytype);語法格式:入口參數(shù):按鍵類型 出口參數(shù):鍵值 返回值:鍵值功 能:該函數(shù)將返回當(dāng)
31、前按鍵的鍵值,并通過入口參數(shù) keytype 返回該按鍵的類型。unsigned int keyscan_getkey(unsigned int *keytype)unsigned int key;if(c_nullkey = ui_keystate)key = c_null;elsekey = ui_keyid;*keytype = ui_keystate;if(c_keystatefirst = ui_keyscanstate)ui_keyid = c_null;ui_keystate = c_nullkey;return(key);3.4 計(jì)價(jià)管理程序本系統(tǒng)的核心是對傳感器脈沖進(jìn)行計(jì)數(shù),
32、并轉(zhuǎn)換為公里數(shù),進(jìn)而根據(jù)規(guī)則計(jì)算行駛費(fèi)用,同時(shí),還需要對行駛速度進(jìn)行監(jiān)測,判斷當(dāng)前車輛是否處于低速運(yùn)行狀態(tài),以實(shí)現(xiàn)對低速運(yùn)行狀態(tài)的計(jì)時(shí),計(jì)算等待費(fèi)用。 3.4.1 pwm 管理程序計(jì)價(jià)管理程序包括如下幾個(gè)組成部分:pwm 管理程序、里程計(jì)量程序、時(shí)間管理程序、費(fèi)用管理程序、用戶界面控制程序等,各部分共同協(xié)調(diào)工作,完成計(jì)價(jià)管理的核心工作以及用戶界面的管理工作。3.4.1 pwm 管理程序本系統(tǒng)中,使用了 timerb 產(chǎn)生 pwm 波,模擬實(shí)際的出租車上的里程傳感器脈沖。改變 pwm 的頻率,就相當(dāng)于改變了車速,對 pwm 波的脈沖進(jìn)行計(jì)數(shù),等同于對里程傳感器的脈沖進(jìn)行計(jì)數(shù)。 對 pwm 的管理
33、包括:啟動(dòng) pwm、增大 pwm 頻率、減小 pwm 頻率、停止 pwm 等。 系統(tǒng)中為 timerb 設(shè)置了 96k的時(shí)鐘源,以產(chǎn)生一定頻率范圍的 pwm 波,改變 timerb 的計(jì)數(shù)初值,將會(huì)改變 pwm 的頻率,從而達(dá)到管理 pwm 頻率的目的。3.4.2 里程計(jì)量程序本系統(tǒng)中使用了外部中斷 1 來實(shí)時(shí)檢測由 iob2 輸入的脈沖。在外部中斷服務(wù)程序中對中斷次數(shù)進(jìn)行計(jì)數(shù),便可以統(tǒng)計(jì)輸入脈沖的數(shù)量。 一般情況下,運(yùn)行一段時(shí)間后輸入單片機(jī)的脈沖數(shù)量會(huì)比較大,容易導(dǎo)致計(jì)數(shù)結(jié)果溢出。故程序中使用了兩個(gè)變量對脈沖進(jìn)行計(jì)數(shù)。uipulsenum 變量用來記錄中斷次數(shù)(脈沖個(gè)數(shù)),當(dāng)達(dá)到一公里對應(yīng)的
34、脈沖數(shù)量后,使另外一個(gè)記錄公里數(shù)的變量 uidistance 加一,并使 uipulsenum歸零重新計(jì)數(shù)。這樣,便將公里數(shù)的整數(shù)部分和小數(shù)部分分開統(tǒng)計(jì),使結(jié)果不容易溢出,也便于結(jié)果轉(zhuǎn)換。 另外,程序中使用了 2hz 時(shí)基中斷用來計(jì)算車輛的行駛速度。統(tǒng)計(jì) 0.5s內(nèi)的脈沖數(shù)量,即可以得到車輛的行駛速度。這一速度將提供給費(fèi)用管理程序用來判斷是否處于低速等待狀態(tài)。3.4.3 時(shí)間管理程序系統(tǒng)使用 2hz 時(shí)基中斷實(shí)現(xiàn)計(jì)時(shí)。中斷服務(wù)程序流程如圖 3.3 所示。其中,2hz 計(jì)數(shù)器 ultimer 用來為其他模塊提供兩個(gè) 2hz 的計(jì)數(shù)器以方便的實(shí)現(xiàn)計(jì)時(shí)等操作。圖 3.3 時(shí)鐘服務(wù)程序流程圖3.4.4
35、 費(fèi)用管理程序費(fèi)用管理程序的作用是監(jiān)測系統(tǒng)時(shí)間、行駛里程和低速等待時(shí)間,并根據(jù)一定規(guī)則換算成費(fèi)用(費(fèi)用的具體計(jì)算過程請參考出租車計(jì)價(jià)器禮包的方案簡介,在此不做說明)。圖 3.4 所示的是啟動(dòng)計(jì)費(fèi)的程序流程圖。啟動(dòng)計(jì)費(fèi)時(shí),需要判斷當(dāng)前時(shí)間是否屬于夜行,以便執(zhí)行夜行起步價(jià)和單價(jià)。圖 3.4 啟動(dòng)計(jì)費(fèi)程序流程圖啟動(dòng)計(jì)費(fèi)后,主程序需要在主循環(huán)中不斷調(diào)用計(jì)費(fèi)服務(wù)程序。計(jì)費(fèi)服務(wù)程序是按照規(guī)則計(jì)算費(fèi)用的核心程序。在這里,程序記錄當(dāng)前行駛里程,并判斷是否出現(xiàn)晝夜行交替現(xiàn)象,以便對單價(jià)進(jìn)行調(diào)整;判斷行駛里程是否超過規(guī)定的空返距離,一旦超過此距離則將價(jià)格上漲 50;從里程測量模塊得到車輛行駛的速度,判斷是否出現(xiàn)低
36、速行駛狀態(tài),并利用時(shí)鐘管理模塊提供的 2hz 計(jì)數(shù)器對低速行駛時(shí)間進(jìn)行計(jì)時(shí),從而計(jì)算低速等待時(shí)間。圖 3.5所示的是計(jì)費(fèi)服務(wù)程序的流程圖。23長春師范學(xué)院畢業(yè)論文第二章 1引言圖 3.5 計(jì)費(fèi)服務(wù)程序流程圖根據(jù)計(jì)費(fèi)服務(wù)程序中統(tǒng)計(jì)的低速等待時(shí)間長度,可以按照圖 3.6 所示的流程換算成低速等待費(fèi)用。圖 3.6 等待時(shí)間換算成費(fèi)用程序流程圖行駛結(jié)束后,停止里程測量模塊的測量程序,即可完成此次計(jì)費(fèi)。系統(tǒng)將保留本次的里程、計(jì)費(fèi)結(jié)果等數(shù)據(jù),直至下一次計(jì)費(fèi)時(shí)自動(dòng)清除。3.4.5 用戶界面控制程序使用液晶驅(qū)動(dòng)程序提供的功能函數(shù),可以方便的在液晶屏上顯示需要的信息或圖片。系統(tǒng)上電后首先繪制固定不變的部分,如一
37、些漢字提示等。其他如單價(jià)、行駛里程等內(nèi)容在車輛處于行駛狀態(tài)時(shí)需要實(shí)時(shí)更新。界面控制程序?qū)睦锍逃?jì)量模塊、時(shí)間管理模塊和計(jì)費(fèi)管理模塊得到必要數(shù)據(jù)進(jìn)行顯視。33長春師范學(xué)院畢業(yè)論文參考文獻(xiàn)4 調(diào)試及檢測4.1在線調(diào)試4.1.1在線調(diào)試器(probe)和ez-probe簡介probe即是一個(gè)編程器(即程序燒寫器),又是一個(gè)實(shí)時(shí)在線調(diào)試器。用它可以替代在單片機(jī)應(yīng)用項(xiàng)目的開發(fā)過程中常用的兩件工具硬件在線實(shí)時(shí)仿真器和程序燒寫器。 圖4.1 采用probe開發(fā)時(shí)的硬件連接圖相對于61板來說它只是一跟下載線,工作的時(shí)候?qū)⑴浜?1板上的74hc244電路實(shí)現(xiàn)程序的燒寫和在線調(diào)試,在功能上和probe是一樣的。圖
38、4.2 采用下載線和61板開發(fā)時(shí)的硬件連接圖spce061a單片機(jī)的調(diào)試接口只有2根控制傳輸線,在線調(diào)試器和下載就是通過這兩跟傳輸線加上一些同電腦并口商量好的規(guī)則來進(jìn)行聯(lián)絡(luò),由于并口的信號是多個(gè)口一同發(fā)出的,要把它轉(zhuǎn)換成兩跟線的傳輸方式spce061a才能識別,正是在這里出現(xiàn)了下載線和在線調(diào)試器速度上的差別,在線調(diào)試器是通過設(shè)計(jì)一些硬件的邏輯關(guān)系進(jìn)行轉(zhuǎn)換的,而下載線是通過電腦進(jìn)行軟件編程來進(jìn)行轉(zhuǎn)換的,根據(jù)硬件處理通常比軟件處理快的常識,我們就可得出在線調(diào)試器速度快的結(jié)論了。 4.2 spce061a的檢測 4.2.1程序下載程序下載步驟如下:1、雙擊附帶的光盤里如下路徑“ide1.16.1”的
39、ide安裝文件,根據(jù)提示安裝開發(fā)環(huán)境2、從附帶的光盤里如下路徑“精簡開發(fā)板-61板自檢程序”的“61a測試.rar”文件拷貝到本地目錄下,如d: 61a測試。3、連接好硬件pc下載線61板,并確認(rèn)電源開關(guān)已打開,且s5的2、3腳已短接。4、打開ide開發(fā)環(huán)境。4.2.2檢測關(guān)掉電池盒上的電源,把下載線從61板上拔下來,并把s5的1、2腳短接。根據(jù)聲音提示進(jìn)行檢測。檢測步驟如下:1、連接喇叭和電源?,F(xiàn)象:當(dāng)電源接通時(shí),紅色的發(fā)光二極管會(huì)點(diǎn)亮。同時(shí)會(huì)有語音提示:“歡迎進(jìn)入自檢模式”,此時(shí)因?yàn)檫€沒有連線,所以會(huì)聽到:“i/o測試失敗”的警告,所以就要進(jìn)行第二步的操作。2、用連線分別將i/oa口的低8
40、位和iob口的低8位相連,ioa口的高8位和iob口的高8位相連,然后按下rest復(fù)位鍵?,F(xiàn)象:當(dāng)按下復(fù)位鍵后,程序從第一條開始運(yùn)行開始執(zhí)行,語音提示“歡迎進(jìn)入自檢模式”,當(dāng)聽到語音:“i/o測試成功”后,進(jìn)行第三步操作。3、按k1鍵進(jìn)行睡眠功能測試?,F(xiàn)象:如果測試成功,會(huì)看到綠色的發(fā)光二極管亮滅一下,并有語音提示“睡眠測試成功”,否則提示“睡眠測試失敗”,然后進(jìn)行第四步操作。4、按下k2鍵進(jìn)行a/d轉(zhuǎn)換的測試?,F(xiàn)象:語音提示:“a/d測試成功”,否則提示“a/d測試失敗”,進(jìn)入最后一步操作。 5、拔掉第一步測試時(shí)的連接線,并按下k3鍵測試mic輸入及d/a轉(zhuǎn)換輸出是否正常。 現(xiàn)象:可以在mi
41、c上輕輕的拍幾下,同時(shí)聽是否有聲音輸出,如果有,則說明mic輸入和d/a轉(zhuǎn)換輸出部分正常。 5設(shè)計(jì)時(shí)應(yīng)注意的問題為了計(jì)價(jià)器能適應(yīng)不同地區(qū)的需要,軟件編程及調(diào)試比較復(fù)雜,需要特別小心。為了使計(jì)費(fèi)器穩(wěn)定、可靠地工作,軟件設(shè)計(jì)主要考慮了以下幾個(gè)方面:1、為了防止計(jì)費(fèi)器死機(jī),軟件編程時(shí)采用了指令冗余技術(shù)、軟件陷阱技術(shù)以及軟件看門狗技術(shù)。2、為了防止程序“亂飛”而非法修改計(jì)費(fèi)器所設(shè)置好的各種參數(shù),從軟件的角度對計(jì)費(fèi)器的各種參數(shù)進(jìn)行了多重保護(hù)。必須通過“合法”的途徑才能修改參數(shù),而程序“亂飛”也不能修改計(jì)費(fèi)器所設(shè)置好的參數(shù)。3、任何時(shí)候均要注意保存好計(jì)費(fèi)器所處的狀態(tài)及各種數(shù)據(jù),復(fù)位后計(jì)費(fèi)器能夠回到原來的狀
42、態(tài)。如計(jì)費(fèi)器處于載客狀態(tài),復(fù)位后計(jì)費(fèi)器仍然回到載客狀態(tài),且車資、收費(fèi)里程、收費(fèi)時(shí)間及單價(jià)同復(fù)位前一樣。6 計(jì)價(jià)器發(fā)展前景由于計(jì)價(jià)器收費(fèi)規(guī)則越來越復(fù)雜,簡單的顯示金額已不足以解釋整個(gè)計(jì)費(fèi)的構(gòu)成。另外香港電子作弊裝置的侵入,在計(jì)價(jià)器公正計(jì)費(fèi)上引起乘客的恐慌,迫切要求在計(jì)價(jià)器上加防作弊報(bào)警裝置。出租車輛的單車承包,也要求駕駛員與乘客之間結(jié)算清楚,管理部門也對計(jì)價(jià)器提出大存儲(chǔ)量,計(jì)算機(jī)數(shù)據(jù)采集管理以及計(jì)價(jià)器與頂燈、空車燈、電門開關(guān)聯(lián)動(dòng)。如此種種,都對計(jì)價(jià)器設(shè)計(jì)制造提出新的要求,要以高質(zhì)量,多功能適應(yīng)行業(yè)市場需要。計(jì)價(jià)器的研制應(yīng)用成功由簡單到復(fù)雜,再由復(fù)雜到簡單,向高性能多功能方向發(fā)展,這是符合客觀發(fā)展規(guī)律的。出租汽車的發(fā)展,也對計(jì)價(jià)器的開發(fā)應(yīng)用提出更高的要求,目前各方共同努力研制各類新產(chǎn)品,預(yù)計(jì)將有下列新型計(jì)價(jià)器出現(xiàn)。結(jié)束語經(jīng)過這兩個(gè)月來不懈的努力與奮斗,我終于在老師的指導(dǎo)下完成了我的畢業(yè)設(shè)計(jì),雖然它還有諸多需要
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 德育工作與學(xué)校教育目標(biāo)的統(tǒng)一性
- DB 3705T 51-2024微型月季設(shè)施栽培技術(shù)規(guī)程
- 個(gè)人信用貸款第三方擔(dān)保合同樣本
- 云存儲(chǔ)硬盤空間租用合同協(xié)議
- 上市公司技術(shù)合作合同模板
- 個(gè)人房屋抵押貸款合同范本
- 臨時(shí)用工安全免責(zé)合同協(xié)議
- 個(gè)人理財(cái)規(guī)劃合同書
- 專業(yè)版辦公室裝修合同模板
- 二手汽車購銷合同范本
- 中考記敘文閱讀
- 《計(jì)算機(jī)應(yīng)用基礎(chǔ)》-Excel-考試復(fù)習(xí)題庫(含答案)
- 產(chǎn)科溝通模板
- 2023-2024學(xué)年四川省成都市小學(xué)數(shù)學(xué)一年級下冊期末提升試題
- GB/T 7462-1994表面活性劑發(fā)泡力的測定改進(jìn)Ross-Miles法
- GB/T 2934-2007聯(lián)運(yùn)通用平托盤主要尺寸及公差
- GB/T 21709.13-2013針灸技術(shù)操作規(guī)范第13部分:芒針
- 2022年青島職業(yè)技術(shù)學(xué)院單招語文考試試題及答案解析
- 急診科進(jìn)修匯報(bào)課件
- 一年級家訪記錄表(常用)
- 信息技術(shù)基礎(chǔ)ppt課件(完整版)
評論
0/150
提交評論