基于SPCE061A的出租車計費系統(tǒng)設(shè)計(完整C程序)_第1頁
基于SPCE061A的出租車計費系統(tǒng)設(shè)計(完整C程序)_第2頁
基于SPCE061A的出租車計費系統(tǒng)設(shè)計(完整C程序)_第3頁
基于SPCE061A的出租車計費系統(tǒng)設(shè)計(完整C程序)_第4頁
基于SPCE061A的出租車計費系統(tǒng)設(shè)計(完整C程序)_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 存檔編號: 畢業(yè)論文(設(shè)計)畢業(yè)論文(設(shè)計)題題 目目: 基于凌陽單片機基于凌陽單片機 spce061a 的出租車計價器設(shè)計的出租車計價器設(shè)計 專 業(yè): 電子信息工程 院 系: 電子工程系 年 級: 2005 級 學(xué) 號: 0506044008 姓 名: 孟 成 指導(dǎo)教師: 田 浩 職 稱: 講 師 湖北經(jīng)濟學(xué)院教務(wù)處 制2009 屆普通本科畢業(yè)論文(設(shè)計)湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)2目 錄摘摘 要要.3abstract.4文獻綜述文獻綜述.5一、緒論一、緒論.81.1 課題理論與實際研究意義.81.2 本文主要研究內(nèi)容.8二、方案的論證與比較二、方案的論證與比較.92.1 方案一.9

2、2.2 方案二.92.3 方案三.10三、三、 spce061aspce061a 單片機簡介及開發(fā)單片機簡介及開發(fā).113.1 spce061a 芯片簡介.113.2 splc501 液晶模組特性 .123.3 spce061a 硬件電路.13四、硬件系統(tǒng)設(shè)計四、硬件系統(tǒng)設(shè)計.15五、系統(tǒng)軟件設(shè)計五、系統(tǒng)軟件設(shè)計.165.1 主程序.165.2 液晶驅(qū)動程序.175.3 按鍵掃描程序.195.4 計價器管理程序.195.5 pwm 管理程序 .205.6 里程計量程序.205.7 時間管理程序.205.8 費用管理程序.21六、系統(tǒng)測試六、系統(tǒng)測試.256.1 預(yù)期達到效果.256.2 實際效

3、果.25七、七、總結(jié)總結(jié).27致致 謝謝.28參考文獻參考文獻.29附附 錄錄.30湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)3摘摘 要要隨著我國交通事業(yè)的發(fā)展以及道路的不斷改進,與人民生活密切相關(guān)的出租車行業(yè)正在飛速發(fā)展壯大。出租車計價系統(tǒng)作為出租車的一個重要組成部分,關(guān)系著整個出租車行業(yè)的發(fā)展,因此具有良好的計價系統(tǒng)是非常重要的。日常生活中所用的出租車系統(tǒng)有兩種:第一種是采用傳感器件,輸出脈沖信號,經(jīng)過放大整形作為移位寄存器的脈沖,實現(xiàn)計價,但是考慮到這種電路過于簡單,性能不夠穩(wěn)定,而且不能調(diào)節(jié)單價,電路不夠?qū)嵱?。第二種是采用傳統(tǒng)的 51 單片機來控制,外接存儲芯片和顯示驅(qū)動電路(驅(qū)動數(shù)碼管)來實現(xiàn)

4、計價,這種方案雖然比較實用,但是其顯示部分太過單調(diào),并且不方便整個系統(tǒng)的升級(比如說擴展語音功能)。本文論述了一種新的實現(xiàn)出租車計價器的方案,雖然其本質(zhì)還是利用單片機來控制,但其效果卻有很大的不同。該計費系統(tǒng)的控制部分采用 16 位的凌陽單片機來實現(xiàn),顯示部分則用 lcd 來處理,并且可以利用凌陽單片機自身的音頻壓縮算法來實現(xiàn)語音的播報。文中首先簡述了出租車計價系統(tǒng)的意義和凌陽 spce061a 單片機和 splc051 液晶模組的特點,然后根據(jù)出租車計價器系統(tǒng)的控制要求,詳細的闡述了設(shè)計方案的選擇以及整個程序設(shè)計的過程。并以凌陽科技的 spce061a 單片機以及液晶模組建立智能出租車計價器

5、控制系統(tǒng),并在此平臺上完成對出租車狀態(tài)進行模擬控制的軟件設(shè)計。充分利用了 spce061a 具有直接輸出可調(diào) pwm 的特性,,通過改變 pwm 的頻率以達到模擬出租車行駛速度的變化。經(jīng)過實踐,結(jié)果表明,該系統(tǒng)設(shè)計方案合理,可靠性高,達到預(yù)期目標(biāo),實現(xiàn)效果好。是一種操作性良好的設(shè)計方案。關(guān)鍵詞關(guān)鍵詞: spce061a ;splc501 液晶模組;出租車;計價器 湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)4abstractwith the development of transport, as well as the continuous improvement of roads, taxis and

6、 peoples living standard as the industry is closely related to the rapid development and growth. pricing system as a taxi an important part of the relationship between the entire taxi industry, it has a good pricing system is very important. the daily life of the taxi used in several systems, there

7、are two: the first one is the use of sensors, the output pulse signal, after amplification of plastic as a shift register pulse, the realization of pricing, but taking into account that the circuit is too simple and not stable enough performance, but can not regulate price, we can not adjust billing

8、 based on the weather standards, lack of practical circuits. the second is the use of traditional single-chip microcomputer to control 51, an external memory chips and display driver circuit (driver digital tube) to achieve the pricing, although such programs more practical, but it showed some too m

9、onotonous, and the whole system is not convenient upgrade (for example, the expansion of voice-enabled). in this paper, the realization of a new taximeter program, although its nature or the use of single-chip microcomputer to control, but its effects are quite different. the accounting system used

10、to control part of the sunplus 16-bit single chip to achieve, with lcd display and partly to deal with, and can use their own sunplus single-chip audio compression algorithm to achieve the broadcast voice. first of all, the article outlines the significance of taximeter system and splc051 sunplus sp

11、ce061a mcu and the characteristics of lcd module, and then in accordance with taximeter control system and detailed design on the whole process of selection and design process. after practice, the results show that a reasonable design of the system, high reliability and to achieve the desired goal,

12、to achieve good results. interoperability is a good design. the program of spce061a sunplus lcd module, as well as the establishment of single-chip smart taximeter control system, and platform in this state of completion of the taxi to simulate the control of software design. spce061a full advantage

13、 of the direct output of the characteristics of adjustable pwm, pwm frequency by changing the simulation in order to achieve the changes in taxi speed.keywords : spce061a ;splc501 lcd module ; taxi ; taximeter湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)5文獻綜述文獻綜述基于凌陽 spce061a 的出租車計價器的設(shè)計與研究摘要:隨著電子技術(shù)的發(fā)展,出租車計價器的技術(shù)水平也在不斷進步和提高,國內(nèi)出租車

14、計價器已經(jīng)經(jīng)差不多歷了四個發(fā)展階段,從傳統(tǒng)的全部由機械元件組成的機械式,到半電子式即用電路代替部分機械元器件的出租車計價器,再從集成電路式到目前的由單片機小系統(tǒng)組成的出租車計價器。本文綜合了各種方案與方法,敘述了一種新型的出租車計價器的設(shè)計模型。關(guān)鍵詞:出租車 計價器 單片機隨著人們生活水平的提高,大家已經(jīng)不再滿足于衣食住的享受,出行的舒適已受到越來越多人的關(guān)注。于是就出現(xiàn)了出租車行業(yè),它以低價高質(zhì)的服務(wù)給人們帶來了出行的享受。但是總存在著車主與顧客之間的糾紛,這困擾著行業(yè)的發(fā)展。而在出租車行業(yè)中解決這一矛盾的最佳方法就是改良計價器。用更加精良的計價器來為乘客提供更加快捷的服務(wù)。但凡坐過出租車

15、的人都應(yīng)該知道,只要汽車一開動,隨著行駛路程的增加,我們就會看到汽車前面的計價器里程顯示的讀數(shù)從零逐漸增大,而當(dāng)行駛到某一值時(如 3km)計費數(shù)字顯示開始從起步價(如 5 元)增加。當(dāng)出租車到達某地需要在那里等候的時候,出租車司機只需按一下“等待”鍵,每等候一定時間,計費顯示就增加一定該收的等候費用。當(dāng)汽車?yán)^續(xù)行駛時,停止等候費用的計算,繼續(xù)按里程計費。到達目的地時,就按顯示的數(shù)字收取相應(yīng)的費用。我國大約在 70 年代開始出現(xiàn)出租車,但那個時侯的計費系統(tǒng)大都是從國外進口的,不但不準(zhǔn)確,而且價格還十分貴。隨著經(jīng)濟水平的不斷發(fā)展,出租車行業(yè)的發(fā)展勢頭已十分突出,國內(nèi)很多機械廠家開始推出國產(chǎn)計價器

16、。出租車計價器的功能也從剛開始的只顯示路程,到能夠自主的計費,以及現(xiàn)在的能夠打印發(fā)票和語音提示、按時間自主變動單價等功能。最早的出租車計價器是機械式,它是用齒輪比的方法來計算出租車所跑的公里數(shù),并由路程來計算車費。但機械齒輪的體積比較大,計算不是很準(zhǔn)確,而且易磨損。后來就采用模擬電路和數(shù)字電路設(shè)計的計價器。這種計價器整體電路的規(guī)模較大,用到的器件很多,造成故障率比較高,而且難調(diào)試,對于模式的切換需要用到機械開關(guān),開關(guān)時間久了就會造成接觸不良,功能不易實現(xiàn)。隨著技術(shù)的發(fā)展,現(xiàn)湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)6階段越來越多的出租車計價器采用單片機或者 eda 來實現(xiàn)。用單片機進行設(shè)計,相對來說功能

17、強大,用較少的硬件和適當(dāng)?shù)能浖嗷ヅ浜峡梢院苋菀椎膶崿F(xiàn)設(shè)計要求,且靈活性強,可以通過軟件編程來完成更多的附加功能。通過研究出租車計價器的發(fā)展,我們發(fā)現(xiàn)其本質(zhì)就是對脈沖的計數(shù)。各個不同時期的計價器雖然實現(xiàn)的方法不同,但有一點事相同的:把里程轉(zhuǎn)換為數(shù)字脈沖,然后對脈沖進行計數(shù),然后對數(shù)字量處理,把最后處理的結(jié)果予以顯示,就是我們看到的出租車計價器 。所以出租汽車計價器用傳感器是出租汽車計價器的重要部件,傳感器的準(zhǔn)確性直接影響計價器的計價精度,是計價器日常修理中遇到的最多的問題。它的功能是將轉(zhuǎn)動的機械信號變成電脈沖信號,傳輸給計價器的輸入接口,根據(jù)輸入的脈沖數(shù)來計算出租車行駛的里程。出租車計價器使用

18、的傳感器可分為三類:光電式,磁電式和干簧管式。光電式傳感器體積比較大,且不易安裝,已經(jīng)停止使用?,F(xiàn)在主要用的是干簧管式和霍爾元件式傳感器。干簧管式傳感器靈敏度高,安裝簡單,價格便宜,體積小, 而且干簧管的接觸簧片是在玻璃管里面,故可以在較潮濕的環(huán)境下使用。當(dāng)傳感器的轉(zhuǎn)軸轉(zhuǎn)動時,永久磁鐵經(jīng)過干簧管一側(cè),干簧管內(nèi)的觸點就接通一次,傳感器就輸出一個脈沖信號,這樣完成了一次轉(zhuǎn)換過程。但干簧管式也有致命的問題,由于它是機械接觸,使用壽命不可能太長,易損壞,如果出現(xiàn)短路或者電流過大的情況,就會導(dǎo)致干簧管接點燒粘而無法使用。計價器用的傳感器都靠在發(fā)動機旁邊,溫度很高,而使用的磁鐵如果磁性減弱就會丟掉脈沖。傳

19、感器的轉(zhuǎn)軸磨損后,間隙變大,發(fā)動機的震動會使傳感器轉(zhuǎn)軸瞬間產(chǎn)生一個移位,而造成多個輸出脈沖信號。所以近段時間以來,干簧管傳感器使用越來越少。霍爾傳感器是現(xiàn)在出租汽車計價器所選用的主流傳感器,可以檢測轉(zhuǎn)數(shù)、轉(zhuǎn)速,霍爾傳感器性能可靠,應(yīng)用電路簡單,尺寸小,價格便宜,在計價器配套使用廣泛?;魻栐窃诎雽?dǎo)體薄片的兩端通過電流控制,并在半導(dǎo)體薄片的垂直方向上施加磁場,垂直于電流和磁場方向上產(chǎn)生電壓稱為霍爾電壓,這一現(xiàn)象就是霍爾效應(yīng)。根據(jù)霍爾效應(yīng)制造的元件就是霍爾元件。目前的霍爾元件、溫度補償電路、穩(wěn)壓電源及放大器做在一個芯片上,成為霍爾傳感器,目前計價器用傳感器大都是開關(guān)型霍爾傳感器。它的工作原理是:

20、當(dāng)外加磁場強度超過動作點時,傳感器輸出一個低電平,但磁場強度降到動作點以下時,傳感器輸出的電平保持不變,一直降到釋放點時,傳感器的輸出才由低電平跳變至高電平。這些傳感器最終都是把里程轉(zhuǎn)換為脈沖信號進行處理。在本文中,考慮到實際測試情況,沒有湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)7用傳感器來測量里程,而是直接一個平率可調(diào)的脈沖源來替代里程的轉(zhuǎn)換部分。除了里程轉(zhuǎn)換部分,計價器的顯示也是一個很重要的模塊。如何把里程數(shù),費用等信息實時正確的顯示,關(guān)系都服務(wù)雙方切實的利益。在之前的計價器系統(tǒng)中,很多公司 采用的是51單片機來做控制 ,然后外加存儲芯片和數(shù)碼管實現(xiàn)里程和費用等信息 。該方法雖然適用,但是外部擴展

21、芯片太多,而且如果要顯示多個狀態(tài)的話數(shù)碼管的數(shù)量也要相應(yīng)的增加,這就會使系統(tǒng)整個的升級受到限制。并且,用數(shù)碼管做顯示不是很美觀,它只能顯示最基本的數(shù)字,其他的就無法滿足需求。所以顯示部分最后使用液晶屏,它不僅可以顯示靜態(tài)圖片和文字,而且可以顯示動態(tài)圖片和組合圖片。并且實現(xiàn)起來不復(fù)雜,不會像數(shù)碼管那樣需要大量的芯片來支持。本文中所采用的就是凌陽16位單片機配合液晶模組來實現(xiàn)整個出租車計價器的模擬。參考文獻:1羅亞非.凌陽16位單片機應(yīng)用基礎(chǔ)m .北京:北京航空航天大學(xué)出版社,2003.2雷思孝,李伯成,雷向莉.單片機原理及實用技術(shù)凌陽 16 位單片機原理及應(yīng)用 陜西:西安電子科技大學(xué)出版社,20

22、043凌陽科技.61板使用說明書s . 20054譚浩強.c程序設(shè)計m .北京:清華大學(xué)出版社,1999.5 侯媛彬.凌陽單片機原理及其畢業(yè)設(shè)計精選 科學(xué)出版社,2006.6薛均義.凌陽16位單片機原理及應(yīng)用m .北京:北京航空航天大學(xué)出版社,2003.7凌陽科技.凌陽16位單片機開發(fā)實例m .北京:北京航天航空大學(xué)出版社,2006. 8段里仁,任大任.道路交通自動控制 m .北京:中國人民公安大學(xué)出版社,1991.9 陳德望,李靈犀,劉小明,等.城市高速道路交通控制方法研究的回顧與展望j .信息與控制,2002 .10 汪希時.智能鐵路交通控制技術(shù)及其展望j .世界科技研究與發(fā)展,2002

23、.11凌陽單片機在大學(xué)生電子競賽中的應(yīng)用m.凌陽科技大學(xué)計劃 北京航空航天大 學(xué)出版社,2005.12凌陽單片機課程設(shè)計指導(dǎo)m.凌陽科技大學(xué)計劃 北京航空航天大 學(xué)出版社,2007.13 kreidl h.嵌入式flash微控制器簡介(上) (embedded flash mcu) j .世界電子元器件,200214 kreidl h.嵌入式flash微控制器簡介(下) (embedded flash mcu) j .世界電子元器件,2002 15 aseem vasudev prabhugaonkar . interfacing nand flash memory with adsp 2 2

24、126x sharc processors analog devices , inc ,2005. 16 samsung electronics corporation. k9f4 g08u0m 512m8bits / 1g8bits nand flash memory data sheet s , 2004.湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)817wakerly j f. digital design principles and practices. new jersey: prentice 2 hall, 1990.18 凌陽大學(xué)計劃網(wǎng)站( ) 湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)9一、緒論一

25、、緒論1.1 課題理論與實際研究意義課題理論與實際研究意義但凡坐過出租車的人都應(yīng)該知道,只要汽車一開動,隨著行駛路程的增加,我們就會看到汽車前面的計價器里程顯示的讀數(shù)從零逐漸增大,而當(dāng)行駛到某一值時(如 3km)計費數(shù)字顯示開始從起步價(如 5 元)增加。當(dāng)出租車到達某地需要在那里等候的時候,出租車司機只需按一下“等待”鍵,每等候一定時間,計費顯示就增加一定該收的等候費用。當(dāng)汽車?yán)^續(xù)行駛時,停止等候費用的計算,繼續(xù)按里程計費。到達目的地時,就按顯示的數(shù)字收取相應(yīng)的費用。出租車計價器是顧客與司機雙方的交易規(guī)則,它是出租車行業(yè)發(fā)展的一個標(biāo)志,是出租車行業(yè)中十分重要的工具。它關(guān)系著買賣雙方的既得利益

26、。具有性能良好的計價器無論是對廣大出租車司機還是對顧客來說都是必要的。因此,汽車計價器的研究是十分價值的。隨著人們生活水平的提高,大家已經(jīng)不再滿足于衣食住的享受,出行的舒適已受到越來越多人的關(guān)注。于是就出現(xiàn)了出租車行業(yè),它以低價高質(zhì)的服務(wù)給人們帶來了出行的享受。但是總存在著車主與顧客之間的糾紛,這困擾著行業(yè)的發(fā)展。而在出租車行業(yè)中解決這一矛盾的最佳方法就是改良計價器。用更加精準(zhǔn)的計價器來為乘客提供更加快捷的服務(wù)。1.2 本文主要研究內(nèi)容本文主要研究內(nèi)容出租車日益普遍,了解在出租車上應(yīng)用的計價系統(tǒng)的工作原理并使用單片機實現(xiàn)該系統(tǒng)。本文所述方案充分發(fā)揮人性化的特點,利用 spce061a 的語音功

27、能,配合splc501 液晶模組,模擬實現(xiàn)帶語音提示的出租車計價系統(tǒng)。湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)10二、方案的論證與比較二、方案的論證與比較2.1 方案一方案一采用數(shù)字電路控制。其原理方框圖如圖 2.1 所示。采用傳感器件,輸出脈沖信號,經(jīng)過放大整形作為移位寄存器的脈沖,實現(xiàn)計價,但是考慮到這種電路過于簡單,性能不夠穩(wěn)定,而且不能調(diào)節(jié)單價,電路不夠?qū)嵱?。圖 2.1 數(shù)字電路方案2.2 方案二方案二采用 51 單片機控制。利用單片機豐富的 io 端口,及其控制的靈活性,實現(xiàn)基本的里程計價功能和價格調(diào)節(jié)、時鐘顯示功能。其原理如圖 2.2 所示。湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)11圖 2.2

28、51 單片機控制方案2.3 方案三方案三采用凌陽公司 spce061a 16 位單片機做控制,利用其自帶的強大的語音處理能力和液晶顯示能力,模擬實現(xiàn)具有語音提示功能的出租車計價器系統(tǒng)。其原理圖如 2.3 所示。圖 2.3 spce061a 單片機控制方案通過以上幾種方案的比較,單片機方案有比較大的活動空間,不但能實現(xiàn)所要求的功能,而已還有很大的擴展空間,并且方便以后的系統(tǒng)升級,所以我們選擇單片機的方案來實現(xiàn)。在 8 位和 16 位單片機之間,我們選擇了凌陽的 16 位單片機。因為考慮到用 51 單片機來實現(xiàn)人機交互界面的話,必須用到串口顯示驅(qū)動電路和緩沖電路,而且其顯示部分只能用 led 來實

29、現(xiàn),不具有視覺吸引力,故我們選擇了后者。spce061a 自身不僅擁有強大的語音處理能力,而且他可以便捷的同 lcd 配套使用,迅速的實現(xiàn)圖像和文字的處理。通過分析,我們把本次設(shè)計分為硬件和軟件設(shè)計兩個部分來分別進行,其硬件設(shè)計劃分為以下模塊:spce061a 主控板模塊和 splc501 液晶模塊。采用spce061a 精簡開發(fā)板作為核心控制部件,利用 spce061 板上的 3 個按鍵控制出租車的不同行駛狀態(tài),根據(jù)實際情況去模擬出租車計價器。在軟件設(shè)計上,我們把他分成以下幾個模塊,即:主程序模塊、液晶驅(qū)動程序模塊、按鍵掃描程序模塊、語音播放程序模塊、計價管理程序模塊。湖北經(jīng)濟學(xué)院本科畢業(yè)論

30、文(設(shè)計)12三、三、 spce061aspce061a 單片機簡介及開發(fā)單片機簡介及開發(fā)3.1 spce061a 芯片簡介芯片簡介spce061a 是一款基于 nsp 內(nèi)核的 16 位單片機,其芯片特性如下: 工作電壓:內(nèi)核工作電壓 vdd 為 3.03.6v(cpu),i/o 口工作電壓 vddh為 vdd5.5v; 具備觸鍵喚醒功能; 系統(tǒng)處于備用狀態(tài)下(時鐘處于停止?fàn)顟B(tài)),耗電小于 2a3.6v; 內(nèi)置 2k 字 sram 和 32k 字閃存 rom; 2 個 10 位 dac(數(shù)-模轉(zhuǎn)換)輸出通道; 32 位通用可編程輸入/輸出端口; 2 個 16 位可編程定時器/計數(shù)器(可自動預(yù)置

31、初始計數(shù)值); 7 通道 10 位電壓模-數(shù)轉(zhuǎn)換器(adc)和單通道聲音模-數(shù)轉(zhuǎn)換器; 14 個中斷源可來自定時器 a / b,時基,2 個外部時鐘源輸入,鍵喚醒; 內(nèi)置在線仿真(ice,in- circuit emulator)接口; 低電壓復(fù)位(lvr)功和低電壓監(jiān)測(lvd)功能; 具備串行設(shè)備接口; cpu 時鐘:0.32mhz49.152mhzspce061a 的內(nèi)部結(jié)構(gòu)框圖如圖 3.1 所示:湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)13圖 3.1 spce061a 內(nèi)部結(jié)構(gòu)圖3.2 splc501 液晶模組特性液晶模組特性splc501 液晶模組具有以下特: 顯示格式:12864 點陣的圖

32、形液晶; 顯示模式:黃色模式stn 液晶; 輸入數(shù)據(jù):兼容68/80 系列mpu 時序。splc501液晶模組的實物圖如圖3.2所示:湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)14圖 3.2 splc501 液晶模組實物圖3.3 spce061a 硬件電路硬件電路spce061a最小系統(tǒng)最小系統(tǒng)本方案使用 61 板作為單片機最小系統(tǒng)。61 板包括 spce061a 芯片及外圍的基本模塊,外圍基本模塊包括:鎖相環(huán)外圍電路(pll) 、晶振輸入模塊(osc) 、指示燈(led) 、復(fù)位電路(reset)等,如圖 3.3 所示。湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)15圖 3.3 spce061a 最小系統(tǒng)lcd顯

33、示器顯示器splc501液晶模組提供的lcd顯示器采用凌陽splc501液晶驅(qū)動芯片,點陣分辨率為12864。spce061a與splc501液晶模組的硬件連接如圖 3.4所示。圖 3.4 spce061a 與 splc051 液晶模組的硬件連接圖湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)16四、硬件系統(tǒng)設(shè)計四、硬件系統(tǒng)設(shè)計圖4.1 為出租車計價器的系統(tǒng)框圖,采用 spce061a 芯片作為主控制器,通過iob2 接收外部中斷脈沖輸入(在本文中使用 iob9 輸出的 pwm 模擬傳感器的脈沖),對脈沖進行計數(shù),然后換算成里程數(shù),并按照出租車計價系統(tǒng)的標(biāo)準(zhǔn)進行計費。圖 4.1 出租車計價器系統(tǒng)框圖下圖為出

34、租車計價器的硬件連接圖。湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)17五、系統(tǒng)軟件設(shè)計五、系統(tǒng)軟件設(shè)計本系統(tǒng)軟件中包括下面程序模塊:本系統(tǒng)軟件中包括下面程序模塊:主 程 序:初始化系統(tǒng)涉及到的硬件模塊,掃描鍵盤,根據(jù)按鍵啟動/停止里程測量,并調(diào)用用戶界面程序定時更新日期時間顯示,實時更新單價、里程、低速時間、費用等信息顯示。液晶驅(qū)動程序:lcd 顯示驅(qū)動程序,圖形顯示、實現(xiàn)文本等功能。按鍵掃描程序:掃描按鍵,返回按鍵結(jié)果。語音播放程序:播放提示音,行駛費用、里程等。計價管理程序:完成傳感器脈沖計數(shù),然后轉(zhuǎn)換為里程數(shù),并根據(jù)轉(zhuǎn)換標(biāo)準(zhǔn)計算對應(yīng)的費用,同時,測量行駛速度,并統(tǒng)計低速時間,計算低速等待費用,然后

35、提供液晶顯示更新函數(shù),使主函數(shù)可以控制更新界面以及行駛路程、費用等信息的顯示。該模塊包括時間管理程序、pwm 管理程序、費用管理程序、里程計量程序、用戶界面控制程序等部分。5.1 主程序主程序主程序流程如圖 5.1:程序運行后首先初始化各個部件,同時打開 1khz 和 2hz時基中斷,為鍵盤掃描模塊和時間管理模塊服務(wù)。然后,進入主循環(huán),不斷進行按鍵掃描,并根據(jù)按鍵返回的結(jié)果啟動/停止里程計量,或進入系統(tǒng)設(shè)置模式。在主循環(huán)中同時還要對時間進行更新。湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)18圖 5.1 主程序流程圖 5.2 液晶驅(qū)動程序液晶驅(qū)動程序lcd 顯示部分采用 splc501 液晶模組附帶的驅(qū)動

36、程序。該驅(qū)動的架構(gòu)如圖 5.2所示。湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)19圖 5.2 lcd 驅(qū)動程序架構(gòu) 驅(qū)動程序由 5 個文件組成,分別為:底層驅(qū)動程序文件 splc501driver_io.asm 、splc501driver_io.inc;用戶 api 功能接口函數(shù)文件 dataosforlcd.asm 、splc501user.c、splc501user.h。splc501driver_io.asm:該文件為底層驅(qū)動,負責(zé)與 splc501 液晶顯示模組進行數(shù)據(jù)傳輸?shù)娜蝿?wù),主要包括端口初始化、寫指令、寫數(shù)據(jù)、讀數(shù)據(jù)等函數(shù);這些函數(shù)僅供 splc501user.c 調(diào)用。splc501d

37、river_io.inc :該文件為底層驅(qū)動的頭文件,主要對使用到的寄存器進行定義,還對 spce061a 和 splc501 液晶模組的接口進行配置;用戶可以根據(jù)自已的需求來配置此文件,但要使端口的分配符合實際硬件的走線。dataosforlcd.asm:該文件中提供了一些供 api 功能函數(shù)調(diào)用的數(shù)據(jù)處理子程序,主要完成畫圓偏差量的計算、顯示效果的疊加等。splc501user.c:文件中定義了 lcd 顯示的各種 api 功能函數(shù)。splc501user.h:該文件為用戶 api 函數(shù)文件的頭文件,主要對一些記住符定義,及配置 lcd 的一些設(shè)置,另外文件里還對 splc501user.

38、c 中的函數(shù)作了外部聲明,用戶需要使用 lcd 的 api 功能函數(shù)時,需要把該文件包含在用戶的 c 文件中。湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)205.35.3 按鍵掃描程序按鍵掃描程序系統(tǒng)使用 1khz 時基中斷對 ioa 低八位進行掃描,并進行長短按鍵判斷、去抖等工作。按鍵掃描程序提供下面三個 api 函數(shù)供用戶使用按鍵功能:void keyscan_init();入口參數(shù):無出口參數(shù):無功 能:按鍵掃描初始化。void keyscan_serviceloop();入口參數(shù):無出口參數(shù):無功 能:按鍵掃描后臺服務(wù)程序。unsigned int keyscan_getkey(unsigned

39、int *keytype);入口參數(shù):按鍵類型出口參數(shù):鍵值功 能:該函數(shù)將返回當(dāng)前按鍵值,并通過入口參數(shù) keytype 返回該按鍵類型。5.45.4 計價器管理程序計價器管理程序本系統(tǒng)的核心是對傳感器脈沖進行計量,并把它轉(zhuǎn)換為相應(yīng)的公里數(shù),進而根據(jù)規(guī)則計算行駛費用,與此同時,還要對行駛速度進行測量,判斷當(dāng)前車子是否處于低速狀態(tài),以實現(xiàn)對低速狀態(tài)的計時,并計算等待費用。計價管理程序包括如下幾個組成部分:時間管理程序、pwm 管理程序、費用管理程序、里程計量程序、用戶界面控制程序等,各部分共同協(xié)調(diào),完成計價管理的核心工作以及用戶界面的管理。5.5 pwm 管理程序管理程序本方案中,使用了 ti

40、merb 產(chǎn)生 pwm 波,以用來模擬實際的出租車上的里程傳感器脈沖。通過改變 pwm 的頻率,來改變車速,對 pwm 波的脈沖進行計數(shù),就湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)21如同于對里程傳感器的脈沖進行計數(shù)。對 pwm 的管理包括:啟動 pwm、減小 pwm 頻率、增大 pwm 頻率、停止pwm 等。系統(tǒng)中為 timerb 設(shè)置的時鐘源為 96k,以產(chǎn)生一定范圍的 pwm 波,改變timerb 的計數(shù)初始值,將會改變 pwm 的溢出頻率,從而實現(xiàn)管理 pwm 頻率的目的。5.6 里程計量程序里程計量程序本方案中使用了外部中斷 1 來實時響應(yīng)由 iob2 輸入的脈沖。并在外部中斷服務(wù)程序中對中

41、斷次數(shù)進行計量,并由此統(tǒng)計輸入脈沖的數(shù)量。一般情況下,運行一段時間后由 iob2 輸入的脈沖數(shù)量會比較大,容易導(dǎo)致計數(shù)結(jié)果溢出。故在計量子程序中使用了兩個變量對脈沖進行計數(shù)。uipulsenum 變量用來記錄中斷次數(shù)(也就是脈沖個數(shù)) ,當(dāng)達到一公里對應(yīng)的脈沖個數(shù)后,使另外一個記錄公里數(shù)的變量 uidistance 加 1,并使 uipulsenum 歸零重新計數(shù)。這樣以來,便將公里數(shù)的整數(shù)與小數(shù)部分分開統(tǒng)計,使結(jié)果不容易溢出,也易于結(jié)果的轉(zhuǎn)換。另外,程序中使用了 2hz 時基中斷來計算車輛的行駛速度。統(tǒng)計 0.5s 內(nèi)的脈沖個數(shù),即可以得到車輛的行駛速度。5.7 時間管理程序時間管理程序系統(tǒng)

42、使用 2hz 時基中斷實現(xiàn)計時。中斷服務(wù)程序流程如圖 5.3 所示。其中,2hz計數(shù)器 ultimer 用來為其他模塊提供兩個 2hz 的計數(shù)器以方便的實現(xiàn)計時等操作。湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)22圖 5.3 時鐘服務(wù)程序流程圖5.8 費用管理程序費用管理程序費用管理程序的作用是監(jiān)測行駛里程、系統(tǒng)時間和低速等待時間,并根據(jù)一定規(guī)則換算成費用。圖 5.4 所示的是啟動計費的程序流程圖。啟動計費時,需要判斷當(dāng)前時間是屬于那個時間段,以便執(zhí)行不同的起步價和單價。湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)23圖 5.4 啟動計費程序流程圖啟動計費后,主程序需要在主循環(huán)中不斷調(diào)用計費子程序。計費子程序是按照

43、規(guī)則計算費用的核心程序。在這里,程序記錄當(dāng)前行駛路程,并判斷是否出現(xiàn)晝夜交替現(xiàn)象,以便對單價進行調(diào)整;并判斷行駛里程是否超過規(guī)定的空返路程,一旦超過則將價格上漲 50;從里程測量模塊得到車輛行駛的速度,判斷是否出現(xiàn)低速狀態(tài),并利用時鐘管理模塊提供的 2hz 計數(shù)器對低速行駛進行計時,從而計算出低速等待時間。圖 5.5 所示的是計費服務(wù)程序的流程圖。湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)24圖 5.5 啟動計費服務(wù)程序流程圖根據(jù)計費服務(wù)程序中統(tǒng)計的低速等待時間,可以按照圖 5.6 所示的流程換算成低速等待費用。圖 5.6 等待時間換算成費用程序流程圖湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)25行駛結(jié)束后,停止

44、里程測量程序,即可完成此次計費。系統(tǒng)將保留本次的費用、里程等數(shù)據(jù),直至下一次計費時自動清除。湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)26六、系統(tǒng)測試六、系統(tǒng)測試6.1 預(yù)期達到效果預(yù)期達到效果 在空車狀態(tài)下,按下 key3 可以播放語音 在行駛狀態(tài)下,按 key1、key2 可以改變行駛的速度 在行駛狀態(tài)下,直接拔掉 iob2 與 iob9 之間的跳線,可以模擬剎車 在行駛狀態(tài)下,按下 key3 可以停車,并播放語音6.2 實際效果實際效果系統(tǒng)實物圖如圖 6.1 所示:圖 6.1 系統(tǒng)實物圖湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)27空車狀態(tài)下實物圖如圖 6.2 所示:圖 6.2 空車狀態(tài)在空車狀態(tài)下,系統(tǒng)播

45、放“上午(中午/下午/晚上)好,歡迎乘坐本公司出租汽車,如果您對我們的服務(wù)不滿意,可以撥打 12345678 反饋您的意見,謝謝”的提示音,同時啟動里程測量。行駛狀態(tài)時的實物圖如 6.3 所示:圖 6.3 行駛狀態(tài)湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)28在行駛狀態(tài)下,可以通過 key1、key2 來改變行駛的速度,并且可以剎車;在按下 key3 時,系統(tǒng)播放“您好,行駛里程 xxx 公里,應(yīng)付 xxx 元,請檢查您的隨身物品,歡迎再次乘坐,再見”的提示音。在空車狀態(tài)下,可以通過按鍵對系統(tǒng)的時間進行設(shè)置。整體測試效果基本達到預(yù)期,完成了基本的設(shè)計要求。湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)29七、七、總結(jié)

46、總結(jié)此次設(shè)計到此已經(jīng)趨于結(jié)束,下面做一些個人在設(shè)計中的總結(jié)。首先,在設(shè)計中我采用的是凌陽公司的 spce061a,它的性能特點及其相關(guān)的開發(fā)平臺為設(shè)計提供了極其方便的條件,本系統(tǒng)只是 spce061a 的一個基本應(yīng)用。而在實現(xiàn)出租車計價器的路程模擬時,不僅僅只有利用 spce061a 內(nèi)部輸出脈沖這一種方案,通常我們用的比較多的是霍爾傳感器來實現(xiàn)量程的模擬。在最開始的設(shè)計方案中 ,我們本打算直接引用 a44e(開關(guān)型霍爾傳感器)來實現(xiàn)量程的模擬,但在實際檢測中,發(fā)現(xiàn)霍爾傳感器的輸出脈沖不是標(biāo)準(zhǔn)的矩形規(guī)則,經(jīng)常出現(xiàn)尖脈沖的情況 ,如果我們把這樣的脈沖型號直接輸入到單片機,不僅會對單片機造成很大的

47、壓力,而且量程的準(zhǔn)確性也得不到保證,所以我們最后放棄了這種用傳感器獲得模擬脈沖的方案。后來準(zhǔn)備直接用函數(shù)型號發(fā)生器直接產(chǎn)生矩形波,來計量路程,這樣一來,整個系統(tǒng)在測試時必須附加很多不必要的要求。因此最終我們選擇了本文中所采用的方案,事實也證明該方案是可行的。另外在系統(tǒng)軟件的設(shè)計部分中,我們運用到 spce061a 的外部中斷。在整個系統(tǒng)初步設(shè)計完成以后,我們曾測試過外部脈沖,當(dāng)時結(jié)果怎么調(diào)試也不對。后來才發(fā)現(xiàn)在設(shè)置 spce061a 的外部中斷時,必須要注意他們的初始化條件。spce061a有兩個外部中斷:iob2 是外部中斷 1 的輸入引腳,iob3 是外部中斷 2 的引腳;如果要涉及到外部

48、中斷時,必須在初始化時把 iob2 設(shè)置成帶上拉電阻的輸入端口,把 iob3 設(shè)置成帶上拉電阻的輸入端口位高阻輸入;并且觸發(fā)中斷的是負脈沖,這幾點是一定要處理好的,否則外部中斷不能被響應(yīng)。由于時間緊張,整個系統(tǒng)還存在某些不甚完善的地方。例如在測量里程時誤差部分的處理、啟動和停止時不具有賬單打印功能等,這些都是要不斷完善的地方。湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)30致致 謝謝本論文是在導(dǎo)師田浩老師的悉心指導(dǎo)下完成的。導(dǎo)師淵博的專業(yè)知識,嚴(yán)謹?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng),誨人不倦的高尚師德,嚴(yán)以律己、寬以待人的崇高風(fēng)范,樸實無華、平易近人的人格魅力對我影響深遠。不僅使我樹立了遠大的學(xué)術(shù)目標(biāo)、掌握了

49、基本的研究方法,還使我明白了許多待人接物與為人處世的道理。本論文從選題到完成,每一步都是在導(dǎo)師的指導(dǎo)下完成的,傾注了導(dǎo)師大量的心血。在此,謹向?qū)煴硎境绺叩木匆夂椭孕牡母兄x!本論文的順利完成,離不開各位老師、同學(xué)和朋友的關(guān)心和幫助。在此感謝田浩老師的指導(dǎo)和幫助。在大學(xué)四年的學(xué)習(xí)期間,得到全班每一個同學(xué)的關(guān)心和幫助,在此表示深深的感謝。沒有他們的幫助和支持是沒有辦法完成我的論文的,同窗之間的友誼永遠長存。 孟成 2009 年 3 月 28 日湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)31參考文獻參考文獻1羅亞非.凌陽16位單片機應(yīng)用基礎(chǔ)m .北京:北京航空航天大學(xué)出版社,2003.2雷思孝,李伯成,雷向莉

50、.單片機原理及實用技術(shù)凌陽 16 位單片機原理及應(yīng)用 陜西:西安電子科技大學(xué)出版社,20043凌陽科技.61板使用說明書s . 20054譚浩強.c程序設(shè)計m .北京:清華大學(xué)出版社,1999.5 侯媛彬.凌陽單片機原理及其畢業(yè)設(shè)計精選 科學(xué)出版社,2006.6薛均義.凌陽16位單片機原理及應(yīng)用m .北京:北京航空航天大學(xué)出版社,2003.7凌陽科技.凌陽16位單片機開發(fā)實例m .北京:北京航天航空大學(xué)出版社,2006. 8段里仁,任大任.道路交通自動控制 m .北京:中國人民公安大學(xué)出版社,1991.9 陳德望,李靈犀,劉小明,等.城市高速道路交通控制方法研究的回顧與展望j .信息與控制,2

51、002 .10 汪希時.智能鐵路交通控制技術(shù)及其展望j .世界科技研究與發(fā)展,2002 .11凌陽單片機在大學(xué)生電子競賽中的應(yīng)用m.凌陽科技大學(xué)計劃 北京航空航天大 學(xué)出版社,2005.12凌陽單片機課程設(shè)計指導(dǎo)m.凌陽科技大學(xué)計劃 北京航空航天大 學(xué)出版社,2007.13 kreidl h.嵌入式flash微控制器簡介(上) (embedded flash mcu) j .世界電子元器件,200214 kreidl h.嵌入式flash微控制器簡介(下) (embedded flash mcu) j .世界電子元器件,2002 15 aseem vasudev prabhugaonkar .

52、 interfacing nand flash memory with adsp 2 2126x sharc processors analog devices , inc ,2005. 16 samsung electronics corporation. k9f4 g08u0m 512m8bits / 1g8bits nand flash memory data sheet s , 2004.17wakerly j f. digital design principles and practices. new jersey: prentice 2 hall, 1990.18 凌陽大學(xué)計劃網(wǎng)

53、站( ) 湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)32附附 錄錄相應(yīng)的程序代碼段主程序:#include .keykey.h#include cal.h#include cost.h#include speed.h#include interface.h#include playservice.h#include setinterruptstatus.h#include distance.h#include playsnd.hstatus sysstatus;/系統(tǒng)狀態(tài) /status 結(jié)構(gòu)體在 interface.h 中定義/=/ 語法格式:int main(void)/ 實現(xiàn)功能:主函數(shù)/ 參數(shù):

54、無/ 返回值:無/=int main()unsigned int key, keytype;sysstatus = idle;keyscan_init();setintstatus(c_irq5_2hz);setintstatus(c_irq4_1khz);_asm(irq on);interface_init();/初始化用戶界面interface_normal();/顯示常規(guī)界面interface_updatestatus(sysstatus);/顯示當(dāng)前系統(tǒng)狀態(tài)(空車)while(1)key = keyscan_getkey(&keytype);/按鍵掃描switch(key)case

55、c_startstopkey:if(c_sreleasekeystate = keytype)if(idle = sysstatus)湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)33sysstatus = run;/如果是空車狀態(tài),則進入行駛狀態(tài)cost_startrunning();/啟動計費interface_updateprice();interface_updatestatus(sysstatus);/更新顯示playsnd(cal_gethello(cal_gethour() + voice_morning, no_wait);playsnd(voice_welcom, wait_other_e

56、nd);/播放提示音else if (run = sysstatus)sysstatus = idle;cost_stoprunning();/如果是行駛狀態(tài),則停止計費interface_updateprice();interface_updatestatus(sysstatus);playsnd(voice_bye1, no_wait);/播放提示音playdistance();/播放行駛里程playsnd(voice_bye2, wait_other_end);playcost();/播放費用playsnd(voice_bye3, wait_other_end);break;case c

57、_modekey:if(c_sreleasekeystate = keytype)if(idle = sysstatus)sysstatus = sysset;/如果是空車狀態(tài),則進入日期時間設(shè)定模式interface_updatestatus(sysstatus);interface_systemset();/顯示系統(tǒng)設(shè)定界面,并對日期時間進行設(shè)定sysstatus = idle;/設(shè)定結(jié)束,回到空車狀態(tài)interface_updatestatus(sysstatus);else if(run = sysstatus)speed_down(10);break;case c_setkey:if

58、(c_sreleasekeystate = keytype)if(idle = sysstatus)cost_clearcost();/清除計費記錄湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)34interface_updatewaittime();/更新顯示interface_updatedistance();interface_updatecost();interface_updatestatus(sysstatus);else if(run = sysstatus)speed_up(10);break;default:break;interface_updatetime();/更新時間顯示inter

59、face_timeflash();/秒閃爍,同時更新低速等待時間if(run = sysstatus)cost_serviceloop();/計費服務(wù)程序(用于監(jiān)測行駛速度)interface_updatedistance();/實時顯示行駛里程interface_updateprice();interface_updatecost();/實時顯示費用return 0;按鍵處理 key.c#include key.hunsigned int ui_keyscanstate;unsigned int ui_keystate;unsigned int ui_keyid;unsigned int u

60、i_keycount;unsigned int ui_keycountbk;unsigned int ui_repeatcount;unsigned int ui_repeatevent;/=/ 語法格式:void keyscan_init(void)/ 實現(xiàn)功能:按鍵初始化/ 參數(shù):無/ 返回值:無/=void keyscan_init(void)ui_keyscanstate = c_keystatefirst;湖北經(jīng)濟學(xué)院本科畢業(yè)論文(設(shè)計)35ui_keystate = c_nullkey;ui_keycount = 0;ui_keycountbk = 0;ui_keyid = c_n

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論