畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的出租車計(jì)費(fèi)器設(shè)計(jì)_第1頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的出租車計(jì)費(fèi)器設(shè)計(jì)_第2頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的出租車計(jì)費(fèi)器設(shè)計(jì)_第3頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的出租車計(jì)費(fèi)器設(shè)計(jì)_第4頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的出租車計(jì)費(fèi)器設(shè)計(jì)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于單片機(jī)的出租車計(jì)費(fèi)器設(shè)計(jì)福建師范大學(xué)協(xié)和學(xué)院 信息技術(shù)系 電子信息工程124132007040 指導(dǎo)老師 【摘要】根據(jù)出租車行業(yè)的需求,傳統(tǒng)的出租車計(jì)費(fèi)器發(fā)展使用了十幾年,在穩(wěn)定性、成本、以及使用習(xí)慣上都具有一些優(yōu)勢(shì)。而使用單片機(jī)實(shí)現(xiàn)該系統(tǒng),是深化單片機(jī)應(yīng)用的良好途徑。本系統(tǒng)由單片機(jī)at89s52和一些外圍器件組成,具有操作簡(jiǎn)單,顯示明了,功能強(qiáng)大的特點(diǎn)。使用1602液晶模組作為顯示器,可以顯示數(shù)字、字母、中文、圖片等,使系統(tǒng)信息一目了然。本方案充分發(fā)揮人性化的特點(diǎn)。本系統(tǒng)涉及到的理論知識(shí)有: pic單片機(jī)知識(shí)、lcd液晶顯示器的工作原理和使用方法,出租車計(jì)費(fèi)系統(tǒng)的原理和實(shí)現(xiàn)方法、 pro

2、teus仿真原理及實(shí)際應(yīng)用?!娟P(guān)鍵詞】1062液晶模組;lcd液晶顯示器;at89s52;proteus目 錄1.緒論31.1課題背景和意義31.2單片機(jī)發(fā)展概況32. 設(shè)計(jì)方案42.1主控芯片的設(shè)計(jì)43.硬件模塊簡(jiǎn)介43.1 at89s52單片機(jī)簡(jiǎn)介43.2 液晶簡(jiǎn)介53.3 光遮斷器簡(jiǎn)介83.3.1 光遮斷器83.3.2 光反射器93.3.3光反射器的構(gòu)造與特性104.硬件電路設(shè)計(jì)124.1總體方案與框圖124.2單片機(jī)最小系統(tǒng)124.2.1電源穩(wěn)壓電路134.2.2復(fù)位電路144.2.3振蕩時(shí)鐘電路154.3 液晶電路164.4光遮斷器電路164.5電源電路174.6按鍵電路174.7指

3、示燈電路185.軟件程序設(shè)計(jì)185.1系統(tǒng)的模式功能設(shè)計(jì)185.2系統(tǒng)的主程序設(shè)計(jì)195.2.1主程序流程圖195.2.3主程序仿真圖215.3系統(tǒng)的各個(gè)子程序設(shè)計(jì)216.制作系統(tǒng)實(shí)物并測(cè)試226.1制作硬件實(shí)物226.2燒寫軟件236.3測(cè)試功能237.總結(jié)23參考文獻(xiàn)24附錄一:各個(gè)子程序代碼26附錄二:電路pcb圖301.緒論1.1課題背景和意義出租車計(jì)費(fèi)器是乘客與司機(jī)雙方的交易準(zhǔn)則,它是出租車行業(yè)發(fā)展的重要標(biāo)志,是出租車中最重要的工具。它關(guān)系著交易雙方的利益。具有良好性能的計(jì)價(jià)器無論是對(duì)廣大出租車司機(jī)朋友還是乘客來說都是很必要的。因此,汽車計(jì)價(jià)器的研究也是十分有一個(gè)應(yīng)用價(jià)值的。對(duì)于模式

4、的切換需要用到機(jī)械開關(guān),機(jī)械開關(guān)時(shí)間久了會(huì)造成接觸不良,功能不易實(shí)現(xiàn)。為此我們采用了單片機(jī)進(jìn)行設(shè)計(jì),相對(duì)來說功能強(qiáng)大,用較少的硬件和適當(dāng)?shù)能浖嗷ヅ浜峡裳院苋菀椎膶?shí)現(xiàn)設(shè)計(jì)要求,且靈活性強(qiáng),可以通過軟件編程來完成跟多的附加功能。針對(duì)模式的切換,通過軟件編程就可以輕而易舉的實(shí)現(xiàn)。避免了機(jī)械開關(guān)帶來的不穩(wěn)定因素。隨著生活水平的提高,人們已不再滿足于衣食住的享受,出行的舒適已受到越來越多的關(guān)注。于是,出租車行業(yè)以低價(jià)高質(zhì)的服務(wù)給人們帶來了出行的享受。1.2單片機(jī)發(fā)展概況單片微機(jī)(single-chip microcomputer)簡(jiǎn)稱單片機(jī),有的也叫做微處理( micro-processor簡(jiǎn)寫p)或

5、微控制器(micro-controller 簡(jiǎn)寫c),通常統(tǒng)稱微型處理部件(micro controller unit 簡(jiǎn)寫mcu)。一般的說,單片機(jī)就是在一 塊硅片上集成cpu、ram、rom、定時(shí)器/計(jì)數(shù)器、和多種i/o的完整的數(shù)字處理系統(tǒng) 。單片機(jī)的結(jié)構(gòu)與組成目前,單片機(jī)的系統(tǒng)結(jié)構(gòu)有兩種類型:一種是將程序和數(shù)據(jù)存儲(chǔ)器分開使用,即哈佛(harvard)結(jié)構(gòu),當(dāng)前的單片機(jī)大都是這種結(jié)構(gòu)。另一種是采用和pc機(jī)的馮.諾依曼(von neumann)類似的原理,對(duì)程序和數(shù)據(jù)存儲(chǔ)器不作邏輯上的區(qū)分。eprom型存儲(chǔ)器編程后其內(nèi)容可用紫外線擦除,用戶可反復(fù)使用,所以特別適用于開發(fā)過程,但 eprom型

6、單片機(jī)價(jià)格很高。單片機(jī)編程語言介紹對(duì)于51系列單片機(jī),一個(gè)新變量名定義之后可在程序中作變量使用,非常易學(xué),根據(jù)解釋的行可以找到錯(cuò)誤而不是當(dāng)程序執(zhí)行完才能顯現(xiàn)出來。basic由于逐行解釋自然很慢,每一行必須在執(zhí)行時(shí)轉(zhuǎn)換成機(jī)器代碼,需要花費(fèi)許多時(shí)間,不能做到實(shí)時(shí)性。basic為簡(jiǎn)化使用變量,所以,所有變量都用浮點(diǎn)值。basic 是用于要求編程簡(jiǎn)單而且對(duì)編程效率和運(yùn)行速度要求不高的場(chǎng)合。pl/m是intel從8080微處理器開始為其系列產(chǎn)品開發(fā)的編程語言。它很像pascal,是一種結(jié)構(gòu)化語言,它使用關(guān)鍵字去定義的結(jié)構(gòu)。pl/m編譯器好像匯編器一樣可產(chǎn)生緊湊代碼,總的來說pl/m是高級(jí)匯編語言,可詳細(xì)

7、控制著代碼的生成。但對(duì)51系列,pl/m不支持復(fù)雜的算術(shù)運(yùn)算、浮點(diǎn)變量而無豐富的庫函數(shù)支持,學(xué)習(xí)pl/m無異于學(xué)習(xí)一種新語言。c語言是一種源于編寫unix操作系統(tǒng)的語言,它是一種結(jié)構(gòu)化語言,可產(chǎn)生壓縮代碼。c可以進(jìn)行許多機(jī)器級(jí)函數(shù)控制而不用匯編語言。與匯編相比,有如下優(yōu)點(diǎn):對(duì)單片機(jī)的指令系統(tǒng)不要求了解,僅要求對(duì)51的存儲(chǔ)器結(jié)構(gòu)有初步了解寄存器分配、不同存儲(chǔ)器的尋址及數(shù)據(jù)類型等細(xì)節(jié)可由編譯器管理程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù)。這種方式可使程序結(jié)構(gòu)化將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性編程及程序調(diào)試時(shí)間顯著縮短,從而提高效率提供的庫包含許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能

8、將已編好程序可容易的植入新程序,因?yàn)樗哂蟹奖愕哪K化編程技術(shù)。c語言作為一種非常方便的語言而得到廣泛的支持,c語言程序本身并不依賴于機(jī)器硬件系統(tǒng),基本上不做修改就可根據(jù)單片機(jī)不同較快地移植過來。微控制器的抗干擾軟件編程方法微控制器越來越多地用于各種電子應(yīng)用之中,例如自動(dòng)化、工業(yè)控制和用戶產(chǎn)品市場(chǎng)中。隨著金屬氧化物半導(dǎo)體的硅晶體管幾何尺寸的不斷下降,系統(tǒng)設(shè)計(jì)中的電磁兼容性(emc)問題,成為采用小尺寸器件進(jìn)行應(yīng)用設(shè)計(jì)時(shí)必須考慮的主要問題。2. 設(shè)計(jì)方案2.1主控芯片的設(shè)計(jì)本設(shè)計(jì)以單片機(jī)為主控芯片,采用at89s52單片機(jī)。at89s52是一個(gè)低功耗高性能的單片機(jī),具有8kb的閃存、128bra

9、m、32個(gè)i/o口、2個(gè)定時(shí)/計(jì)數(shù)器、六個(gè)中斷源、一個(gè)全雙工的串行口,可反復(fù)擦寫,支持isp(在系統(tǒng)編程),可以有效地縮短開發(fā)時(shí)間和降低開發(fā)成本??紤]到本次設(shè)計(jì)要控制的燈、數(shù)碼管會(huì)占用較多的i/o口,在今后系統(tǒng)發(fā)展上也多了很大的擴(kuò)展空間,所以本設(shè)計(jì)選用89s52作為主控芯片。3.硬件模塊簡(jiǎn)介3.1 at89s52單片機(jī)簡(jiǎn)介在本設(shè)計(jì)中,用到的是at89c51的升級(jí)版at89s52。at89s52是atmel公司生產(chǎn)的cmos八位高性能微控制器,硬件方面,是40腳dip封裝,其中有32個(gè)外部雙向i/o(輸入/輸出)端口,同時(shí)內(nèi)含2個(gè)16位可編程定時(shí)/計(jì)數(shù)器和1個(gè)全雙工串行通信口,允許六個(gè)中斷源進(jìn)行

10、兩級(jí)中斷,自帶片內(nèi)振蕩放大器和時(shí)鐘電路,又具有低功耗的閑置和掉電模式;軟件方面,兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng),不管是通過匯編語言還是c語言都可以對(duì)其進(jìn)行方便的編程。綜上可知,51系列單片機(jī)可謂功能強(qiáng)大,可適用于許多控制領(lǐng)域,為嵌入式控制系統(tǒng)提供了靈活高效且廉價(jià)的處理方案。而相比我們學(xué)習(xí)的最為基礎(chǔ)的at89c51,at89s52具有性能上的優(yōu)勢(shì)。c51只有4kb閃存的只讀存儲(chǔ)器,而s52有8kb,有更為充足的存儲(chǔ)空間可用于程序設(shè)計(jì)。尤為重要的是,s52系統(tǒng)內(nèi)核內(nèi)已經(jīng)固化了 isp 監(jiān)控程序,支持isp(在系統(tǒng)編程),這樣就可以有效地縮短開發(fā)時(shí)間并降低開發(fā)成本。圖3-1 at89s52單片機(jī)3.2

11、 液晶簡(jiǎn)介1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:vss為地電源。第2腳:vdd接5v正電源。第3腳:v0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10k的電位器調(diào)整對(duì)比度。第4腳:rs為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:rw為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)rs和rw共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)rs為低電平rw為高電平時(shí)可以讀忙信號(hào),當(dāng)rs為高電平rw為低電平時(shí)可以寫入數(shù)據(jù)。第6腳:e端為使能端,當(dāng)e端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第

12、714腳:d0d7為8位雙向數(shù)據(jù)線。第1516腳:空腳1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(cgrom)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如表1所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“a”的代碼是01000001b(41h),顯示時(shí)模塊把地址41h中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“a”。如圖3-2:圖3-2 cgrom和cgram中字符代碼與字符圖形對(duì)應(yīng)關(guān)系dm-162液晶顯示模塊可以和單片機(jī)at89c51直接接口,電路如圖3-2所示。圖3-3 dm-162液晶顯示模塊與單片機(jī)at89c51直接接

13、口1602液晶模塊內(nèi)部的控制器共有11條控制指令。它的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說明:1為高電平、0為低電平)指令1:清顯示,指令碼01h,光標(biāo)復(fù)位到地址00h位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00h。指令3:光標(biāo)和顯示模式設(shè)置 i/d:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 s:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令4:顯示開關(guān)控制。 d:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 c:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) b:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位 s/c:高

14、電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。指令6:功能設(shè)置命令 dl:高電平時(shí)為4位總線,低電平時(shí)為8位總線 n:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 f: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。指令7:字符發(fā)生器ram地址設(shè)置。指令8:ddram地址設(shè)置。指令9:讀忙信號(hào)和光標(biāo)地址 bf:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符

15、,圖3-3是dm-162的內(nèi)部顯示地址。如圖3-3:圖3-4 dm-162的內(nèi)部顯示地址比如第二行第一個(gè)字符的地址是40h,那么直接寫入40h將不能光標(biāo)定位在第二行第一個(gè)字符的位置,因?yàn)閷懭腼@示地址時(shí)要求最高位d7恒定為高電平1所以實(shí)際寫入的數(shù)據(jù)應(yīng)該是01000000b(40h)+10000000b(80h)=11000000b(c0h)。以下程序是在液晶模塊的第二行第一個(gè)字符的位置顯示字母“a”的程序:org 0000hrs equ p3.7 /確定具體硬件的連接方式。rw equ p3.6 /確定具體硬件的連接方式。e equ p3.5 /確定具體硬件的連接方式。mov p1,#00000

16、001b /清屏并光標(biāo)復(fù)位。acall enable /調(diào)用寫入命令子程序。mov p1,#00111000b /設(shè)置顯示模式:8位2行5x7點(diǎn)陣。acall enable /調(diào)用寫入命令子程序。mov p1,#00001111b /顯示器開、光標(biāo)開、光標(biāo)允許閃爍。acall enable /調(diào)用寫入命令子程序。mov p1,#00000110b /文字不動(dòng),光標(biāo)自動(dòng)右移。acall enable /調(diào)用寫入命令子程序。mov p1,#0c0h /寫入顯示起始地址(第二行第一個(gè)位置)。acall enable /調(diào)用寫入命令子程序。mov p1,01000001b /字母a的代碼。setb r

17、s ;rs=1clr rw ;rw=0 /準(zhǔn)備寫入數(shù)據(jù)。clr e ;e=0 /執(zhí)行顯示命令。acall delay /判斷液晶模塊是否忙?setb e ;e=1 /顯示完成,程序停車。ajmp $enable:clr rs /寫入控制命令的子程序。clr rwclr eacall delaysetb eretdelay:mov p1,#0ffh /判斷液晶顯示器是否忙的子程序。clr rssetb rwclr enopsetb ejb p1.7,delay /如果p1.7為高電平表示忙就循環(huán)等待。retend程序在開始時(shí)對(duì)液晶模塊功能進(jìn)行了初始化設(shè)置,約定了顯示格式。注意顯示字符時(shí)光標(biāo)是自動(dòng)

18、右移的,無需人工干預(yù),每次輸入指令都先調(diào)用判斷液晶模塊是否忙的子程序delay,然后輸入顯示位置的地址0c0h,最后輸入要顯示的字符a的代碼41h。3.3 光遮斷器簡(jiǎn)介3.3.1 光遮斷器光遮斷器又稱為穿透型光電感應(yīng)器,光斷續(xù)器,光電斷續(xù)器,光電遮斷器,也就是將發(fā)光組件與受光組件面對(duì)面排列并設(shè)置于同一封裝內(nèi),利用檢測(cè)物體通過時(shí)會(huì)遮光的原理便得以實(shí)現(xiàn)檢測(cè)功能。rohm將此種穿透型光電感應(yīng)器稱為遮斷器。發(fā)光組件采用高輸出功率及使用壽命長(zhǎng)的gaas紅外線發(fā)光二極管,而受光組件則主要采用單只光電三極管或殊電ic。圖3-4 光遮斷器結(jié)構(gòu)圖 此種遮斷器大致可以分為2種,一種是外殼插入型,另一種則是雙重模鑄

19、型。一般最常使用的是外殼插入型,此型產(chǎn)品的發(fā)光與受光組件系被裝入成型后的外殼中。雙重模鑄型則是為了因應(yīng)近年來裝置小型化趨勢(shì)而推出的機(jī)型。 (a) 穿透型(對(duì)射型) (b) 穿透型(對(duì)射型) (c)穿透型(對(duì)射型) (d) 反射型 (e) 貼片穿透型(對(duì)射型)圖3-5 光遮斷器種類3.3.2 光反射器反射式光遮斷器為光電開關(guān)的一種,屬于非接觸型的光電開關(guān),目前的許多機(jī)器上也有使用這類光電開關(guān),如光學(xué)掃描、光筆、光學(xué)編碼器等設(shè)備上,也大量被使用。圖3-6 反射型光遮斷器3.3.3光反射器的構(gòu)造與特性1.反射式光遮斷器分為發(fā)光組件和受光組件兩部分,發(fā)射與接收元件裝在同一方向,發(fā)光組件反射出物體的光,

20、被受組件接收,使極集電壓下降,而查出接近之物體,如圖3-6,3-7。2.必須考慮距離之特性、反射光之強(qiáng)弱。3.有焦點(diǎn)型的檢出位置特性。圖3-7 時(shí)序脈波 (timing pulse) 產(chǎn)生電路(a) tlp852的波形 (101v/divms/div,) (d) tlp801a的波(101v/divms/div,) led的輸入波形 led的輸入波形 光達(dá)林頓的集極波形 光敏晶體管的集極波形 2sa733的集極波形 2sa562的集極波形圖3-8 時(shí)序脈波 (timing pulse) 產(chǎn)生電路圖3-9 方向判斷電路圖3-9是一組光遮斷器的電路設(shè)計(jì)圖,圖中紅色虛線表光遮斷器,由一個(gè)發(fā)射器和兩個(gè)

21、光敏晶體管所構(gòu)成,其中r1為限流電阻,避免電源電流太大而把發(fā)光二極管燒掉,而q1、q2為npn晶體管用來做共射極放大器,放大輸出信號(hào),當(dāng)光柵阻斷a的光源時(shí),則a輸出端會(huì)產(chǎn)生一個(gè)由低電位到高電位的變化輸出,若阻斷b則b輸出端產(chǎn)生輸出,當(dāng)光柵轉(zhuǎn)動(dòng)時(shí)會(huì)分別遮住a、b二光遮斷器,產(chǎn)生二個(gè)相位不同的脈波,由脈波相位領(lǐng)先、落后的差異可以判斷出光柵轉(zhuǎn)動(dòng)的方向。為了提升發(fā)光及受光效率,光遮斷器上的發(fā)光與受光組件的模鑄樹脂采用了無填充物(filler)并具極高純度的環(huán)氧樹脂。與ic、晶體管等組件所使用的樹脂不同,此種樹脂在耐熱性、機(jī)械強(qiáng)度、耐溶劑性等方面的表現(xiàn)較不理想。因此在操作、安裝以及設(shè)計(jì)時(shí),要注意:紅外線

22、發(fā)光二極管的電流會(huì)依使用方法而異,因此必須根據(jù)不同的使用方法分別決定光電晶體管端的負(fù)載電阻。若選擇的負(fù)載電阻不適合,將會(huì)產(chǎn)生裝置無法動(dòng)作的問題。838電子重點(diǎn)在于放射強(qiáng)度上下限值之模擬。也就是暗電流(dark current)的最大值,以及臨限電壓(threshold voltage)以及放射強(qiáng)度之減半值。并列使用2個(gè)以上時(shí),如果將紅外線發(fā)光二極管端的阻抗設(shè)定為共享,則可能會(huì)因?yàn)関f差而造成二極管無法動(dòng)作。4.硬件電路設(shè)計(jì)4.1總體方案與框圖框圖如圖4-1:圖4-1總體方案與框圖4.2單片機(jī)最小系統(tǒng)首先要制作一個(gè)支持主控芯片正常工作的最小系統(tǒng),其各個(gè)模塊具體如圖4-2:圖4-2最小系統(tǒng)框圖:4

23、.2.1電源穩(wěn)壓電路在本設(shè)計(jì)中主要是制作一個(gè)電源模塊來將市電轉(zhuǎn)換為直流穩(wěn)壓電源,才可以將穩(wěn)定的電壓和合適的電流作為電源提供給單片機(jī)及其周圍電路系統(tǒng),使之能正常穩(wěn)定地進(jìn)行工作。要將市電轉(zhuǎn)換為穩(wěn)壓電源。如果使用分立式元件自己設(shè)計(jì)搭建模塊對(duì)市電進(jìn)行變壓、整流、濾波,不但成本高,制作出來的外形也不夠美觀,因此在本設(shè)計(jì)中,選擇直接購買變壓器來作為供電模塊。雖然購買來的變壓器可以直接給出穩(wěn)定的電壓,但是要提供給單片機(jī)工作的電源電壓為5v,如果加載的是5v以上的電源,系統(tǒng)將無法正常工作。為了讓系統(tǒng)有更大的擴(kuò)展,在5v以上的電源下都能正常工作,就需要一個(gè)簡(jiǎn)單的7805穩(wěn)壓電路。如圖,con2為電源插座。在本設(shè)

24、計(jì)中采用的是集成穩(wěn)壓ic7805,輸入端以470uf和104電容作為輸入濾波,輸出端以220uf和104電容作為輸出濾波,從而在vcc提供穩(wěn)定的直流5v電源。注意當(dāng)輸入vin或輸出電流附在較大時(shí),要給7805加上散熱片進(jìn)行散熱。如圖4-3:圖4-3電源穩(wěn)壓電路4.2.2復(fù)位電路本設(shè)計(jì)中系統(tǒng)的復(fù)位方式為人工復(fù)位,以手動(dòng)按鈕方式按下復(fù)位鍵后,單片機(jī)復(fù)位。51系列的單片機(jī)在其復(fù)位引腳rst出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果rst持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。因此采用如下圖的復(fù)位電路。當(dāng)復(fù)位開關(guān)srst閉合時(shí),rst引腳電平被拉高使得單片機(jī)復(fù)位。如果由于開關(guān)抖動(dòng),sr

25、st在閉合還沒有達(dá)到兩個(gè)機(jī)器周期時(shí)就被斷開,這時(shí)候電容crst和電阻rreset將提供一個(gè)rc充電延時(shí),單片機(jī)的復(fù)位端將維持高電平直到延時(shí)結(jié)束。復(fù)位后,單片機(jī)重置所有數(shù)據(jù)段,并從0000h開始執(zhí)行程序段。如圖4-4:圖4-4復(fù)位電路4.2.3振蕩時(shí)鐘電路51系列單片機(jī)的內(nèi)部已經(jīng)都配置了一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,只要將這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器接在一起,就可以構(gòu)成自激振蕩器,為單片機(jī)提供頻率穩(wěn)定的振蕩信號(hào)。如圖4-5,本設(shè)計(jì)中振蕩電路使用的是12mhz的無源晶振,外接兩個(gè)電容進(jìn)行匹配,使其能夠起振。在允許范圍內(nèi),這兩個(gè)電容的取值越低越好,其值偏大雖有利于振

26、蕩器的穩(wěn)定,但是會(huì)增加起振時(shí)間。本設(shè)計(jì)中選用30pf的電容。單片機(jī)的工作頻率是有范圍的,一般情況下都是選用12mhz的晶振,頻率過高的話會(huì)造成單片機(jī)無法穩(wěn)定運(yùn)行。如圖4-5:圖4-5振蕩時(shí)鐘電路4.3 液晶電路如圖4-6: rs為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。r/w為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)rs和r/w共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)rs為低電平rw為高電平時(shí)可以讀忙信號(hào),當(dāng)rs為高電平r/w為低電平時(shí)可以寫入數(shù)據(jù)。en端為使能端,當(dāng)e端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。d0d7為8位雙向數(shù)據(jù)線。圖4-6液晶電路4.

27、4光遮斷器電路光線射過去時(shí)為高電平,遮擋住為低電平,由此來計(jì)算所轉(zhuǎn)圈數(shù)。如圖4-7:圖4-7光遮斷器電路4.5電源電路開關(guān)按下, 整個(gè)系統(tǒng)開始供電, 斷開整個(gè)系統(tǒng)就斷電。如圖4-8:圖4-8電源電路4.6按鍵電路按鍵沒有按下為高電平, 按下為低電平。如圖4-9:圖4-9按鍵電路4.7指示燈電路當(dāng)空車的時(shí)候燈亮 ,有人時(shí)燈滅。如圖4-10:圖4-10指示燈電路5.軟件程序設(shè)計(jì)5.1系統(tǒng)的模式功能設(shè)計(jì)系統(tǒng)可設(shè)起步價(jià),每公里單價(jià),超額底價(jià)。起步價(jià)設(shè)定范圍在5元,六元,七元,八元之間,每公里單價(jià)在 1.2到2.0之間,超額底價(jià)在 20,30,40,50之間。由加減鍵控制,有復(fù)位鍵,光遮斷器啟動(dòng)鍵,液晶

28、啟動(dòng)鍵,計(jì)價(jià)啟動(dòng)鍵。5.2系統(tǒng)的主程序設(shè)計(jì)5.2.1主程序流程圖開始計(jì)數(shù)器初始化液晶初始化中斷檢查顯示結(jié)束圖5-1主程序流程圖主程序代碼:void main()lcd_init();init();mode=0;while(1)keyread();keyproc();control(); dis(); /lcdprintf(5,0,agcdg);5.2.2中斷流程圖圖5-2中斷流程圖中斷代碼:void keyproc() if (trg & key_start) if (trg & key_set) if(tr0=0)if(mode=1)if(mode=5) if (trg & key_add)

29、 switch(mode) if (trg & key_down)switch(mode)5.2.3主程序仿真圖圖5-3主程序仿真圖5.3系統(tǒng)的各個(gè)子程序設(shè)計(jì)5.3.1按鍵子程序void keyread() void keyproc() 5.3.2計(jì)數(shù)子程序void count() interrupt 1 using 05.3.3計(jì)費(fèi)子程序void control()5.3.4寫命令子程序void lcd_wcmd(unsigned char cmd)5.3.5寫數(shù)據(jù)子程序void lcd_wdat(unsigned char dat)5.3.6初始化子程序void lcd_init()5.3

30、.7寫字符串子程序void lcdprintf(unsigned char x,unsigned char y,char *string)6.制作系統(tǒng)實(shí)物并測(cè)試6.1制作硬件實(shí)物硬件制作首要選擇是用萬用電路板來焊接,還是制作pcb板。因?yàn)橛袟l件制作單層pcb板,所以本設(shè)計(jì)選擇制作pcb板來作為實(shí)物電路板。6.1.1繪制pcb本設(shè)計(jì)用的軟件是protel99se,具體繪制pcb步驟如下:1、繪制sch電路原理圖;2、查看元器件封裝,如果沒有電路板制作需要的封裝,則需要自己繪制;3、將封裝與原理圖上的器件相關(guān)聯(lián),生成pcb圖;4、在pcb圖上合理排布元器件,并布線;5、檢查布線,確保沒有問題后即可

31、打印出來。6.1.2熱轉(zhuǎn)印通過激光打印機(jī)將生成的圖打印到熱轉(zhuǎn)印紙上,然后貼到覆銅板上,放入熱轉(zhuǎn)印機(jī)進(jìn)行熱轉(zhuǎn)印。6.1.3腐蝕在確保電路布線已經(jīng)完整無誤地轉(zhuǎn)印到了覆銅板上后,就可以把板放入腐蝕劑進(jìn)行腐蝕了。6.1.4焊接把確認(rèn)腐蝕好了的板取出,洗凈并烘干后,就可以將元器件一個(gè)個(gè)焊接上去了。焊接完還要用萬用表好好檢查一遍,不要有虛焊、漏焊之類的錯(cuò)誤。6.2燒寫軟件燒寫軟件只要通過燒錄器就可以了,在此不多贅述。6.3測(cè)試功能打開計(jì)費(fèi)器電源開關(guān),電源燈先亮起來,空車指示燈也亮,加減鍵是用來調(diào)整里程單價(jià)數(shù),超額底價(jià),起步價(jià),菜單鍵用于選擇里程單價(jià)數(shù),超額底價(jià),起步價(jià),啟動(dòng)鍵按下去,空車指示燈滅,開始準(zhǔn)備

32、計(jì)費(fèi),液晶顯示為里程數(shù)和價(jià)格,電機(jī)啟動(dòng)鍵按下去,開始計(jì)費(fèi)。電機(jī)按鈕關(guān)閉,電機(jī)停止運(yùn)行,計(jì)費(fèi)器停止計(jì)費(fèi)。本設(shè)計(jì)基本完成以上功能。如圖 6-1:圖6-1 出租車計(jì)費(fèi)器設(shè)計(jì)實(shí)物圖7.總結(jié)本設(shè)計(jì)中,不管是硬件電路設(shè)計(jì),軟件編程乃至后期的硬件制板,都是重點(diǎn)和難點(diǎn)。在完成這些的時(shí)候,最重要的秘訣就是將問題劃分開來,系統(tǒng)的,有條理的分步進(jìn)行。硬件方面,先綜合考慮系統(tǒng)功能,再將要實(shí)現(xiàn)的功能劃分為各個(gè)模塊并根據(jù)各個(gè)模塊功能細(xì)化考慮模塊組成,在各個(gè)模塊都完成之后,方將所有模塊聯(lián)系在一起,形成一個(gè)完整的系統(tǒng)。軟件方面,同硬件也是一個(gè)道理,先綜合考慮主要程序要實(shí)現(xiàn)什么,然后主程序的運(yùn)行思路為基礎(chǔ),逐個(gè)完成各個(gè)功能的子

33、程序,由主程序?qū)⑦@些子程序系統(tǒng)地統(tǒng)一在一起,使其運(yùn)行更為合理流暢。制板方面也是,先將每個(gè)模塊畫好,最后整合到一起。當(dāng)然,就算思路已很明晰,實(shí)際動(dòng)手去做還是會(huì)遇見許多問題。硬件要先制作實(shí)驗(yàn)板,經(jīng)過反復(fù)試驗(yàn),在試驗(yàn)中適當(dāng)更換不同參數(shù)的元器件,觀察結(jié)果,最終才能確定可行的使用方案。軟件也不可能一次就寫好,亦是要經(jīng)過反復(fù)測(cè)試、修改,經(jīng)過反復(fù)燒寫,才能得到最后的程序。制板方面更是不容馬虎,畫pcb板時(shí)對(duì)線路的接法、元器件的封裝、布線的粗細(xì)、焊盤的大小等等都要細(xì)致的一一定義清楚,只要有一點(diǎn)點(diǎn)差錯(cuò),制出來的板就作廢了。通過我的不懈努力和老師、同學(xué)的幫助,我總算完成了所有內(nèi)容。對(duì)我來說,這次的畢業(yè)設(shè)計(jì)是對(duì)三年

34、半來所學(xué)專業(yè)知識(shí)的考察。在做這設(shè)計(jì)的同時(shí),我重新回顧了三年半來所學(xué)的許多知識(shí),對(duì)未涉及過的應(yīng)用也翻閱了許多相應(yīng)的資料,這樣一個(gè)過程下來,讓我獲得了許多收獲,不僅提高了動(dòng)手能力,在其他各個(gè)方面也都有了很大的進(jìn)步,尤其是對(duì)所學(xué)知識(shí)的實(shí)際應(yīng)用有了很大程度的理解,能更好地將理論和實(shí)踐融會(huì)貫通。當(dāng)然,在這次設(shè)計(jì)中也暴露出許多缺點(diǎn)和不足,例如:編程語法不夠規(guī)范、畫pcb時(shí)對(duì)很多細(xì)節(jié)設(shè)置不夠細(xì)心、硬件上總是會(huì)疏忽了一些必要的器件等等,對(duì)于這些不足我都很認(rèn)真地一一予以改正,并在今后更加努力。今后也請(qǐng)各位師友多多給予批評(píng)與建議。致謝在這里,我要感謝我的指導(dǎo)老師涂欽老師。本次畢業(yè)設(shè)計(jì)中,涂欽老師給予了大力的支持.

35、在畢業(yè)設(shè)計(jì)開題方面,涂老師給予了悉心的指導(dǎo),讓我明確了我所要完成的任務(wù).對(duì)于整體設(shè)計(jì)上,涂老師給予了非常大的幫助,讓我合理布局各個(gè)部分的模塊.在編程上,涂老師指導(dǎo)我完成流程圖的設(shè)計(jì),對(duì)我后續(xù)的工作打下了很好的基礎(chǔ).在最后調(diào)試階段,涂老師總體把握并給予了不少意見.再次感謝幫助過我的各位老師和同學(xué),祝愿他們永遠(yuǎn)快樂。參考文獻(xiàn)【1】 周潤(rùn)景,張麗娜.基于proteus的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真【m】.北京:北航大學(xué)出版社,2000,110-119.【2】 李廣弟.單片機(jī)基礎(chǔ)【m】.北京:北京航空航天出版社,2001,88-95.【3】 劉瑞新.單片機(jī)原理與應(yīng)用【m】.天津:機(jī)械工業(yè)出版社,2003

36、.,120-125.【4】 張毅剛.mcs-51單片機(jī)應(yīng)用設(shè)計(jì)【m】.北京:清華大學(xué)出版社, 2009,33-50.【5】 李全利,遲榮強(qiáng).單片機(jī)原理及其接口技術(shù)【m】.天津:高等教育出版社,2004,70-75. 【6】 張齊,朱寧西.單片機(jī)系統(tǒng)設(shè)計(jì)與開發(fā)【m】.北京:機(jī)械工業(yè)出版社,2008,110-113.taxi devices based on single chipconcord university college fujian normal universityelectronic and iformation engineering124132007040 yangjing

37、instructor tu qin【abstract】according to the needs of the taxi industry, the traditional development and use of the taxi meter for a dozen years, the stability, cost, and the use of customary has some advantages. the use of single chip system is a good way to deepen the single chip application.the sy

38、stem consists of microcontroller at89s52 and some peripheral devices composed of features simple, clear display, powerful and so on .lcd module using 1602 as the display can display numbers, letters, chinese, pictures, etc., so that system information at a glance.this system hasthe theoretical knowl

39、ed gerelated to: pic microcontrollerknowledge, lcd liquid crystal displayand use ofthe working principle,the principle of a taxi billing systemand method, proteus simulation principles and practical applications.【keyword】1062lcd;at89s52;proteus附錄一:各個(gè)子程序代碼1按鍵子程序代碼void keyread() unsigned char readdata = keyboard0xff; / 1 if(readdata!=0x00)/有按鍵按下delay_nus(500);/延時(shí)500微秒readdata = keyboard0xff; trg = readdata & (readdata cont); / 2 cont = readdata; / 3 void keyproc() if (trg & key_start

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論