![電子信息工程自動化 基于單片機的出租車計價器設計_第1頁](http://file4.renrendoc.com/view11/M02/38/2B/wKhkGWWvCT-AQBi0AAE5EvXOY2I602.jpg)
![電子信息工程自動化 基于單片機的出租車計價器設計_第2頁](http://file4.renrendoc.com/view11/M02/38/2B/wKhkGWWvCT-AQBi0AAE5EvXOY2I6022.jpg)
![電子信息工程自動化 基于單片機的出租車計價器設計_第3頁](http://file4.renrendoc.com/view11/M02/38/2B/wKhkGWWvCT-AQBi0AAE5EvXOY2I6023.jpg)
![電子信息工程自動化 基于單片機的出租車計價器設計_第4頁](http://file4.renrendoc.com/view11/M02/38/2B/wKhkGWWvCT-AQBi0AAE5EvXOY2I6024.jpg)
![電子信息工程自動化 基于單片機的出租車計價器設計_第5頁](http://file4.renrendoc.com/view11/M02/38/2B/wKhkGWWvCT-AQBi0AAE5EvXOY2I6025.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
基于單片機的出租車計價器設計目錄TOC\o"1-3"\h\u16322摘要 .緒論1.1課題研究背景出租車這個行業(yè)發(fā)展至今差不多50年了,它的整個系統(tǒng)從剛剛起步到現(xiàn)在已經(jīng)很完善了,現(xiàn)在的出租車行業(yè)已經(jīng)有一個完善的體系。雖然家用車在增加但是社會對出租車的需求一直都沒有下降,現(xiàn)在的年輕人、大學生出門幾乎都是打車出行,所以出租車計價器的設計前景還是很好的。因此,設計一款計價明確、提示清晰的出租車計價系統(tǒng)是十分必要的[1]。1.2課題主要內(nèi)容關于本次的出租車計價器設計,將利用現(xiàn)階段正飛速發(fā)展的集成電路資源?,F(xiàn)在芯片已經(jīng)成為幾乎各行各業(yè)都需要的東西了,也是因為芯片的存在讓原來極其復雜的電路變得簡單化。單片機的存在使得一個系統(tǒng)可以通過編程實現(xiàn)各種復雜的功能,尤其是在控制、智能化等方面。單片機的高度集成化也讓各個產(chǎn)品體積縮小,讓電路簡單、穩(wěn)定,而且功耗也低。本次設計的出租車計價器主要能實現(xiàn)以下幾個功能:首先,作為出租車計價器其具有最基本的計程計價的功能,三公里以內(nèi)按起步價收取,三公里以外超出部分按每公里單價收??;第二,根據(jù)實際情況設置了白天和夜晚兩種收費方式,采用一鍵切換的方式,司機根據(jù)時間手動切換這兩種計價方式,夜晚計價模式起步價與白天相同,但是單價比白天高;第三,考慮到乘客可能中途有事需要司機等待的情況設置了停車等待模式,在乘客需要等待時司機按下等待按鈕,計價器切換至按等待時間計費的方式,等乘客上車出發(fā)時司機可以按等待按鈕切回正常計價模式;第四,看到現(xiàn)實中出租車的計價器屏幕都很小,乘客坐后排不仔細可能就看不見屏幕上顯示的內(nèi)容,所以設置了語音播報的功能,在乘客到達目的地后司機按結(jié)算按鈕,系統(tǒng)會對行駛里程以及總的費用進行播報;第五,為了增加計價器的實用性,做了一個實時時鐘的功能,沒有乘客時可以切屏顯示實時的年月日、時間和星期;另外,計價器的單價可以根據(jù)具體情況調(diào)整,時間也可以調(diào)整,單價調(diào)整完會實時存儲,重新開機不需要再次調(diào)整,時間也是采用的實時時鐘調(diào)整后重新上電不需要再次調(diào)整。1.3預期目標研究過現(xiàn)有的計價器后,我發(fā)現(xiàn)計價器最重要的部分就是行駛里程的測量,現(xiàn)有的里程測量裝置有純機械式的,也有電子式的。在學過傳感器后我覺得使用一個合適的傳感器做出來的里程測量裝置肯定比機械式的計量精準,而且結(jié)構(gòu)簡單穩(wěn)定,所以我所設計的出租車計價器將采用傳感器作為里程測量的裝置。而單單有一個傳感器也無法實現(xiàn)里程測量的功能,所以這里及還需要一個單片機,單片機可以通過程序?qū)鞲衅鳙@得的數(shù)據(jù)加以處理最后得到里程的數(shù)據(jù)。完成里程測量后還需要對這些數(shù)據(jù)進行顯示,所以需要選擇一塊液晶屏幕用于相關數(shù)據(jù)的顯示,再加上幾個按鍵用于調(diào)整,整個計價器就完成了基本設計。我覺得我設計的計價器應該測量行駛里程的精度能達到0.1千米,在三公里內(nèi)按起步價收取乘車費,超出三公里時超出部分按單價計費此時計費也能實現(xiàn)按0.1千米的精度計費0,能實現(xiàn)白天和夜晚按不同單價計費,能在堵車或者乘客半路有事需要等待時按等待計費,結(jié)算時能對行駛里程和金額進行語音播報,空車時可以當作時鐘使用。
2.總體方案設計本章節(jié)主要講述出租車計價器系統(tǒng)的總體設計方案,工作原理以及主要的器件模塊。第一節(jié)給出了總體方案,工作原理以及系統(tǒng)框圖,第二節(jié)講了主要的幾大模塊和各個模塊的主要器件選型。2.1系統(tǒng)總體方案設計本設計是以單片機為核心,由單片機收集和控制各個模塊的信息和功能。首先里程測量模塊會在計價器開啟后實時檢測車輛的行駛里程,并將信號送到單片機中由單片機對信號加以處理從而獲得車輛的行駛里程信息。數(shù)據(jù)存儲模塊用于單價的儲存,每次調(diào)整單價時單價信息都會實時存入數(shù)據(jù)存儲模塊中,用于重新上電的數(shù)據(jù)恢復。按鍵模塊是用來控制計價器的,通過它司機才能對單片機進行人為控制,比如啟動計價器和調(diào)整時間等等。時鐘模塊用于閑時的實時時鐘顯示和等待計價的計時。顯示模塊就是用來顯示時間、行駛里程、單價、總價等等一些總要的信息,司機和乘客都可以通過它了解計價器的工作狀態(tài)。語音播報模塊就是為了方便司機和乘客的一個人性化設計,當乘客到達目的地時語音播報會報出該行程中出租車測總行駛里程和總的價格,方便司機計算也方便乘客知曉行程信息。本設計的出租車計價器系統(tǒng)框圖如圖2.1所示。圖2.1出租車計價器系統(tǒng)框圖2.2主要器件選型2.2.1單片機選型本設計采用單片機作為核心控制器件,因為單片機可以通過編程完成對各種傳感器、芯片等器件的控制以及算術(shù)運算,編程自由靈活,功能強大并且穩(wěn)定可靠??紤]在51系列的STC89C52單片機和STM32單片機選擇其一。備選一:STM32單片機,由名字可知其為32位的單片機,查閱資料可知其引腳數(shù)遠多于51系列單片機,RAM容量也遠大于51單片機。它的功能非常強大但是價格偏高,編程也較為復雜。備選二:STC89C52單片機,為8位單片機,價格便宜、編程簡單,共有32個引腳,8KRAM。綜合考慮,本設計并不是特別復雜,51單片機已經(jīng)可以完全勝任,而且上課我們學習的也是51單片機,對該單片機的編程和使用都比較熟悉。并且其I/O口足夠使用,所以選擇51單片機作為本設計的核心控制器。2.2.2里程測量傳感器選型里程測量模塊是計價器系統(tǒng)中除主控器件外一個非常重要的模塊,以前的車輛時速表和里程表全部都是采用純機械結(jié)構(gòu)的測量裝置,結(jié)構(gòu)簡單但是易損壞,測量精度也不是很高。而在傳感器飛速發(fā)展的今天,計量不準等問題很好的被解決了,龐大的機械測量裝置被一個小小的傳感器所取代,所以本設計的里程測量模塊采用傳感器測量行駛路程。車速里程表不但可以應用于汽車,還可以應用于放電機、電動機、卷揚機、加工機床等,測量電機的轉(zhuǎn)速[2]。為了測量行駛路程,考慮使用以下兩種類型的傳感器之一:光學傳感器和霍爾效應傳感器。備選一:接近式光學傳感器,通常接近式光學傳感器用于檢測由不透明材料制成的物體的存在。它們的特點是高開關頻率和小尺寸,但是光學系統(tǒng)對環(huán)境要求很高。備選二:霍爾傳感器,對被測物體幾乎沒有要求,其利用的對磁場變化的感應而輸出不同的信號,體積小,動作靈敏,對環(huán)境的要求不高。而汽車一般都在灰塵泥土很多地方,所以最終選擇用霍爾效應傳感器作為汽車的行駛路程測量傳感器。2.2.3數(shù)據(jù)存儲芯片選型單片機雖自帶內(nèi)存但是容量有限,且單片機每次開機均需復位,這就使得一些數(shù)據(jù)無法直接存儲在單片機內(nèi),所以需要另外選擇一塊存儲芯片用作數(shù)據(jù)的存儲。本設計中選擇了AT24C02作為片外數(shù)據(jù)存儲的存儲芯片,其斷電數(shù)據(jù)不丟失,它還支持IIC總線的傳輸協(xié)議這樣可以節(jié)省很多IO口。2.2.4按鍵選型本設計共設計了一共6個按鍵用于整個系統(tǒng)的控制。按鍵模塊有一個按鍵連接一個單片機引腳的單獨式鍵盤和像高數(shù)行列式一樣的按行列排列的行列式鍵盤兩種。備選一:單獨按鍵,按鍵連接簡單,每個按鍵連接一個單片機引腳,編程較為簡單,但是會占用很多單片機的引腳。備選二:行列式鍵盤,連接時要區(qū)分行列采用行線與列線分開連接的形式,編程也相對復雜需要查詢行線與列線來定位哪個鍵按下,但是較單獨式鍵盤而言更加節(jié)省單片機引腳。出于對按鍵個數(shù)以及整體設計的考慮最后還是采用了連接及編程較為簡單的單獨式鍵盤。2.2.5時鐘芯片選型時鐘模塊用于等待計時,為了方便選擇了基于DS1302的時鐘模塊,可以顯示實時時鐘,并且掉電也不用調(diào)時(前提是電池有電,所以在使用一定時間后需要檢查電池是否有電,沒電需要及時更換)。2.2.6顯示模塊選型顯示部分因為數(shù)碼管太不符合現(xiàn)代車載儀表的發(fā)展理念且功耗較大,所以直接選擇液晶屏作為顯示模塊,液晶屏考慮了LCD12864和LCD1602兩塊屏幕。備選一:LCD12864,屏幕尺寸較大能顯示更多的內(nèi)容,自帶漢字字庫可以顯示漢字,但是其價格偏高,其屏幕大背光亮度也高會對駕駛帶來不安全因素,備選二:LCD1602,屏幕較小,能顯示16×2共32個字符,要顯示漢字比較麻煩需自己設計漢字點陣,但是其價格便宜??紤]到本設計不用顯示很多很復雜的內(nèi)容,所以選擇了較為便宜的LCD1602液晶顯示屏。2.2.7語音播報芯片選型為了收錢方便,也為了乘客能更清楚的知道自己的乘車費用,所以選擇了基于WT588D的語音播報電路作為語音播報模塊。WT588D芯片擁有一線串口的功能,在很大程度上節(jié)約了單片機的引腳占用數(shù)量。
3.硬件設計本章節(jié)介紹了本設計的出租車計價器硬件設計內(nèi)容,包含幾大模塊的主要器件介紹以及電路設計原理。相比普通模擬電路控制,采用單片機設計出租車計價器的功能更強大,而且用較少的硬件和適當?shù)能浖呐浜暇涂扇菀讓崿F(xiàn)[3]。3.1單片機最小系統(tǒng)設計3.1.1單片機簡介本設計采用的51單片機STC89C52芯片,如圖3.1所示,是STC89C51的升級版本,STC89C52是8位微處理器,有8K的ROM。圖3.1STC89C52芯片示意圖整個單片機有32個I/O口,分別分為四組P0、P1、P2、P3。P0口是STC89C52單片機中可以做數(shù)據(jù)總線和地址總線使用的接口,一般用于擴展片外資源所使用。這里用于接上4.7KΩ的排阻后接液晶顯示屏,作為液晶顯示屏的數(shù)據(jù)傳輸控制液晶顯示屏顯示內(nèi)容。P1口前六個I/O口連接按鍵,用于對整個系統(tǒng)的調(diào)整和操控,因為采用單獨的按鍵所以一個按鍵需要連接一個I/O口。P1.7引腳接語音模塊,用于向語音模塊發(fā)送語音調(diào)用信息和命令。P2口后3個I/O口用于控制液晶顯示屏前3個I/O口用于于實時時鐘模塊相連,分別控制實時時鐘模塊的復位、時鐘信號和數(shù)據(jù)傳輸。P3口是STC89C52單片機中串口和中斷的所在,P3.0和P3.1是單片機的串口用于下載程序用,這兩個空高低電平不好確定所以一般不用于接連外部電路,P3.2是一個外部中斷接口這里用來連接霍爾傳感器模塊接受傳感器信號進行中斷處理計算行駛路程。P3口的其他引腳還連接了存儲芯片用來儲存單價等信息。3.1.2最小系統(tǒng)最小系統(tǒng)電路是單片機系統(tǒng)的最基本的電路,它的存在是為了保證單片機能在一個正常的狀態(tài)工作持續(xù)工作。單片機的最小系統(tǒng)電路包括了晶振電路和復位電路,在其基礎上可以擴展其他的功能電路,使單片機實現(xiàn)一些想要的功能。圖3.2STC89C52最小系統(tǒng)圖(1)時基電路STC89C52單片機有兩種產(chǎn)生時間信號的方法分別是外部時鐘和內(nèi)部時鐘。如圖3.3所示電路,就是一種經(jīng)常使用的單片機的外部時鐘電路,單片機內(nèi)部自帶有一個振蕩電路,只有當外部時鐘引腳XTAL1與XTAL2和晶體振蕩器連接時,單片機的內(nèi)部才能通過自激振蕩產(chǎn)生時鐘信號。C1和C2電容器使用22pf,用于穩(wěn)定石英晶體諧振器的快速啟動頻率,通常使用6MHz和12MHz的晶體振蕩器,本設計中采用12MHz的晶振,但是為了保證波特率是整數(shù)所以選用了11.0592MHz的晶振。圖3.3時基電路(2)復位電路為了使單片機能正確的工作就需要在合適的時候?qū)ζ溥M行復位,就比如本設計中司機每完成一單都需要對計價器進行復位。STC89C52單片機需要在兩個機器周期中保持復位引腳的高電平才能完成復位。復位電路有兩種,一種是按鍵復位,另一種是接通電源復位。本設計為接通電源復位,R1采用10K,C1采用10uF。電路圖如圖3.4所示。圖3.4復位電路(3)電源電路系統(tǒng)供電,可供選擇的方式有:電池盒供電、USB供電、電源接口供電外部供電[4]。在本設計中采用USB+5V供電電路圖如圖3-5所示,外部電源通過電源接口pow與電源開關switch連接,電源開關3腳向單片機P40腳vcc供電。圖3.5電源電路3.2里程測量模塊3.2.1霍爾傳感器工作原理霍爾效應是一個物理現(xiàn)象,在磁傳感器中地位非凡。它是在1879年,由美國物理學家霍爾發(fā)現(xiàn),將外加穩(wěn)恒電流的導體放入磁場中,固體中的載流子在磁場作用下因受到磁場洛倫茲力的影響而發(fā)生軌跡偏轉(zhuǎn),最終在穩(wěn)恒電流I與磁感應強度B的叉乘方向上測得一個霍爾電勢差,這一現(xiàn)象稱為霍爾效應[5]。本設計中里程測量傳感器采用就是依據(jù)霍爾效應制成的3144霍爾傳感器,它也是一個集成電路。它的內(nèi)部包括電壓調(diào)整電路、反相電源保護電路、霍爾元件、溫度補償電路、微信號放大器施密特觸發(fā)器和OC門輸出級[6]?;魻杺鞲衅骶邆浜芏鄡?yōu)點,它們體積小、結(jié)構(gòu)緊湊、性能穩(wěn)定、重量輕、使用壽命長、功耗低、精度高、可以在灰塵以及污染較嚴重的地方使用。由于其在污染環(huán)境中的穩(wěn)定運行,這種類型的傳感器被選擇用于構(gòu)建鏈輪轉(zhuǎn)速測量裝置的原型[7]。我們所能夠買到的一般都是集成式霍爾傳感器,像3144集成霍爾傳感器是采用三個引腳的封裝如圖3.6所示,1腳位電源正極,2腳為電源負極,3腳為信號輸出端。圖3.6霍爾傳感器引腳示意圖1腳2腳接好電源后,當有磁鐵靠近霍爾傳感器的標記面時,3腳就會輸出導通電平降低,當磁鐵移走后3腳輸出關斷電平升高。每次磁鐵靠近都會產(chǎn)生一次電平變化,而且霍爾傳感器敏感性很高,這樣傳感器輸出的就是脈沖信號。根據(jù)設計,我們需要的是傳感器輸出數(shù)字開關量(0和1),而霍爾傳感器輸出的是非開關量,這里需要一個利用電壓比較器芯片的電路對傳感器信號進行處理,使之輸出開關量信號,如圖3.7所示。圖3.7霍爾傳感器3144信號示意圖3.2.2里程測量電路設計里程測量電路如圖3.8所示,傳感器輸出的脈沖信號先輸入74CH14芯片再由芯片輸出經(jīng)過處理的電平。74CH14是一款可以對波形整形的芯片,可以讓緩慢輸入的信號變得干脆清晰。上電后OUT1輸出高電平,只有磁鐵靠近霍爾傳感器OUT1才輸出低電平。OUT1接單片機P3.2引腳,磁鐵每次經(jīng)過霍爾傳感器都會產(chǎn)生高低電平變化,而單片機可以對此脈沖進行計數(shù)。根據(jù)這個原理,如果將磁鐵安在車輪上就可以實現(xiàn)對車輪轉(zhuǎn)動圈數(shù)計數(shù),而輪胎尺寸是固定的,就可以算出行駛里程。圖3.8霍爾傳感器接線圖3.2.3霍爾傳感器的安裝霍爾傳感器模塊設計完成后需要安裝在合適的位置,目的是為了測量車輛的行駛里程,則我選擇在汽車輪轂上安裝磁鐵,然后將傳感器安裝在合適的位置。安裝方法如圖3.9所示,磁鐵裝在輪轂上要能夠激發(fā)傳感器,傳感器信號輸出端與單片機相連。圖3.9霍爾傳感器安裝示意圖傳感器在車輪合適位置安裝好后,當車輛開始行駛時,每次只要磁鐵接近或經(jīng)過傳感器一次,傳感器電路都會被激活一次并且產(chǎn)生一次電平變化,也就是產(chǎn)生了脈沖信號,同時產(chǎn)生的脈沖信號會輸入單片機。單片機利用中斷對脈沖信號進行計數(shù),這樣就將車輪所轉(zhuǎn)的圈數(shù)記錄到單片機內(nèi)了,然后測量車輛的車輪周長,將計數(shù)次數(shù)乘以車輪周長就得出了車輛的行駛里程。3.3數(shù)據(jù)存儲模塊3.3.1AT24C02簡介為了方便使用,本設計采用AT24C02作為外部存儲,用于存儲設定好的單價,使其重新上電后不用重新設置價格。AT24C02是來自美國Atmel公司的一款COMS低功耗EEPROM,其內(nèi)存有2K,基本特征主要表現(xiàn)在體積小、數(shù)據(jù)難丟失、抗干擾能力強、10ms以內(nèi)的寫入速度、10000次以上的擦寫次數(shù)、2.5~5.5V的寬工作電壓等方面[8]。芯片封裝及引腳如圖3-9所示。該芯片傳輸信息可以采用IIC總線的方式,就是它只要一根信號線和一根數(shù)據(jù)線就可以和與它相連接的芯片進行數(shù)據(jù)交換,這種方式既簡單方便又減少I/O口的占用。IIC總線是由Philips公司開發(fā)的一種簡單、雙向二線制同步串行總線[9]。圖3.10AT24C02引腳示意圖(1)A0、A1、A2引腳是用于AT24C01和AT24C02進行連接所用。(2)WP引腳的作用是當它接VCC(電源正極)時就不可以向芯片寫數(shù)據(jù)了,只有把它接GND(電源負極)上它才能完成正常的讀寫工作。(3)SCL引腳是IIC總線兩條線中的信號線,有它負責控制芯片是讀取數(shù)據(jù)還是存儲數(shù)據(jù)。(4)SDA引腳就是IIC總線的另一條線了,它是用于數(shù)據(jù)的傳輸并且它是雙向的,通過它完成讀和寫兩個功能。3.3.2數(shù)據(jù)儲存電路設計在本設計中該芯片的電路如圖3.11所示,因為只采用一片該芯片所以A0、A1、A2均接地。該芯片在設計中只用于存儲設置的單價也不需要寫保護,正常讀寫就可以所以WP引腳直接接地。SCL和SDA引腳分別與單片機P3.3引腳和P3.4引腳連接,單片機通過編程控制芯片的讀寫操作。使用時由SCL引腳傳輸器件內(nèi)數(shù)據(jù)的發(fā)送和接收的時鐘信號,由SDA引腳完成雙向的數(shù)據(jù)與地址的發(fā)送和接收的工作。傳輸數(shù)據(jù)時當SCL為高電平時,數(shù)據(jù)線不能有電平的變化,否則將被視為停止或開始的信號。圖3.11AT24C02接線圖3.4時鐘模塊為了增加本設計的實用性,;利用DS1302芯片的做了一個實時時鐘模塊。DS1302芯片的時鐘模塊不僅僅可以用于顯示實時時鐘,并且有雙電源供電以保證單片機掉電后時鐘繼續(xù)走時,單片機關機或斷電后重新開機時不需要再調(diào)時。3.4.1DS1302芯片DS1302是由美國DALLAS公司生產(chǎn)的涓流時鐘芯片[10]。是一款低功耗時鐘/日歷芯片,在目前的市場上它是最為普及的一款時鐘/日歷芯片,已經(jīng)廣泛地運用于各類電子產(chǎn)品[11]。它可以對2100年之前的年、月、日、星期、時、分、秒進行準確計時,還有調(diào)整閏年的能力。其內(nèi)部有7個跟時間有關的寄存器,分別是年、月、日、星期、時、分、秒,這些寄存器內(nèi)的信息都是以BCD碼的形式存儲的。還有寫保護寄存器、慢充電寄存器和時鐘突發(fā)寄存器。芯片引腳如圖3-12所示:圖3-12DS1302芯片引腳示意圖該芯片采用8腳封裝,X1、X2為接32.768KHz晶振引腳;Vcc1和Vcc2為芯片的兩個不同的供電電源,主電源是Vcc2,Vcc1是備用電源,就是依靠備用電源在斷電時對芯片供電以保證芯片內(nèi)部時鐘能正常走時。主電源電壓大于備用電源時(一般主電源+5V,備用電源是電池供電一般3.3V)是采用主電源供電,只有當主電源斷電或者故障時才采用備用電源供電,二者分開不同時對芯片供電。是芯片的復位引腳;I/O引腳是一個雙向的數(shù)據(jù)傳輸引腳;SCLK是用來傳輸時鐘信號的引腳。3.4.2實時時鐘電路設計實時時鐘模塊電路如圖3.13所示,芯片主電源與單片機供電相連,備份電源則用3V紐扣電池加二極管供電,SCLK連接P2.2引腳、I/O連接P2.1引腳、CE連接P2.0引腳,接上按鍵后便可以利用單片機對實時時鐘進行調(diào)時,單片機實時從DS1302中讀取時間信息。圖3.13DS1302接線圖使用中我們需要利用單片機通過I/O引腳向芯片寫地址寫數(shù)據(jù)或者寫地址讀數(shù)據(jù),讀出來的時間數(shù)據(jù)是BCD碼的形式所以寫數(shù)據(jù)也應該按BCD碼的形式寫進去。只有當秒寄存器的最高位為0時時鐘才會正常走時。小時寄存器的最高位則是控制24小時制和12小時制的切換,為1時是12小時制。寫保護寄存器的最高位是寫保護控制位,當其為1是芯片寫保護所有寄存器和RAM不能寫數(shù)據(jù)防止其他程序篡改時間,所以在寫數(shù)據(jù)之前必須將寫保護拉低。3.5顯示模塊3.5.1LCD1602簡介本設計的顯示模塊選擇了一塊功能強大的液晶顯示屏LCD1602,這是一塊比較常見的顯示屏。該顯示器操作方便,耗電量低,顯示質(zhì)量高,是目前工控系統(tǒng)中最為廣泛使用的一種液晶屏[12]。LCD1602有帶背光和不帶背光兩種,這里考慮到車內(nèi)一般不開燈所以選用的是帶背光的。LCD1602液晶顯示屏一共可以顯示兩行字符,每一行是可以顯示16個字符一起是32個字符,如圖3.14所示。它可以采用+5V供電,并且對比度還可以調(diào),直接接地對比度最高。 圖3-14LCD1602結(jié)構(gòu)圖3.5.2顯示模塊電路設計液晶顯示屏的連接圖如圖3.15所示,因為選擇的是有背光的LCD1602所以一共有16個引腳,A和K引腳就是背光的供電正負極引腳,VCC和GND是芯片的供電一腳,VO(也有稱VL)的引腳就是用來調(diào)節(jié)對比度的,D0至D7引腳通過4.7K的排阻于單片機的P0口相連,用于于單片機之間數(shù)據(jù)的傳輸。Rs引腳是高電平時選擇數(shù)據(jù)和低電平時選擇命令的寄存器選擇引腳。R/W是高電平時讀數(shù)據(jù),低電平時寫數(shù)據(jù)讀寫控制終端,E引腳是一個信號控制啟用的端子,需要下降沿觸發(fā)模塊才可以向模塊寫入數(shù)據(jù)。圖3-15LCD1602連線圖3.6語音播報模塊3.6.1WT588D簡介本設計為了方便而增加了一個基于WT588D的語音播報模塊,其封裝結(jié)構(gòu)如圖3.16所示。圖3.16WT588D引腳示意圖WT588D是一個自帶內(nèi)存的語音芯片,我們可以用跟它匹配的上位機來更換它的使用方式。它有諸多使用方式,本設計里只采用一線串口的方式,并且該芯片只有一個P03引腳是用來傳輸數(shù)據(jù)的,所以一線串口只能用該引腳。使用時,我們需要把所需要的語音存入芯片,每一個地址一個語音,比如:1存在00H地址,那2可以存在01H地址。本設計里的語音模塊主要是為了播報行駛路程和價格所以我只需要存入0-9、點、元、十、百、公里等語音即可,使用時按地址調(diào)出來使用,可以組合使用。這個芯片直接就可以驅(qū)動一個0.5W/8Ω的揚聲器,不要用再外加放大電路,這也降低了使用難度。一線串口顧名思義就是只有一個串口線,只用一根串口線就可以完成對芯片功能的控制。其原理就是用不同的占空比來分別表示0或1,而一串八位二進制數(shù)就表示一個地址,每個地址就存儲著所需要的信息有語音也有命令,都是通過地址進行調(diào)用的。發(fā)送數(shù)據(jù)的時序圖如圖3.17所示:圖3.17WT588D發(fā)送數(shù)據(jù)時序圖RESET是復位信號,不是特殊場合發(fā)送數(shù)據(jù)前可以不需要復位。發(fā)送數(shù)據(jù)時,先拉下數(shù)據(jù)信號5ms,再發(fā)送數(shù)據(jù),發(fā)送后等待20ms,同時將忙信號發(fā)送到語音廣播。D0-D7表示語音地址或命令數(shù)據(jù),地址中只有00H-DBH為語音地址,而E0H-E7H則是音量調(diào)整的命令,默認音量為每次復位后的最大音量,循環(huán)命令是倒數(shù)第二個地址F2H,停止命令最后一個地址FEH。3.6.2語音播報模塊電路設計實際應用中的WT5888D連接電路如圖3.18所示,利用芯片的一線串口功能將芯片的P03引腳與單片機的P1.7引腳相連。WT588D自帶一個PWM輸出可以直接驅(qū)動0.5W/8Ω的揚聲器,所以這里不需要另外外加功放驅(qū)動電路。使用時,由單片機向芯片發(fā)送語音地址,芯片接收一個地址即播放該地址的語音,按順序播放幾個地址語音聽起來就是一句話。圖3.18WT588D接線圖3.7按鍵模塊本設計中采用了6個獨立式按鍵,它們分別與P1.0-P1.5相連。按鍵K1連接P1.0用于時間調(diào)整的切換,按鍵K2連接P1.1用來把時間往上調(diào)整,按鍵K3連接P1.2用來時間往下調(diào)整,按鍵K4連接P1.3用于切屏,按鍵K5連接P1.4用于啟動計價器,按鍵K6連接P1.5用于等待/正常切換和語音播報,按鍵連接圖如圖3.19所示。圖3.19按鍵模塊接線圖
4.軟件設計出租車計價器的軟件設計包括5個主要部分,分別是主程序、DS1302子程序、LCD1602子程序、WT588D子程序、里程測量子程序。4.1主程序程序流程圖整個系統(tǒng)的主程序流程圖如圖4.1所示。開機通電后,首先單片機會去片外存儲器內(nèi)讀取上次設置的單價,然后完成實時時鐘的初始化和時間讀取,語音模塊初始化和霍爾傳感器模塊初始化之后,在LCD1602上顯示現(xiàn)在的實時時間信息,接下來單片機就不斷的掃描整個程序,只有當有按鍵按下才會進入按鍵設置的程序內(nèi),判斷出是哪個按鍵按下后執(zhí)行對應的功能,完成后跳出按鍵程序繼續(xù)掃描。圖4.1主程序流程圖主程序部分程序如下:voidmain(){READS();//讀初值intt();init();//初始化xsj(0x8e,0x00);xsj(0xca,0);xsj(0x8e,0x80);while(1){if(biao==0)//正常走時進入{du();//從1302讀出數(shù)據(jù)xs();//時間刷新}anj();//時鐘調(diào)整anj2();//計費與時鐘切換if(ding==1)chushihua();//計費初始化while(ding){aq();//數(shù)據(jù)處理key();//白天/夜晚切換,等待/正常切換anj2();//計費與時鐘切換}}}4.2DS1302程序流程圖DS1302實時時鐘子程序開機后先完成各個變量的初始化,然后關閉寫保護和復位,調(diào)整時間時會向芯片寫數(shù)據(jù),在向芯片寫數(shù)據(jù)時先寫地址,然后延時等待再寫數(shù)據(jù),如此循環(huán)直到數(shù)據(jù)寫完。讀取數(shù)據(jù)時也要先關閉復位,然后先寫地址,然后延時等待在讀取數(shù)據(jù),如此循環(huán)直到數(shù)據(jù)全部讀出然后送屏幕顯示,之后返回主程序。DS1302程序流程圖如圖4.2所示。圖4.2DS1302流程圖部分程序如下:voidxzj(ucharat)//寫字節(jié){uchari,map;map=at;sck=0;for(i=0;i<8;i++){map=map>>1;//右移d=CY;sck=0;_nop_();_nop_();sck=1;_nop_();_nop_();}}uchardzj()//讀字節(jié){uchari;for(i=0;i<8;i++){ACC=ACC>>1;sck=1;_nop_();_nop_();sck=0;_nop_();_nop_();s=d;}returnACC;}voidxsj(uchars,uchard)//寫數(shù)據(jù)或指令{rst=0;//禁止讀和寫sck=0;rst=1;//允許讀和寫xzj(s);//寫地址或指令xzj(d);//寫數(shù)據(jù)rst=0;//禁止讀和寫}uchardsj(ucharx)//讀數(shù)據(jù){uchards;rst=0;//禁止讀和寫sck=0;rst=1;//允許讀和寫*/xzj(x);//讀的地址ds=dzj();rst=0;//禁止讀和寫returnds;//返回讀出的數(shù)}4.3LCD1602程序流程圖LCD1602顯示子程序負責顯示系統(tǒng)的的各個信息,開機后先完成自身的初始化,然后延時等待,延時結(jié)束后檢測忙信號,如果芯片在忙則繼續(xù)檢測忙信號直到芯片空閑,等芯片空閑后獲取內(nèi)部的RAM地址并延時等待,延時結(jié)束后向獲取的地址內(nèi)寫入要顯示的信息數(shù)據(jù),寫完后屏幕就會顯示出該內(nèi)容。LCD1602程序流程圖如圖4.3所示。圖4.3LCD1602流程圖部分程序如下:voidwrite_date(uchardate)//寫數(shù)據(jù){rs=1;rw=0;P0=date;delay(5);e=1;delay(5);e=0;}voidwrite_com(ucharc)//寫指令{rs=0;rw=0;P0=c;delay(5);e=1;delay(5);e=0;}voidinit()//初始化{e=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);for(num=0;num<16;num++){write_date(tad[num]);//1602顯示第一行delay(1);}write_com(0x80+0x40);for(num=0;num<16;num++){write_date(tad1[num]);//1602顯示第二行delay(1);}4.4WT588D程序流程圖語音播報子程序在主程序開始后完成初始化,初始化完成后芯片內(nèi)自動生成每一段提前存好的語音的地址,然后芯片進入等待,直到主程序檢測到播報按鍵按下后,語音播報程序開始獲取需要播報的語音地址,后將地址寫入芯片,芯片就播報寫入的地址上的語音,寫入幾個地址就播報幾段語音,播報完成后返回主程序。WT588D程序流程圖如圖4.4所示。圖4.4WT588D流程圖部分程序如下:voidWT588D_HANDLE(intnum,intnum1)//語音播報里程和金額{uinttime=1000;uchari=0,cccc;space=0;//行程WT588D_data[space++]=10;//本次行程use_WT588D(num/10);WT588D_data[space++]=11;//點WT588D_data[space++]=num%10;//小數(shù)點位WT588D_data[space++]=12;//千米//價格WT588D_data[space++]=13;//共計use_WT588D(num1/10);WT588D_data[space++]=11;//點WT588D_data[space++]=num1%10;//小數(shù)點位WT588D_data[space++]=14;//元WT588D_data[space++]=100;space=0;Line_1A(WT588D_data[0]);delay_ms(time);delay_ms(time);delay_ms(time);delay_ms(time);delay_ms(time);for(i=1;i<16;i++){if(WT588D_data[i]==100)break;cccc=WT588D_data[i];Line_1A(cccc);delay_ms(time);delay_ms(time);}delay_ms(time);}4.5里程測量程序流程圖里程測量子程序在在主程序運行時完成霍爾傳感器的初始化,之后等待按鍵啟動進入計價器模式后設置一個計數(shù)變量自增,每次磁鐵經(jīng)過傳感器都會向單片機發(fā)送一個脈沖,每個脈沖都觸發(fā)單片機外部0中斷一次,也就是計數(shù)變量自增一次,也代表車輪轉(zhuǎn)了幾圈,每當計量一百米時里程變量加一計數(shù)變量清零,如此反復循環(huán)。里程測量子程序流程圖如圖4.5所示。圖4.5里程測量子程序流程圖部分程序如下:voidEX_INT0(void)interrupt0//外部中斷0函數(shù){ucharnum;num++;//一個計數(shù)器自增1IT0=1;//邊沿觸發(fā)方式if(num==100)//判斷是否有100個脈沖{num=0;//清零road+=1;//每100次中斷里程加1}}
5.制作和調(diào)試5.1軟件仿真本設計利用Proteus軟件仿真,用Kell4進行程序的編寫與編譯。本設計中設計了實時時鐘、霍爾傳感器和掉電儲存,這些是不能進行仿真的,可以仿真的只有單片機最小系統(tǒng)以及顯示部分。先在Proteus中搭建好如圖5.1所示的單片機最小系統(tǒng),雖然仿真時不連接最小系統(tǒng)也可以仿真,但是本著嚴謹?shù)膽B(tài)度還是需要連接好,然后連接好LCD1602液晶顯示器,圖5.2所示,再連接實時時鐘芯片DS1302和存儲芯片AT24C02,雖然都連上了但是掉電不用調(diào)時以及掉電儲存不方便仿真,仿真時只是連接上而已。圖5.1單片機最小系統(tǒng)仿真連接圖圖5.2LCD1602仿真連接圖開始仿真后,屏幕默認顯示時間如圖5.3所示,按下切屏后切換至計價器模式如圖5.4所示。圖5.3開機默認界面圖圖5.4切換至計價器模式界面圖仿真部分僅僅完成對LCD1602的顯示的學習與應用過程,本設計的其他內(nèi)容都在實物的制作與調(diào)試中完成。5.2硬件制作仿真完成后就可以開始真正的實物制作了,將各個模塊與單片機的最小系統(tǒng)焊接在一起(如圖5.5所示),焊接完成后用萬用表檢查虛焊與短路,排除所有有錯的的地方后才可以上電測試。圖5.5實物焊接圖整個系統(tǒng)的布局如圖5.6所示,單片機及其最小系統(tǒng)處于中間部位,上方是用于顯示的LCD1602液晶顯示器,右上角被LCD1602蓋住的是DS1302實時時鐘模塊,它的備用電源是一塊紐扣電池。單片機的左邊是AT24C02數(shù)據(jù)儲存模塊就是利用它實現(xiàn)了掉電儲存功能,它的下方是WT588D語音模塊,它和旁邊的喇叭一起實現(xiàn)語音播報的功能。單片機正下方是一個電機以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 萬科商鋪合同范例
- 公寓房回購合同范本
- 云南合同范本
- 公司管理規(guī)定合同范本
- 勞務就業(yè)合同范本
- 保潔托管合同范本
- 2025年度汽車配件市場拓展與渠道建設合同
- 加工件采購合同范例
- 2025年松季項目可行性研究報告
- 設備搬遷合同范本
- 湖南省長郡中學2023-2024學年高二下學期寒假檢測(開學考試)物理 含解析
- 人教版五年級下冊英語課件U1-B Let's check Let's wrap it up
- 水泥的檢測及應用-水泥的技術(shù)性能及檢測(建筑材料)
- 動物檢疫技術(shù)-臨診檢疫技術(shù)(動物防疫與檢疫技術(shù))
- 《華夏幸福房地產(chǎn)公司人才流失現(xiàn)狀、原因及應對策略》開題報告(文獻綜述)3400字
- 小型混凝土攪拌機-畢業(yè)設計
- 部編人教版二年級下冊語文 愿望的實現(xiàn) 教學課件
- GB/T 17614.1-2015工業(yè)過程控制系統(tǒng)用變送器第1部分:性能評定方法
- 隱匿性陰莖的診療和治療課件
- 2022屆北京市東城區(qū)高三語文一模語文試卷講評課件
- 先天性腎上腺皮質(zhì)增生癥(CAH)課件
評論
0/150
提交評論