09信息工程——出租車計價器設(shè)計_第1頁
09信息工程——出租車計價器設(shè)計_第2頁
09信息工程——出租車計價器設(shè)計_第3頁
09信息工程——出租車計價器設(shè)計_第4頁
09信息工程——出租車計價器設(shè)計_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘摘 要要出租車計價器的硬件設(shè)計以 AT89S51 單片機為核心控制元件,利用靈敏的霍爾開關(guān)型器件 A44E 霍爾傳感器測距,采用 AT24C02 實現(xiàn)在系統(tǒng)掉電的時候保存單價和系統(tǒng)時間等信息,輸出采用 6 位 LED 數(shù)碼管,通過開關(guān) S1 分屏控制單價、路程、總金額以及時間的顯示。系統(tǒng)的軟件設(shè)計主要有:主程序模塊、定時中斷服務(wù)程序、里程計數(shù)中斷服務(wù)程序、中途等待中斷服務(wù)程序、顯示子程序服務(wù)程序鍵盤服務(wù)程序。本電路設(shè)計的計價器主要功能有:數(shù)據(jù)的復(fù)位、白天/晚上轉(zhuǎn)換、數(shù)據(jù)輸出、計時計價、單價輸出及調(diào)整、路程輸出、語音播報數(shù)據(jù)信息、實現(xiàn)在系統(tǒng)掉電的時候保存單價和系統(tǒng)時間等信息等功能。本電路設(shè)計的

2、計價器不但能實現(xiàn)基本的計價,而且還能根據(jù)白天、黑夜、中途等待來調(diào)節(jié)單價,同時在不計價的時候還能作為時鐘為司機同志提供方便。關(guān)鍵詞關(guān)鍵詞:單片機,霍爾傳感器,AT24C02,分屏顯示,AT89S51 單片機 目目錄錄第一章 概述 .11.1 出租車計價器概述 .11.2 單片機的概述.1第二章 總體設(shè)計方案的論證與比較 .32.1 總體設(shè)計方案的論證與比較.32.2 里程計算設(shè)計方案論證與比較 .42.3 設(shè)計總框圖.5第三章 硬件設(shè)計 .63.1 硬件設(shè)計概述.63.2 AT89S51 介紹 .73.3 里程計算設(shè)計 .83.4 顯示原理.113.5 AT24C02 掉電存儲單元的設(shè)計 .14

3、3.6 按鍵單元的設(shè)計.15第四章 系統(tǒng)的軟件設(shè)計 .194.1 模塊介紹.194.2 主程序模塊.194.3 定時中斷服務(wù)程序 .204.4 里程計數(shù)中斷服務(wù)程序.214.5 中途等待中斷服務(wù)程序.214.6 顯示子程序服務(wù)程序 .224.7 鍵盤服務(wù)程序 .22第五章 系統(tǒng)調(diào)試與測試結(jié)果分析 .245.1 使用的儀器儀表.245.2 系統(tǒng)調(diào)試.24結(jié) 論 .27致 謝 .28參考文獻 .29第一章第一章 概述概述1.11.1 出租車計價器概述出租車計價器概述汽車計價器是乘客與司機雙方的交易準(zhǔn)則,它是出租車行業(yè)發(fā)展的重要標(biāo)志,是出租車中最重要的工具。它關(guān)系著交易雙方的利益。具有良好性能的計價

4、器無論是對廣大出租車司機朋友還是乘客來說都是很必要的。因此,汽車計價器的研究也是十分有一個應(yīng)用價值的。我國在 70 年代開始出現(xiàn)出租車,但那時的計費系統(tǒng)大都是國外進口不但不夠準(zhǔn)確,價格還十分昂貴。隨著改革開放日益深入,出租車行業(yè)的發(fā)展勢頭已十分突出,國內(nèi)各機械廠家紛紛推出國產(chǎn)計價器。出租車計價器的功能從剛開始的只顯示路程(需要司機自己定價,計算后四舍五入) ,到能夠自主計費,以及現(xiàn)在的能夠打一發(fā)票和語音提示、按時間自主變動單價等功能。隨著城市旅游業(yè)的發(fā)展,出租車行業(yè)已成為城市的窗口,象征著一個城市的文明程度。本次設(shè)計的目的在于現(xiàn)在各大中城市出租車行業(yè)都已普及自動計價器,所以計價器技術(shù)的發(fā)展已成

5、定局。而部分小城市尚未普及,但隨著城市建設(shè)日益加快,象征著城市面貌的出租車行業(yè)也將加速發(fā)展,計價器的普及也是毫無疑問的,所以未來汽車計價器的市場還是十分有潛力的。1.21.2 單片機的概述單片機的概述計算機系統(tǒng)已明顯地朝巨型化、單片化、網(wǎng)絡(luò)化三個方向發(fā)展。巨型化發(fā)展的目的在于不斷提高計算機的運算速度和處理能力,以解決復(fù)雜系統(tǒng)計算和高速數(shù)據(jù)處理,比如系統(tǒng)仿真和模擬、實時運算和處理。單片化是把計算機系統(tǒng)盡可能集成在一塊半導(dǎo)體芯片上,其目的在于計算機微型化和提高系統(tǒng)的可靠性,這種單片計算簡稱單片機。單片機的內(nèi)部硬件結(jié)構(gòu)和指令系統(tǒng)主要是針對自動控制應(yīng)用而設(shè)計的所以單片機又稱微控制器 MCU(Micro

6、 Controller Unit) 。用它可以很容易地將計算機嵌入到各種儀器和現(xiàn)場控制設(shè)備中,因此單片機又叫做嵌入式微控制器(Embedded MCU) 。單片機自 20 世紀(jì) 70 年代問世以來,以其鮮明的特點得到迅猛發(fā)展,已廣泛應(yīng)用于家用電器、智能玩具、智能儀器儀表、工業(yè)控制、航空航天等領(lǐng)域,經(jīng)過 30 多年的發(fā)展,性能不斷提高,品種不斷豐富,已經(jīng)形成自動控制的一支中堅力量。據(jù)統(tǒng)計,我國的單片機年容量已達(dá) 13 億片,且每年以大約 16的速度增長,但相對于國際市場我國的占有率還不到 1。這說明單片機應(yīng)用在我國有著廣闊的前景。對于從事自動控制的技術(shù)人員來講,掌握單片機原理及其應(yīng)用已經(jīng)成為必不

7、可少的學(xué)習(xí)任務(wù)。 單片機的應(yīng)用十分廣泛,在工業(yè)控制領(lǐng)域、家電產(chǎn)品、智能化儀器儀表、計算機外部設(shè)備,特別是機電一體化產(chǎn)品中,都有重要的用途。其主要的用途可以分為以下方面。顯示:通過單片機控制發(fā)光二極管或是液晶,顯示特定的圖形和字符。機電控制:用單片機控制機電產(chǎn)品做定時或定向的動作。檢測:通過單片機和傳感器的聯(lián)合使用,用來檢測產(chǎn)品或者工況的意外發(fā)生。通信:通過 RS-232 串行通信或者是 USB 通信,傳輸數(shù)據(jù)和信號??茖W(xué)計算:用來實現(xiàn)簡單的算法。那么單片機是不是解決上述應(yīng)用的唯一選擇呢?淡然不是!目前,在自動控制中,一般有三種選擇,分別是嵌入式微機、DSP 和單片機。單片機最明顯的優(yōu)點是價格便

8、宜,從幾元人民幣到幾十元人民幣。這是因為這類芯片的生產(chǎn)量很大,技術(shù)也很成熟。其次,單片機的體積也遠(yuǎn)小于其他兩種方案。單片機本身一般用 40 引腳封裝,當(dāng)然功能多一些的單片機也有引腳比較多的,如 68 引腳,功能少的只有 10 多個或20 多個引腳,有的甚至只有 8 只引腳。當(dāng)然,單片機無論在速度還是容量方面都小于其他兩種方案,但是在實際工作中并不是任何需要計算機的場合都要求計算機有很高的性能。例如,控制電冰箱的控制器就不需要使用嵌入式系統(tǒng),用一片 51 就可以輕松實現(xiàn)。所以應(yīng)用的關(guān)鍵是看能否夠用,是否有很好的性能價格比。51 系列的單片機已經(jīng)面世十多年,依然沒有被淘汰,還在不斷發(fā)展中,這就說明

9、是他有廣闊的應(yīng)用前景。第二章第二章 總體設(shè)計方案的論證與比較總體設(shè)計方案的論證與比較2.12.1 總體設(shè)計方案的論證與比較總體設(shè)計方案的論證與比較方案一:采用數(shù)字電路控制。其原理方框圖如圖 2.1 所示。采用傳感器件,輸出脈沖信號,經(jīng)過放大整形作為移位寄存器的脈沖,實現(xiàn)計價,但是考慮到這種電路過于簡單,性能不夠穩(wěn)定,而且不能調(diào)節(jié)單價,也不能根據(jù)天氣調(diào)節(jié)計費標(biāo)準(zhǔn),電路不夠?qū)嵱谩F湓矸娇驁D如圖 2.1 所示。圖 2-1 數(shù)字電路方案方案二:采用單片機控制。利用單片機豐富的 IO 端口,及其控制的靈活性,實現(xiàn)基本的里程計價功能和價格調(diào)節(jié)、時鐘顯示功能。其原理方框圖如圖 2.2 所示。圖 2-2 總

10、體設(shè)計思路框圖采用模擬電路和數(shù)字電路設(shè)計的計價器整體電路的規(guī)模較大,用到的器件多,造成故障率高,難調(diào)試,對于模式的切換需要用到機械開關(guān),機械開關(guān)時間久了會造成接觸不良,功能不易實現(xiàn)。通過比較以上兩種方案,單片機有較大的活動空間,利用單片機豐富的 IO 端口,及其控制的靈活性,不但能實現(xiàn)基本的里程計價功能和價格調(diào)節(jié)、時鐘顯示功能,而且能在很大的程度上擴展功能,還可以方便的對系統(tǒng)進行升級。為此我們采用了單片機進行設(shè)計,相對來說功能強大,用較少的硬件和適當(dāng)?shù)能浖嗷ヅ浜峡梢院苋菀椎膶崿F(xiàn)設(shè)計要求。2.22.2 里程計算設(shè)計方案論證與比較里程計算設(shè)計方案論證與比較方案一:采用霍爾線性器件,將轉(zhuǎn)速轉(zhuǎn)變?yōu)殡?/p>

11、壓信號提供給單片機,從而達(dá)到計算里程的目的。方案二:采用霍爾開關(guān)器件中的霍爾傳感器 A44E,按汽車車輪轉(zhuǎn)速的高低,每轉(zhuǎn)發(fā)出相應(yīng)數(shù)目的脈沖信號。通過比較以上兩種設(shè)計方案,方案一雖然運行可靠,但體積大,精度低,且由于測量值是模擬量,必須經(jīng)過 A/D 轉(zhuǎn)換后讀入計算機,針對于出租車計價器而言較為煩瑣,不適用。因此我們采用方案二。2.32.3 設(shè)計總框圖設(shè)計總框圖本次設(shè)計我們利用單片機 AT89S51 芯片作為設(shè)計的核心,利用霍爾傳感器測距,實現(xiàn)對出租車計價統(tǒng)計,采用 AT24C02 實現(xiàn)在系統(tǒng)掉電的時候保存單價和系統(tǒng)時間等信息,顯示采用 6 位 LED 數(shù)碼管,分屏顯示單價、路程、總金額以及時間。

12、總體設(shè)計框圖如圖 2-3 所示。圖 2-3 總體設(shè)計框圖第三章第三章 硬件設(shè)計硬件設(shè)計3.13.1 硬件設(shè)計概述硬件設(shè)計概述AT89S51 是一款非常適合單片機初學(xué)者學(xué)習(xí)的機型,它完全兼容傳統(tǒng)的8051,8031 的指令系統(tǒng)和引腳,而且是當(dāng)今較為流行的,綜合考慮,本次設(shè)計的核心采用 AT89S51 型單片機。在里程測速方面,霍爾元件體積小,重量輕,壽命長,安裝方便,功耗小,因此我們采用霍爾傳感器 A44E;在顯示方面,因為采用 LCD 液晶段碼顯示,在距離屏幕 1 米之外就無法看清數(shù)據(jù),所以本次設(shè)計采用 6 位 LED 發(fā)光二級管;在其他方面,我們運用到了 AT24C02 掉電存儲單元以及四個

13、控制按鍵。其總體設(shè)計電路圖如 3-1所示圖 3-1 設(shè)計總體電路圖3.23.2 AT89S51AT89S51 介紹介紹AT89S51 是美國 ATMEL 公司生產(chǎn)的低功耗,高性能 CMOS 8 位單片機,片內(nèi)含 4k Bytes ISP(In-system programmable)的可反復(fù)擦寫 1000 次的 Flash 只讀程序存儲器,器件采用 ATMEL 公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn) MCS-51 指令系統(tǒng)及 80C51 引腳結(jié)構(gòu),芯片內(nèi)集成了通用 8 位中央處理器和 ISP Flash 存儲單元,功能強大的 AT89S51 可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方

14、案。 3.2.1AT89S51 的引腳功能說明的引腳功能說明AT89S51 有 40 個引腳,與 MCS51 系列單片機引腳完全兼容。如圖 3-2 所示。其各自引腳功能如下:Vcc:電源電壓。GND:地。P0 口:P0 口是一組 8 位漏極開路型雙向 I/O 接口,也即地址/數(shù)據(jù)總線復(fù)用口。當(dāng)訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在 FLASH 編程時,P0 口接受指令字節(jié),而在程序校驗時 ,輸出指令字節(jié)。P1 口:P1 口是一個帶內(nèi)部上拉電阻的 8 位雙向 I/O 接口,P1 的輸出緩沖級可驅(qū)動 4 個 TTL 邏輯門電路。FLAS

15、H 編程和程序校驗時,P1 接收低 8 位地址。 P2 口:P2 口是一個帶有內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 的輸出緩沖級可驅(qū)動 4 個 TTL 邏輯門電路。在訪問外部程序存儲器或 16 位地址的外部數(shù)據(jù)存儲器時P2 口送高 8 位地址數(shù)據(jù)。FLASH 編程或校驗時,P2 亦接收高位地址和其他控制信號。P3 口:P3 口是一組帶有內(nèi)部上拉電阻的 8 位雙向 I/O 接口。P3 口輸出緩沖級可驅(qū)動 4 個 TTL 邏輯門電路。RST:復(fù)位輸入。ALE/ :當(dāng)訪問外部數(shù)據(jù)時,ALE(地址鎖存允許)輸出脈沖用于鎖存地PROG址的低 8 位字節(jié)。對 FLASH 存儲器編程時,該引腳還用于

16、輸入編程脈沖() 。PROGEA/VPP:外部訪問允許。:程序儲存允許。輸出是外部程序存儲器的度選通信號。PSENPSENXTAL1:振蕩器反相放大及內(nèi)部是鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。圖 3-2 AT89S51 的引腳結(jié)構(gòu)3.33.3 里程計算設(shè)計里程計算設(shè)計本次設(shè)計里程計算采用霍爾傳感器 A44E,時下已的到了廣泛的應(yīng)用。3.3.1 霍爾傳感器簡介霍爾傳感器簡介霍爾傳感器是利用霍爾效應(yīng)實現(xiàn)磁電轉(zhuǎn)換的一種傳感器,它具有靈敏度高,線性度好,穩(wěn)定性高、體積小和耐高溫等特點,在機車控制系統(tǒng)中占有非常重要的地位。對測速裝置的要求是分辨能力強、高精度和盡可能短的檢測時間?;魻?/p>

17、器件具有許多優(yōu)點,它們的結(jié)構(gòu)牢固,體積小,重量輕,壽命長,安裝方便,功耗小,頻率高(可達(dá) 1MHZ) ,耐震動,不怕灰塵、油污、水汽及鹽霧等的污染或腐蝕。 按照霍爾器件的功能可將它們分為: 霍爾線性器件 和 霍爾開關(guān)器件 。前者輸出模擬量,后者輸出數(shù)字量。 霍爾線性器件的精度高、線性度好;霍爾開關(guān)器件無觸點、無磨損、輸出波形清晰、無抖動、無回跳、位置重復(fù)精度高(可達(dá) m 級) 。取用了各種補償和保護措施的霍爾器件的工作溫度范圍寬,可達(dá)55150。 按被檢測的對象的性質(zhì)可將它們的應(yīng)用分為:直接應(yīng)用和間接應(yīng)用。前者是直接檢測出受檢測對象本身的磁場或磁特性,后者是檢測受檢對象上人為設(shè)置的磁場,用這個

18、磁場來作被檢測的信息的載體,通過它,將許多非電、非磁的物理量例如力、力矩、應(yīng)力以及工作狀態(tài)發(fā)生變化的時間等,轉(zhuǎn)變成電量來進行檢測和控制。3.3.3 里程計算、計價單元的設(shè)計里程計算、計價單元的設(shè)計里程計算是通過安裝在車輪上的霍爾傳感器 A44E 檢測到的信號,送到單片機,經(jīng)處理計算,送給顯示單元的。其原理如圖 3-3 所示。圖 3-3 傳感器測距示意圖由于 A44E 屬于開關(guān)型的霍爾器件,其工作電壓范圍比較寬(4.518V),其輸出的信號符合 TTL 電平標(biāo)準(zhǔn),可以直接接到單片機的 IO 端口上,而且其最高檢測頻率可達(dá)到 1MHZ。集成開關(guān)型霍爾傳感器原理如圖 3-4 所示。圖 3-4 集成開

19、關(guān)型霍耳傳感器原理圖A44E 集成霍耳開關(guān)由穩(wěn)壓器 A、霍耳電勢發(fā)生器(即硅霍耳片)B、差分放大器C、施密特觸發(fā)器 D 和 OC 門輸出 E 五個基本部分組成。在輸入端輸入電壓 CC V ,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍耳電勢發(fā)生器的兩端,根據(jù)霍耳效應(yīng)原理,當(dāng)霍耳片處在磁場中時,在垂直于磁場的方向通以電流,則與這二者相垂直的方向上將會產(chǎn)生霍耳電勢差 H V 輸出,該 H V 信號經(jīng)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到 OC 門輸出。當(dāng)施加的磁場達(dá)到工作點.(即 OP B )時,觸發(fā)器輸出高電壓(相對于地電位)使三極管導(dǎo)通,此時 OC 門輸出端輸出低電壓,通常稱這種狀態(tài)為“開”。當(dāng)施加的磁

20、場達(dá)到釋放點(即 rPB )時,觸發(fā)器輸出低電壓,三極管截止,使 OC 門輸出高電壓,這種狀態(tài)為“關(guān)”。這樣兩次電壓變換,使霍耳開關(guān)完成了一次開關(guān)動作。其集成霍耳開關(guān)外形及接線如圖 3-5 所示。圖 3-5 集成霍耳開關(guān)外形及接線我們選擇了 P3.2 口作為信號的輸入端,內(nèi)部采用外部中斷 0(這樣可以減少程序設(shè)計的麻煩),車輪每轉(zhuǎn)一圈(我們設(shè)車輪的周長是 1 米),霍爾開關(guān)就檢測并輸出信號,引起單片機的中斷,對脈沖計數(shù),當(dāng)計數(shù)達(dá)到 1000 次時,也就是 1 公里,單片機就控制將金額自動的加增加,其計算公式:當(dāng)前單價 公里數(shù)=金額。3.43.4 顯示原理顯示原理由于設(shè)計要求有單價(2 位)、路

21、程(2 位)、總金額(3 位)顯示輸出,加上我們另外擴展了時鐘顯示(包含時分秒的顯示),采用 LCD 液晶段碼顯示,在距離屏幕 1 米之外就無法看清數(shù)據(jù),不能滿足要求,而且在白天其對比度也不能夠滿足要求,因此我們采用 6 位 LED 數(shù)碼管顯示方式。3.4.1 LED 顯示工作原理顯示工作原理LED(Light Emitling Diode)是發(fā)光二極管的縮寫。LED 顯示器是由發(fā)光二極管顯示字段的單片機輸出設(shè)備。單片機應(yīng)用系常采用 7 段 LED 數(shù)碼管作為顯示器,這種顯示器具有耗電低、配置靈活、線路簡單、安裝方便、耐振動、價格低廉且壽命長等優(yōu)點。因此應(yīng)用廣泛。LED 數(shù)碼管顯示器可以文衛(wèi)共

22、陰極和共陽極兩種結(jié)構(gòu)。(1) 共陰極結(jié)構(gòu):如果所有的發(fā)光二極管的陰極接在一起,稱為共陰極結(jié)構(gòu),如圖 3-6 所示。(2) 共陽極結(jié)構(gòu):如果所有的發(fā)光二極管的陽極接在一起,稱為共陽極結(jié)構(gòu),如圖 3-7 所示。圖3-6 共陰極結(jié)構(gòu) 圖 3-7 共陽極結(jié)構(gòu)在單片機應(yīng)用系統(tǒng)中,顯示器顯示常用兩種方法:靜態(tài)顯示和動態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個顯示器都要占用單獨的具有鎖存功能的 I/O 接口用于筆劃段字形代碼。這樣單片機只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時,再發(fā)送新的字形碼,因此,使用這種方法單片機中CPU 的開銷小、編程簡單,便于監(jiān)視和控制但是占用接口線多,硬

23、件電路復(fù)雜,成本高。而所謂的動態(tài)顯示就是利用單片機依次輸出每一位數(shù)碼管的段選碼和對應(yīng)于該位數(shù)碼管的位選控制信號,一位一位輪流點亮各段數(shù)碼管。本設(shè)計采用共陽極動態(tài)顯示方式。3.4.2 數(shù)碼管的分屏顯示數(shù)碼管的分屏顯示數(shù)碼管的分屏顯示,如圖所示:圖 3-8 時鐘顯示(圖中顯示為 12 點 00 分 46 秒)圖 3-9 總金額和單價顯示(圖中顯示為總金額 12.3 元,每公里 4.6 元)圖 3-10 路程和單價顯示(圖中顯示為總路程 12 公里,當(dāng)前單價 4.6 元)圖 3-11 單價調(diào)整顯示(圖中顯示為右起白天單價 4 .6 元/晚上 7.8 /中途等待 1.2 元)數(shù)據(jù)的分屏的顯示是通過按鍵

24、 S1 來實現(xiàn)切換的,如圖 3-12 所示。圖 3-12 S1 切換顯示屏在出租車不走的時候,按下 S1,可以實現(xiàn)數(shù)據(jù)的分屏顯示,車在行走的時候只有總金額和單價顯示屏在顯示,當(dāng)?shù)竭_(dá)目的地的時候,客戶要求查看總的里程的時候,就可以按下 S1 切換到里程和單價顯示屏,供客戶查詢。3.4.3 74HC164 顯示驅(qū)動顯示驅(qū)動74HC164 是 8 位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。數(shù)據(jù)通過兩個輸入端(DSA 或 DSB)之一串行輸入,任一輸入端可以用作高電平使能端,控制另一輸入端的數(shù)據(jù)輸入。從單片機串口輸出的信號先送到左邊的移位寄存器(74HC164),由于移位脈沖的作用,使數(shù)據(jù)向

25、右移,達(dá)到顯示的目的。移位寄存器74HC164 還兼作數(shù)碼管的驅(qū)動,插頭 1(header1)接電源,插頭 2(header2)接數(shù)據(jù)和脈沖輸出端。電路中的三個整流管 D1D3 的作用是降低數(shù)碼管的工作電壓,增加其使用壽命。顯示器原理圖如圖 3-13 所示:3-13 顯示器原理圖3.53.5 AT24C02AT24C02 掉電存儲單元的設(shè)計掉電存儲單元的設(shè)計AT24C02 芯片引腳配置如圖 3-14 所示。AT24C02 芯片引腳配置說明如表 3.1 所示。A2A0地址引腳SDA、SCL I2C總線接口WP寫保護引腳,WP 接 VSS 時,禁止寫入高位地址,WP 接 VDD 時,允許寫入任何地

26、址GND接地端VCC電源端表 3.1AT24C02 芯片引腳說明掉電存儲單元的作用是在電源斷開的時候,存儲當(dāng)前設(shè)定的單價信息。AT24C02 是 ATMEL 公司的 2KB 字節(jié)的電可擦除存儲芯片,采用兩線串行的總線和單片機通訊,電壓最低可以到 2.5V,額定電流為 1mA,靜態(tài)電流 10Ua(5.5V),芯片內(nèi)的資料可以在斷電的情況下保存 40 年以上,而且采 圖 3-14 引腳圖 用 8 腳的 DIP 封裝,使用方便。其電路如圖 3-15 所示。圖 3-15 掉電存儲電路原理圖圖中 R8、R10 是上拉電阻,其作用是減少 AT24C02 的靜態(tài)功耗,由于 AT24C02 的數(shù)據(jù)線和地址線是

27、復(fù)用的,采用串口的方式傳送數(shù)據(jù),所以只用兩根線 SCL(移位脈沖)和 SDA(數(shù)據(jù)/地址)與單片機傳送數(shù)據(jù)。每當(dāng)設(shè)定一次單價,系統(tǒng)就自動調(diào)用存儲程序,將單價信息保存在芯片內(nèi)。當(dāng)系統(tǒng)重新上電的時候,自動調(diào)用讀存儲器程序,將存儲器內(nèi)的單價等信息,讀到緩存單元中,供主程序使用。3.63.6 按鍵單元的設(shè)計按鍵單元的設(shè)計在單片機應(yīng)用系統(tǒng)中,常用鍵盤作為輸入設(shè)備,通過它將數(shù)據(jù)、內(nèi)存地址、命令及指令等輸入到系統(tǒng)中,來實現(xiàn)簡單的人機通信。3.6.1 按鍵開關(guān)的去除抖動功能按鍵開關(guān)的去除抖動功能目前, AT89S51 單片機應(yīng)用系統(tǒng)上的按鍵常采用機械觸點式按鍵,它在斷開、閉合時輸入電壓波形如圖 3.16 所示

28、.可以看出機械觸點在閉合及斷開瞬間均有抖動過程,時間長短與開關(guān)的機械特性有關(guān),一般為 510ms。由于抖動,會造成被查詢的開關(guān)狀態(tài)無法準(zhǔn)確讀出。例如,一次按鍵產(chǎn)生的正確開關(guān)狀態(tài),由于鍵的抖動,CPU多次采集到底電平信號,會被誤認(rèn)為按鍵被多次按下,就會多次進行鍵輸入操作,這是不允許的。為了保證 CPU 對鍵的一次閉合僅在按鍵穩(wěn)定時作一次鍵輸入處理,必須消除產(chǎn)生的前沿(后沿)抖動影響。通常消除抖動影響的方法有硬件、軟件兩種。當(dāng)按鍵較少時,可采用硬件方法消除抖動。如圖 3-16 所示 后沿前沿識別區(qū)安鍵過程圖 3-16 按鍵過程3.6.2 獨立式鍵盤的接口電路獨立式鍵盤的接口電路 獨立式鍵盤的接口電

29、路:在單片機應(yīng)用系統(tǒng)中,有時只需要幾個簡單的按鍵向系統(tǒng)輸入信息。這時,可將每個按鍵直接接在一根 I/O 接口線上,這種連接方式的鍵盤稱為獨立式鍵盤。如圖 3-17 所示。每個獨立按鍵單獨占有一根 I/O 接口線,每根 I/O 接口線的工作狀態(tài)不會影響到其他 I/O 接口線。這種按鍵接口電路配置靈活,硬件結(jié)構(gòu)簡單,但每個按鍵必須占用一根 I/O 線,I/O 接口線浪費較大。故只在按鍵數(shù)量不多時采用這種按鍵電路。在此電路中,按鍵輸入都采用低電平有效。上拉電阻保證了按鍵斷開時,I/O接口線有確定的高電平。當(dāng) I/O 接口內(nèi)部有上拉電阻時,外電路可以不配置上拉電阻。圖 3-17 獨立式鍵盤電路3.6.

30、3 按鍵單元的設(shè)計按鍵單元的設(shè)計電路共采用了四個按鍵,S1、S2、S3、S4,其功能分別是:S1 分屏顯示切換按鍵,S2 功能設(shè)定按鍵,S3 ./白天晚上切換按鍵,S4 ./中途等待開關(guān)。其電路連接如圖 3-18 所示。K1K2K3P1.0P1.1P1.2P1.3+5V89S51圖 3-18 按鍵連接圖3.6.4 按鍵的功能按鍵的功能(1)S1 按鍵的功能在出租車不走的時候,按下 S1,可以實現(xiàn)數(shù)據(jù)的分屏顯示,車在行走的時候只有總金額和單價顯示屏在顯示,當(dāng)?shù)竭_(dá)目的地的時候,客戶要求查看總的里程的時候,就可以按下 S1 切換到里程和單價顯示屏,供客戶查詢。(2)S2 按鍵的功能在按下 S1 按鍵

31、之后,若接著按下 S2 鍵則進行單價調(diào)整(默認(rèn)為調(diào)整白天單價),當(dāng)接著按下 S1 時,則進行晚上單價調(diào),再次按下 S1 可進行中途等待單價調(diào)整。當(dāng)單價調(diào)整結(jié)束后,可以通過過按下 S2 按鍵進行時間調(diào)整,默認(rèn)為調(diào)整時,接著按下 S1 可進行調(diào)整分,分調(diào)整后再接下 S1 可進行秒調(diào)整。當(dāng)時調(diào)整完成后,若接著按下 S2 則又可進行單價調(diào)整。(3)S3 按鍵的功能在顯示金額及單價時,若按下 S3 鍵則顯示路程和單價,再次按下 S3 則可返回顯示金額及單價。(4)S4 按鍵的功能在按下 S1 按鍵之后,若接著按下 S4 按鍵,則進行設(shè)定默認(rèn)晚上單價,并啟動計價器,若沒有按下 S4 則可設(shè)定默認(rèn)單價(白天

32、) ,并啟動計價器。當(dāng)設(shè)定默認(rèn)晚上單價結(jié)束后,再次接下 S4 按鍵則可設(shè)定默認(rèn)中途等待單價,并啟動計價器。當(dāng)設(shè)定默認(rèn)中途等待單價后,若還按一次 S4,則返回系統(tǒng)時間的顯示。第四章第四章 系統(tǒng)的軟件設(shè)計系統(tǒng)的軟件設(shè)計4.14.1 模塊介紹模塊介紹本系統(tǒng)的軟件設(shè)計主要可分為主程序模塊、定時計數(shù)中斷程序、里程計數(shù)中斷服務(wù)程序、中途等待中斷服務(wù)程序、顯示子程序服務(wù)程序、鍵盤服務(wù)程序六大模塊。下面對各部分模塊作介紹。4.2 主程序模塊主程序模塊在主程序模塊中,需要完成對各接口芯片的初始化、出租車起價和單價的初始化、中斷向量的設(shè)計以及開中斷、循環(huán)等待等工作。另外,在主程序模塊中還需要設(shè)置啟動/清除標(biāo)志寄存

33、器、里程寄存器和價格寄存器,并對它們進行初始化。然后,主程序?qū)⒏鶕?jù)各標(biāo)志寄存器的內(nèi)容,分別完成啟動、清除、計程和計價等不同的操作。當(dāng)按下 S1 時,就啟動計價,將根據(jù)里程寄存器中的內(nèi)容計算和判斷出行駛里程是否已超過起價公里數(shù)。若已超過,則根據(jù)里程值、每公里的單價數(shù)和起價數(shù)來計算出當(dāng)前的累計價格,并將結(jié)果存于價格寄存器中,然后將時間和當(dāng)前累計價格送顯示電路顯示出來。當(dāng)?shù)竭_(dá)目的地的時候,由于霍爾開關(guān)沒有送來脈沖信號,就停止計價,顯示當(dāng)前所應(yīng)該付的金額和對應(yīng)的單價,到下次啟動計價時,系統(tǒng)自動對顯示清零,并重新進行初始化過程。主程序流程圖如圖 4-1 所示。圖 4-1 主程序流程圖4.3 定時中斷服務(wù)

34、程序定時中斷服務(wù)程序在定時中斷服務(wù)程序中,每 100ms 產(chǎn)生一次中斷,當(dāng)產(chǎn)生 10 次中斷的時候,也就到了一秒,送數(shù)據(jù)到相應(yīng)的顯示緩沖單元,并調(diào)用顯示子程序?qū)崟r顯示。定時中斷服務(wù)程序流程圖如圖 4-2 所示。圖4-2定時中斷服務(wù)程序流程圖4.4 里程計數(shù)中斷服務(wù)程序里程計數(shù)中斷服務(wù)程序每當(dāng)霍爾傳感器輸出一個低電平信號就使單片機中斷一次,當(dāng)里程計數(shù)器對里程脈沖計滿 1000 次時,就有程序?qū)?dāng)前總額送入里程計數(shù)中斷服務(wù)程序中。在該程序中,需要完成當(dāng)前行駛里程數(shù)和總額的累加操作,并將結(jié)果存入里程和總額寄存器中。4.5 中途等待中斷服務(wù)程序中途等待中斷服務(wù)程序當(dāng)在計數(shù)狀態(tài)下霍爾開關(guān)沒有輸出信號,片

35、內(nèi)的 T1 定時器便被啟動,每當(dāng)計時到達(dá) 10 分鐘,就對當(dāng)前金額加上中途等待的單價,以后每十分鐘都自動加上中途等待的單價。當(dāng)中途等待結(jié)束的時候,也就自動切換到正常的計價。4.6 顯示子程序服務(wù)程序顯示子程序服務(wù)程序由于是分屏顯示數(shù)據(jù),所以就要用到 4 個顯示子程序,分別是:時分秒顯示子程序(HMS_DIS)、金額單價顯示子程序(CP_DIS)、路程單價顯示子程序(DP_DIS)、單價調(diào)節(jié)子程序(PA_DIS)。開始接收里程數(shù),價格顯示數(shù)據(jù)Dispflag是否為真轉(zhuǎn)為為字型碼輸出顯示接收等待時間車速顯示數(shù)據(jù)短延時返回圖 4-3 顯示子程序服務(wù)程序圖4.7 鍵盤服務(wù)程序鍵盤服務(wù)程序鍵盤采用查詢的

36、方式,放在主程序中,當(dāng)沒有按鍵按下的時候,單片機循環(huán)主程序,一旦右按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。圖 4-4 鍵盤子程序圖第五章第五章 系統(tǒng)調(diào)試與測試結(jié)果分析系統(tǒng)調(diào)試與測試結(jié)果分析根據(jù)系統(tǒng)設(shè)計方案,本系統(tǒng)的調(diào)試共分為三大部分:硬件調(diào)試,軟件調(diào)試和軟硬件聯(lián)調(diào)。測試包括里程計價測試、掉電存儲測試。5.15.1 使用的儀器儀表使用的儀器儀表 數(shù)字萬用表DT9203單片機仿真器WAVE6000燒寫器 GF2100雙蹤穩(wěn)壓穩(wěn)流電源DH1718E-5數(shù)字示波器 TDS1002在軟件調(diào)試過程中,因為 AT89S51 與 MCS51 系列相兼容,所以在調(diào)試WAVE6000 調(diào)試過程中,我們采

37、用 8751 來進行調(diào)試。如圖 5-1 所示:圖 5-1 WAVE6000 設(shè)置圖5.25.2 系統(tǒng)調(diào)試系統(tǒng)調(diào)試根據(jù)系統(tǒng)設(shè)計方案,本系統(tǒng)的調(diào)試共分為三大部分:硬件調(diào)試,軟件調(diào)試和軟硬件聯(lián)調(diào)。由于在系統(tǒng)設(shè)計中采用模塊設(shè)計法,所以方便對各電路模塊功能進行逐級測試。5.2.1 里程計價測試?yán)锍逃媰r測試由于試驗條件有限,我們采用電動機附帶霍爾元件作為車輪,電機為 3V 的直流電機,每分的轉(zhuǎn)速可以達(dá)到幾千轉(zhuǎn),我們設(shè)定電機每轉(zhuǎn)一圈為車輪轉(zhuǎn)動 1 米,當(dāng)電機轉(zhuǎn)動達(dá)到 1000 圈時,就表示已經(jīng)到達(dá)了一公里,系統(tǒng)自動將當(dāng)前的單價加到總金額上。表 5.1 的測試條件是:設(shè)定白天的單價是 2.5 元,起步價為 5

38、 元(包含 3 公里),分別行駛不同里程測得數(shù)據(jù)如下表。41015374959理論7.522.53590120145總金額實際7.60222.4983590.12119.978145理論41015374959行駛路程實際41014.8936.9849.0258.023表 5.1 白天單價測試表 5.2 測試條件是:晚上的單價設(shè)定為 3.0 元,起步價為 5 元(包含 3 公里),分別行駛不同里程測得數(shù)據(jù)如下表。41015374959理論82641107143173總金額實際82640.989107143.01173.01理論41015374959行駛路程實際41014.8936.9849.02

39、58.023表 5.2 晚上單價測試表 5.3 測試條件是:設(shè)定在單價為 2.5 的情況下已經(jīng)行駛了 10 (22.5)公里,進行中途等待,分別等待不同的時間(10 分鐘為一個單位),起步價為 5 元(包含 3 公里)。公里公里 時間當(dāng)前金額204050607080理論27.532.53537.54042.5總金額實際27.49931.49934.98937.50140.00142.499表 5.3 中途等待價格測試?yán)锍虦y試數(shù)據(jù)的分析:通過表 5.1、表 5.2、表 5.3 的數(shù)據(jù),我們可以看到系統(tǒng)的計價功能很穩(wěn)定,誤差很小,幾乎為零,不過還應(yīng)該在實際的應(yīng)用中測試。5.2.2 掉電存儲測試掉電存儲測試表 5-4 顯示的數(shù)據(jù)表明,系統(tǒng)

溫馨提示

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

最新文檔

評論

0/150

提交評論