版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科畢業(yè)論文(設(shè)計(jì))</p><p><b> ?。ǘ?屆)</b></p><p> 基于單片機(jī)的出租車(chē)計(jì)價(jià)器設(shè)計(jì)</p><p> 所在學(xué)院 </p><p> 專(zhuān)業(yè)班級(jí) 電氣工程及其自動(dòng)化 </p>
2、<p> 學(xué)生姓名 學(xué)號(hào) </p><p> 指導(dǎo)教師 職稱(chēng) </p><p> 完成日期 年 月 </p><p><b> 摘 要</b></p><p> 本系統(tǒng)
3、以AT89S51單片機(jī)為核心,主要包括電源電路、霍爾傳感器路程測(cè)量電路、數(shù)據(jù)顯示電路、數(shù)據(jù)存儲(chǔ)電路等,各電路端口分別與單片機(jī)AT89S51相連,通過(guò)單片機(jī)的控制來(lái)實(shí)現(xiàn)計(jì)價(jià)器的功能。</p><p> 單片機(jī)采集并判斷空車(chē)燈信號(hào)及路程檢測(cè)傳感器信號(hào),當(dāng)出租車(chē)啟動(dòng)時(shí),單片機(jī)檢測(cè)到霍爾傳感器的脈沖信號(hào)并進(jìn)行里程計(jì)算。當(dāng)無(wú)乘客時(shí),單片機(jī)調(diào)用實(shí)時(shí)時(shí)間芯片DS1302程序,用8個(gè)數(shù)碼管進(jìn)行時(shí)鐘顯示;當(dāng)空車(chē)燈掰下乘客上車(chē)時(shí):
4、通過(guò)DS1302獲取時(shí)間信息分辨白天/晚上,然后調(diào)用AT24C02程序獲取白天/晚上的單價(jià)及起始價(jià),便開(kāi)始計(jì)價(jià)并顯示時(shí)間、里程和金額等信息;當(dāng)空車(chē)燈打上乘客下車(chē)時(shí):?jiǎn)纹瑱C(jī)將營(yíng)運(yùn)數(shù)據(jù)信息存儲(chǔ)到AT24C02中,等待出租車(chē)再次啟動(dòng)后單次金額與里程等信息清零復(fù)位,就此完成一次計(jì)價(jià)。</p><p> 結(jié)果表明計(jì)價(jià)器具有實(shí)時(shí)顯示行駛里程和費(fèi)用、能夠顯示時(shí)鐘。與已有的系統(tǒng)相比簡(jiǎn)單明了,此系統(tǒng)能更好的為乘客和司機(jī)服務(wù)。&l
5、t;/p><p> 關(guān)鍵詞:出租車(chē)計(jì)價(jià)器;AT89S51;DS1302;AT24C02</p><p><b> Abstract</b></p><p> This system regards AT89S51 one-chip computer as the core. Systematic scheme including journe
6、y, circuit of power and transducer of Hall measure circuit, data reveal circuit, data store circuit,etc. mainly. Every circuit port links with output mouth of the one-chip computer AT89S51 separately, realize the functio
7、n of the meter by control of the one-chip computer.</p><p> The one-chip computer gathers and judges empty car light signal and journey measure the transducer signal, when the taxi starts, the one-chip comp
8、uter measures to the pulse signal of Hall's transducer and calculates the mileage. When there are no passengersing, the one-chip computer transfers for real-time time chip DS1302 procedure, reveals the clock with 8 d
9、igital tubes; When the air and broke off the lights when boarding: DS1302 to get time information through the resolution day/night, and th</p><p> The artificial result indicates the meter reveals distance
10、travelled and expenses, can reveal the clock in real time.Compared with the existing system, this system has stronger function,such as reminding of the excessive speed and so on.</p><p> Keywords:Taximeter;
11、AT89S51;DS1302;AT24C02</p><p><b> 目 錄</b></p><p><b> 引言1</b></p><p><b> 2 總體設(shè)計(jì)2</b></p><p> 2.1方案論證及比較2</p><p>
12、 2.1.1主控模塊的選擇2</p><p> 2.1.2傳感器模塊的選擇2</p><p> 2.1.3顯示模塊的選擇3</p><p> 2.2 系統(tǒng)總體方案3</p><p><b> 3 硬件設(shè)計(jì)5</b></p><p> 3.1 AT89S51單片機(jī)系統(tǒng)5<
13、;/p><p> 3.1.1 AT89S51單片機(jī)5</p><p> 3.1.2單片機(jī)最小系統(tǒng)6</p><p> 3.2 電源模塊7</p><p> 3.3 路程測(cè)量模塊7</p><p> 3.4 數(shù)據(jù)顯示模塊10</p><p> 3.5時(shí)鐘模塊11</p&g
14、t;<p> 3.6 數(shù)據(jù)存儲(chǔ)模塊13</p><p> 3.7按鍵設(shè)置模塊14</p><p> 4 系統(tǒng)軟件設(shè)計(jì)16</p><p> 4.1 主程序16</p><p> 4.2 中斷程序17</p><p> 4.2.1 里程計(jì)數(shù)中斷程序17</p><
15、;p> 4.2.2 中途等待中斷程序17</p><p> 4.3 計(jì)算程序17</p><p><b> 5 調(diào)試19</b></p><p> 5.1硬件部分的調(diào)試19</p><p> 5.2 軟件部分的調(diào)試19</p><p><b> 6 結(jié)論20
16、</b></p><p><b> 參考文獻(xiàn)21</b></p><p> 附錄1 實(shí)驗(yàn)原理圖22</p><p> 附錄2 程序清單23</p><p><b> 引言</b></p><p> 車(chē)計(jì)價(jià)器是出租車(chē)營(yíng)運(yùn)收費(fèi)的專(zhuān)用智能化儀表,隨著
17、電子技術(shù)的發(fā)展,出租車(chē)計(jì)價(jià)器技術(shù)也在不斷進(jìn)步和提高。國(guó)內(nèi)出租車(chē)計(jì)價(jià)器已經(jīng)經(jīng)歷了4個(gè)階段的發(fā)展。從傳統(tǒng)的全部由機(jī)械元器件組成的機(jī)械式,到半電子式即用電子線路代替部分機(jī)械元器件的出租車(chē)計(jì)價(jià)器;再?gòu)募呻娐肥降侥壳暗膯纹瑱C(jī)系統(tǒng)設(shè)計(jì)的出租車(chē)計(jì)價(jià)器。出租車(chē)計(jì)價(jià)器計(jì)費(fèi)是否準(zhǔn)確是乘客最關(guān)心的問(wèn)題,而計(jì)價(jià)器營(yíng)運(yùn)數(shù)據(jù)的管理是否方便才是出租車(chē)司機(jī)最關(guān)注的。因此怎樣設(shè)計(jì)出一種既能有效防止司機(jī)作弊又能方便司機(jī)的計(jì)價(jià)器尤為重要[1]。</p>&l
18、t;p> 因此,本文以單片機(jī)AT89S51為核心設(shè)計(jì)一款多功能出租車(chē)計(jì)價(jià)器,該計(jì)價(jià)器能實(shí)現(xiàn)里程計(jì)價(jià)與顯示、數(shù)據(jù)存儲(chǔ)與查詢(xún)、時(shí)鐘顯示等功能。它比市場(chǎng)上的一些計(jì)價(jià)器使用更方便,更明了,還具有有效防止司機(jī)作弊和系統(tǒng)穩(wěn)定性好的優(yōu)點(diǎn)。</p><p><b> 2 總體設(shè)計(jì)</b></p><p> 按照系統(tǒng)的設(shè)計(jì)要求,本次系統(tǒng)設(shè)計(jì)采用單片機(jī)采集空車(chē)燈信號(hào)及路程檢測(cè)
19、傳感器信號(hào),當(dāng)出租車(chē)啟動(dòng)時(shí),單片機(jī)檢測(cè)到霍爾傳感器的脈沖信號(hào)并進(jìn)行里程計(jì)算。若已超過(guò)起價(jià)公里數(shù),則根據(jù)里程值、每公里的單價(jià)數(shù)和起價(jià)數(shù)來(lái)計(jì)算當(dāng)前的累積價(jià)格,并將結(jié)果存于價(jià)格寄存器中,在將時(shí)間和當(dāng)前累積價(jià)格送液晶顯示電路顯示出來(lái)。當(dāng)?shù)竭_(dá)目的地時(shí),霍爾傳感器就會(huì)停止輸送脈沖信號(hào),就停止計(jì)價(jià),這時(shí)計(jì)價(jià)開(kāi)關(guān)斷開(kāi),顯示當(dāng)前應(yīng)付的金額和對(duì)應(yīng)的單價(jià)、里程,到下次重啟計(jì)價(jià)時(shí),系統(tǒng)自動(dòng)對(duì)顯示清零,并重新進(jìn)行初始化過(guò)程。</p><p&g
20、t; 2.1方案論證及比較</p><p> 2.1.1主控模塊的選擇</p><p> 主控模塊作為整個(gè)系統(tǒng)的控制核心,其性能的好壞對(duì)系統(tǒng)工作的影響是非常重要的,經(jīng)過(guò)資料翻閱,初步設(shè)定以下幾種方案供參考。</p><p> 方案一:采用CPLD芯片為主導(dǎo)的控制核心,CPLD是一種用戶(hù)根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。其基本設(shè)計(jì)方法是借助集成開(kāi)發(fā)
21、軟件平臺(tái),用原理圖、硬件描述語(yǔ)言等方法,生成相應(yīng)的目標(biāo)文件,通過(guò)下載電纜將代碼傳送到目標(biāo)芯片中,實(shí)現(xiàn)設(shè)計(jì)的數(shù)字系統(tǒng)。CPLD保密性好但比較復(fù)雜,且功耗比較大,集成度越高越明顯。</p><p> 方案二:采用AT89S51單片機(jī),它是低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4K bytes的可系統(tǒng)編程的Flash只讀程序存儲(chǔ)器,具有功能強(qiáng)大,價(jià)格低廉的特點(diǎn)。</p><p> 本次設(shè)
22、計(jì)采用AT89S51單片機(jī)。</p><p> 2.1.2傳感器模塊的選擇</p><p> 出租車(chē)計(jì)價(jià)器電路中磁電式傳感器的作用是能夠感受(或者響應(yīng))規(guī)定的被測(cè)量,并按照一定規(guī)律轉(zhuǎn)換成可用信號(hào)輸出,即磁電式傳感器在電路中的功能應(yīng)是直接將車(chē)輛變速輸出的機(jī)械轉(zhuǎn)動(dòng)量信號(hào)有效地、準(zhǔn)確地轉(zhuǎn)換為電脈沖信號(hào),輸入計(jì)價(jià)器主機(jī)接口,再驅(qū)動(dòng)計(jì)價(jià)器主機(jī)內(nèi)部的電子電路工作。</p><p
23、> 方案一:干簧管型傳感器靈敏度比較高,體積小,安裝簡(jiǎn)單,價(jià)格便宜,并且干簧管的接觸簧片封裝在玻璃管內(nèi),可以再比較潮濕和溫差較大的環(huán)境中使用,但由于是機(jī)械觸點(diǎn),使用次數(shù)有限,且只能通過(guò)較小的電流,如果電流較大,則使用壽命較短[2]。</p><p> 方案二:霍爾型傳感器有線性傳感器和開(kāi)關(guān)型傳感器兩種,而使用的最多的為開(kāi)關(guān)型霍爾型傳感器,為適用耐高溫環(huán)境,一般選用霍爾傳感器集成芯片A44E較為可靠,是目
24、前出租車(chē)計(jì)價(jià)器所選用的主流產(chǎn)品。</p><p> 本設(shè)計(jì)亦采用霍爾傳感器A44E作為車(chē)速檢測(cè)和路程測(cè)量的傳感器。</p><p> 2.1.3顯示模塊的選擇</p><p> 顯示部分是用來(lái)顯示要的信息,根據(jù)調(diào)查,顯示部分基本上只用兩種顯示器。</p><p> 方案一:采用數(shù)碼管顯示。數(shù)碼管亮度高、體積小、重量輕,價(jià)格低廉,能顯示
25、簡(jiǎn)單的信息,在本課題中剛好得以應(yīng)用。</p><p> 方案二:采用液晶顯示。液晶顯示功耗低,輕便防震。但由于本課題顯示的信息簡(jiǎn)單,不需要顯示復(fù)雜的信息,若采用液晶就造成資源浪費(fèi)。</p><p> 本著系統(tǒng)設(shè)計(jì)硬件選擇經(jīng)濟(jì)實(shí)惠的原則,采用數(shù)碼管顯示。</p><p> 2.2 系統(tǒng)總體方案</p><p> 本系統(tǒng)的結(jié)構(gòu)框圖如圖2-
26、1所示。系統(tǒng)的工作原理為:霍爾傳感器集成芯片A44E有信號(hào)轉(zhuǎn)換、電壓放大、整形輸出等功能。由A44E霍爾傳感器檢測(cè)到的脈沖信號(hào),經(jīng)過(guò)處理送到單片機(jī)里程寄存器。</p><p> 里程計(jì)價(jià)單元:里程計(jì)算是通過(guò)安裝在車(chē)輪上的霍爾傳感器檢測(cè)到的信號(hào),送到單片機(jī),經(jīng)處理計(jì)算,送給顯示單元的。設(shè)車(chē)輪周長(zhǎng)為1m,則霍爾傳感器每產(chǎn)生100個(gè)脈沖便表示車(chē)已行程0.1km,根據(jù)實(shí)際情況在程序中進(jìn)行設(shè)置。</p>&
27、lt;p> 數(shù)據(jù)儲(chǔ)存電路:采用I2總線的E2PROM存儲(chǔ)器AT24C02,其存儲(chǔ)容量為8kB,SCL為時(shí)鐘線,SDA為數(shù)據(jù)線。</p><p> 時(shí)鐘電路:采用DS1302記錄年、月、日、時(shí)、分、秒、星期及日期。</p><p> 按鍵設(shè)置模塊:采用4個(gè)獨(dú)立鍵盤(pán),分別實(shí)現(xiàn)清零、切換、增大、減小和功能等作用。</p><p> 圖2-1 系統(tǒng)結(jié)構(gòu)框圖&l
28、t;/p><p><b> 3 硬件設(shè)計(jì)</b></p><p> 本系統(tǒng)由電源模塊、霍爾傳感器路程測(cè)量模塊、數(shù)據(jù)顯示模塊、時(shí)鐘模塊、按鍵設(shè)置模塊和數(shù)據(jù)存儲(chǔ)模塊等組成,各模塊分別與單片機(jī)AT89S51的輸出口相連,通過(guò)單片機(jī)的控制來(lái)實(shí)現(xiàn)計(jì)價(jià)器的功能。</p><p> 3.1 AT89S51單片機(jī)系統(tǒng)</p><p>
29、 3.1.1 AT89S51單片機(jī)</p><p> AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS -51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大
30、的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性?xún)r(jià)比的解決方案。</p><p> AT89S51具有如下特點(diǎn):40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門(mén)狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。</p>
31、<p> 此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷 系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求[3]。</p><p> 它的主要功能特性是:</p>&l
32、t;p> ·兼容MCS-51指令系統(tǒng)</p><p> ·4K可反復(fù)擦寫(xiě)(>1000次)ISP Flash ROM</p><p> ·32個(gè)雙向I/O口</p><p> ·4.5-5.5V工作電壓</p><p> ·2個(gè)16位可編程定時(shí)/計(jì)數(shù)器</p>
33、<p> ·時(shí)鐘頻率0-33MHz</p><p> ·全雙工UART串行中斷口線</p><p> ·128x8bit內(nèi)部RAM·2個(gè)外部中斷源</p><p> ·低功耗空閑和省電模式</p><p><b> ·中斷喚醒省電模式</b&g
34、t;</p><p><b> ·3級(jí)加密位</b></p><p> ·看門(mén)狗(WDT)電路</p><p> ·軟件設(shè)置空閑和省電功能</p><p> ·靈活的ISP字節(jié)和分頁(yè)編程</p><p><b> ·雙數(shù)據(jù)寄存器
35、指針</b></p><p> 3.1.2單片機(jī)最小系統(tǒng)</p><p> 單獨(dú)的單片機(jī)是不能夠工作的,它要配合外圍電路才能實(shí)現(xiàn)各種控制。單片機(jī)最小系統(tǒng)電路由AT89S52單片機(jī)、電源、時(shí)鐘電路和復(fù)位電路組成,是整個(gè)電路的主要部分。</p><p> 圖3-1 單片機(jī)最小系統(tǒng)原理圖</p><p><b> 3
36、.2 電源模塊</b></p><p> 由于計(jì)價(jià)器的工作環(huán)境比較差,它要求有抗振動(dòng)、抗高低溫、抗潮濕、抗電磁干擾等能力,特別是電源方面的干擾,如出租車(chē)啟動(dòng)時(shí),發(fā)動(dòng)機(jī)打火、電瓶充電等造成輸入計(jì)價(jià)器的+12V電源不穩(wěn)定。因此采用+l2V電瓶電源經(jīng)過(guò)濾波和電源穩(wěn)壓管理芯片7805后得到+5V的穩(wěn)定電壓輸出,保證整個(gè)系統(tǒng)能夠正常工作。電源模塊原理圖如圖3-2所示。</p><p>
37、 圖3-2 電源模塊原理圖</p><p><b> 3.3路程測(cè)量模塊</b></p><p> 出租車(chē)中需要一個(gè)能準(zhǔn)確獲得車(chē)輪轉(zhuǎn)動(dòng)即路程計(jì)量信號(hào)的裝置,以得到標(biāo)準(zhǔn)的脈沖信號(hào)送入單片機(jī)的定時(shí)/計(jì)數(shù)器T1即P3.5引腳,利用單片機(jī)的T1的計(jì)數(shù)功能完成lOO次的計(jì)數(shù)后產(chǎn)生一中斷來(lái)完成路程的測(cè)量。(設(shè)車(chē)輪周長(zhǎng)為1m,則霍爾傳感器每產(chǎn)生100個(gè)脈沖便表示車(chē)已行程0.1
38、km,根據(jù)實(shí)際情況在程序中進(jìn)行設(shè)置)。</p><p> 汽車(chē)聯(lián)軸器按圓周間隔嵌入磁鋼,用霍爾傳感器集成芯片A44E檢測(cè)并輸出脈沖,由于霍爾傳感器集成芯片A44E有信號(hào)轉(zhuǎn)換、電壓放大、整形輸出等功能,直接將霍爾輸出信號(hào)送入P3.5引腳。如圖3-3所示。</p><p> 圖3-3 路程測(cè)量模塊原理圖</p><p> A44E芯片屬于開(kāi)關(guān)型的霍爾器件,其工作電
39、壓范圍比較寬(4.5~18V),其輸出的信號(hào)符合TTL電平標(biāo)準(zhǔn),可以直接接到單片機(jī)的I/O端口上,而且其最高檢測(cè)頻率可以達(dá)到1MHz。A44E霍爾開(kāi)關(guān)集成電路應(yīng)用霍爾效應(yīng)原理,采用半導(dǎo)體集成技術(shù)制造的磁敏電路,它是由電壓調(diào)整、霍爾電壓發(fā)生器、差分放大器、施密特觸發(fā)器,溫度補(bǔ)償電路和集電極開(kāi)路的輸出級(jí)組成的磁敏傳感器電路,其輸入為磁感應(yīng)強(qiáng)度,輸出是一個(gè)數(shù)字電壓信號(hào)。</p><p> A44E的測(cè)試特性如圖3-4
40、所示。在輸入端輸入電壓Vcc,經(jīng)過(guò)穩(wěn)壓器穩(wěn)壓后,在霍爾電勢(shì)發(fā)生器的兩端,根據(jù)霍爾效應(yīng)原理,當(dāng)霍爾片處在磁場(chǎng)中時(shí),在垂直于磁場(chǎng)的方向通以電流,則與這二者相垂直的方向上將會(huì)產(chǎn)生霍爾電勢(shì)VH輸出,該VH信號(hào)經(jīng)過(guò)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到OC門(mén)輸出。當(dāng)施加的磁場(chǎng)達(dá)到工作點(diǎn)(即BOP)時(shí),觸發(fā)器輸出高電壓(相對(duì)于地電位),使三級(jí)管導(dǎo)通,此時(shí)OC門(mén)輸出端輸出低電壓,通常稱(chēng)這種狀態(tài)為開(kāi)。當(dāng)施加的磁場(chǎng)達(dá)到釋放點(diǎn)(即BRP)時(shí),
41、觸發(fā)器輸出低電壓,三極管截止,使OC門(mén)輸出高電壓,這種狀態(tài)為關(guān)。</p><p> 在外磁場(chǎng)的作用下,當(dāng)磁感應(yīng)強(qiáng)度超過(guò)導(dǎo)通閾值BOP時(shí),霍爾電路輸出管導(dǎo)通,輸出低電平。之后,B在增加,仍保持導(dǎo)通態(tài)。若外加磁場(chǎng)的B降低到BRP時(shí),輸出管截止,輸出高電平。我們稱(chēng)BOP為工作點(diǎn),BRP為釋放點(diǎn),BOP-BRP=BH稱(chēng)為回差?;夭畹拇嬖谑归_(kāi)關(guān)電路的抗干擾能力增強(qiáng)。這樣兩次電壓變換,使霍爾開(kāi)關(guān)完成一次開(kāi)關(guān)動(dòng)作。一般規(guī)定,
42、當(dāng)外加磁場(chǎng)的南極(S極)接近霍爾電路外殼上打有標(biāo)志的一面時(shí),作用到霍爾電路的磁場(chǎng)方向?yàn)檎?,北極接近標(biāo)志時(shí)為負(fù)。</p><p> 圖3-4霍爾傳感器A44E的輸出特性</p><p> A44E的導(dǎo)通據(jù)距離測(cè)量。把一塊小永久磁鐵固定在車(chē)輪的輪輻條附件如圖3-4所示。當(dāng)磁鐵和霍爾開(kāi)關(guān)A44E移近到一定距離(設(shè)為r)時(shí),A44E芯片的OUT引腳有脈沖信號(hào)輸出。當(dāng)二者大于r時(shí),OUT引腳沒(méi)有
43、脈沖信號(hào)。</p><p> 圖3-5路程測(cè)量工作原理圖</p><p> 而在此電路中為了防止司機(jī)作弊,可采用加密傳感器的方法,先對(duì)霍爾傳感器采集到的計(jì)數(shù)脈沖加密,使計(jì)費(fèi)脈沖以密文方式傳輸,最后解密為明文脈沖,傳送到計(jì)價(jià)器計(jì)費(fèi)。在密碼傳感器中,加密器向解碼器發(fā)送的是密碼,只有加密器和解密器固有密碼相同時(shí),解碼器才向計(jì)價(jià)器發(fā)送計(jì)數(shù)脈沖,計(jì)價(jià)器才計(jì)費(fèi),因此,密碼傳感器提高了計(jì)價(jià)器計(jì)費(fèi)的可
44、靠性,不法出租車(chē)司機(jī)也無(wú)法使車(chē)費(fèi)增加,同時(shí)司機(jī)也不能私自更換計(jì)價(jià)器傳感器,實(shí)現(xiàn)了計(jì)價(jià)器由國(guó)家計(jì)量部門(mén)統(tǒng)一安裝、維修和年檢的統(tǒng)一管理。</p><p> 3.4 數(shù)據(jù)顯示模塊</p><p> 單片機(jī)應(yīng)用系統(tǒng)中,顯示器顯示常用兩種方法:靜態(tài)顯示和動(dòng)態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個(gè)顯示器都要占用單獨(dú)的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口
45、電路,就不用管它了,直到要顯示新的數(shù)據(jù)時(shí),再發(fā)送新的字形碼,因此,使用這種方法單片機(jī)中CPU的開(kāi)銷(xiāo)小。由于單片機(jī)的數(shù)據(jù)總線是為各個(gè)芯片服務(wù)的,一般不可能為一個(gè)輸出而一直保持一種狀態(tài),因此,輸出接口的主要功能是進(jìn)行數(shù)據(jù)保持(即數(shù)據(jù)鎖存),也就是說(shuō),輸出接口的擴(kuò)展實(shí)際上就是擴(kuò)展鎖存器。輸出接口擴(kuò)展通常用74HC377芯片來(lái)實(shí)現(xiàn)。</p><p> 74HC377芯片是一個(gè)帶允許端的8D鎖存器,其芯片的引腳如圖3-4
46、所示,各相關(guān)引腳的功能如下:</p><p> D0~D7為8位數(shù)據(jù)輸入端,與單片機(jī)的數(shù)據(jù)總線相連;</p><p> Q0~Q7為8位數(shù)據(jù)輸出端;與LED數(shù)碼管相連;</p><p> G為使能控制端,與單片機(jī)的高位地址線相連;</p><p> CLK為時(shí)鐘信號(hào),上升沿鎖存數(shù)據(jù),與單片機(jī)的相連。</p><p&
47、gt; 本系統(tǒng)采用8位LED共陽(yáng)極數(shù)碼管,兩個(gè)74HC377芯片,分別用A19、A10控制LED數(shù)碼管的段選和位選,具體與單片機(jī)的連接如圖3-6所示。</p><p> 圖3-6 數(shù)據(jù)顯示模塊</p><p> 另外,當(dāng)沒(méi)有車(chē)上沒(méi)有乘客的時(shí)候,空車(chē)燈亮,具體的空車(chē)燈電路如圖3-7所示。</p><p> 圖3-7 空車(chē)燈電路圖</p><
48、p><b> 3.5時(shí)鐘模塊</b></p><p> DS1302是美國(guó)DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。</p><p> DS1302內(nèi)
49、部有一個(gè)31×8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級(jí)產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時(shí)提供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力[6]。</p><p> DS1302的引腳說(shuō)明如下:</p><p> X1,X2(引腳2,3):32.768KHz的晶振接入引腳</p><p> GND(引
50、腳4):接地引腳</p><p> RST(引腳5):復(fù)位輸入線</p><p> I/O(引腳6):數(shù)據(jù)輸入/輸出引腳,具有3態(tài)功能</p><p> SCLK(引腳7):串行時(shí)鐘輸入引腳</p><p> VCC1(引腳1):工作電源引腳</p><p> VCC2(引腳8):備用電源引腳</p&g
51、t;<p> DS1302的VCC1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由VCC1或VCC2兩者中的較大者供電。當(dāng)VCC2大于VCC1+0.2V時(shí),VCC2給DS1302供電。當(dāng)VCC2小于Vcc1時(shí),DS1302由VCC1供電。X1和X2是振蕩源,外接32.768kHz晶振。</p><p> RST是復(fù)位/片選線,通過(guò)把RST輸入驅(qū)動(dòng)置高電
52、平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過(guò)程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc≥2.5V之前,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。</p>&
53、lt;p> I/O為串行數(shù)據(jù)輸入輸出端(雙向)。SCLK始終是輸入端。時(shí)鐘模塊的原理圖如圖3-8所示。</p><p> 圖3-8 時(shí)鐘模塊原理圖</p><p> 3.6 數(shù)據(jù)存儲(chǔ)模塊</p><p> 數(shù)據(jù)存儲(chǔ)部分的作用是在電源斷開(kāi)時(shí),存儲(chǔ)當(dāng)前設(shè)定的單價(jià)信息。AT24C02是ATMEL公司的2kB的電可擦除存儲(chǔ)芯片,采用2線串行的總線和單片機(jī)通訊,
54、電壓最低可以到2.5V,額定電流為1mA,靜態(tài)電流10Ua(5.5V),芯片內(nèi)的資料可以在斷電的情況下保存40年以上,而且采用8腳的DIP封裝,使用方便。如圖3-7所示。</p><p> AT24C02的的1、2、3腳是3根地址線,用于確定芯片的硬件地址。第8腳和第4腳分別為正、負(fù)電源。第5腳SDA為串行數(shù)據(jù)輸入/輸出,數(shù)據(jù)通過(guò)這根雙向I2C總線串行傳送。第6腳SCL為串行時(shí)鐘,SDA和SCL為漏極開(kāi)路端,在
55、實(shí)際的應(yīng)用當(dāng)中都需要和正電源間各接一個(gè)4.7KΩ的電阻上拉,其作用是減少AT24C02的靜態(tài)功耗。第7腳為WP寫(xiě)保護(hù)端,接地時(shí)允許芯片執(zhí)行一般的讀寫(xiě)操作;接正電源時(shí)只允許對(duì)器件進(jìn)行讀操作。</p><p> 圖3-9 數(shù)據(jù)存儲(chǔ)模塊</p><p> 圖3-9中AT24C02采用WP總線與AT89S51相連,AT89S51的P1.1作為它的串行時(shí)鐘線,P1.0作為它的串行數(shù)據(jù)線。當(dāng)通過(guò)
56、通過(guò)按鍵設(shè)定一次數(shù)據(jù)完畢后(如:晝夜單價(jià)、等候時(shí)間、起租里程、起租金額等),系統(tǒng)就自動(dòng)調(diào)用存儲(chǔ)程序,將數(shù)據(jù)信息保存在芯片內(nèi);當(dāng)系統(tǒng)重新上電時(shí),自動(dòng)調(diào)用讀存儲(chǔ)器程序,將存儲(chǔ)器內(nèi)的數(shù)據(jù)信息,讀到緩存單元中,供主程序使用。由于保存在24C02中的數(shù)據(jù)是不能隨意進(jìn)行改動(dòng)的,因此它具有防作弊功能。此外出租車(chē)營(yíng)運(yùn)過(guò)程中的一些營(yíng)運(yùn)數(shù)據(jù),如:?jiǎn)未纬鲎獾臓I(yíng)運(yùn)額和營(yíng)運(yùn)里程、一段時(shí)間內(nèi)的營(yíng)運(yùn)總額和總路程等,也存儲(chǔ)在24C02中,以便出租車(chē)公司及司機(jī)查詢(xún),使出
57、租車(chē)司機(jī)更方便的管理營(yíng)運(yùn)數(shù)據(jù),出租車(chē)行業(yè)得到更有效的管理。</p><p><b> 3.7按鍵設(shè)置模塊</b></p><p> 鍵盤(pán)采用查詢(xún)的方式,其放在主程序中,當(dāng)沒(méi)有按鍵按下的時(shí)候,單片機(jī)循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。鍵盤(pán)服務(wù)包括司機(jī)查詢(xún)與出租車(chē)管理人員對(duì)數(shù)據(jù)的調(diào)整。當(dāng)單價(jià)等信息需要進(jìn)行修改時(shí),就要用到鍵盤(pán)進(jìn)行修改。由
58、于調(diào)節(jié)信息不多,故采用4個(gè)鍵盤(pán)即可,分別實(shí)現(xiàn)清零、切換、增大、減小和功能等作用。電路原理如圖3-10所示。</p><p> 圖3-10 鍵盤(pán)調(diào)整單元接線圖</p><p> S0:對(duì)上一次的計(jì)費(fèi)進(jìn)行清零,為下次載客準(zhǔn)備;</p><p> S1:實(shí)現(xiàn)白天和夜晚單價(jià)的切換;當(dāng)功能鍵S4按下時(shí),S2可對(duì)數(shù)據(jù)進(jìn)行增大。</p><p>
59、 S2:當(dāng)功能鍵S4按下時(shí),S3可對(duì)數(shù)據(jù)進(jìn)行減小。</p><p> S3:按1次,進(jìn)入調(diào)整時(shí)間;按2次,進(jìn)入調(diào)整起步價(jià);按3次,進(jìn)入調(diào)整單價(jià);按4次,返回。</p><p> 74LS244為3態(tài)8位緩沖器,一般用作總線驅(qū)動(dòng)器。74LS244沒(méi)有鎖存的功能。地址鎖存器就是一個(gè)暫存器,它根據(jù)控制信號(hào)的狀態(tài),將總線上地址代碼暫存起來(lái)。</p><p> 74LS
60、244的引腳功能如下:</p><p> ?。?):Y1~Y7為輸入端;</p><p> ?。?)、:為三態(tài)允許端(低電平有效);</p><p> ?。?)A0~A7為輸出端。</p><p> 74LS244真值表如表3-1所示。</p><p> 表3-1 74LS244真值表</p><
61、;p><b> 4 系統(tǒng)軟件設(shè)計(jì)</b></p><p> 單片機(jī)的軟件設(shè)計(jì)流程如下所示。本系統(tǒng)軟件主要由主程序、中斷程序、計(jì)算程序等構(gòu)成,采用C51語(yǔ)言編程。其中中斷程序又包括里程中斷計(jì)算程序和中途等待中斷程序兩部分。</p><p><b> 4.1 主程序</b></p><p> 主程序通過(guò)循環(huán)判斷是
62、否等待計(jì)價(jià)和車(chē)輪計(jì)數(shù)進(jìn)行總價(jià)的實(shí)現(xiàn)。在等待計(jì)價(jià)中,調(diào)用等待計(jì)價(jià)子程序,每4秒調(diào)用計(jì)數(shù)子程序?qū)τ?jì)數(shù)器加1,在車(chē)輪計(jì)數(shù)中,車(chē)輪每轉(zhuǎn)過(guò)1周調(diào)用計(jì)數(shù)子程序?qū)τ?jì)數(shù)器加1。通過(guò)計(jì)數(shù)器中的累加值,判斷數(shù)值并調(diào)用顯示。主程序流程圖如圖4-1所示。</p><p> 圖4-1 主程序流程圖</p><p><b> 4.2 中斷程序</b></p><p&g
63、t; 4.2.1 里程計(jì)數(shù)中斷程序</p><p> 出租車(chē)中需要一個(gè)能準(zhǔn)確獲得車(chē)輪轉(zhuǎn)動(dòng)即路程計(jì)量信號(hào)的裝置,以得到標(biāo)準(zhǔn)的脈沖信號(hào)送入單片機(jī)的定時(shí)/計(jì)數(shù)器T1即P3.5引腳,利用單片機(jī)的T1的計(jì)數(shù)功能完成lOO次的計(jì)數(shù)后產(chǎn)生一中斷來(lái)完成路程的測(cè)量,同時(shí)主函數(shù)中總金額也相應(yīng)地變化。(設(shè)車(chē)輪周長(zhǎng)為1m,則霍爾傳感器每產(chǎn)生100個(gè)脈沖便表示車(chē)已行程0.1km,根據(jù)實(shí)際情況在程序中進(jìn)行設(shè)置)。</p>
64、<p> 4.2.2 中途等待中斷程序</p><p> 在中途等待中斷程序中,每1ms產(chǎn)生一次中斷,將當(dāng)前里程值送入某個(gè)緩存變量,每5分鐘將緩存變量中的值和當(dāng)前里程值比較,當(dāng)汽車(chē)停止,霍爾傳感器5分鐘沒(méi)有輸出信號(hào),當(dāng)前里程值和緩存變量?jī)?nèi)的值相同,則進(jìn)入等待計(jì)時(shí),每5分鐘記一次價(jià)格。</p><p><b> 4.3 計(jì)算程序</b></p>
65、;<p> 計(jì)算程序根據(jù)里程數(shù)分別進(jìn)入不同的計(jì)算公式。如果里程大于3公里,則執(zhí)行公式:總金額=起步價(jià)+(里程-3)*單價(jià)+等待時(shí)間*等待單價(jià);否則,執(zhí)行公式:總金額=起步價(jià)+等待時(shí)間*等待單價(jià)。程序流程圖如圖4-2所示。</p><p> 圖4-2 計(jì)算流程圖</p><p><b> 5 調(diào)試</b></p><p>
66、 5.1硬件部分的調(diào)試</p><p> 該仿真中霍爾傳感器采集的路程脈沖信號(hào)用系統(tǒng)提供的脈沖信號(hào)源代替,其他器件均可找到,電路設(shè)計(jì)及程序調(diào)試完畢,表明系統(tǒng)硬件和程序通過(guò)了模擬,為檢驗(yàn)設(shè)計(jì)的電路和程序,將調(diào)試好的程序下載到制作的實(shí)物電路板的單片機(jī)中,制作電路印刷版。</p><p> 5.2 軟件部分的調(diào)試</p><p> 該仿真因?yàn)檫^(guò)于復(fù)雜,時(shí)間又過(guò)于緊張
67、,沒(méi)有進(jìn)行詳細(xì)的操作。通過(guò)軟件部分的調(diào)試,本系統(tǒng)能大致上得到統(tǒng)一。</p><p><b> 6 結(jié)論</b></p><p> 在老師的耐心指導(dǎo),同學(xué)的幫助和自己的努力下,整個(gè)畢業(yè)設(shè)計(jì)從取材、選題、確定設(shè)計(jì)方案到成品的完成歷時(shí)三個(gè)月的時(shí)間。期間遇到無(wú)數(shù)的難題,但都一個(gè)個(gè)解決了。</p><p> 經(jīng)過(guò)一路設(shè)計(jì)下來(lái),我從以前對(duì)出租車(chē)計(jì)價(jià)器
68、系統(tǒng)的一無(wú)所知到現(xiàn)在的較好了解,知道了它的原理,作用等。在設(shè)計(jì)過(guò)程中,還是碰到了許多的問(wèn)題。我查看了很多相關(guān)書(shū)籍、期刊、中英文網(wǎng)站等,還查看了很多芯片資料,也復(fù)習(xí)了已模糊了的電路方面的專(zhuān)業(yè)知識(shí),這些前提工作為我在整個(gè)畢業(yè)設(shè)計(jì)過(guò)程中提供了很大的幫助,最終還是把問(wèn)題解決了。</p><p> 通過(guò)這次畢業(yè)設(shè)計(jì),我最大的收獲就是自己的動(dòng)手能力和獨(dú)立解決問(wèn)題的能力得到了很大的提高,也充分體會(huì)到了自己設(shè)計(jì)東西的樂(lè)趣、學(xué)會(huì)
69、查閱資料和對(duì)別人的東西融會(huì)變通的重要性,也明白了很多知識(shí)光靠趴在書(shū)本上學(xué)是學(xué)不到其中的精髓的,必須親自去試著實(shí)踐,親自去經(jīng)歷才能對(duì)它們真正的掌握,凡事都要自己去動(dòng)下手,去實(shí)踐一下,遇到困難,永遠(yuǎn)不要沮喪氣餒。在動(dòng)手的過(guò)程中,不僅能增強(qiáng)實(shí)踐能力,而且在理論上可以有更深的認(rèn)識(shí);這次設(shè)計(jì)給了我極大的鼓舞和信心,相信在以后的學(xué)習(xí)中可以通過(guò)不斷的摸索和實(shí)踐來(lái)提高其他方面的知識(shí)。</p><p><b> 參考文
70、獻(xiàn)</b></p><p> [1] 陳愛(ài)文.基于AT89C51單片機(jī)的多功能出租車(chē)計(jì)價(jià)器[J].機(jī)電工程技術(shù),2008,11:67-69.</p><p> [2] 肖衛(wèi)初等.基于單片機(jī)的多功能出租車(chē)計(jì)價(jià)器的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2008,16:180-185.</p><p> [3] 周清華等.基于CPLD的出租車(chē)計(jì)價(jià)器的設(shè)計(jì)與研究[J]
71、.科技廣場(chǎng),2007,1:205-206.</p><p> [4] 楊建潮.磁電式傳感器在電子式出租車(chē)計(jì)價(jià)器中的應(yīng)用與維護(hù)[J].中國(guó)計(jì)量.2006,5:55-56.</p><p> [5] 王宏,劉文.AT89C51編程器的制作[J].實(shí)用電子文摘,1995年12期.</p><p> [6] 曹暉,彭小軍.DS1302的C51編程[J].新余高專(zhuān)學(xué)報(bào),
72、2001年02期.</p><p> [7] 陳茜,王偉,黃娟.需求控制下的出租車(chē)計(jì)程定價(jià)問(wèn)題研究[J].城市交通,2005,8;14-18.</p><p> [8] 龔軍,羅杰.基于CPLD的出租車(chē)計(jì)費(fèi)系統(tǒng)設(shè)計(jì)[J].設(shè)計(jì)參考,2008,6;51-54.</p><p> [9] 譚運(yùn)梅,石琴.出租車(chē)合乘模式的探討[J].合肥工業(yè)大學(xué)學(xué)報(bào),2006,1;7
73、7-79轉(zhuǎn)101.</p><p> [10] 王志輝.淺談對(duì)出租車(chē)計(jì)價(jià)器的管理[J].科技信息:2008,16;32-33.</p><p> [11] 石海軍.出租車(chē)計(jì)價(jià)器常見(jiàn)作弊手段與應(yīng)對(duì)措施[J]。青??萍迹?010,4;117-118.</p><p> 附錄1 實(shí)驗(yàn)原理圖</p><p><b> 附錄2 程
74、序清單</b></p><p> #include<reg52.h></p><p> #include <intrins.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p>&l
75、t;p> #define delayNOP(); {_nop_();_nop_();_nop_();_nop_();_nop_();};</p><p> uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};</p><p> sbit exter=P3^3;
76、 //霍爾外部中斷</p><p> sbit key0=P0^0; //清零</p><p> sbit key1=P0^1; //切換/+</p><p> sbit key2=P0^2; //-</p><p> sbit key3=
77、P0^3; //功能鍵</p><p> Sbit RXD=P3^0; //數(shù)碼管控制</p><p> Sbit TXD=P3^1; </p><p> sbit SDA=P2^3; //存儲(chǔ)引腳存儲(chǔ)</p><p> sbit S
78、CL=P2^4;</p><p> sbit tixing=P2^5; //超速提醒輸出</p><p> sbit SS=P1^0; //語(yǔ)音播報(bào)控制</p><p> sbit MOSI=P1^1;</p><p> sbit MISO=P1^2;</p&
79、gt;<p> sbit SCLK=P1^3;</p><p> sbit INT=P1^4;</p><p> uint inter,aa,bb,temp,temp1;</p><p> uint zongjine,licheng,dengdai;</p><p> uint key3num,qiehuantemp,
80、delaytemp;</p><p> uchar danjia1,danjia2,danjia3,danjia,qibu;</p><p> void delay(uint x) //延時(shí)時(shí)基為1ms</p><p><b> {int i,j;</b></p><p&g
81、t; for(i=x;i>0;i--)</p><p> for(j=340;j>0;j--);}</p><p> void start() //存儲(chǔ)開(kāi)始位</p><p><b> {SDA = 1;</b></p><p><b> SCL = 1;&
82、lt;/b></p><p> delayNOP();</p><p><b> SDA = 0;</b></p><p> delayNOP();</p><p><b> SCL = 0;}</b></p><p> void stop()
83、 //存儲(chǔ)停止位</p><p><b> {SDA = 0;</b></p><p> delayNOP();</p><p><b> SCL = 1;</b></p><p> delayNOP();</p><p><b> SD
84、A = 1;}</b></p><p> void respons() //存儲(chǔ)應(yīng)答位</p><p><b> {uchar i;</b></p><p><b> SCL=1;</b></p><p> delayNOP();</
85、p><p> while((SDA==1)&&(i<250))</p><p><b> i++;</b></p><p><b> SCL=0;</b></p><p> delayNOP();}</p><p> uchar read_byte
86、() //從EEPROM讀到MCU</p><p> {uchar i,j;</p><p> for(i=0;i<8;i++)</p><p><b> {SCL=1;</b></p><p><b> j<<=1;</b></p
87、><p><b> j=SDA;</b></p><p><b> SCL=0;}</b></p><p> return(j);}</p><p> void write_byte(uchar date) //從MCU寫(xiě)到EEPROM</p><p&g
88、t; {uchar i,temp;</p><p> temp=date;</p><p> for(i=0;i<8;i++)</p><p> {temp=temp<<1;</p><p><b> SCL=0;</b></p><p> delayNOP();&l
89、t;/p><p><b> SDA=CY;</b></p><p> delayNOP();</p><p><b> SCL=1;</b></p><p> delayNOP();}</p><p><b> SCL=0;</b></p&g
90、t;<p> delayNOP();</p><p><b> SDA=1;</b></p><p> delayNOP();}</p><p> void write_data(uchar addr, uchar date) //在指定地址addr處寫(xiě)入數(shù)據(jù)date</p><p>
91、;<b> {start();</b></p><p> write_byte(0xa0);</p><p> respons();</p><p> write_byte(addr);</p><p> respons();</p><p> write_byte(date);<
92、;/p><p> respons();</p><p><b> stop();}</b></p><p> uchar read_data(uchar addr) //在指定地址addr讀取數(shù)據(jù)</p><p> {uchar date;</p><p>
93、<b> start();</b></p><p> write_byte(0xa0);</p><p> respons();</p><p> write_byte(addr);</p><p> respons();</p><p><b> start();</
94、b></p><p> write_byte(0xa1);</p><p> respons();</p><p> date=read_byte();</p><p><b> stop();</b></p><p> return date;}</p><p
95、> void display(uint zongjine0,uint licheng0,uint danjia0) //數(shù)碼管顯示</p><p> {uint jbai,jshi,jge,lshi,lge,dshi,dge;</p><p> uint numwei,numshu; </p>
96、<p><b> //數(shù)碼管位置分配</b></p><p> jbai=zongjine0/100;</p><p> jshi=zongjine0%100/10;</p><p> jge=zongjine0%100%10; //金額顯示</p><p> lshi=licheng0/
97、10;</p><p> lge=licheng0%10; //里程顯示</p><p> dshi=danjia0/10;</p><p> dge=danjia0%10; //單價(jià)顯示</p><p><b> //數(shù)碼管動(dòng)態(tài)顯示</b></p><p><b>
98、 if(aa)</b></p><p><b> {aa=0;</b></p><p><b> numshu++;</b></p><p> if(numshu==7)</p><p><b> numshu=0;</b></p><
99、p><b> P3=0xff;</b></p><p> switch(numwei)</p><p> {case 0:p30=0;P0=table[jbai];break;</p><p> case 1:p31=0;P0=table[jshi]&0x7f;break;</p><p> ca
100、se 2:p32=0;P0=table[jge];break;</p><p> case 3:p34=0;P0=table[lshi];break;</p><p> case 4:p35=0;P0=table[lge];break;</p><p> case 5:p36=0;P0=table[dshi]&0x7f;break;</p>
101、<p> case 6:p37=0;P0=table[dge];break; }</p><p><b> numwei++;</b></p><p> if(numwei==7)</p><p> numwei=0;}}</p><p> void keyscan()
102、 //鍵盤(pán)掃描</p><p> {if(key3==0) //功能鍵調(diào)節(jié)</p><p> {delay(5);</p><p> if(key3==0)</p><p> {key3num=1;</p><p> while(!key3);</p>
103、;<p><b> delay(5);</b></p><p> while(!key3);</p><p> while(key3num)</p><p> {if(key3num==1) //調(diào)白天單價(jià)</p><p> {if(key1==
104、0)</p><p> {delay(5);</p><p> if(key1==0)</p><p> {danjia1++;</p><p> if(danjia1==100)</p><p> danjia1=0;</p><p> while(!key1);</p>
105、;<p><b> delay(5);</b></p><p> while(!key1); }}</p><p> if(key2==0)</p><p> {delay(5);</p><p> if(key2==0)</p><p> {danjia1--;<
106、/p><p> if(danjia1==-1)</p><p> danjia1=99;</p><p> while(!key2);</p><p><b> delay(5);</b></p><p> while(!key2);}}</p><p> disp
107、lay(1,0,danjia1);}</p><p> if(key3num==2) //調(diào)夜晚單價(jià)</p><p> {write_data(1,danjia1);</p><p> if(key1==0)</p><p> {delay(5);</p><p&
108、gt; if(key1==0)</p><p> {danjia2++;</p><p> if(danjia2==100)</p><p> danjia2=0;</p><p> while(!key1);</p><p><b> delay(5);</b></p>
109、<p> while(!key1);}}</p><p> if(key2==0)</p><p> {delay(5);</p><p> if(key2==0)</p><p> {danjia2--;</p><p> if(danjia2==-1)</p><p>
110、; danjia2=99;</p><p> while(!key2);</p><p><b> delay(5);</b></p><p> while(!key2);}}</p><p> display(2,0,danjia2);}</p><p> if(key3num==3
111、) //調(diào)等待單價(jià)</p><p> {write_data(2,danjia2);</p><p> if(key1==0)</p><p> {delay(5);</p><p> if(key1==0)</p><p> {danjia3++;&l
112、t;/p><p> if(danjia3==100)</p><p> danjia3=0;</p><p> while(!key1);</p><p><b> delay(5);</b></p><p> while(!key1);}}</p><p> if
113、(key2==0)</p><p> {delay(5);</p><p> if(key2==0)</p><p> {danjia3--;</p><p> if(danjia3==-1)</p><p> danjia3=99;</p><p> while(!key2);&l
114、t;/p><p><b> delay(5);</b></p><p> while(!key2);}}</p><p> display(3,0,danjia3);}</p><p> if(key3num==4) //調(diào)起步價(jià)</p><p>
115、{write_data(3,danjia3);</p><p> if(key1==0)</p><p> {delay(5);</p><p> if(key1==0)</p><p><b> {qibu++;</b></p><p> if(qibu==100)</p>
116、<p><b> qibu=0;</b></p><p> while(!key1);</p><p><b> delay(5);</b></p><p> while(!key1);}}</p><p> if(key2==0)</p><p>
117、 {delay(5);</p><p> if(key2==0)</p><p><b> {qibu--;</b></p><p> if(qibu==-1)</p><p><b> qibu=99;</b></p><p> while(!key2);<
118、/p><p><b> delay(5);</b></p><p> while(!key2);}}</p><p> display(4,0,qibu);}</p><p> if(key3num==5) //退出功能鍵</p><p> {wri
119、te_data(4,qibu);</p><p> key3num=0;}</p><p> if(key3==0)</p><p> {delay(5);</p><p> if(key3==0)</p><p> {key3num++;</p><p> while(!key3)
120、;</p><p><b> delay(5);</b></p><p> while(!key3);}}}}}}</p><p> void init()</p><p><b> {SDA=1;</b></p><p><b> SCL=1;</
121、b></p><p> zongjine=0;</p><p> licheng=0;</p><p> dengdai=0;</p><p> danjia1=read_data(1);</p><p> danjia2=read_data(2);</p><p> qibu
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的出租車(chē)計(jì)價(jià)器設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的出租車(chē)計(jì)價(jià)器設(shè)計(jì)【畢業(yè)論文】
- 畢業(yè)論文---基于單片機(jī)的出租車(chē)計(jì)價(jià)器的設(shè)計(jì)
- 畢業(yè)論文(設(shè)計(jì))基于單片機(jī)的出租車(chē)計(jì)價(jià)器的設(shè)計(jì)
- 基于單片機(jī)的出租車(chē)計(jì)價(jià)器設(shè)計(jì)
- 基于單片機(jī)的出租車(chē)計(jì)價(jià)器
- 畢業(yè)論文-- 基于單片機(jī)的出租車(chē)計(jì)價(jià)器軟件設(shè)計(jì)
- 基于單片機(jī)的出租車(chē)計(jì)價(jià)器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的出租車(chē)計(jì)價(jià)器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的出租車(chē)計(jì)價(jià)器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的出租車(chē)計(jì)價(jià)器設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的出租車(chē)計(jì)價(jià)器設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 基于51單片機(jī)的出租車(chē)計(jì)價(jià)器畢業(yè)設(shè)計(jì)論文
- 基于51單片機(jī)的出租車(chē)計(jì)價(jià)器設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)論文---出租車(chē)計(jì)價(jià)器
- 畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的出租車(chē)計(jì)價(jià)器的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的出租車(chē)計(jì)價(jià)器系統(tǒng)
- 單片機(jī)課程設(shè)計(jì)--出租車(chē)計(jì)價(jià)器
- 基于單片機(jī)的出租車(chē)計(jì)價(jià)器的設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的出租車(chē)計(jì)價(jià)器的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論