




已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
樂山師范學(xué)院畢業(yè)論文(設(shè)計(jì)) 本科生畢業(yè)設(shè)計(jì)報(bào)告系(院) 物理與電子工程學(xué)院 專 業(yè) 電子信息工程 論文題目 出租車計(jì)費(fèi)器的設(shè)計(jì) 學(xué)生姓名 指導(dǎo)教師 (姓名及職稱)班 級 2012級電信4班 學(xué) 號 完成日期:2016年4月11出租車計(jì)費(fèi)器的設(shè)計(jì)xxx物理與電子工程學(xué)院 電子信息工程 xxxxx摘要本設(shè)計(jì)主要是針對城市出租車運(yùn)營而設(shè)計(jì)的一款智能收費(fèi)系統(tǒng)。是以單片機(jī)STC89C52RC為核心,通過光電傳感器來累加車輪旋轉(zhuǎn)的圈數(shù)和算法來計(jì)算出行駛的路程,并根據(jù)相應(yīng)的收費(fèi)標(biāo)準(zhǔn)計(jì)算出應(yīng)當(dāng)收取的費(fèi)用;以LCD12864液晶顯示屏來顯示路程、單價(jià)、行駛的時(shí)間和消費(fèi)金額等信息;利用SYN6288語音模塊在一些特定的時(shí)候進(jìn)行語音播報(bào)提示。本設(shè)計(jì)還可以根據(jù)用戶的自身情況對收費(fèi)的標(biāo)準(zhǔn)進(jìn)行調(diào)整。關(guān)鍵詞出租車計(jì)費(fèi)器 SYN6288 LCD12864 光電傳感器 01 前言1.1 設(shè)計(jì)背景在國民經(jīng)濟(jì)的快速發(fā)展下,城市的交通治安逐漸變得整齊有序,出租車計(jì)價(jià)器在城市的交通中也得到廣泛的使用。雖然私家車擁有的數(shù)量在逐漸的增長,但是出租車依然是城市交通運(yùn)輸乘客的重要角色。出租車計(jì)價(jià)器是出租車上統(tǒng)計(jì)路程及時(shí)間和通過收費(fèi)標(biāo)準(zhǔn)計(jì)算消費(fèi)金額的儀表儀器,是出租車上必不可少的部分,它是負(fù)責(zé)計(jì)算出租車營運(yùn)收費(fèi)的專用智能儀表。不管是消費(fèi)的乘客還是出租車的司機(jī)都要求計(jì)價(jià)器在性能方面能夠穩(wěn)定、計(jì)價(jià)準(zhǔn)確而且在它的功能方面也要求越來越高。有史以來,在城市出租車已經(jīng)成為人們工作、生活中不可缺少的交通工具。出租車計(jì)價(jià)器是一種能根據(jù)乘客乘坐出租車行駛的路程和收費(fèi)的方式計(jì)算出乘客消費(fèi)的金額并直接顯示車費(fèi)值的計(jì)量工具。出租車計(jì)價(jià)器是出租車上結(jié)算消費(fèi)金額的計(jì)算工具,所以計(jì)價(jià)器計(jì)價(jià)準(zhǔn)確與否,直接關(guān)系到雙方的經(jīng)濟(jì)利益。1.2 設(shè)計(jì)目的和意義大力提高城市安全文明的建設(shè)是當(dāng)前城市建設(shè)的主要內(nèi)容之一,隨著人們生活水平的不斷提高,人們對各種工具的功能要求也越來越高。就出租車收費(fèi)器而言,人們對它的功能要求也是逐漸的增加,雖然它的功能在趨于完善,但任然有很多可以改進(jìn)的地方。本次的設(shè)計(jì)選用的主要元件是單片機(jī),不僅是為了完成設(shè)計(jì)的要求和各功能的實(shí)現(xiàn),更是為了檢驗(yàn)我們對所學(xué)知識的應(yīng)用能力以及我們解決問題的能力。2 任務(wù)的提出與方案論證2.1 設(shè)計(jì)要求 1、能對出租車行駛的路程進(jìn)行統(tǒng)計(jì)并顯示; 2、能根據(jù)行駛的路程和相應(yīng)的收費(fèi)標(biāo)準(zhǔn)計(jì)算出消費(fèi)的金額; 3、具有計(jì)時(shí)的功能; 4、在一些特定的時(shí)候,有語音提醒播報(bào)的功能; 5、有按鍵控制的功能。2.2 方案選擇控制芯片的選擇:方案一:采用單片機(jī)控制,利用單片機(jī)控制的靈活性以及豐富的IO端口,不僅能實(shí)現(xiàn)基本的計(jì)程和價(jià)格實(shí)現(xiàn),還能實(shí)現(xiàn)計(jì)時(shí)、和語音提醒播報(bào)的功能。方案二:采用數(shù)字電路控制,通過傳感器輸出脈沖信號,進(jìn)過放大整形作為位移寄存器的脈沖信號,實(shí)現(xiàn)計(jì)價(jià),但這種電路能實(shí)現(xiàn)的功能比較單一、簡單,已經(jīng)不能滿足現(xiàn)在出租車的使用。在上述兩種方案中,很明顯方案一的適用能力要比方案二強(qiáng),方案一能實(shí)現(xiàn)的功能也多余方案二,故選用第一種方案。傳感器的選擇:方案一:霍爾傳感器,霍爾傳感器的測速靈敏度比較高,有使用方便、價(jià)格便宜等優(yōu)點(diǎn),很適合汽車測速等應(yīng)用場合。方案二:光電傳感器,光電傳感器工作比較穩(wěn)定,使用方便、價(jià)格便宜,很適合用在統(tǒng)計(jì)數(shù)量、自動(dòng)開關(guān)等方面。以上兩種傳感器都是汽車測速原件的很好選擇,由于我對光電傳感器工作原理的了解比較了解,而對霍爾傳感器原件的工作原理不是很了解,所以本次我選擇了光電傳感器。顯示電路的選擇:方案一:采用數(shù)碼管顯示,采用數(shù)碼管顯示它需要幾段才能顯示一個(gè)信息,此次設(shè)計(jì)的顯示信息量有點(diǎn)偏大,若采用數(shù)碼管顯示電路,則加大了硬件電路的連接。方案二:采用液晶LCD1602顯示,LCD1602只能顯示兩行的信息,適用于信息量顯示不大的場合,而且只能顯示字符不能顯示漢字,所以在此次設(shè)計(jì)中不易使用。方案三:采用液晶LCD12864顯示,LCD12864可以顯示四行信息,它不僅能顯示字符,還能顯示漢字。綜合以上三種顯示電路的特點(diǎn)和結(jié)合此次設(shè)計(jì)的需求,覺得LCD12864更能適用于本次設(shè)計(jì),故選擇方案三。2.3 總體方案設(shè)計(jì)此次設(shè)計(jì)的總體方案規(guī)劃如下:在整個(gè)控制系統(tǒng)中以單片機(jī)STC89C52RC為核心。光電傳感器在電機(jī)的作用下產(chǎn)生信號脈沖,并將脈沖信號傳送給主控芯片單片機(jī),單片機(jī)通過一系列的計(jì)算和處理后將要顯示的信息送給液晶LCD12864顯示出來,將要播報(bào)的語音信號發(fā)送給SYN6288語音模塊進(jìn)行播報(bào);此外,單片機(jī)還受按鍵的控制,其目的是方便人們對整個(gè)系統(tǒng)進(jìn)行選擇和操作控制。整個(gè)系統(tǒng)的電路框圖如圖2.1所示。圖2.1 整個(gè)系統(tǒng)電路框圖3 系統(tǒng)電路設(shè)計(jì) 3.1 主控模塊電路本次的設(shè)計(jì)中單片機(jī)STC89C52RC為主控芯片,是整個(gè)設(shè)計(jì)中的核心元件。它在電子行業(yè)的市場上已成為大眾化器件,它與51單片機(jī)完全兼容。我們在使用的時(shí)候可以多次下載修改的程序,大大的提高了芯片的使用率,所以在很多簡單的設(shè)計(jì)中,人們都選擇采用單片機(jī)。其目的就是價(jià)格便宜,使用靈活。STC89C52RC單片機(jī)同一般的單片機(jī)芯片一樣,在工作和燒寫程序的時(shí)候必需要外接最小系統(tǒng)。最小系統(tǒng)包括晶振電路、復(fù)位電路和電源電路,它們是單片機(jī)能否正常工作的最基本條件。單片機(jī)最小系統(tǒng)電路圖如圖3.1所示。圖3.1 單片機(jī)最小系統(tǒng)電路圖3.2 光電傳感器模塊本次設(shè)計(jì)在測量路程的過程中選用的是光電測速傳感器模塊(寬槽板),它的外形如圖3.2所示。圖3.2 光電傳感器模塊外形用途:主要廣泛的應(yīng)用于電機(jī)轉(zhuǎn)速檢測、脈沖計(jì)數(shù)、位置閑位、開關(guān)控制等方面。工作原理:此次選用的光電傳感器內(nèi)部主要由指示燈電路、光耦傳感器、寬電壓LM393比較器輸出電路組成。當(dāng)光耦傳感器槽中無遮擋時(shí),接收管導(dǎo)通,模塊OUT輸出低電平(輸出0狀態(tài)),此時(shí)指示燈會(huì)處于點(diǎn)亮狀態(tài);當(dāng)光耦傳感器槽中有遮擋時(shí),接收管截止,模塊OUT輸出高電平(輸出1狀態(tài)),此時(shí)指示燈會(huì)處于熄滅狀態(tài)。引腳連接:此模塊有三個(gè)引腳,他們分別是VCC、GND、OUT,其連接方式是:VCC接電源正極3.35V;GND接電源的負(fù)極;OUT 為TTL開關(guān)輸出端,本次我采用的是外部中斷1的連接方式,因此我將OUT腳接到單片機(jī)的13腳(即P33/腳)。電路的連接方式如圖3.3所示。圖3.3 光電傳感器工作原理圖3.3 SYN6288語音模塊SYN6288語音模塊屬于中文語音合成模塊電路,是北京宇音天下科技公司于2010年初推出的一款性價(jià)比高、音質(zhì)清晰、自然的語音合成芯片。它的外形如圖3.4所示。圖3.4 SYN6288語音模塊外形SYN6288語音模塊的應(yīng)用領(lǐng)域很廣,其中在公交報(bào)站器、銀行叫號機(jī)、自動(dòng)售貨機(jī)、語音電子書等方面得到廣泛的應(yīng)用。此模塊采用的是串口通信接收數(shù)據(jù)的方式,支持三種通信波特率:9600bps、19200bps、38400bps。在使用SYN6288語音模塊的時(shí)候,外部電路的連接方式很簡單,它有兩組端口,一組是外接喇叭負(fù)載的端口,接入的喇叭規(guī)格為8歐0.5瓦,在接線的時(shí)候沒有正負(fù)之分,還有一組有5個(gè)引腳構(gòu)成,分別是VDD、RXD、TXD、GND、BY,其中VDD和GND分別接電源的正極和負(fù)極;而RXD、TXD與單片機(jī)上的串口腳RXD(P3.0)和TXD(P3.1)交叉相連;最后的一個(gè)引腳BY為檢測是否為忙碌狀態(tài),當(dāng)BY為低電平時(shí),說明模塊處于空閑狀態(tài)、為高電平時(shí)模塊處于忙碌狀態(tài),此引腳可以選擇性的接單片機(jī)的IO口,也可以不接。此模塊電路的電路連接圖如圖3.5所示。圖3.5 語音模塊電路連接圖3.4 顯示模塊電路設(shè)計(jì)中采用的LCD12864有20個(gè)引腳,其中DB0DB7是接受數(shù)據(jù)的并口,我采用的是與單片機(jī)的P0口相接,但P0口的驅(qū)動(dòng)能力不夠強(qiáng),所以必須外接上拉電阻;除此以外還有幾個(gè)控制腳,它們的功能和作用分別是:RS:當(dāng)液晶采用并行連接方式時(shí)為指令/數(shù)據(jù)選擇信號,當(dāng)液晶采用串行連接方式時(shí)為片選信號控制端。R/W:當(dāng)液晶采用并行連接方式時(shí)為讀寫控制腳,即當(dāng)R/W = 0時(shí),液晶處于寫狀態(tài),當(dāng)R/W = 1時(shí),液晶處于讀狀態(tài);當(dāng)液晶采用串口連接方式時(shí)為數(shù)據(jù)傳送口。E:當(dāng)液晶采用并行連接方式時(shí)為使能控制端,當(dāng)液晶采用串行連接方式時(shí)為同步時(shí)鐘控制端。PSB:串并口方式控制,PSB = 0為串口方式,PSB = 1為并口方式。RST:復(fù)位端,低電平有效。BLA:背光源正極,可直接接+5V電源。BLK:背光源負(fù)極,可直接接地。VCC:電源正極,接+5V電源。GND:電源負(fù)極,接地。除此以外的其它三個(gè)引腳對本次的電路沒有特別的影響,所以可以選擇不接,根據(jù)以上對各引腳的了解和為了方便電路板布線,所以本次的顯示電路的連接方式為如圖3.6所示。圖3.6 LCD12864顯示電路連接圖3.5 按鍵控制電路任何一個(gè)系統(tǒng)電路都需要有按鍵控制電路,其主要目的是方便人們控制操作、修改設(shè)置等,此次在我的設(shè)計(jì)中,也需要有按鍵控制電路,方便出租車司機(jī)在使用的時(shí)候進(jìn)行操作控制和一些簡單的設(shè)置。在這次的電路中初步用六個(gè)按鍵(不包括電源按鍵),它們分別是開始按鍵、暫停按鍵、結(jié)束按鍵、設(shè)置按鍵、調(diào)節(jié)按鍵兩個(gè)。電路的連接方式采用將每一個(gè)按鈕開關(guān)與單片機(jī)的P1口的每一個(gè)引腳相連接,然后另一端公共接地。電路的連接如圖3.7所示。圖3.7 按鍵控制電路圖3.6 系統(tǒng)的總體電路此次設(shè)計(jì)的電路總共分為5部分,它們分別是以上介紹的單片機(jī)最小系統(tǒng)、光電傳感器測速電路、12864液晶信息顯示電路、按鍵控制系統(tǒng)電路、SYN6288語音播報(bào)電路。在整個(gè)系統(tǒng)電路中,這五部分電路是主要以單片機(jī)來協(xié)調(diào)、控制工作的,單片機(jī)也是整個(gè)電路的核心原件,整個(gè)硬件的系統(tǒng)電路如圖3.8所示。圖3.8 系統(tǒng)電路原理圖4 系統(tǒng)程序設(shè)計(jì)硬件電路的連接是為了支持軟件程序的運(yùn)行,所以在編寫軟件程序的時(shí)候軟件一般都要參照硬件電路編寫,不能盲目的去寫,如若不然我們編寫的程序?qū)o法在我們的電路板上運(yùn)行;所以編寫的程序必須與硬件電路相互兼容,才能實(shí)現(xiàn)出我們預(yù)期的效果。4.1 計(jì)時(shí)中斷程序設(shè)計(jì)設(shè)計(jì)中的計(jì)時(shí)功能是采用的單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器T0進(jìn)行計(jì)數(shù),當(dāng)計(jì)數(shù)達(dá)到溢出時(shí)產(chǎn)生中斷,通過執(zhí)行中斷函數(shù)而實(shí)現(xiàn)計(jì)時(shí)。要開啟定時(shí)/計(jì)數(shù)器T0,首先要對與之相關(guān)的幾個(gè)寄存器進(jìn)行設(shè)置。對寄存器的設(shè)置程序需要放在主程序的一開始,以便于程序在運(yùn)行的時(shí)候一開始就可以開啟中斷,進(jìn)行計(jì)時(shí)。開啟定時(shí)/計(jì)數(shù)器T0主要涉及到以下幾個(gè)寄存器的設(shè)置:方式寄存器TMOD的設(shè)置,它的格式如表4.1所示。定時(shí)/計(jì)數(shù)器T0只與TMOD寄存器的第四位有關(guān),如果我們的設(shè)計(jì)與定時(shí)/計(jì)數(shù)器T1無關(guān)的話,我們可以忽略高四位。此次我選用的是方式1工作模式,所以我們要將M1、M0兩位賦值為01;是定時(shí)或計(jì)數(shù)方式的選擇位,這里選用的是定時(shí)方式,所以給位賦值0;對于GATE是啟動(dòng)方式位,直接賦值0,表示由軟件啟動(dòng)定時(shí)器。表4.1 方式寄存器TMODD7D6D5D4D3D2D1D0-GATEM1M0定時(shí)/計(jì)數(shù)器T0的初值設(shè)置,定時(shí)/計(jì)數(shù)器T0由特殊寄存器TH0和TL0組成,此次我們需要以1s為單位來計(jì)算時(shí)間,但是1s的時(shí)間太長,單片機(jī)的定時(shí)器采用方式1最長也只能定時(shí)65536us,所以采用定時(shí)50ms,中斷20次來獲得1s的時(shí)間;由此可以計(jì)算出初值為65536-50000=15536;所以給T0的初值應(yīng)該為15536;TH0賦值高8位:15536右移8位,TL0賦值為低8位:15536與上255。由于T0工作在方式1,不具有自動(dòng)重裝初值的功能,所以在每次中斷發(fā)生以后都需要在中斷程序里利用程序給TH0和TL0重新賦初值。另外與T0中斷有關(guān)的、需要設(shè)置的寄存器還有定時(shí)器控制寄存器TCON的TR0位和中斷允許寄存器IE的EA位和ET0位,在這里,我們只需要將這些位設(shè)置為1就可以完成定時(shí)器0的初始化設(shè)置。T0中斷源在C程序的中斷號是interrupt 1,在編寫中斷程序的時(shí)候需要加上中斷號。在中斷程序中我們主要計(jì)算時(shí)間的時(shí)、分、秒,用于系統(tǒng)電路的計(jì)時(shí)功能,此中斷程序只會(huì)在中斷觸發(fā)以后執(zhí)行,程序的流程圖如圖4.1所示。圖4.1 定時(shí)器T0中斷程序流程圖4.2 外部中斷計(jì)程程序設(shè)計(jì)STC89C52RC單片機(jī)有兩個(gè)外部中斷源,本次的設(shè)計(jì)在計(jì)算路程的程序中就用到了一個(gè)外部中斷源,選擇的是外部中斷1,它對應(yīng)的是我們單片機(jī)的P3.3腳,它在C程序中的中斷號是interrupt 2。外部中斷1的設(shè)置主要是它的觸發(fā)方式,它的觸發(fā)方式有兩種:一是低電平觸發(fā)方式、二是邊沿觸發(fā)方式;P3.3腳外接的光電傳感器模塊在沒有遮擋時(shí)會(huì)長時(shí)間輸入低電平,如果采用低電平觸發(fā)方式有可能會(huì)出現(xiàn)一次中斷請求而發(fā)生多次中斷請求的情況,所以在這里選擇邊沿觸發(fā)方式。選擇邊沿觸發(fā)方式的設(shè)置只需要把定時(shí)控制寄存器TCON的IT1設(shè)置為1。中斷允許寄存器IE的EA和EX1也與外部中斷1有關(guān),所以也要將其設(shè)置為1。在外部中斷1的程序中我們只作統(tǒng)計(jì)發(fā)生外部中斷1的次數(shù)的工作,其余計(jì)算路程和金額的程序放在主程序中進(jìn)行計(jì)算,以便于縮短CPU執(zhí)行中斷程序的時(shí)間。4.3串口語音發(fā)送程序的設(shè)計(jì) 串口中斷的初始化程序設(shè)計(jì)主要是對相關(guān)寄存器的設(shè)置和串口波特率的設(shè)置,需要設(shè)置的寄存器主要有控制狀態(tài)寄存器SCON、電源控制寄存器PCON的SMOD位、定時(shí)控制寄存器TCON的TR1位和T1定時(shí)/計(jì)數(shù)器。SCON寄存器的設(shè)置,主要用于定義串口通信口的工作方式和反映串行口狀態(tài),這次我們選用的是方式1的工作方式,表示8位UATR(串行異步通信接口);打開寄存器的REN位,所以給SCON寄存器賦值0X50。PCON寄存器與串口相關(guān)的只有SMOD位,它是波特率倍增位,當(dāng)將該位設(shè)置位1的時(shí)候,表示串口波特率加倍。波特率的發(fā)生需要定時(shí)器產(chǎn)生時(shí)鐘信號,由于在前面已經(jīng)用了T0定時(shí)/計(jì)數(shù)器,所以這里只能用T1定時(shí)/計(jì)數(shù)器,這里T1定時(shí)/計(jì)數(shù)器選用方式2的工作模式,便于每次溢出后能夠自動(dòng)的重裝初值;串口語音信號發(fā)送的波特率選用的是9600;外部的石英晶振頻率為11.0592MHz,根據(jù)公式1通過計(jì)算得出T1的初始值X為0xFA,即表示我們要給TH1和TH1都賦值為0xFA。 (公式1)當(dāng)這些寄存器設(shè)置完畢以后將TCON寄存器的TR1置1即可運(yùn)行T1定時(shí)/計(jì)算器。串口數(shù)據(jù)在發(fā)送前要根據(jù)通信協(xié)議設(shè)置TB8,然后將要發(fā)送的數(shù)據(jù)在主程序中直接寫入發(fā)送緩沖器SBUF,便可自動(dòng)啟動(dòng)發(fā)送過程。串行口能自動(dòng)的把TB8取出,并裝入到第九位的數(shù)據(jù)位的位置,再逐一發(fā)送出去1。4.4主程序的設(shè)計(jì)在整個(gè)程序的設(shè)計(jì)中最重要的是主程序,它的主要任務(wù)是完成中斷的初始化、液晶初始化及液晶信息顯示、開關(guān)狀態(tài)檢測、模式的調(diào)節(jié)等。它的主要流程圖如下圖4.2所示。在主程序中很多地方都采用了調(diào)用子函數(shù)的方法來縮短主函數(shù)代碼,由于子函數(shù)封裝得比較多,這里就不對他們做過多的說明。開始初始化液晶顯示信息、設(shè)置中斷否開始計(jì)費(fèi)按鈕是否按下是開啟中斷、液晶清屏、發(fā)送語音提示信息計(jì)算路程、計(jì)算消費(fèi)金額、液晶顯示信息否暫停計(jì)費(fèi)按鈕是否按下是關(guān)閉中斷、發(fā)送語音提示信息否開始按鈕是否按下是開啟中斷、發(fā)送語音提示信息否是否已剛好行駛2km是發(fā)送語音提示信息清出所有計(jì)費(fèi)數(shù)據(jù)否消費(fèi)金額是否為10的倍數(shù)是發(fā)送語音提示信息否結(jié)賬按鈕是否按下是發(fā)送語音提示信息、關(guān)閉中斷是 返回主界面按鈕是否按下否圖4.2 主程序流程圖5 硬件電路的制作與調(diào)試5.1 硬件電路的制作整個(gè)硬件電路是在萬能板上面焊接原件和連接焊點(diǎn)而組成的,在制作的時(shí)候首先是布局的問題,只有一開始布好局在走線的時(shí)候才不會(huì)顯得那么亂,制作好以后才會(huì)顯得美觀,電路的性能才會(huì)可靠,不會(huì)出現(xiàn)接觸不良等問題。這次在電路板上,為了擔(dān)心元器件損壞,或者為了有些元器件能夠再次利用,我都采用了焊接芯片座的方式將一些引腳比較多的原件直接插在座子上面實(shí)驗(yàn)。硬件電路的實(shí)物圖如圖5.1所示。此電路板上加了一個(gè)電機(jī),其目的是方便演示和調(diào)試。圖 5.1 電路實(shí)物圖5.2 硬件調(diào)試的結(jié)果在經(jīng)過多次的程序修改和硬件電路的改進(jìn)后,整個(gè)硬件電路的調(diào)試結(jié)果已經(jīng)能夠達(dá)到預(yù)期設(shè)想的效果了,圖5.2和5.3是最終調(diào)試成功后在某個(gè)時(shí)候的顯示結(jié)果圖。電路能夠正常的通過光電傳感器計(jì)算行駛的路程;在開關(guān)的控制下能夠正常的運(yùn)行;液晶能正常的把信息顯示出來;也能在特殊的時(shí)候進(jìn)行語音提示播報(bào)。28圖 5.2 硬件的初始顯示界面圖圖 5.3 硬件的行程信息顯示圖5.3 PCB板的繪制硬件電路的調(diào)試成功,說明電路的可行性。為了便于生產(chǎn)與使用,我將電路繪制成PCB板。本次繪制PCB板選用的是protel 99 se軟件。在前面我們已將電路的原理圖繪制成功了,所以在現(xiàn)在只需要將原有的電路添加到PCB板界面進(jìn)行繪制就可以完成制作了。完成的結(jié)果如圖5.4所示;進(jìn)過3D視圖看到的效果如圖5.5所示。 圖5.4 PCB板圖圖5.5 PCB板3D視圖6 總結(jié)思考本次的畢業(yè)設(shè)計(jì)雖然順利的完成了,但是并不能完全的投入到實(shí)際中去使用,其原因是存在計(jì)算精度和功能方面的缺陷問題。在計(jì)算精度方面存在的主要問題就是計(jì)算路程并沒有以實(shí)際的車輪周長去計(jì)算,而是為了方便演示隨便給了一個(gè)比實(shí)際值要大的值,這就造成了計(jì)算的路程和費(fèi)用出現(xiàn)嚴(yán)重的誤差,但這個(gè)問題可以通過修改調(diào)試程序解決;在功能方面的主要缺陷問題就是時(shí)間和計(jì)費(fèi)方式方面,因?yàn)殡娐凡荒茏詣?dòng)的去獲取當(dāng)前的時(shí)間,就沒有辦法去區(qū)分晚上和白天,而且也沒有掉電保護(hù)功能,在異常掉電的情況下,所有的計(jì)算數(shù)據(jù)就清零了,這是電路存在的兩大缺陷問題,這兩個(gè)問題就需要在單片機(jī)外圍加上一些輔助電路和配合單片機(jī)的程序去解決,這是此次電路設(shè)計(jì)的主要缺陷問題。在經(jīng)過了長達(dá)一個(gè)月的努力后,畢業(yè)設(shè)計(jì)已經(jīng)完成得差不多了,雖然還有許多需要改進(jìn)和不足的地方,但是大部分的功能已經(jīng)完整的實(shí)現(xiàn)了。在這期間經(jīng)歷了選題、查資料、選材料、電路板焊接、程序的編寫、論文的撰寫等過程。其實(shí)最讓我痛苦的是選題的階段;在后期的制作與調(diào)試階段雖然也遇到過很多困難,但在指導(dǎo)老師和一些同學(xué)們的幫助或建議下順利地度過了難關(guān)。本次的畢業(yè)設(shè)計(jì)不但強(qiáng)化了我所學(xué)過的專業(yè)基礎(chǔ)知識,而且還學(xué)到了很多新的知識,更讓我們懂得了如何將所學(xué)到的知識應(yīng)用于實(shí)際的生活中;讓我收獲最大的就是懂得了如何客服困難,這在以后的生活和工作中都是最寶貴的財(cái)富。參考文獻(xiàn)1周國運(yùn). 單片機(jī)原理及應(yīng)用 C語言版. 北京:中國水利水電出版社, 2009.02. 2王柏盛.C 程序設(shè)計(jì)M.高等教育出版社. 2004.3楊志忠主編. 數(shù)字電子技術(shù)基礎(chǔ). 北京:高等教育出版社, 2004.01.4楊居義編著. 單片機(jī)案例教程. 北京:清華大學(xué)出版社, 2015.01.5楊庚辰.自動(dòng)控制原理M.西安:電子科技大學(xué)出版社,2011.4.6代萬輝,陳松方編著. 全國電子設(shè)計(jì)大賽培訓(xùn)寶典. 北京:北京航空航天大學(xué)出版社, 2012.05. 7張義和等編著. 例說51單片機(jī) C語言版. 北京:人民郵電出版社, 2008.04.8侯殿有主編. 單片機(jī)C語言程序設(shè)計(jì). 北京:人民郵電出版社, 2010.11. 9孫少文,陸中宏主編. 傳感器. 北京:中央廣播電視大學(xué)出版社, 2014.01. 10丁繼斌編著. 傳感器. 北京:化學(xué)工業(yè)出版社, 2010.03. 11張玉蓮.傳感器與自動(dòng)檢測技術(shù)J.北京:機(jī)械工業(yè)出版社,2007.9:4-8.12王英主編. 電子技術(shù)實(shí)驗(yàn)教程 電工學(xué) 2 模電實(shí)驗(yàn) 數(shù)電實(shí)驗(yàn) 綜合設(shè)計(jì)與仿真實(shí)驗(yàn). 成都:西南交通大學(xué)出版社, 2015.03. 13胡新宇.傳感器與自動(dòng)檢測技術(shù)M.北京:高等教育出版社,2006.14鄧興成.單片機(jī)原理與實(shí)踐指導(dǎo)M.北京:機(jī)械工業(yè)出版社,2010.2.15劉向宇.單片機(jī)C語言程序設(shè)計(jì)實(shí)例精粹J.北京:電子工業(yè)出版社,2010,2:12-21.16夏路易,石宗義編著. 電路原理圖與電路板設(shè)計(jì)教程 Protel 99SE. 北京:北京希望電子出版社, 2002.06. 17姚年春編著. Protel 99SE基礎(chǔ)教程. 北京:人民郵電出版社, 2009.04. 18童詩白,華成英主編.模擬電子技術(shù)基礎(chǔ)(第四版)M.北京:高等教育出版社,2007.9.19SYN6288中文語音合成芯片數(shù)據(jù)手冊J.The Design Of Taxi MeterXxxInstitute of physics and electronic engineeri Electronic information engineering 1230xxxxxAbstract The design is a shart changing system which mainly for the arban taxi operation.and it core for the single chip processor STC89C52RC. Through the photoelectric sensor to accumulate the number of turns of the rotation of the wheels and algorithms to calculate the driving distance. And according to the corresponding fee standards to get the charge should be. Through the LCD12864 to show the distance, unit price, the information of the time and the amount of consumption and so on. In certain time there is speech hint by using voice module of SYN6288. This design can also adjust the charge standard according to the users own situation.Key words Taxi meter, SYN6288, LCD12864, Photoelectric sensor.附錄系統(tǒng)源代碼main.h文件源代碼:#ifndef _main_h_#define _main_h_#include 12864.h#include sbit begin_key = P10;/開始計(jì)費(fèi)按鈕sbit pause_key = P11;/暫停計(jì)費(fèi)按鈕sbit end_key = P12;/結(jié)算費(fèi)用按鈕sbit mface_key = P13;/返回主界面按鈕sbit nigday_key = P16;/晚上白天切換按鈕unsigned short degree = 0; /統(tǒng)計(jì)T0發(fā)生中斷的次數(shù),滿20次清零,時(shí)間加1sunsigned short flag1 = 0; /協(xié)助語音發(fā)送,以免重復(fù)unsigned short flag2 = 0; /協(xié)助語音發(fā)送,以免重復(fù)unsigned short flag3 = 0; /判斷當(dāng)前是白天狀態(tài)還是晚上狀態(tài)float runs = 2.5; /路程的比較值,當(dāng)路程大于runs則加上單價(jià)unsigned short hour = 0; /時(shí)unsigned short minutes = 0; /分unsigned short seconds = 0; /秒unsigned short value = 0; /統(tǒng)計(jì)外部中斷的次數(shù),滿100次,路程加0.1KMunsigned int run_int = 0; / 路程的整數(shù)部分unsigned int run_fac = 0; /路程的小數(shù)部分unsigned int money_int = 5; /金額的整數(shù)部分unsigned int money_fac = 0; /金額的小數(shù)部分unsigned char time10; /要顯示的時(shí)間字符串unsigned char money_str10; /要顯示的金錢字符串unsigned char voice40; /要發(fā)送的語音字符串unsigned char run_str10; /要顯示的路程字符串unsigned char* time_string(); /將時(shí)、分、秒轉(zhuǎn)換成一個(gè)字符串unsigned char* run_string(); /將路程轉(zhuǎn)換成一個(gè)字符串unsigned char* money_string(); /將金額轉(zhuǎn)換成一個(gè)字符串void send(char *text,char length);/發(fā)送一個(gè)要播放的語音信號void interrupt_set(); /中斷相關(guān)寄存器設(shè)置void count_run(); /路程算法函數(shù) void count_money(); /金額算法函數(shù)void Init_show(); /液晶初始顯示信息void mess_show(); /計(jì)費(fèi)時(shí)動(dòng)態(tài)顯示信息void init_data(); /還原所有的數(shù)據(jù)#endifmain.c文件源代碼:#include main.hint main()while(1) Init_show(); interrupt_set(); /設(shè)置中斷strcpy(voice,計(jì)費(fèi)開始起步價(jià)五元); send(voice,strlen(voice);LcdInit(); /初始化液晶while(1)count_run();count_money();mess_show();if(nigday_key = 0) if(flag3 = 0)flag3 = 1;else flag3 = 0; if(pause_key = 0) /暫停開關(guān)按下執(zhí)行 EA = 0;strcpy(voice,計(jì)費(fèi)暫停); send(voice,strlen(voice);while(1)if(begin_key = 0)/開始開關(guān)按下執(zhí)行并跳出循環(huán)EA = 1;strcpy(voice,計(jì)費(fèi)開始); send(voice,strlen(voice);break;if(end_key = 0) strcpy(voice, 您本次消費(fèi));strcat(voice, money_str);strcat(voice,元);send(voice,strlen(voice);while(1)if(mface_key = 0)break;init_data();break; if(run_int = 2) & (flag1 = 0)/如果行駛路程超過2KM,則播放語音if(flag3 = 0)strcpy(voice,您已行駛兩公里現(xiàn)在以1.6元一公里計(jì)費(fèi)); elsestrcpy(voice,您已行駛兩公里現(xiàn)在以1.8元一公里計(jì)費(fèi));send(voice,strlen(voice);flag1 = 1;if(money_int-9)%10 = 0)flag2 = 0;if(money_int % 10 = 0) & (flag2 = 0) /如果消費(fèi)金額滿10元?jiǎng)t播放此語音strcpy(voice,您已消費(fèi));money_str3 = 0;money_str4 = 0;strcat(voice, money_str);strcat(voice,元); send(voice,strlen(voice);flag2 = 1;/*恢復(fù)變量函數(shù),以便對下次收費(fèi)進(jìn)行計(jì)費(fèi)*/void init_data()hour = 0; minutes = 0; seconds = 0;run_int = 0;run_fac = 0;runs = 2.5;value = 0;flag1 = 0;flag2 = 0;money_int = 5;money_fac = 0;EA = 0; /*LCD初始化顯示*/void Init_show()begin_key = 1;pause_key = 1;end_key = 1;mface_key = 1;nigday_key = 1;LcdInit();Location(1,0);Print(歡迎乘坐出租車);Location(2,0);Print(起步價(jià)¥5);Location(3,0);Print(單價(jià):白天¥1.6);Location(4,3);Print(晚上¥1.8);while(1)if(begin_key = 0)break;return;/*顯示信息*/void mess_show() Location(1,0);if(flag3 = 0)Print(單價(jià):¥1.6 );else Print(單價(jià):¥1.8 );Location(2,0);Print(計(jì)時(shí):);Print(time_string();Location(3,0);Print(計(jì)程:);Print(run_string();Location(4,0);Print(消費(fèi)金額:);Print(money_string();DelayMs(10);/*中斷設(shè)置函數(shù)*/void interrupt_set() EA = 1; /開中斷允許請求總開關(guān) ET0 = 1; /開T0中斷請求EX1 = 1; /允許外部中斷1請求IT1 = 1; /采用下降沿觸發(fā)TMOD = 0x21; /選擇方式0計(jì)數(shù)方式TH0 = (65536 - 50000) 8; TL0 = (65536 - 50000) & 255;TR0 = 1; /開啟中斷TL1 = 0xFA;TH1 = 0xFA;SCON = 0x50;PCON = 0x80;REN = 1;RI = 0;TI = 0;TR1 = 1;/*發(fā)送語音信號函數(shù)*/void send(char *text,char length)unsigned int i = 0;unsigned char det = 0;char set5 = 0xfd,0x00,0,0x01,0x01;set2 = length + 3;for(i=0; i5; i+)det = seti;SBUF = seti;while(TI = 0);TI = 0;for(i = 0; i 8; TL0 = (65536 - 50000) & 255;degree+;if(degree = 20) degree = 0; seconds+;if(seconds = 60)seconds = 0;minutes+;if(minutes = 60)minutes = 0; hour+;/*計(jì)算總價(jià)的函數(shù)*/void count_money()float run = run_int + 0.1 * run_fac;if(run = runs)runs += 0.5;if(flag3 = 0)money_fac += 8;else money_fac += 9;if(money_fac = 10)money_int+;money_fac = money_fac % 10 ;/*將消費(fèi)金額轉(zhuǎn)換成一個(gè)字符串*/unsigned char* money_string() int i = 0;if(money_int = 10 & money_int = 100)run_fac+;value = 0;if(run_fac = 10)run_fac = 0;run_int+;/*將路程的整數(shù)和小數(shù)部分轉(zhuǎn)換成字符串*/unsigned char* run_string()int i = 0;if(run_int = 10 & run_int 100) run_stri+ = run_int / 10 + 0;run_stri+ = run_int % 10 + 0; else run_stri+ = run_int / 100 + 0;run_stri+ = (run_int % 100) / 10 + 0;run_stri+ = run_int % 10 + 0;run_stri+ = .;run_stri+ = run_fac + 0;run_stri+ = k;run_stri+ = m;run_stri = 0;return run_str;/*將一個(gè)時(shí)間轉(zhuǎn)換成字符串*/unsigned char* time_string() *(time + 0) = hour / 10 + 0;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 續(xù)簽勞動(dòng)合同的要素
- 新材料在生物芯片制備中的應(yīng)用研究考核試卷
- 腳本創(chuàng)作勞務(wù)合同
- 紡紗工藝對環(huán)境的影響評價(jià)考核試卷
- 模具制造工藝參數(shù)優(yōu)化考核試卷
- 生活服務(wù)行業(yè)互聯(lián)網(wǎng)平臺社會(huì)影響力分析考核試卷
- 振動(dòng)控制技術(shù)及其在工程中的應(yīng)用考核試卷
- 無線網(wǎng)絡(luò)連接速度優(yōu)化考核試卷
- 肉制品加工產(chǎn)品多樣化與品質(zhì)提升策略考核試卷
- 2025年卓雅學(xué)校九年級語文3月模擬練習(xí)試卷附答案解析
- 2024年蘇州高鐵新城國有資產(chǎn)控股(集團(tuán))有限公司招聘筆試沖刺題(帶答案解析)
- 剪叉式升降工作平臺作業(yè)專項(xiàng)施工方案24
- 2024中考地理復(fù)習(xí)知識要點(diǎn)提綱(-商務(wù)星球版-)
- 鉛鋅礦的礦石加工與冶煉技術(shù)改進(jìn)
- 《群英會(huì)蔣干中計(jì)》課件 2023-2024學(xué)年高教版中職語文基礎(chǔ)模塊下冊
- 2024年地基基礎(chǔ)(基樁靜荷載試驗(yàn))知識考試題庫(供參考)
- 保密管理與人工智能技術(shù)發(fā)展
- 毒理學(xué)新技術(shù)
- 新生兒貧血護(hù)理查房課件
- 電信電源專業(yè)應(yīng)急預(yù)案
- “0”何去何從-小數(shù)近似數(shù)的教學(xué)思考與實(shí)踐 論文
評論
0/150
提交評論