基于單片機的出租車計價器的設(shè)計_第1頁
基于單片機的出租車計價器的設(shè)計_第2頁
基于單片機的出租車計價器的設(shè)計_第3頁
基于單片機的出租車計價器的設(shè)計_第4頁
基于單片機的出租車計價器的設(shè)計_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、河北工業(yè)大學(xué)畢業(yè)設(shè)計說明書(論文) 作 者: 馬萬鵬 學(xué) 號: 084592 系 : 電子系 專 業(yè): 電子信息工程技術(shù) 題 目: 基于單片機的出租車計價器的設(shè)計 指導(dǎo)者: 郝海輝 評閱者: 2011年 5月 29日 畢業(yè)設(shè)計(論文)中文摘要基于單片機的出租車計價器的設(shè)計摘要:在交通發(fā)展迅速的今天,出租車是我們交通中不可缺少的工具。同時出租車中的計價器是必不可少的一種設(shè)備。出租車計價器系統(tǒng)設(shè)計的主要內(nèi)容是通過at89s52單片機上的數(shù)碼顯示器來模擬出租車計價器的路程顯示表,通過單片機上的鍵盤上的某些鍵來表示開始、暫停、復(fù)位等功能。步驟如下:首先,程序開始做一些必要的初始化工作,等待鍵盤輸入。然

2、后,啟動鍵按下(0)后led數(shù)碼管開始記錄路程并顯示。最后,當(dāng)需要停止是可按相應(yīng)的鍵(f)對路程計數(shù)器進行暫停。而且還可以復(fù)位(e)。關(guān)鍵詞: 單片機at89s52;出租車計費器;led數(shù)碼管畢業(yè)設(shè)計(論文)外文摘要title microcontrollers-based design of the taxi meterabstracttoday the rapid development in transportation, taxi transportation is an indispensable tool. at the same time the taxi meter is ess

3、ential in a device. taximeter system design mainly through the at89s52 microcontroller to simulate the digital display on the taxi meter distance indicator, through the microcontroller on certain keys on the keyboard to represent the start, pause, reset and other functions. as follows: first, the pr

4、ogram began to do some necessary initialization and wait for keyboard input. then, start key is pressed (0) to start recording after the led digital tube distance and displayed. finally, when to stop is to press the corresponding key (f) on the distance counter suspended. but also to reset the (e).k

5、eywords: microcontrollers at89s52;taxi meter;led digital tube目 次 1 引言 12 出租車計價系統(tǒng)的計費要求與功能模型 12.1 出租車計價器設(shè)計要求 12.2 系統(tǒng)主要功能及模塊組成 23 出租車計價系統(tǒng)的硬件實現(xiàn) 33.1 出租車計價器設(shè)計方案的論證與選擇 33.2 總體設(shè)計框圖 43.3 硬件器件選擇 53.4 硬件器件電路設(shè)計 114 出租車計價系統(tǒng)的軟件實現(xiàn) 134.1 模塊介紹 134.2 主程序模塊 134.3 定時中斷服務(wù)程序 154.4 里程計數(shù)中斷服務(wù) 164.5 中途等待中斷服務(wù)程序 164.6 顯示子程序 1

6、64.7 判鍵子程序 165 系統(tǒng)調(diào)試 165.1 里程計價測試 165.2 掉電存儲測試 18結(jié)論 18參考文獻 19致謝 201 引言出租車計價器是出租車營運收費的專用智能化儀表,隨著電子技術(shù)的發(fā)展,出租車計價器技術(shù)也在不斷進步和提高。國內(nèi)出租車計價器已經(jīng)經(jīng)歷了四個階段的發(fā)展。從傳統(tǒng)的全部由機械元器件組成的機械式,到半電子式即用電子線路代替部分機械元器件的出租車計價器,再從集成電路式到目前的單片機系統(tǒng)設(shè)計的出租車計價器。出租車計價器計費是否準確、出租車司機是否作弊才是乘客最關(guān)心的問題,而計價器營運數(shù)據(jù)的管理是否方便才是出租車司機最關(guān)注的。因此怎樣設(shè)計出一種既能有效防止司機作弊又能方便司機的

7、計價器尤為重要。汽車計價器是乘客與司機雙方的交易準則,它是出租車行業(yè)發(fā)展的重要標志,是出租車中最重要的工具。它關(guān)系著交易雙方的利益。具有良好性能的計價器無論是對廣大出租車司機朋友還是乘客來說都是很有必要的。采用模擬電路和數(shù)字電路設(shè)計的計價器整體電路的規(guī)模較大,用到的器件多,造成故障率高,難調(diào)試,對于模式的切換需要用到機械開關(guān),機械開關(guān)時間久了會造成接觸不良,功能不易實現(xiàn)。為此我們采用了單片機進行設(shè)計,相對來說功能強大,用較少的硬件和適當(dāng)?shù)能浖嗷ヅ浜峡梢院苋菀椎膶崿F(xiàn)設(shè)計要求,且靈活性強,可以通過軟件編程來完成更多的附加功能。針對計費模式的切換,通過軟件編程就可以輕易而舉的實現(xiàn)。避免了機械開關(guān)帶

8、來的不穩(wěn)定因素。2 出租車計價系統(tǒng)的計費要求與功能模型21 出租車計價器的設(shè)計要求設(shè)計一個出租車自動計費器,計費包括起步價、行車里程計費、等待時間計費三部分,用數(shù)碼示器管示總金額,運行時間,暫停時間。并且用數(shù)碼顯示管顯示總里程,同時用數(shù)碼顯示管顯示等待時間和運行花費時間。本計價器分為計費功能跟顯示功能兩個部分。計費功能具體情況如下:費用的計算是按行駛里程收費。設(shè)起步價為5.00元。當(dāng)里程小于3km時,按起價計算費用;當(dāng)里程大于3km時,每公里按1.3元計費;等待累計時間大于10min時,按每分鐘1.5元計費。顯示功能具體情況如下:對于顯示行駛里程我們用四位數(shù)字顯示,顯示方式為“xxxx”,單位

9、為km。計程范圍0-99km,精確到1km;對于顯示等候時間我們用兩位數(shù)字顯示,顯示方式為“xx”,單位為min。計時范圍0-59min,精確到1min;對于顯示總費用我們用四位數(shù)字顯示,顯示方式為“xxx.x”,單位為元。計價范圍0-999.9元,精確到0.1元。22 系統(tǒng)主要功能及模塊組成當(dāng)我們乘坐出租車時,出租車司機通過電源啟動計價器后,只要汽車一啟動,隨著行駛里程的增加,就會看到出租車里面的計價器里程數(shù)字顯示的讀數(shù)從零逐漸增大,而當(dāng)行駛到某一值(如3km)計費數(shù)字顯示開始從起步價(如5元)增加。當(dāng)出租車到達某地需要在那里等候時,司機只要按一下“計時”鍵,每等候一定的時間(如10分鐘),

10、計費顯示就增加一個該收的等候費用(如每10分鐘收取1.50元)。出租車繼續(xù)行駛時,停止計算等候費用,繼續(xù)增加里程計費。到達目的地,便可按顯示的數(shù)字收費。并且伴隨著上下車有語音提示。然后關(guān)閉計費器,對計數(shù)器清零,等待下次計費開始。出租車計價器各重要功能模塊如圖2-1所示:核心功能模塊、里程計量模塊、掉電保護模塊、鍵盤模塊、語音模塊、復(fù)位模塊、時鐘模塊、電源模塊、顯示模塊。 核心功能模塊里程計量模塊鍵盤模塊復(fù)位模塊掉電保護模塊時鐘模塊語音模塊顯示模塊電源模塊圖2-1計價器各功能模塊3 出租車計價系統(tǒng)的硬件實現(xiàn)3.1 出租車計價器設(shè)計方案的論證與選擇對于出租車計價器的設(shè)計,可以采取很多種方案,但是方

11、案之間有自己的優(yōu)缺點,所以我們必須根據(jù)實際生活中的需要選擇一種最適合的。下面我們依次討論兩種比較常用的設(shè)計方案,并從中確定一種我們要用的方案。方案一:采用數(shù)字電子技術(shù),利用555定時芯片構(gòu)成多諧振蕩器,或采用外圍的晶振電路作為時鐘脈沖信號,采用計數(shù)芯片對脈沖盡心脈沖的計數(shù)和分頻,最后通過譯碼電路對數(shù)據(jù)進行譯碼,將譯碼所得的數(shù)據(jù)送給數(shù)碼管顯示,一下是該方案的流程框圖,方案圖如圖3-1所示:圖3-1方案一方案二:采用mcu技術(shù),通過單片機作為主控器,利用數(shù)碼顯示管作為顯示電路,采用外部晶振作為時鐘脈沖,通過按鍵可以方便調(diào)節(jié),以下是方案二的系統(tǒng)流程圖,本方案主要是必須對于數(shù)字電路比較熟悉,成本又不高

12、。方案圖如圖3-3所示:mcu鍵盤控制掉電存儲模塊里程計量單元串口顯示驅(qū)動電路顯示模塊語音模塊圖3-2方案三方案總結(jié):通過兩個方案的比較,第一種方案的電路不太穩(wěn)定,而且整體設(shè)計相對繁瑣。綜合所述不符合當(dāng)前出租車計價器的需求。因此本次設(shè)計采用方案二,不但控制簡單,而且成本低廉,設(shè)計電路簡單。并且單片機方案有較大的活動空間,不但能實現(xiàn)所有要求的功能而且能在很大的程度上擴展功能,并且還可以方便的對系統(tǒng)進行升級,這也是我們選擇第二種方案的原因。32 總體設(shè)計框圖由于硬件限制,無法通過具體的汽車轉(zhuǎn)動圈數(shù)得出出租車行駛總路程,所以通過計數(shù)脈沖模擬汽車轉(zhuǎn)動的圈數(shù),每一千個脈沖記為一公里,即可計算得到車輪旋轉(zhuǎn)

13、幾周出租車能行駛一公里的路程??赏獠枯斎腚娒}沖也可以軟件設(shè)置脈沖。輸出的方波信號接入單片機系統(tǒng)中,通過計算接收到的方波個數(shù)計算當(dāng)前所行駛的路程。并且系統(tǒng)根據(jù)單片機的定時器t0產(chǎn)生的時鐘,選擇相應(yīng)的收費標準進行收費的計算。然后系統(tǒng)通過鍵盤操作和數(shù)碼顯示,來實現(xiàn)啟動、暫停、復(fù)位、校時、顯示時間,修改價格,確定等功能,還能夠切換顯示當(dāng)前的行駛里程和需付的車費。對于本次設(shè)計的核心模塊我們選擇單片機,因為單片機本身具有獨特的優(yōu)勢,控制簡單,成本低廉,并且設(shè)計電路簡單。最重要的是單片機還可以在很大程度上就行擴展與升級。對于顯示模塊來說在應(yīng)用系統(tǒng)中,使用的顯示器主要有l(wèi)ed(發(fā)光二極管)和lcd(液晶顯示器

14、)。這兩種顯示器成本低廉,配置靈活。led是由發(fā)光二極管顯示字段的顯示器件。lcd顯示器的工作原理是利用液晶的物理特性:通電時排列變得有序,使光線容易通過;不通電時排列混亂,阻止光線通過。本次設(shè)計中需要顯示時間、日期等簡單字符,用led即可滿足要求,另外lcd比led價位高。因此本設(shè)計選擇用六個七段數(shù)碼管動態(tài)掃描來實現(xiàn)時鐘與計價的顯示。對于里程計量模塊,我們利用傳感器進行檢測,并通過計算得出里程數(shù)。對于掉電保護模塊,我們則利用電可擦除存儲芯片。來完成在電源斷開的時候,存儲當(dāng)前設(shè)定的單價信息。對于鍵盤模塊,由于調(diào)節(jié)信息不多,故采用4個獨立鍵盤即可。對于語音模塊,要求使用方便的單片錄放系統(tǒng),外部元

15、件較少,重現(xiàn)優(yōu)質(zhì)原聲,沒有常見的背景噪音即可。具體單片機控制方案如圖3-3所示:mcu鍵盤模塊掉電存儲模塊里程計量模塊串口顯示驅(qū)動電路總金額顯示單價顯示 圖3-3單片機控制方案33 硬件器件選擇系統(tǒng)總體框架設(shè)計完成后,開始選擇硬件器件。硬件器件選擇應(yīng)滿足性能指標的需求,它主要包括:mcu、顯示模塊、里程計量模塊、掉電保護模塊、鍵盤模塊、語音模塊、電容電阻等。這里只介紹主要硬件器件的選擇。3.3.1 mcu選型本計價器的設(shè)計我們選用了at89s52單片機,at89s52是一種低功耗、高性能cmos8位微控制器,具有8k在系統(tǒng)可編程flash存儲器。使用atmel公司高密度非易失性存儲器技術(shù)制造,

16、片上flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位cpu和在系統(tǒng)可編程flash,使得at89s52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活,超有效的解決方案。at89s52單片機電路圖如圖4-2所示: vcc:供電電壓。gnd:接地。p0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門流。當(dāng)p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當(dāng)fiash進行圖3-6校驗時,p0輸出原碼,此時p0外部必須被拉高。 圖3-4 p1口:p1口是一個內(nèi)部

17、提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。p2口:p2口為一個內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當(dāng)p2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外

18、部八位地址數(shù)據(jù)存儲器進行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。p3口:p3口管腳是8個帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89s52的一些特殊功能口,p3口同時為閃爍編程和編程校驗接收一些控制信號。rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持rst腳兩個機器周期的高電平時間。ale/prog:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。

19、在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時, ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。/psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/psen信號不出現(xiàn)。/ea/vpp:當(dāng)/ea保持

20、低電平時,則在此期間外部程序存儲器(0000h-ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時,此間內(nèi)部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。3.3.2 顯示模塊的選型本設(shè)計我們選用的是恩平市力達電子有限公司生產(chǎn)的led七段數(shù)碼管,型號為lds-200101ah-b。led顯示管是由發(fā)光二極管顯示字段的顯示器件。在單片機應(yīng)用系統(tǒng)中通常使用的是七段led。這種顯示塊有共陰極和共陽極兩種,共陰極led顯示塊

21、的發(fā)光二極管陰極共地,當(dāng)某個發(fā)光二極管的陽極為高電平時,發(fā)光二極管點亮。共陽極led顯示塊的發(fā)光二極管陽極并接,當(dāng)某個二極管的陰極為低電平時,該二極管點亮。通常的七段led顯示塊中有八個發(fā)光二極管,故也稱為八段顯示器。其中七個二極管構(gòu)成七筆字型“8”,一個發(fā)光二極管構(gòu)成小數(shù)點。控制不同組合的二極管導(dǎo)通,就能顯示各種字符。設(shè)8位控制器按低到高的次序依次控制led顯示塊的af,我們稱控制器輸出的控制led顯示塊顯示字符的 8位字節(jié)數(shù)據(jù)為段選碼。共陽極與共陰極的段選碼互為反碼。在多位led顯示時,為了簡化電路,降低成本,將所有位led的段選線并接在一起,在某一刻時,將要顯示的字符段碼同時送到每一個顯

22、示器的各段,但是只讓這一位led顯示。下一時刻又送下一位led要顯示字符的段碼,并只讓下一位led顯示。如此輪流,使每位顯示該為的字符,這樣不斷的循環(huán)送出響應(yīng)的段選碼位選碼,就可以獲得視覺穩(wěn)定的顯示狀態(tài)。本設(shè)計選擇用六個七段數(shù)碼管動態(tài)掃描來實現(xiàn)時鐘與計價的顯示,如圖3-4所示。圖3-4數(shù)碼管封裝圖及數(shù)據(jù)線與數(shù)碼管管腳關(guān)系3.3.3 里程計量模塊對于測量路程的傳感器我們選擇了霍爾a44e,里程計算是通過安裝在車輪旁的霍爾傳感器a44e檢測到的信號,送到單片機,經(jīng)處理計算,送給顯示單元的。其原理如圖3-5傳感器測距示意圖所示。圖3-5霍爾傳感器測距示意圖由于a44e 屬于開關(guān)型的霍爾器件,其工作電

23、壓范圍比較寬(4.518v),其輸出的信號符合ttl 電平標準,可以直接接到單片機的io 端口上,而且其最高檢測頻率可達到1mhz。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)施加的磁場達到工作點 (即op b )時,觸發(fā)器輸出高電壓(相對于地

24、電位),使三極管導(dǎo)通,此時oc 門輸出端輸出低電壓,通常稱這種狀態(tài)為開。當(dāng)施加的磁場達到釋放點 (即rp b )時,觸發(fā)器輸出低電壓,三極管截止,使oc 門輸出高電壓,這種狀態(tài)為關(guān)。這樣兩次電壓變換,使霍耳開關(guān)完成了一次開關(guān)動作。我們選擇了p3.2 口作為信號的輸入端,內(nèi)部采用外部中斷0(這樣可以減少程序設(shè)計的麻煩),車輪每轉(zhuǎn)一圈(我們設(shè)車輪的周長是1 米),霍爾開關(guān)就檢測并輸出信號,引起單片機的中斷,對脈計數(shù),當(dāng)計數(shù)達到1000次時,也就是1公里,單片機就控制將金額自動的加增加,其計算公式:當(dāng)前單價公里數(shù)=金額。3.3.4 掉電保護模塊本電路掉電保護采用了at24c02芯片來完成此部分功能。

25、掉電存儲單元的作用是在電源斷開的時候,存儲當(dāng)前設(shè)定的單價信息。at24c02 是atmel 公司的2kb字節(jié)的電可擦除存儲芯片,采用兩線串行的總線和單片機通訊,電壓最低可以到2.5v,額定電流為1ma,靜態(tài)電流10ua(5.5v),芯片內(nèi)的資料可以在斷電的情況下保存40年以上,而且采用8腳的dip封裝,使用方便。其電路如圖3-6所示。圖3-6掉電存儲電路原理圖圖中 r8、r10是上拉電阻,其作用是減少at24c02的靜態(tài)功耗,由于 at24c02的數(shù)據(jù)線和地址線是復(fù)用的,采用串口的方式傳送數(shù)據(jù),所以只用兩根線 scl(移位脈沖)和sda(數(shù)據(jù)/地址)與單片機傳送數(shù)據(jù)。每當(dāng)設(shè)定一次單價,系統(tǒng)就自

26、動調(diào)用存儲程序,將單價信息保存在芯片內(nèi);當(dāng)系統(tǒng)重新上電的時候,自動調(diào)用讀存儲器程序,將存儲器內(nèi)的單價等信息,讀到緩存單元中,供主程序使用。3.3.5 鍵盤模塊當(dāng)單價等信息需要進行修改時,就要用到鍵盤進行修改。由于調(diào)節(jié)信息不多,故采用4個獨立鍵盤即可,分別實現(xiàn)清零、切換、增大、減小和功能等作用,如圖3-7。 圖3-7鍵盤電路s1:接p1.0口,對上一次的計費進行清零,為下次載客準備;s2:接p1.1口,實現(xiàn)白天和夜晚單價的切換;當(dāng)功能鍵s4按下時,s2可對數(shù)據(jù)進行增大;s3:接p1.2口,當(dāng)功能鍵s4按下時,s3可對數(shù)據(jù)進行減?。籹4:接p1.3口,按1次,進入調(diào)整白天單價;按2次,進入調(diào)整夜晚

27、單價;按3次,進入調(diào)整等待單價;按4次,進入調(diào)整起步價;按5次,返回。3.3.6 語音模塊本計價器選擇了isd1420系列,如圖3-8所示。isd1420單片錄放時間為8至20秒,音質(zhì)好。芯片采用cmos技術(shù),內(nèi)含震蕩器、話筒前置放大、自動增益控制、防混淆濾波器、平滑濾波器、揚聲器驅(qū)動及eeprom陣列。最小的錄放系統(tǒng)僅需麥克風(fēng)、喇叭、兩個按鈕、電源及少數(shù)電阻電容。在錄放操結(jié)束后,芯片自動進入低功耗節(jié)電模式、功耗僅0.5ua。isd1420系列有唯一的錄音控制和邊緣/電平觸發(fā)兩種放音控制。不分段時外圍線路最簡,也可按最小段長為單位任意組合分段,芯片提供若干操作模式,大大提高了控制的靈活性。芯片

28、采用多電平直接模擬量存儲專利技術(shù),每個采樣直接存儲在片內(nèi)單個eeprom單元中,因此能夠非常真實、自然地再現(xiàn)語音、音樂、音調(diào)各效果,避免了一般固體錄音電路因量化和壓縮造成的量化噪聲和“金屬聲”。采樣頻率從5.3,6.4到8.0khz,對音質(zhì)僅有輕微影響。片內(nèi)信息可保存100年(無需后備電源),eeprom單片可反復(fù)錄音十萬次。特點:1、使用方便的單片錄放系統(tǒng),外部元件最少;2、重現(xiàn)優(yōu)質(zhì)原聲,沒有常見的背景噪音;3無耗電信息存儲,省掉備用電池;4、信息可保存100年,可反復(fù)錄放10萬次;5、較強的分段選址能力可處理多達160段信息;6、具有自動節(jié)電模式。 圖3-8 isd1420管腳圖和管腳描述

29、34 硬件器件電路設(shè)計3.4.1 電源電路設(shè)計任何電子設(shè)備都需要用直流電源供電,本電源直接輸入一個610v的直流電壓,再用穩(wěn)壓芯片得到5v電壓。電源的輸入可以采用兩路輸入,可接一路備用電源。防止了突然斷電而丟失數(shù)據(jù)的情況,進一步增加了系統(tǒng)的穩(wěn)定性,電路圖如圖3-9所示。圖3-9 電源電路圖3.4.2 路程測量電路出租車中需要一個能準確獲得車輪轉(zhuǎn)動即路量信號的裝置,以得到標準的脈沖信號送入單片機的定時/ 計數(shù)器t1 即p3. 5 引腳,利用單片機的t1 的計數(shù)功能完成100 次的計數(shù)后產(chǎn)生中斷來完成路程的測量。設(shè)車輪周長為1m ,則霍爾傳感器每產(chǎn)生100個脈沖便表示車已行程0.1km ,根據(jù)際情

30、況在程序中進行設(shè)置。汽車聯(lián)軸器按圓周間隔嵌入磁鋼,用霍傳感器集成芯片a44e 測并輸出脈沖,其工作原理如圖3-10所示:圖3-10路程測量電路3.4.3 復(fù)位電路設(shè)計在單片機的應(yīng)用系統(tǒng)中,除單片機本身需復(fù)位以外,外部擴展的i/o接口電路等也需要復(fù)位,因此需要一個系統(tǒng)的同步復(fù)位信號:即單片機復(fù)位后,cpu開始工作時,外部的電路一定要復(fù)位好,以保證cpu有效的對外部電路進行初始化編程。51系列單片機的復(fù)位端rst是一個施密特觸發(fā)輸入,高電平有效。復(fù)位電路產(chǎn)生的復(fù)位信號經(jīng)施密特電路整形后作為系統(tǒng)復(fù)位信號,加到51系列單片機和外部i/o接口電路的復(fù)位端.其電路圖如圖3-11。圖3-12復(fù)位電路3.4.

31、4 時鐘電路設(shè)計at89s52系列單片機內(nèi)部有一個可控制的反相放大器,引腳xtal1、xtal2為反相放大器的輸入端和輸出端,在xtal1、xtal2上外接晶振(或陶瓷諧振器)和電容便組成振蕩器。具體的時鐘電路如圖3-12。電容1、2的典型值為30pf+10pf(晶振)或40pf+10pf(陶瓷諧振器)。振蕩器頻率主要取決與晶振(或陶瓷諧振器)的頻率,但必須小于器件所允許的最高頻率。振蕩器的工作受控制,復(fù)位后0(1)振蕩器工作,可由軟件置1,使振蕩器停止振蕩,從而使整個單片機停止工作,以達到節(jié)電的目的。圖3-11時鐘電路4 出租車計價系統(tǒng)的軟件實現(xiàn)41 模塊介紹本系統(tǒng)的軟件設(shè)計主要可分為主程序

32、模塊、定時計數(shù)中斷程序、里程計數(shù)中斷服務(wù)程序、中途等待中斷服務(wù)程序、顯示子程序服務(wù)程序、鍵盤服務(wù)程序六大模塊。下面對各部分模塊作介紹。42 主程序模塊開始初始化數(shù)據(jù)s1按下?否是s4按下?是否設(shè)定默認 單價(白天)設(shè)定晚上單價否語音播報按下s4?是啟動計價器設(shè)定中途等待單價里程中斷?s4按下?s3按下?是否是顯示金額及單價顯示路程和單價返回時間顯示否傳感有信號? 否否是否是到一公里?是總路程加1總金額加1否s3按下?是停止計價和里程計數(shù) 語音播報圖4-1主程序流程圖在主程序模塊中,需要完成對各接口芯片的初始化、出租車起價和單價的初始化、中斷向量的設(shè)計以及開中斷、循環(huán)等待等工作。當(dāng)按下s1時,就

33、啟動計價,將根據(jù)里程寄存器中的內(nèi)容計算和判斷出行駛里程是否已超過起價公里數(shù)。若已超過,則根據(jù)里程值、每公里的單價數(shù)和起價數(shù)來計算出當(dāng)前的累計價格,并將結(jié)果存于價格寄存器中,然后將時間和當(dāng)前累計價格送顯示電路顯示出來。當(dāng)?shù)竭_目的地的時候,由于霍爾開關(guān)沒有送來脈沖信號,就停止計價,顯示當(dāng)前所應(yīng)該付的金額和對應(yīng)的單價,到下次啟動計價時,系統(tǒng)自動對顯示清零,并重新進行初始化過程。主程序流程圖如圖4-1所示。43 定時中斷服務(wù)程序當(dāng)在計數(shù)狀態(tài)下脈沖停止輸出信號,片內(nèi)的t1定時器便被啟動,每當(dāng)計時到達10分鐘,就對當(dāng)前金額加上中途等待的單價,以后每十分鐘都自動加上中途等待的單價。當(dāng)中途等待結(jié)束的時候,也就

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

35、中途等待的單價,以后每十分鐘都自動加上中途等待的單價。當(dāng)中途等待結(jié)束的時候,也就自動切換到正常的計價。46 顯示子程序顯示程序利用定時器每1ms產(chǎn)生一次中斷,相應(yīng)變量置位,點亮一個數(shù)碼管,顯示一位數(shù)據(jù),利用主函數(shù)內(nèi)的循環(huán),實現(xiàn)動態(tài)掃描顯示,同時根據(jù)數(shù)碼管余輝和人眼暫留現(xiàn)象,即可實現(xiàn)顯示。47 判鍵子程序鍵盤采用查詢的方式,放在主程序中,當(dāng)沒有按鍵按下的時候,單片機循環(huán)主程序,一旦右按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。5 系統(tǒng)調(diào)試根據(jù)系統(tǒng)設(shè)計方案,本系統(tǒng)的調(diào)試共分為三大部分:硬件調(diào)試,軟件調(diào)試和軟硬件聯(lián)調(diào)。由于在系統(tǒng)設(shè)計中采用模塊設(shè)計法,所以方便對各電路模塊功能進行逐級測試。51

36、里程計價測試由于試驗條件有限,我們采用電動機附帶霍爾元件作為車輪,電機為3v 的直流電機,每分的轉(zhuǎn)速可以達到幾千轉(zhuǎn),我們設(shè)定電機每轉(zhuǎn)一圈為車輪轉(zhuǎn)動1 米,當(dāng)電機轉(zhuǎn)動達到1000圈時,就表示已經(jīng)到達了一公里,系統(tǒng)自動將當(dāng)前的單價加到總金額上。表5-1 的測試條件是:設(shè)定白天的單價是2.5 元,起步價為5 元(包含3 公里),分別行駛不同里程測得數(shù)據(jù)如下表。表5-1白天單價測試公里41015374959總金額理論7.522.53590120145實際7.60222.4983590.12119.978145行駛路程理論41015374959實際41014.8936.9849.0258.023表5-2

37、測試條件是:晚上的單價設(shè)定為3.0 元,起步價為5 元(包含3 公里),分別行駛不同里程測得數(shù)據(jù)如下表。表5-2晚上單價測試公里41015374959總金額理論82641107143173實際82640.989107143.01173.01行駛路程理論41015374959實際41014.8936.9849.0258.023表5-3測試條件是:設(shè)定在單價為2.5 的情況下已經(jīng)行駛了10 (22.5)公里,進行中途等待,分別等待不同的時間(10 分鐘為一個單位),起步價為5 元(包含3 公里)。表5-3中途等待價格測試 時間當(dāng)前金額204050607080總金額理論27.532.53537.54

38、042.5實際27.49931.49934.98937.50140.00142.499里程測試數(shù)據(jù)的分析:通過表5-1、表5-2、表5-3的數(shù)據(jù),我們可以看到系統(tǒng)的計價功能很穩(wěn)定,誤差很小,幾乎為零,不過還應(yīng)該在實際的應(yīng)用中測試。52掉電存儲測試表5-4顯示的數(shù)據(jù)表明,系統(tǒng)能在掉電的情況下正確的保存數(shù)據(jù),并且能在系統(tǒng)上電后將數(shù)據(jù)讀到相應(yīng)的存儲單元。表6-4掉電存儲測試白天單價晚上單價中途等待單價掉電前數(shù)據(jù)2.53.02.5重新上電后數(shù)據(jù)2.53.02.5結(jié)論和一般計算系統(tǒng)一樣,單片機的應(yīng)用系統(tǒng)由硬件和軟件所組成。硬件主要指單片機擴展的存儲器,輸入/輸出設(shè)備等硬件部件的機器,而軟件是各種工作程序

39、的總稱。只有硬件和軟件緊密配合,協(xié)調(diào)一致,才能組成高性能的單片機應(yīng)用系統(tǒng)。有強大的硬件同時也必須有完美的軟件編程才能體現(xiàn)其優(yōu)越性。軟件是由要完成的任務(wù)總體設(shè)計所規(guī)定,所以首先要明確程序所要完成的任務(wù),確定輸入/輸出,對輸入數(shù)據(jù)應(yīng)進行哪些處理,以及發(fā)生錯誤后該如何處理等。再結(jié)合硬件結(jié)構(gòu),進一步弄清軟件程序所承擔(dān)的一個個任務(wù)細節(jié),確實具體實施的方法。對于本次畢業(yè)課設(shè)出租車計價器的設(shè)計,通常采用順序設(shè)計方法。這種系統(tǒng)軟件由主程序和若干個子程序和幾個中斷服務(wù)程序所構(gòu)成。中斷服務(wù)程序?qū)δM路程的輸入脈沖作出實時處理,使系統(tǒng)能并行地完成各單元數(shù)據(jù)的操作。而中斷處理程序中必須包括現(xiàn)場保護,中斷服務(wù),現(xiàn)場恢復(fù),中斷返回等四個部分。中斷服務(wù)程序是中斷處理程序的主體,它是由中斷要完成的功能所確定,主程序則是一個順序執(zhí)行的無限循環(huán)的程序,不停地順序查詢各種軟件標志,以完成對日常事務(wù)的處理,子程序則為主程序所調(diào)用。從這次課設(shè)中明顯體現(xiàn)了主程序,子程序、中斷程序的功能。在調(diào)試中也相當(dāng)?shù)暮喕?。至此出租車計費器系統(tǒng)的設(shè)計已經(jīng)全部完成,能按預(yù)期的效果進行模擬汽車啟動,停止

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論