出租車計價器系統(tǒng)的研究與設(shè)計_第1頁
出租車計價器系統(tǒng)的研究與設(shè)計_第2頁
出租車計價器系統(tǒng)的研究與設(shè)計_第3頁
出租車計價器系統(tǒng)的研究與設(shè)計_第4頁
出租車計價器系統(tǒng)的研究與設(shè)計_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

/學士學位論文(設(shè)計)題目:礦井低壓電網(wǎng)過流愛惜中的相序檢測姓名:張婷婷學號014009110168專業(yè):電子信息工程指導老師:文鳳春職稱副教授中國·武漢二○○一一年二月目錄TOC\o"1-2"\h\z\u1概述 11.1出租車計價器概述 11.2單片機的概述 12總體設(shè)計方案的論證和比較 32.1總體設(shè)計方案的論證和比較 32.2里程計算設(shè)計方案論證和比較 42.3設(shè)計總框圖 43硬件設(shè)計 63.1硬件設(shè)計概述 63.2AT89S51介紹 73.3里程計算設(shè)計 83.4顯示原理 113.5AT24C02掉電存儲單元的設(shè)計 143.6按鍵單元的設(shè)計 154系統(tǒng)的軟件設(shè)計 194.1模塊介紹 194.2主程序模塊 194.3定時中斷服務(wù)程序 214.4里程計數(shù)中斷服務(wù)程序 234.5中途等待中斷服務(wù)程序 234.6顯示子程序服務(wù)程序 234.7鍵盤服務(wù)程序 255系統(tǒng)調(diào)試和測試結(jié)果分析 265.1運用的儀器儀表 265.2系統(tǒng)調(diào)試 266結(jié)論 29致謝 30參考文獻 31出租車計價器系統(tǒng)的探討和設(shè)計摘要本文介紹了一種以AT89C51單片機為核心的多功能出租車計價器。該計價器具有單程,來回,白天,夜間,等待等多種模式的計價方式。有顯示功能,發(fā)票打印功能,防作弊措施。文中在整體方案選擇上對兩個方案進行了對比,并闡述了硬件配置及性能特點,分為計量模塊、顯示模塊、打印模塊、防作弊模塊;軟件設(shè)計接受匯編語言編寫,系統(tǒng)程序固化在單片機內(nèi)部的EEPROM存儲器中,程序包括主程序和若干子程序。主程序的功能是開機后負責管理和調(diào)用子程序,子程序共有4個,分別是鍵盤掃描子程序、計量子程序、讀日歷時鐘子程序及顯示子程序。在對各芯片在出租車計價器中所起的作用進行分析基礎(chǔ)上對總體設(shè)計方案進行了分析。關(guān)鍵詞單片機,多功能,出租車計價器

Abstract

Inthispaper,ataximeterbasedonaprocessorAT89C51isreported.Thistaximeterhavemanyfunctionssuchassingle,backandforth,wait,dayandnightcost.Andithasdisplayfunction,typeinvoicefunction,stepforavoidingpracticefraud.Inthispaper,afulldescriptionofhardwaredisposal,characterize,planofsoftwareisdescribedindetail.Inthispaper,twoprogramsareenumerated,hardwareincludemetricmodule,displaymodule,printmodule,avoidingpracticefraudmodule;planofsoftwareadoptassembler,everyproceduresolidifysinEEPROMinprocessorAT89C51.itincludesmainprocedureandseveralfilialprocedures,thefunctionofmainprocedureistakingchargeofmanagingandtransferringfilialproceduresthatincludeskeyboardscan,metricpeocedure,calendarclockprocedureanddisplayprocedure.Basedonanalyzingfunctionofeveryprocessorintaximetertotalplanisanalysed.KeywordsAT89C51,multifunctional,Taximeter1概述1.1出租車計價器概述汽車計價器是乘客和司機雙方的交易準則,它是出租車行業(yè)發(fā)展的重要標記,是出租車中最重要的工具。它關(guān)系著交易雙方的利益。具有良好性能的計價器無論是對廣袤出租車司機摯友還是乘客來說都是很必要的。因此,汽車計價器的探討也是特殊有一個應(yīng)用價值的。我國在70年頭起先出現(xiàn)出租車,但那時的計費系統(tǒng)大都是國外進口不但不夠精確,價格還特殊昂貴。隨著改革開放日益深化,出租車行業(yè)的發(fā)展勢頭已特殊突出,國內(nèi)各機械廠家紛紛推出國產(chǎn)計價器。出租車計價器的功能從剛起先的只顯示路程(須要司機自己定價,計算后四舍五入),到能夠自主計費,以及現(xiàn)在的能夠打一發(fā)票和語音提示、按時間自主變動單價等功能。隨著城市旅游業(yè)的發(fā)展,出租車行業(yè)已成為城市的窗口,象征著一個城市的文明程度。本次設(shè)計的目的在于現(xiàn)在各大中城市出租車行業(yè)都已普及自動計價器,所以計價器技術(shù)的發(fā)展已成定局。而部分小城市尚未普及,但隨著城市建設(shè)日益加快,象征著城市面貌的出租車行業(yè)也將加速發(fā)展,計價器的普及也是毫無疑問的,所以將來汽車計價器的市場還是特殊有潛力的。1.2單片機的概述計算機系統(tǒng)已明顯地朝巨型化、單片化、網(wǎng)絡(luò)化三個方向發(fā)展。巨型化發(fā)展的目的在于不斷提高計算機的運算速度和處理實力,以解決困難系統(tǒng)計算和高速數(shù)據(jù)處理,比如系統(tǒng)仿真和模擬、實時運算和處理。單片化是把計算機系統(tǒng)盡可能集成在一塊半導體芯片上,其目的在于計算機微型化和提高系統(tǒng)的牢靠性,這種單片計算簡稱單片機。單片機的內(nèi)部硬件結(jié)構(gòu)和指令系統(tǒng)主要是針對自動限制應(yīng)用而設(shè)計的所以單片機又稱微限制器MCU(MicroControllerUnit)。用它可以很簡潔地將計算機嵌入到各種儀器和現(xiàn)場限制設(shè)備中,因此單片機又叫做嵌入式微限制器(EmbeddedMCU)。單片機自20世紀70年頭問世以來,以其顯明的特點得到迅猛發(fā)展,已廣泛應(yīng)用于家用電器、智能玩具、智能儀器儀表、工業(yè)限制、航空航天等領(lǐng)域,經(jīng)過30多年的發(fā)展,性能不斷提高,品種不斷豐富,已經(jīng)形成自動限制的一支中堅力氣。據(jù)統(tǒng)計,我國的單片機年容量已達1~3億片,且每年以大約16%的速度增長,但相對于國際市場我國的占有率還不到1%。這說明單片機應(yīng)用在我國有著廣袤的前景。對于從事自動限制的技術(shù)人員來講,駕馭單片機原理及其應(yīng)用已經(jīng)成為必不行少的學習任務(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計算:用來實現(xiàn)簡潔的算法。那么單片機是不是解決上述應(yīng)用的唯一選擇呢?淡然不是!目前,在自動限制中,一般有三種選擇,分別是嵌入式微機、DSP和單片機。單片機最明顯的優(yōu)點是價格便宜,從幾元人民幣到幾十元人民幣。這是因為這類芯片的生產(chǎn)量很大,技術(shù)也很成熟。其次,單片機的體積也遠小于其他兩種方案。單片機本身一般用40引腳封裝,當然功能多一些的單片機也有引腳比較多的,如68引腳,功能少的只有10多個或20多個引腳,有的甚至只有8只引腳。當然,單片機無論在速度還是容量方面都小于其他兩種方案,但是在實際工作中并不是任何須要計算機的場合都要求計算機有很高的性能。例如,限制電冰箱的限制器就不須要運用嵌入式系統(tǒng),用一片51就可以輕松實現(xiàn)。所以應(yīng)用的關(guān)鍵是看能否夠用,是否有很好的性能價格比。51系列的單片機已經(jīng)面世十多年,照舊沒有被淘汰,還在不斷發(fā)展中,這就說明是他有廣袤的應(yīng)用前景。2總體設(shè)計方案的論證和比較2.1總體設(shè)計方案的論證和比較方案一:接受數(shù)字電路限制。其原理方框圖如圖2.1所示。接受傳感器件,輸出脈沖信號,經(jīng)過放大整形作為移位寄存器的脈沖,實現(xiàn)計價,但是考慮到這種電路過于簡潔,性能不夠穩(wěn)定,而且不能調(diào)整單價,也不能依據(jù)天氣調(diào)整計費標準,電路不夠好用。其原理方框圖如圖2.1所示。圖2.1數(shù)字電路方案方案二:接受單片機限制。利用單片機豐富的IO端口,及其限制的靈敏性,實現(xiàn)基本的里程計價功能和價格調(diào)整、時鐘顯示功能。其原理方框圖如圖2.2所示。圖2.2總體設(shè)計思路框圖接受模擬電路和數(shù)字電路設(shè)計的計價器整體電路的規(guī)模較大,用到的器件多,造成故障率高,難調(diào)試,對于模式的切換須要用到機械開關(guān),機械開關(guān)時間久了會造成接觸不良,功能不易實現(xiàn)。通過比較以上兩種方案,單片機有較大的活動空間,利用單片機豐富的IO端口,及其限制的靈敏性,不但能實現(xiàn)基本的里程計價功能和價格調(diào)整、時鐘顯示功能,而且能在很大的程度上擴展功能,還可以便利的對系統(tǒng)進行升級。為此我們接受了單片機進行設(shè)計,相對來說功能強大,用較少的硬件和適當?shù)能浖嗷f(xié)作可以很簡潔的實現(xiàn)設(shè)計要求。2.2里程計算設(shè)計方案論證和比較方案一:接受霍爾線性器件,將轉(zhuǎn)速轉(zhuǎn)變?yōu)殡妷盒盘柟?yīng)應(yīng)單片機,從而達到計算里程的目的。方案二:接受霍爾開關(guān)器件中的霍爾傳感器A44E,按汽車車輪轉(zhuǎn)速的凹凸,每轉(zhuǎn)發(fā)出相應(yīng)數(shù)目的脈沖信號。通過比較以上兩種設(shè)計方案,方案一雖然運行牢靠,但體積大,精度低,且由于測量值是模擬量,必需經(jīng)過A/D轉(zhuǎn)換后讀入計算機,針對于出租車計價器而言較為煩瑣,不適用。因此我們接受方案二。2.3設(shè)計總框圖本次設(shè)計我們利用單片機AT89S51芯片作為設(shè)計的核心,利用霍爾傳感器測距,實現(xiàn)對出租車計價統(tǒng)計,接受AT24C02實現(xiàn)在系統(tǒng)掉電的時候保存單價和系統(tǒng)時間等信息,顯示接受6位LED數(shù)碼管,分屏顯示單價、路程、總金額以剛好間??傮w設(shè)計框圖如圖2.3所示。圖2.3總體設(shè)計框圖3硬件設(shè)計3.1硬件設(shè)計概述AT89S51是一款特殊適合單片機初學者學習的機型,它完全兼容傳統(tǒng)的8051,8031的指令系統(tǒng)和引腳,而且是當今較為流行的,綜合考慮,本次設(shè)計的核心接受AT89S51型單片機。在里程測速方面,霍爾元件體積小,重量輕,壽命長,安裝便利,功耗小,因此我們接受霍爾傳感器A44E;在顯示方面,因為接受LCD液晶段碼顯示,在距離屏幕1米之外就無法看清數(shù)據(jù),所以本次設(shè)計接受6位LED發(fā)光二級管;在其他方面,我們運用到了AT24C02掉電存儲單元以及四個限制按鍵。其總體設(shè)計電路圖如3.1所示圖3.1設(shè)計總體電路圖3.2AT89S51介紹AT89S51是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS8位單片機,片內(nèi)含4kBytesISP(In-systemprogrammable)的可反復擦寫1000次的Flash只讀程序存儲器,器件接受ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中心處理器和ISPFlash存儲單元,功能強大的AT89S51可為許多嵌入式限制應(yīng)用系統(tǒng)供應(yīng)高性價比的解決方案。

3.2.1AT89S51的引腳功能說明AT89S51有40個引腳,和MCS—51系列單片機引腳完全兼容。如圖3.2所示。其各自引腳功能如下:Vcc:電源電壓。GND:地。P0口:P0口是一組8位漏極開路型雙向I/O接口,也即地址/數(shù)據(jù)總線復用口。當訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部上拉電阻。在FLASH編程時,P0口接受指令字節(jié),而在程序校驗時,輸出指令字節(jié)。P1口:P1口是一個帶內(nèi)部上拉電阻的8位雙向I/O接口,P1的輸出緩沖級可驅(qū)動4個TTL邏輯門電路。FLASH編程和程序校驗時,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:復位輸入。ALE/:當訪問外部數(shù)據(jù)時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。對FLASH存儲器編程時,該引腳還用于輸入編程脈沖()。EA/VPP:外部訪問允許。:程序儲存允許。輸出是外部程序存儲器的度選通信號。XTAL2:振蕩器反相放大器的輸出端。XTAL1:振蕩器反相放大及內(nèi)部是鐘發(fā)生器的輸入端。圖3.2AT89S51的引腳結(jié)構(gòu)3.3里程計算設(shè)計本次設(shè)計里程計算接受霍爾傳感器A44E,時下已的到了廣泛的應(yīng)用。3.3.1霍爾傳感器簡介霍爾傳感器是利用霍爾效應(yīng)實現(xiàn)磁電轉(zhuǎn)換的一種傳感器,它具有靈敏度高,線性度好,穩(wěn)定性高、體積小和耐高溫等特點,在機車限制系統(tǒng)中占有特殊重要的地位。對測速裝置的要求是辨別實力強、高精度和盡可能短的檢測時間?;魻柶骷哂性S多優(yōu)點,它們的結(jié)構(gòu)堅實,體積小,重量輕,壽命長,安裝便利,功耗小,頻率高(可達1MHZ),耐振動,不怕灰塵、油污、水汽及鹽霧等的污染或腐蝕。依據(jù)霍爾器件的功能可將它們分為:霍爾線性器件和霍爾開關(guān)器件。前者輸出模擬量,后者輸出數(shù)字量。霍爾線性器件的精度高、線性度好;霍爾開關(guān)器件無觸點、無磨損、輸出波形清晰、無抖動、無回跳、位置重復精度高(可達μm級)。取用了各種補償和愛惜措施的霍爾器件的工作溫度范圍寬,可達-55℃~150℃。3.3.3里程計算、計價單元的設(shè)計里程計算是通過安裝在車輪上的霍爾傳感器A44E檢測到的信號,送到單片機,經(jīng)處理計算,送給顯示單元的。其原理如圖3.3所示。圖3.3傳感器測距示意圖由于A44E屬于開關(guān)型的霍爾器件,其工作電壓范圍比較寬(4.5~18V),其輸出的信號符合TTL電平標準,可以干脆接到單片機的IO端口上,而且其最高檢測頻率可達到1MHZ。集成開關(guān)型霍爾傳感器原理如圖3.4所示。圖3.4集成開關(guān)型霍耳傳感器原理圖A44E集成霍耳開關(guān)由穩(wěn)壓器A、霍耳電勢發(fā)生器(即硅霍耳片)B、差分放大器C、施密特觸發(fā)器D和OC門輸出E五個基本部分組成。在輸入端輸入電壓CCV,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍耳電勢發(fā)生器的兩端,依據(jù)霍耳效應(yīng)原理,當霍耳片處在磁場中時,在垂直于磁場的方向通以電流,則和這二者相垂直的方向上將會產(chǎn)生霍耳電勢差HV輸出,該HV信號經(jīng)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到OC門輸出。當施加的磁場達到工作點.(即OPB)時,觸發(fā)器輸出高電壓(相對于地電位)使三極管導通,此時OC門輸出端輸出低電壓,通常稱這種狀態(tài)為“開”。當施加的磁場達到釋放點(即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ù),當計數(shù)達到1000次時,也就是1公里,單片機就限制將金額自動的加增加,其計算公式:當前單價×公里數(shù)=金額。3.4顯示原理由于設(shè)計要求有單價(2位)、路程(2位)、總金額(3位)顯示輸出,加上我們另外擴展了時鐘顯示(包含時分秒的顯示),接受LCD液晶段碼顯示,在距離屏幕1米之外就無法看清數(shù)據(jù),不能滿意要求,而且在白天其對比度也不能夠滿意要求,因此我們接受6位LED數(shù)碼管顯示方式。3.4.1LED顯示工作原理LED(LightEmitlingDiode)是發(fā)光二極管的縮寫。LED顯示器是由發(fā)光二極管顯示字段的單片機輸出設(shè)備。單片機應(yīng)用系常接受7段LED數(shù)碼管作為顯示器,這種顯示器具有耗電低、配置靈敏、線路簡潔、安裝便利、耐振動、價格低廉且壽命長等優(yōu)點。因此應(yīng)用廣泛。LED數(shù)碼管顯示器可以文衛(wèi)共陰極和共陽極兩種結(jié)構(gòu)。共陰極結(jié)構(gòu):假如全部的發(fā)光二極管的陰極接在一起,稱為共陰極結(jié)構(gòu),如圖3.6所示。共陽極結(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)視和限制但是占用接口線多,硬件電路困難,成本高。而所謂的動態(tài)顯示就是利用單片機依次輸出每一位數(shù)碼管的段選碼和對應(yīng)于該位數(shù)碼管的位選限制信號,一位一位輪番點亮各段數(shù)碼管。本設(shè)計接受共陽極動態(tài)顯示方式。3.4.2數(shù)碼管的分屏顯示數(shù)碼管的分屏顯示,如圖所示:圖3.8時鐘顯示(圖中顯示為12點00分46秒)圖3.9總金額和單價顯示(圖中顯示為總金額55.2元,每公里4.6元)圖3.10路程和單價顯示(圖中顯示為總路程12公里,當前單價4.6元) 圖3.11單價調(diào)整顯示(圖中顯示為右起白天單價4.6元/晚上7.8/中途等待1.2元)數(shù)據(jù)的分屏的顯示是通過按鍵S1來實現(xiàn)切換的,如圖3.12所示。圖3.12S1切換顯示屏在出租車不走的時候,按下S1,可以實現(xiàn)數(shù)據(jù)的分屏顯示,車在行走的時候只有總金額和單價顯示屏在顯示,當?shù)竭_目的地的時候,客戶要求查看總的里程的時候,就可以按下S1切換到里程和單價顯示屏,供客戶查詢。3.4.374HC164顯示驅(qū)動74HC164是8位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。數(shù)據(jù)通過兩個輸入端(DSA或DSB)之一串行輸入,任一輸入端可以用作高電平使能端,限制另一輸入端的數(shù)據(jù)輸入。從單片機串口輸出的信號先送到左邊的移位寄存器(74HC164),由于移位脈沖的作用,使數(shù)據(jù)向右移,達到顯示的目的。移位寄存器74HC164還兼作數(shù)碼管的驅(qū)動,插頭1(header1)接電源,插頭2(header2)接數(shù)據(jù)和脈沖輸出端。電路中的三個整流管D1—D3的作用是降低數(shù)碼管的工作電壓,增加其運用壽命。顯示器原理圖如圖3.13所示:3.13顯示器原理圖3.5AT24C02掉電存儲單元的設(shè)計AT24C02芯片引腳配置如圖3.14所示。AT24C02芯片引腳配置說明如表3.1所示。A2—A0地址引腳SDA、SCLI2C總線接口WP寫愛惜引腳,WP接VSS時,禁止寫入高位地址,WP接VDD時,允許寫入任何地址GND接地端VCC電源端表3.1AT24C02芯片引腳說明掉電存儲單元的作用是在電源斷開的時候,存儲當前設(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ù)線和地址線是復用的,接受串口的方式傳送數(shù)據(jù),所以只用兩根線SCL(移位脈沖)和SDA(數(shù)據(jù)/地址)和單片機傳送數(shù)據(jù)。每當設(shè)定一次單價,系統(tǒng)就自動調(diào)用存儲程序,將單價信息保存在芯片內(nèi)。當系統(tǒng)重新上電的時候,自動調(diào)用讀存儲器程序,將存儲器內(nèi)的單價等信息,讀到緩存單元中,供主程序運用。3.6按鍵單元的設(shè)計在單片機應(yīng)用系統(tǒng)中,常用鍵盤作為輸入設(shè)備,通過它將數(shù)據(jù)、內(nèi)存地址、叮囑及指令等輸入到系統(tǒng)中,來實現(xiàn)簡潔的人機通信。按鍵開關(guān)的去除抖動功能目前, AT89S51單片機應(yīng)用系統(tǒng)上的按鍵常接受機械觸點式按鍵,它在斷開、閉合時輸入電壓波形如圖3.16所示.可以看出機械觸點在閉合及斷開瞬間均有抖動過程,時間長短和開關(guān)的機械特性有關(guān),一般為5~10ms。由于抖動,會造成被查詢的開關(guān)狀態(tài)無法精確讀出。例如,一次按鍵產(chǎn)生的正確開關(guān)狀態(tài),由于鍵的抖動,CPU多次采集原委電平信號,會被誤認為按鍵被多次按下,就會多次進行鍵輸入操作,這是不允許的。為了保證CPU對鍵的一次閉合僅在按鍵穩(wěn)定時作一次鍵輸入處理,必需消退產(chǎn)生的前沿(后沿)抖動影響。通常消退抖動影響的方法有硬件、軟件兩種。當按鍵較少時,可接受硬件方法消退抖動。如圖3.16所示圖3.16按鍵過程獨立式鍵盤的接口電路獨立式鍵盤的接口電路:在單片機應(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接口線有確定的高電平。當I/O接口內(nèi)部有上拉電阻時,外電路可以不配置上拉電阻。圖3.17獨立式鍵盤電路3.6.3按鍵單元的設(shè)計電路共接受了四個按鍵,S1、S2、S3、S4,其功能分別是:S1分屏顯示切換按鍵,S2功能設(shè)定按鍵,S3.+./白天晚上切換按鍵,S4.-./中途等待開關(guān)。其電路連接如圖3.18所示。圖3.18按鍵連接圖3.6.4按鍵的功能(1)S1按鍵的功能在出租車不走的時候,按下S1,可以實現(xiàn)數(shù)據(jù)的分屏顯示,車在行走的時候只有總金額和單價顯示屏在顯示,當?shù)竭_目的地的時候,客戶要求查看總的里程的時候,就可以按下S1切換到里程和單價顯示屏,供客戶查詢。(2)S2按鍵的功能在按下S1按鍵之后,若接著按下S2鍵則進行單價調(diào)整(默認為調(diào)整白天單價),當接著按下S1時,則進行晚上單價調(diào),再次按下S1可進行中途等待單價調(diào)整。當單價調(diào)整結(jié)束后,可以通過過按下S2按鍵進行時間調(diào)整,默認為調(diào)整時,接著按下S1可進行調(diào)整分,分調(diào)整后再接下S1可進行秒調(diào)整。當時調(diào)整完成后,若接著按下S2則又可進行單價調(diào)整。(3)S3按鍵的功能在顯示金額及單價時,若按下S3鍵則顯示路程和單價,再次按下S3則可返回顯示金額及單價。(4)S4按鍵的功能在按下S1按鍵之后,若接著按下S4按鍵,則進行設(shè)定默認晚上單價,并啟動計價器,若沒有按下S4則可設(shè)定默認單價(白天),并啟動計價器。當設(shè)定默認晚上單價結(jié)束后,再次接下S4按鍵則可設(shè)定默認中途等待單價,并啟動計價器。當設(shè)定默認中途等待單價后,若還按一次S4,則返回系統(tǒng)時間的顯示。

4系統(tǒng)的軟件設(shè)計4.1模塊介紹本系統(tǒng)的軟件設(shè)計主要可分為主程序模塊、定時計數(shù)中斷程序、里程計數(shù)中斷服務(wù)程序、中途等待中斷服務(wù)程序、顯示子程序服務(wù)程序、鍵盤服務(wù)程序六大模塊。下面對各部分模塊作介紹。4.2主程序模塊在主程序模塊中,須要完成對各接口芯片的初始化、出租車起價和單價的初始化、中斷向量的設(shè)計以及開中斷、循環(huán)等待等工作。另外,在主程序模塊中還須要設(shè)置啟動/清除標記寄存器、里程寄存器和價格寄存器,并對它們進行初始化。然后,主程序?qū)⒁罁?jù)各標記寄存器的內(nèi)容,分別完成啟動、清除、計程和計價等不同的操作。當按下S1時,就啟動計價,將依據(jù)里程寄存器中的內(nèi)容計算和推斷出行駛里程是否已超過起價公里數(shù)。若已超過,則依據(jù)里程值、每公里的單價數(shù)和起價數(shù)來計算出當前的累計價格,并將結(jié)果存于價格寄存器中,然后將時間和當前累計價格送顯示電路顯示出來。當?shù)竭_目的地的時候,由于霍爾開關(guān)沒有送來脈沖信號,就停止計價,顯示當前所應(yīng)當付的金額和對應(yīng)的單價,到下次啟動計價時,系統(tǒng)自動對顯示清零,并重新進行初始化過程。主程序流程圖如圖4.1所示。圖4.1主程序流程圖主程序:ORG0000HAJMPMAINORG0003HAJMPTOORG000BHAJMPTOTIMEORG001BHAJMPTOSTARTORG0030HMAIN:MOVSP,#70HMOVTMOD,#11HMOVTH0,#3CHMOVTL0,#0B0HMOVTH1,#3CHMOVTL1,#0B0HMOV22H,#0AHSETBEASETBTR0SETBEX0SETBIT0SETBET0SETBET1MOVR7,#34MOVR0,#69H……4.3定時中斷服務(wù)程序在定時中斷服務(wù)程序中,每100ms產(chǎn)生一次中斷,當產(chǎn)生10次中斷的時候,也就到了一秒,送數(shù)據(jù)到相應(yīng)的顯示緩沖單元,并調(diào)用顯示子程序?qū)崟r顯示。定時中斷服務(wù)程序流程圖如圖4.2所示。圖4.2定時中斷服務(wù)程序流程圖程序:PUSHPSWPUSHACCMOVTH0,#3CHMOVTL0,#0B0HINCMS100MOVA,MS100CJNEA,#10,RETURNMOVMS100,#0MOVA,SECADDA,#1DAAMOVSEC,ACJNEA,#60H,RETURNMOVSEC,#0……4.4里程計數(shù)中斷服務(wù)程序每當霍爾傳感器輸出一個低電平信號就使單片機中斷一次,當里程計數(shù)器對里程脈沖計滿1000次時,就有程序?qū)斍翱傤~送入里程計數(shù)中斷服務(wù)程序中。在該程序中,須要完成當前行駛里程數(shù)和總額的累加操作,并將結(jié)果存入里程和總額寄存器中。4.5中途等待中斷服務(wù)程序當在計數(shù)狀態(tài)下霍爾開關(guān)沒有輸出信號,片內(nèi)的T1定時器便被啟動,每當計時到達10分鐘,就對當前金額加上中途等待的單價,以后每特殊鐘都自動加上中途等待的單價。當中途等待結(jié)束的時候,也就自動切換到正常的計價。4.6顯示子程序服務(wù)程序由于是分屏顯示數(shù)據(jù),所以就要用到4個顯示子程序,分別是:時分秒顯示子程序(HMS_DIS)、金額單價顯示子程序(CP_DIS)、路程單價顯示子程序(DP_DIS)、單價調(diào)整子程序(PA_DIS)。程序:HMS_DIS:PUSHACCPUSHPSWSETBRS1MOVR0,#SEC;時分秒的拆分(三個字節(jié))MOVR1,#LEDSLMOVR6,#03H……CP_DIS:PUSHACCPUSHPSWSETBRS1MOVR0,#COUNTH;MOVR1,#LEDCOUNT2MOVA,@R0MOVB,AANLA,#0FHMOV@R1,A……DP_DIS:PUSHACCPUSHPSWSETBRS1MOVR0,#PRICE;單價的拆分(一個字節(jié))MOVR1,#LEDDANJIALMOVA,@R0MOVB,A……PA_DIS1:PUSHACCPUSHPSWMOVA,LEDDAY_PL;白天單價MOVDPTR,#TABMOVCA,@A+DPTRMOVSBUF,AJNBTI,$CLRTIMOVA,LEDDAY_PHMOVDPTR,#TABMOVCA,@A+DPTRCPLACC.4MOVSBUF,AJNBTI,$CLRTIMOVA,LEDNIG_PL;晚上單價MOVDPTR,#TABMOVCA,@A+DPTRMOVSBUF,AJNBTI,$CLRTIMOVA,LEDNIG_PHMOVDPTR,#TABMOVCA,@A+DPTRCPLACC.4MOVSBUF,AJNBTI,$CLRTIMOVA,LEDW_PLMOVDPTR,#TABMOVCA,@A+DPTRMOVSBUF,AJNBTI,$CLRTIMOVA,LEDW_PHMOVDPTR,#TABMOVCA,@A+DPTRCPLACC.4MOVSBUF,AJNBTI,$CLRTICLRRS1POPPSWPOPACCRETTAB:DB11H,0D7H,32H,92H,0D4H,98H,18H,0D1H,10H,90H,0FFH4.7鍵盤服務(wù)程序鍵盤接受查詢的方式,放在主程序中,當沒有按鍵按下的時候,單片機循環(huán)主程序,一旦右按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。5系統(tǒng)調(diào)試和測試結(jié)果分析依據(jù)系統(tǒng)設(shè)計方案,本系統(tǒng)的調(diào)試共分為三大部分:硬件調(diào)試,軟件調(diào)試和軟硬件聯(lián)調(diào)。測試包括里程計價測試、掉電存儲測試。5.1運用的儀器儀表數(shù)字萬用表DT9203單片機仿真器WAVE6000燒寫器GF2100雙蹤穩(wěn)壓穩(wěn)流電源DH1718E-5數(shù)字示波器TDS1002在軟件調(diào)試過程中,因為AT89S51和MCS—51系列相兼容,所以在調(diào)試WAVE6000調(diào)試過程中,我們接受8751來進行調(diào)試。如圖5.1所示:圖5.1WAVE6000設(shè)置圖5.2系統(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里程計價測試由于試驗條件有限,我們接受電動機附帶霍爾元件作為車輪,電機為3V的直流電機,每分的轉(zhuǎn)速可以達到幾千轉(zhuǎn),我們設(shè)定電機每轉(zhuǎn)一圈為車輪轉(zhuǎn)動1米,當電機轉(zhuǎn)動達到1000圈時,就表示已經(jīng)到達了一公里,系統(tǒng)自動將當前的單價加到總金額上。表5.1的測試條件是:設(shè)定白天的單價是2.5元,起步價為5元(包含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.0258.023表5.2晚上單價測試表5.3測試條件是:設(shè)定在

溫馨提示

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

評論

0/150

提交評論