畢業(yè)設(shè)計(jì)--計(jì)程車?yán)锍瘫硐到y(tǒng)設(shè)計(jì)_第1頁
已閱讀1頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  2012屆畢業(yè)設(shè)計(jì)說明書</p><p>  計(jì)程車?yán)锍瘫硐到y(tǒng)設(shè)計(jì)</p><p>  院 、 部: 電氣與信息工程學(xué)院 </p><p>  學(xué)生姓名: </p><p>  指導(dǎo)教師: </p><p>  職 稱:

2、 講師 </p><p>  專 業(yè): 電子信息工程 </p><p>  班 級(jí): </p><p>  學(xué) 號(hào): </p><p><b>  2012年5月</b></p><p><b>

3、;  摘 要</b></p><p>  智能儀器儀表技術(shù)是一門集電子技術(shù)、單片機(jī)技術(shù)、自動(dòng)化儀表、自動(dòng)控制技術(shù)、計(jì)算機(jī)應(yīng)用等一體的跨學(xué)科的專業(yè)技術(shù)。自20世紀(jì)90年代初以來,這項(xiàng)技術(shù)已逐步引入到國內(nèi)工科專業(yè)中,如電子信息、通訊、自動(dòng)化、計(jì)算機(jī)應(yīng)用等信息類專業(yè)。隨著經(jīng)濟(jì)的發(fā)展,汽車運(yùn)輸行業(yè)也快速發(fā)展起來,計(jì)程車也成為城市生活中的重要交通工具。乘車時(shí),乘客與司機(jī)之間的交易是通過按里程計(jì)價(jià)的,里程表的好

4、壞直接關(guān)系到雙方的利益,所以設(shè)計(jì)一個(gè)功能合適、性能良好的簡(jiǎn)易計(jì)程車?yán)锍瘫硐到y(tǒng)具有實(shí)際的應(yīng)用意義。</p><p>  本系統(tǒng)采用ATMEL公司的AT89S52單片機(jī)為核心,使用12MHz 晶振提供時(shí)鐘信號(hào),利用霍爾傳感器檢測(cè)車速,通過軟件編程的方法實(shí)現(xiàn)記時(shí)、里程檢測(cè)、費(fèi)用計(jì)算,同時(shí)通過LED數(shù)碼管將里程數(shù)、總費(fèi)用直觀顯示出來,從而達(dá)到計(jì)費(fèi)的目的。該系統(tǒng)設(shè)有五個(gè)按鍵(清除、查詢/確認(rèn)、停止、單程/往返、功能選擇),

5、進(jìn)行相應(yīng)的操作就可實(shí)現(xiàn)單程/往返模式選擇、停止計(jì)費(fèi)、等待時(shí)間查詢、清除復(fù)位等功能。具有結(jié)構(gòu)簡(jiǎn)單、操作方便、顯示直觀、運(yùn)行穩(wěn)定等優(yōu)點(diǎn),有較高的推廣應(yīng)用價(jià)值。</p><p>  關(guān)鍵詞: 計(jì)程車?yán)锍瘫恚籄T89S52;霍爾傳感器;硬件設(shè)計(jì);軟件設(shè)計(jì)</p><p><b>  ABSTRACT</b></p><p>  Intelligent

6、 instrument technology is a collection of electronic technology and single-chip microcomputer technology, automation instrument, automatic control technology, computer application, one of the professional technical subje

7、cts. Since the early 1990 s, the technology has introduced gradually to domestic engineering professionals, such as electronic information and communications, automation, computer applications, and other information spec

8、ialty. With the development of economy, the car t</p><p>  The system USES the ATMEL company AT89S52 SCM as the core, the use of 12 MHz crystals provides the clock signal, using hall sensor test speed, and t

9、hrough programming method, time, cost calculation mileage detection, and at the same time through LED digital tube will mileage, total cost visual display out, so as to achieve the purpose of pricing. The system has five

10、 buttons (clear, inquires confirmation, stop, one-way / shuttle, function choose), carries on the corresponding operation can achiev</p><p>  Key words: taxi "milestones";AT89S52;hall element;hard

11、ware design;software design</p><p><b>  目 錄</b></p><p><b>  1 概述1</b></p><p>  1.1 計(jì)程車?yán)锍瘫砀攀?</p><p>  1.2 單片機(jī)概述1</p><p>  2

12、 設(shè)計(jì)任務(wù)、功能要求3</p><p>  2.1 設(shè)計(jì)任務(wù)3</p><p>  2.2 功能要求3</p><p>  2.2.1 基本功能3</p><p>  2.2.2 發(fā)揮部分3</p><p>  2.3 總體方案介紹及工作原理說明3</p><p>  2.

13、3.1 里程計(jì)算4</p><p>  2.3.2 費(fèi)用計(jì)算4</p><p>  3 硬件系統(tǒng)設(shè)計(jì)5</p><p>  3.1 硬件系統(tǒng)各功能模塊簡(jiǎn)介5</p><p>  3.1.1 AT89S52單片機(jī)5</p><p>  3.1.2 復(fù)位電路6</p><p>

14、;  3.1.3 晶振電路7</p><p>  3.1.4 獨(dú)立鍵盤電路7</p><p>  3.1.5 指示燈電路8</p><p>  3.1.6 數(shù)碼管顯示電路9</p><p>  3.1.7 車速檢測(cè)電路10</p><p>  3.1.8 存儲(chǔ)電路12</p>&l

15、t;p>  3.1.9 時(shí)鐘顯示電路13</p><p>  4 軟件系統(tǒng)設(shè)計(jì)14</p><p>  4.1 系統(tǒng)主程序14</p><p>  4.2 數(shù)據(jù)處理子程序14</p><p>  4.3 等待時(shí)間計(jì)時(shí)子程序15</p><p>  4.4 鍵盤掃描子程序16</p&g

16、t;<p>  5 系統(tǒng)運(yùn)行的Proteus仿真與測(cè)試18</p><p>  5.1 空車狀態(tài)18</p><p>  5.2 單雙程模式切換19</p><p>  5.3 等待模式21</p><p>  5.4 查詢模式21</p><p><b>  6 結(jié)束語

17、23</b></p><p><b>  參考文獻(xiàn)24</b></p><p><b>  致 謝25</b></p><p><b>  附 錄26</b></p><p>  附錄A 元器件清單26</p><p>  附錄

18、B 源程序清單27</p><p>  附錄C 設(shè)計(jì)原理圖48</p><p><b>  1 概述</b></p><p>  1.1 計(jì)程車?yán)锍瘫砀攀?lt;/p><p>  計(jì)程車?yán)锍瘫恚ㄓ?jì)價(jià)器)是乘客與司機(jī)雙方的交易準(zhǔn)則,它是計(jì)程車行業(yè)發(fā)展的重要標(biāo)志,是計(jì)程車中最重要的工具。它關(guān)系著交易雙方的利益。具有良

19、好性能的里程表無論是對(duì)廣大計(jì)程車司機(jī)朋友還是乘客來說都是很必要的。因此,計(jì)程車?yán)锍瘫淼难芯渴鞘钟袘?yīng)用價(jià)值的。</p><p>  我國在70年代開始出現(xiàn)計(jì)程車,但那時(shí)的計(jì)費(fèi)系統(tǒng)大都是國外進(jìn)口不但不夠準(zhǔn)確,價(jià)格還十分昂貴。隨著改革開放日益深入,計(jì)程車行業(yè)的發(fā)展勢(shì)頭已十分突出,國內(nèi)各機(jī)械廠家紛紛推出國產(chǎn)計(jì)價(jià)器(以下稱為計(jì)價(jià)器)。計(jì)程車計(jì)價(jià)器的功能從剛開始的只顯示路程(需要司機(jī)自己定價(jià),計(jì)算后四舍五入),到能夠自主計(jì)

20、費(fèi),以及現(xiàn)在的能夠打印發(fā)票和語音提示、按時(shí)間自主變動(dòng)單價(jià)等功能。隨著城市旅游業(yè)的發(fā)展,出租車行業(yè)已成為城市的窗口,象征著一個(gè)城市的文明發(fā)展程度。</p><p>  本次設(shè)計(jì)的目的在于設(shè)計(jì)出現(xiàn)在各大中城市計(jì)程車行業(yè)都已普及的自動(dòng)計(jì)價(jià)器,而部分小城市尚未普及,但隨著城市建設(shè)日益加快,象征著城市面貌的計(jì)程車行業(yè)也將加速發(fā)展,計(jì)價(jià)器的普及也是毫無疑問的,所以未來汽車計(jì)價(jià)器的市場(chǎng)還是十分有潛力的。</p>

21、<p>  1.2 單片機(jī)概述</p><p>  計(jì)算機(jī)系統(tǒng)已明顯地朝巨型化、單片化、網(wǎng)絡(luò)化三個(gè)方向發(fā)展。巨型化發(fā)展的目的在于不斷提高計(jì)算機(jī)的運(yùn)算速度和處理能力,以解決復(fù)雜系統(tǒng)計(jì)算和高速數(shù)據(jù)處理,比如系統(tǒng)仿真和模擬、實(shí)時(shí)運(yùn)算和處理。單片化是把計(jì)算機(jī)系統(tǒng)盡可能集成在一塊半導(dǎo)體芯片上,其目的在于計(jì)算機(jī)微型化和提高系統(tǒng)的可靠性,這種單片計(jì)算機(jī)簡(jiǎn)稱單片機(jī)。單片機(jī)的內(nèi)部硬件結(jié)構(gòu)和指令系統(tǒng)主要是針對(duì)自動(dòng)控制應(yīng)用

22、而設(shè)計(jì)的,所以單片機(jī)又稱為微控制器MCU(Micro Controller Unit)。用它可以很容易地將計(jì)算機(jī)嵌入到各種儀器和現(xiàn)場(chǎng)控制設(shè)備中,因此單片機(jī)又叫做嵌入式微控制器(Embedded MCU)。單片機(jī)自20世紀(jì)70年代問世以來,以其鮮明的特點(diǎn)得到迅猛發(fā)展,已廣泛應(yīng)用于家用電器、智能玩具、智能儀器儀表、工業(yè)控制、航空航天等領(lǐng)域,經(jīng)過30多年的發(fā)展,性能不斷提高,品種不斷豐富,已經(jīng)形成自動(dòng)控制的一支中堅(jiān)力量。據(jù)統(tǒng)計(jì),我國的單片機(jī)年

23、產(chǎn)量已達(dá)1~3億片,且每年以大約16%的速度增長(zhǎng),但相對(duì)于國際市場(chǎng)我國的占有率還不到1%。這說明單片機(jī)應(yīng)用在我國有著廣闊的前景和巨大的市場(chǎng)潛力。對(duì)于從事自動(dòng)控制的技術(shù)人員來講,掌握單片機(jī)原理及其應(yīng)用已經(jīng)成為必</p><p>  單片機(jī)的應(yīng)用十分廣泛,在工業(yè)控制領(lǐng)域、家電產(chǎn)品、智能化儀器儀表、計(jì)算機(jī)外部設(shè)備,特別是機(jī)電一體化產(chǎn)品中,都有重要的用途。其主要的用途可以分為以下方面:</p><p&

24、gt;  顯示:通過單片機(jī)控制LED ( Light Emitting Diode,發(fā)光二極管)或LCD(Liquid Crystal Display,液晶顯示器)顯示特定的字符和圖形。</p><p>  機(jī)電控制:用單片機(jī)控制機(jī)電產(chǎn)品做定時(shí)或定向的動(dòng)作。</p><p>  檢測(cè):通過單片機(jī)和傳感器的聯(lián)合使用,用來檢測(cè)產(chǎn)品或者工況的意外發(fā)生。</p><p>

25、  通信:通過RS-232串行通信或者是USB(Universal Serial BUS,通用串行總線)通信,傳輸數(shù)據(jù)和信號(hào)。</p><p>  科學(xué)計(jì)算:用來實(shí)現(xiàn)簡(jiǎn)單的算法。</p><p>  那么單片機(jī)是不是解決上述應(yīng)用的唯一選擇呢?當(dāng)然不是!目前,在自動(dòng)控制中,一般有三種選擇,分別是嵌入式微機(jī)、DSP(Digital Signal Processor,數(shù)字信號(hào)處理器)和單片機(jī)。

26、</p><p>  單片機(jī)最明顯的優(yōu)點(diǎn)是價(jià)格便宜,從幾元人民幣到幾十元人民幣。這是因?yàn)檫@類芯片的生產(chǎn)量很大,技術(shù)也很成熟。</p><p>  其次,單片機(jī)的體積也遠(yuǎn)小于其他兩種方案。單片機(jī)本身一般用40引腳封裝,當(dāng)然功能多一些的單片機(jī)也有引腳比較多的,如68引腳,功能少的只有10多個(gè)或20多個(gè)引腳,有的甚至只有8只引腳。</p><p>  當(dāng)然,單片機(jī)無論在速

27、度還是容量方面都小于其他兩種方案,但是在實(shí)際工作中并不是任何需要計(jì)算機(jī)的場(chǎng)合都要求計(jì)算機(jī)有很高的性能。例如,控制電冰箱的控制器就不需要使用嵌入式系統(tǒng),用一片51單片機(jī)就可以輕松實(shí)現(xiàn)。所以應(yīng)用的關(guān)鍵是看能否夠用,是否有很好的性能價(jià)格比。51系列的單片機(jī)已經(jīng)面世多年,依然沒有被淘汰,還在不斷發(fā)展中,這就說明是他有廣闊的應(yīng)用前景。</p><p>  2 設(shè)計(jì)任務(wù)、功能要求</p><p>&

28、lt;b>  2.1 設(shè)計(jì)任務(wù)</b></p><p>  設(shè)計(jì)一款具有特定功能的計(jì)程車?yán)锍瘫硐到y(tǒng),通過利用傳感器檢測(cè)車速,能對(duì)里程和金額進(jìn)行處理和顯示。</p><p><b>  2.2 功能要求</b></p><p>  2.2.1 基本功能</p><p> ?。?)用前4位數(shù)碼管實(shí)時(shí)顯

29、示里程數(shù)(Z),單位為公里,最后一位為小數(shù)位;用后4位數(shù)碼管實(shí)時(shí)顯示金額數(shù)(J),單位為元,最后一位為小數(shù)位,</p><p> ?。?)規(guī)定出租車單程價(jià)格為2元/公里,往返的價(jià)格為1.5元/公里;單程/往返兩種模式可由按鍵切換,</p><p> ?。?)車速<5公里/小時(shí)的時(shí)間累積為總等待時(shí)間T(分鐘),每5分鐘等待時(shí)間相當(dāng)于里程數(shù)增加1公里;</p><p&

30、gt; ?。?)起步公里數(shù)為3公里,價(jià)格8元;若實(shí)際運(yùn)行大于3公里,超出的里程按要求2進(jìn)行;</p><p> ?。?)盡量充分利用所選單片機(jī)系統(tǒng)資源進(jìn)行設(shè)計(jì);</p><p> ?。?)用光電傳感器檢測(cè)轉(zhuǎn)盤轉(zhuǎn)動(dòng)模擬車速,根據(jù)車輪周長(zhǎng)和轉(zhuǎn)動(dòng)圈數(shù)計(jì)算里程;</p><p> ?。?)要求公里數(shù)檢測(cè)誤差不超過±10%;</p><p>

31、  (8)到達(dá)目的地后,按“停止”鍵,計(jì)價(jià)器停止計(jì)價(jià);</p><p> ?。?)按“清除”鍵,計(jì)價(jià)器能將記錄數(shù)據(jù)(里程、等待時(shí)間與價(jià)格等)自動(dòng)清零;</p><p> ?。?0)按“查詢”鍵,能自動(dòng)顯示總等待時(shí)間T,再按下該鍵回到顯示里程數(shù)、金額狀態(tài)。</p><p>  2.2.2 發(fā)揮部分</p><p> ?。?)增加了空車指示功能

32、,當(dāng)無客人時(shí)空車指示燈亮;</p><p> ?。?)增加實(shí)時(shí)時(shí)間顯示功能,空車時(shí)顯示當(dāng)前時(shí)間;</p><p> ?。?)增加信息儲(chǔ)存功能,可以儲(chǔ)存等待時(shí)間,里程和金額。</p><p>  2.3 總體方案介紹及工作原理說明</p><p>  本設(shè)計(jì)主要由硬件和軟件兩部分組成。軟件設(shè)計(jì)運(yùn)用C語言編程實(shí)現(xiàn);硬件設(shè)計(jì)以AT89S52單片機(jī)

33、為主控芯片,其外部電路包括復(fù)位電路、晶振電路、獨(dú)立鍵盤電路、指示燈電路、數(shù)碼管顯示電路、車速檢測(cè)電路、存儲(chǔ)電路、時(shí)鐘顯示電路等。設(shè)計(jì)總體方案如圖1所示:</p><p><b>  圖1 總體方案圖</b></p><p>  本設(shè)計(jì)的里程計(jì)算和費(fèi)用計(jì)算方案如下:</p><p>  2.3.1 里程計(jì)算</p><p&g

34、t; ?。?)霍爾傳感器對(duì)車輪進(jìn)行信號(hào)檢測(cè),產(chǎn)生并輸出脈沖信號(hào)給單片機(jī);</p><p> ?。?)單片機(jī)對(duì)傳感器輸出的脈沖信號(hào)進(jìn)行計(jì)數(shù),并進(jìn)行里程(單位:km)換算。每一個(gè)脈沖信號(hào)代表輪胎旋轉(zhuǎn)一周,設(shè)輪胎的直徑為d=0.5m;輪胎轉(zhuǎn)數(shù)為N,則里程Z=π*d*N/1000(km)。設(shè)速度為V,脈沖信號(hào)頻率為f,則V=π*d*f(m/s) = 3.6π*d*f(km/h)。</p><p>

35、  2.3.2 費(fèi)用計(jì)算</p><p> ?。?)出租車的起步費(fèi)為8元,并且3km內(nèi)不需額外計(jì)價(jià);</p><p> ?。?)出租車行駛3km后,單程2元/km,雙程1.5元/km;</p><p> ?。?)等待收費(fèi)的標(biāo)準(zhǔn)為5分鐘按1公里折算;</p><p>  (4)暫停時(shí)計(jì)價(jià)器暫停計(jì)價(jià),不收費(fèi)用。</p><p

36、><b>  3 硬件系統(tǒng)設(shè)計(jì)</b></p><p>  3.1 硬件系統(tǒng)各功能模塊簡(jiǎn)介</p><p>  本系統(tǒng)主要由單片機(jī)主控模塊、復(fù)位電路模塊、晶振電路模塊、獨(dú)立鍵盤電路模塊、指示燈電路模塊、數(shù)碼管顯示電路模塊、車速檢測(cè)電路模塊、存儲(chǔ)電路模塊、時(shí)鐘顯示電路模塊等組成,下面將對(duì)各模塊作簡(jiǎn)要介紹。</p><p>  3.1.1

37、 AT89S52單片機(jī)</p><p>  AT89S52是一個(gè)低功耗高性能的單片機(jī),具有8kB的閃存、128BRAM、32個(gè)I/O口、2個(gè)定時(shí)/計(jì)數(shù)器、六個(gè)中斷源、一個(gè)全雙工的串行口,可反復(fù)擦寫,支持ISP(在系統(tǒng)編程),可以有效地縮短開發(fā)時(shí)間和降低開發(fā)成本。其封裝實(shí)物圖和引腳功能圖如圖2(a),(b)所示。</p><p> ?。╝)AT89S52封裝實(shí)物圖

38、 (b)AT89S52引腳功能圖</p><p>  圖2 AT89S52封裝實(shí)物圖和引腳功能圖</p><p>  關(guān)于四個(gè)I/O口的主要功能介紹如下:</p><p><b>  P0口有兩個(gè)功能:</b></p><p> ?。?)擴(kuò)展外部存儲(chǔ)器時(shí),當(dāng)作為數(shù)據(jù)/地址總線;</p><

39、p> ?。?)不擴(kuò)展時(shí),可做一般的I/O口使用,但內(nèi)部無上拉電阻,作為輸入或輸出時(shí)應(yīng)在外部接上拉電阻。</p><p>  P1口只做I/O口使用,其內(nèi)部有上拉電阻。  </p><p>  P2口有兩個(gè)功能: </p><p> ?。?)擴(kuò)展外部存儲(chǔ)器時(shí),當(dāng)作地址總線使用;  </p><p>  (2)

40、做一般I/O口使用,其內(nèi)部有上拉電阻。  </p><p><b>  P3口有兩個(gè)功能:</b></p><p> ?。?)作為I/O口使用(其內(nèi)部有上拉電阻);</p><p> ?。?)還有一些特殊功能,由特殊寄存器來設(shè)置。</p><p>  設(shè)計(jì)中用到的單片機(jī)各管腳功能以及與其他模塊連接介紹如下:&l

41、t;/p><p>  VCC:接+5V電源。</p><p><b>  GND:接地。</b></p><p>  XTAL:時(shí)鐘引腳,XTAL1和XTAL2外接晶振和33pF的電容,構(gòu)成時(shí)鐘電路。</p><p>  RST:復(fù)位信號(hào)輸入端,高電平有效。當(dāng)在此引腳加兩個(gè)機(jī)器周期的高電平時(shí),就可以完成復(fù)位操作。</p

42、><p>  P1.0:接功能按鍵。</p><p>  P1.1:接切換鍵,表示單雙程切換。</p><p>  P1.2:接停止鍵。</p><p>  P1.3:接清零鍵。</p><p>  P3.0:接查詢/確認(rèn)鍵</p><p>  P1.4:接空車指示燈。</p><

43、;p>  P1.5:接查詢指示燈。</p><p>  P1.6:接等待指示燈。</p><p>  P1.7:接雙程指示燈。</p><p>  P0口接數(shù)碼管段選端口,P2口接數(shù)碼管位選端口。</p><p>  P3.2:接霍爾傳感器的輸出口。</p><p>  P3.3:接存儲(chǔ)器的SCL口。</p

44、><p>  P3.4:接存儲(chǔ)器的SDA口。</p><p>  P3.5:接時(shí)鐘電路DS1302的RST口。</p><p>  P3.6:接DS1302的SCLK口。</p><p>  P3.7:接DS1302的I/O口。</p><p>  3.1.2 復(fù)位電路</p><p>  AT8

45、9S52 的復(fù)位端是一個(gè)施密特觸發(fā)輸入,高電平有效。RST端若由低電平上升到高電平并持續(xù)2個(gè)機(jī)器周期,系統(tǒng)將實(shí)現(xiàn)一次復(fù)位操作。此復(fù)位電路中,上電或按一下復(fù)位開關(guān)都能在RST端出現(xiàn)一段時(shí)間的高電平,使系統(tǒng)復(fù)位。如圖3所示。</p><p><b>  圖3 復(fù)位電路</b></p><p>  3.1.3 晶振電路</p><p>  其輸入端

46、為芯片引腳XTAL1,其輸出端為芯片引腳XTAL2。通過這兩個(gè)引腳在芯片外并接石英晶體振蕩器和兩只電容,這樣就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。如圖4所示。</p><p><b>  圖4 晶振電路</b></p><p>  3.1.4 獨(dú)立鍵盤電路</p><p>  本設(shè)計(jì)的鍵盤電路由5個(gè)獨(dú)立按鍵組成,如圖5所示。</p>&l

47、t;p><b>  圖5 獨(dú)立鍵盤電路</b></p><p><b>  功能如下:</b></p><p>  S1:功能鍵。按下時(shí)進(jìn)入單雙程選擇模式,再按回到實(shí)時(shí)時(shí)間顯示狀態(tài)。</p><p>  S2:切換鍵。按功能鍵進(jìn)入單雙程選擇模式后再按此鍵可進(jìn)行單程和雙程之間切換。</p><p&g

48、t;  S3:停止鍵。運(yùn)行狀態(tài)按下此鍵即停止計(jì)程計(jì)費(fèi)。</p><p>  S4:清除鍵。按下時(shí)清除里程和金額等數(shù)據(jù)信息,并將此次信息送入存儲(chǔ)電路儲(chǔ)存。</p><p>  S5:查詢、確認(rèn)鍵。功能選擇模式時(shí)按下此鍵確認(rèn)選擇,運(yùn)行時(shí)按下此鍵可查詢等待時(shí)間,再次按下回到顯示里程數(shù)、金額狀態(tài)。</p><p>  3.1.5 指示燈電路</p><

49、p>  指示燈電路由4個(gè)LED組成,包括空車指示燈、查詢指示燈、等待指示燈、雙程指示燈。如圖6所示。</p><p><b>  圖6 指示燈電路</b></p><p>  這些指示燈能對(duì)計(jì)程車的每一種狀態(tài)進(jìn)行指示,空車時(shí)空車指示燈亮,查詢時(shí)查詢指示燈亮,當(dāng)車速小于5km/h時(shí)等待指示燈亮。如果選擇的模式為雙程時(shí)雙程指示燈亮,單程時(shí)不亮。</p>

50、<p>  3.1.6 數(shù)碼管顯示電路</p><p>  數(shù)碼管顯示電路由兩個(gè)四位一體的LED數(shù)碼管組成, LED數(shù)碼管是由發(fā)光二極管排列組成的顯示器件。它采用低電壓掃描驅(qū)動(dòng),具有耗電少、使用壽命長(zhǎng)、成本低、故障少、視角大、可視距離遠(yuǎn)等特點(diǎn)。此外,它的響應(yīng)時(shí)間短(一般不超過0.1us),亮度也比較高。它的缺點(diǎn)是工作電流比較大,每一段的工作電流在10mA左右。</p><p>

51、;  其中每位數(shù)碼管內(nèi)部由8個(gè)LED組成,示意圖如圖7,其中A—G代表7個(gè)發(fā)光二極管構(gòu)成7筆字形,余下一個(gè)DP構(gòu)成小數(shù)點(diǎn),稱為8段LED。8段LED數(shù)碼管可以顯示0~9等10個(gè)數(shù)字和小數(shù)點(diǎn),使用非常廣泛。如圖7所示。</p><p><b>  圖7 8段數(shù)碼管 </b></p><p>  這類數(shù)碼管可以分為共陽極和共陰極兩種,共陽極就是把所有LED的陽極連接到共同

52、接點(diǎn),而每個(gè)LED的陰極分別為a、b、c、d、e、f、g、dp;共陰極則是把所有LED的陰極連接到共同接點(diǎn),而每個(gè)LED的陽極分別為a、b、c、d、e、f、g、dp。如圖8和圖9所示。</p><p>  圖8 8段共陽數(shù)碼管 圖9 8段共陰數(shù)碼管</p><p>  通過控制這個(gè)公共端,可使該位對(duì)應(yīng)的LED亮或暗。當(dāng)共陰極端接地或共陽極接高電平

53、,該位顯示器有效,反之無效。本設(shè)計(jì)采用共陰LED數(shù)碼管。</p><p>  數(shù)碼管有靜態(tài)顯示和動(dòng)態(tài)顯示兩種顯示方式,本設(shè)計(jì)采用動(dòng)態(tài)顯示。相比較而言,動(dòng)態(tài)顯示方式具有低功耗、接口少等優(yōu)點(diǎn)。本設(shè)計(jì)中使用的兩個(gè)四位一體數(shù)碼管接P0口作為段選,接P2口作為位選??哲嚂r(shí)顯示當(dāng)前時(shí)間,開始計(jì)價(jià)時(shí)前四位顯示里程,后四位顯示金額。當(dāng)查詢等待時(shí)間時(shí)顯示為等待時(shí)間。如圖10所示。</p><p>  圖10

54、 數(shù)碼管顯示電路</p><p>  3.1.7 車速檢測(cè)電路</p><p>  本次設(shè)計(jì)選取了霍爾傳感器來進(jìn)行里程檢測(cè)。</p><p>  霍爾器件是一種磁傳感器。用它們可以檢測(cè)磁場(chǎng)及其變化,可在各種與磁場(chǎng)有關(guān)的場(chǎng)合中使用?;魻柶骷曰魻栃?yīng)為工作基礎(chǔ)。</p><p>  霍爾器件具有許多優(yōu)點(diǎn),它們的結(jié)構(gòu)牢固,體積小,重量輕,壽命長(zhǎng)

55、,安裝方便,功耗小,頻率高,耐震動(dòng),不怕灰塵、油污、水汽及鹽霧等的污染或腐蝕。</p><p>  霍爾器件分為霍爾元件和霍爾集成電路兩大類,前者是一個(gè)簡(jiǎn)單的霍爾片,使用時(shí)常常需要將獲得的霍爾電壓進(jìn)行放大。后者將霍爾片和它的信號(hào)處理電路集成在同一個(gè)芯片上。本次設(shè)計(jì)選取了霍爾集成電路來測(cè)量里程。</p><p>  里程測(cè)量是通過將霍爾傳感器的集成電路安裝在車輪上方的鐵板上,將磁鐵安裝在車輪

56、上,旋轉(zhuǎn)的車輪將磁鐵對(duì)準(zhǔn)集成電路時(shí),霍爾傳感器會(huì)輸出一個(gè)脈沖信號(hào),送到單片機(jī),經(jīng)過單片機(jī)的計(jì)算處理,將行駛的里程送到顯示單元并顯示出來?;魻杺鞲衅骼锍虣z測(cè)示意圖如圖11所示。</p><p>  圖11 里程檢測(cè)示意圖</p><p>  U18霍爾傳感器IC(Integrated Circuit,集成電路)是一種利用霍爾效應(yīng)做成的半導(dǎo)體集成電路器件,它被設(shè)計(jì)在交變磁場(chǎng)中運(yùn)行,特別是能在低

57、電源電壓工作,長(zhǎng)時(shí)間運(yùn)行溫度范圍高達(dá)125℃。這種霍爾可用作各種類型的傳感器(速度傳感器、位移傳感器、轉(zhuǎn)速傳感器等等),接觸開關(guān)以及相類似的應(yīng)用場(chǎng)合。其工作電壓比較寬(2.5~20V),可運(yùn)行在較大的溫度范圍內(nèi)(-20℃~125℃), 其輸出的信號(hào)符合TTL(Transistor-Transistor Logic,晶體管-晶體管邏輯)電平標(biāo)準(zhǔn),可以直接接到單片機(jī)的IO 口上,而且其最高檢測(cè)頻率可達(dá)到1MHZ。</p>&l

58、t;p>  U18霍爾傳感器IC的外形圖及其工作特性如圖12(a),(b)所示。其中BOP為工作點(diǎn)“開”的磁感應(yīng)強(qiáng)度,BRP為釋放點(diǎn)“關(guān)”的磁感應(yīng)強(qiáng)度。當(dāng)外加的磁感應(yīng)強(qiáng)度超過動(dòng)作點(diǎn)BOP時(shí),傳感器輸出低電平,當(dāng)磁感應(yīng)強(qiáng)度降到動(dòng)作點(diǎn)BOP以下時(shí),傳感器輸出電平不變,一直要降到釋放點(diǎn)BRP時(shí),傳感器才由低電平躍變?yōu)楦唠娖?。BOP與BRP之間的滯后使開關(guān)動(dòng)作更為可靠。</p><p>  U18集成霍耳開關(guān)由穩(wěn)壓

59、器A、霍耳電勢(shì)發(fā)生器(即硅霍耳片)B、差分放大器C、施密特觸發(fā)器D和OC門輸出E五個(gè)基本部分組成。在輸入端輸入電壓VCC,經(jīng)穩(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)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到OC門輸出。當(dāng)施加的磁場(chǎng)達(dá)到工作點(diǎn)(即Bop)時(shí),觸發(fā)器輸出高電壓(相</p>

60、<p>  對(duì)于地的電位),使三極管導(dǎo)通,此時(shí)OC門輸出端輸出低電壓,三極管截止,使OC門輸出高電壓,這種狀態(tài)為關(guān)。這樣兩次電壓變換,使霍爾開關(guān)完成了一次開關(guān)動(dòng)</p><p><b>  作。</b></p><p>  (a) U18的外形圖及引腳 (b) U18的工作特性圖</p><p>  

61、圖12 U18霍爾傳感器IC的外形及引腳圖及其工作特性圖</p><p>  U18霍爾傳感器IC有3個(gè)外接端子,2個(gè)是電源的正負(fù)極端子,最后一個(gè)是脈沖信號(hào)輸出,只要將此信號(hào)輸出端接到單片機(jī)的IO口端子上便可以實(shí)現(xiàn)距離檢測(cè)。其中,單片機(jī)的P3.2(INT0)引腳作為信號(hào)的輸入端接收來自傳感器輸出的信號(hào),采用外部中斷0進(jìn)行計(jì)數(shù)。車輪每轉(zhuǎn)一圈,霍爾傳感器就產(chǎn)生一個(gè)脈沖信號(hào),根據(jù)霍爾效應(yīng)原理,當(dāng)霍爾片處在磁場(chǎng)中時(shí),霍爾

62、傳感器的輸出端輸出低電平。當(dāng)車輪轉(zhuǎn)動(dòng)一圈時(shí)小磁鐵提供一個(gè)磁場(chǎng),則霍爾傳感器輸出一次低電平完成一次數(shù)據(jù)采集,從而產(chǎn)生信號(hào)?;魻杺鞲衅鳈z測(cè)并輸出信號(hào)到單片機(jī)的INT0計(jì)算脈沖輸入端,引起單片機(jī)的中斷,對(duì)脈沖計(jì)數(shù),當(dāng)計(jì)數(shù)達(dá)到特定的次數(shù)時(shí),里程就會(huì)增加,單片機(jī)對(duì)里程進(jìn)行計(jì)算后,通過接口電路將計(jì)算好的結(jié)果傳送到數(shù)碼管并顯示出來。</p><p>  3.1.8 存儲(chǔ)電路</p><p>  存儲(chǔ)電

63、路的作用是儲(chǔ)存上一次的里程、金額和等待時(shí)間。本設(shè)計(jì)采用Atmel公司的AT24C1024可擦除存儲(chǔ)芯片,采用兩線串行的總線和單片機(jī)通訊,芯片內(nèi)的信息可以在斷電的情況下保存40年以上,而且采用8 腳的DIP 封裝,使用方便。存儲(chǔ)電路如圖13所示。圖中R3、R4 是上拉電阻,其作用是減少AT24C1024 的靜態(tài)功耗。由于AT24C1024的數(shù)據(jù)線和地址線是復(fù)用的,采用串口的方式傳送數(shù)據(jù),所以只用兩根線SCL(時(shí)鐘脈沖)和SDA(數(shù)據(jù)/地址

64、)與單片機(jī)P3.3和P3.4口連接,進(jìn)行傳送數(shù)據(jù)。</p><p><b>  圖13 存儲(chǔ)電路</b></p><p>  3.1.9 時(shí)鐘顯示電路</p><p>  本設(shè)計(jì)采用基于DS1302的時(shí)鐘電路,空車時(shí)顯示當(dāng)前時(shí)間。DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,DS1302的引腳排列,其中

65、VCC1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。X1和X2是振蕩源,外接晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。I/O為串行數(shù)據(jù)輸入輸出端(雙向), SCLK為時(shí)鐘輸入端。 如圖14所示。</p><p><b>  1</b></p><p>  圖14 時(shí)鐘顯示電路</p&g

66、t;<p><b>  4 軟件系統(tǒng)設(shè)計(jì)</b></p><p>  本系統(tǒng)的軟件設(shè)計(jì)主要分為系統(tǒng)主程序、數(shù)據(jù)處理子程序、等待時(shí)間計(jì)時(shí)子程序和鍵盤掃描子程序四個(gè)模塊,下面對(duì)每一塊進(jìn)行介紹。</p><p>  4.1 系統(tǒng)主程序</p><p>  本設(shè)計(jì)中采用了主程序調(diào)用各個(gè)子程序的方法。在main函數(shù)編寫開始,要進(jìn)行初始化

67、,包括對(duì)系統(tǒng)初始化和對(duì)硬件設(shè)備進(jìn)行初始化,并使硬件處于就緒狀態(tài)。在主程序模塊中,需要完成對(duì)各接口芯片的初始化、出租車起價(jià)和單價(jià)的初始化、中斷向量的設(shè)計(jì)以及開中斷、循環(huán)等待等工作。系統(tǒng)主程序流程圖如圖15所示。</p><p>  圖15 系統(tǒng)主程序流程圖</p><p>  4.2 數(shù)據(jù)處理子程序</p><p>  每當(dāng)霍爾傳感器輸出一個(gè)低電平信號(hào)就使單片機(jī)中斷

68、一次,在計(jì)數(shù)中斷服務(wù)程序,里程和金額都相應(yīng)變化,當(dāng)然等待時(shí)間也換算成里程(當(dāng)速度小于5km/h時(shí),每5分鐘相當(dāng)于1公里)。計(jì)算程序根據(jù)里程數(shù)分別進(jìn)入不同的計(jì)算公式。如果里程大于3公里,則執(zhí)行公式:金額=(里程-3)*單價(jià)+8;否則,執(zhí)行公式:總金額=起步價(jià)。數(shù)據(jù)處理子程序流程圖如圖16所示。</p><p>  圖16 數(shù)據(jù)處理子程序流程圖</p><p>  4.3 等待時(shí)間計(jì)時(shí)子程序

69、</p><p>  當(dāng)出租車的速度5km/h時(shí)等待時(shí)間開始計(jì)時(shí),并換算成里程,進(jìn)行計(jì)算后顯示等待時(shí)間和金額。當(dāng)停止鍵按下時(shí)停止計(jì)時(shí)和計(jì)費(fèi)并顯示金額,當(dāng)有查詢鍵按下時(shí)顯示等待時(shí)間,當(dāng)有清除鍵按下時(shí)存儲(chǔ)本次金額。等待時(shí)間計(jì)時(shí)子程序如圖17所示。</p><p>  圖17 等待時(shí)間計(jì)時(shí)子程序</p><p>  4.4 鍵盤掃描子程序</p><

70、p>  鍵盤采用查詢的方式,放在主程序中,當(dāng)沒有按鍵按下的時(shí)候,單片機(jī)循環(huán)主程序,一旦右按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。鍵盤掃描子程序流程圖如圖18所示。</p><p>  圖18 鍵盤掃描子程序</p><p>  5 系統(tǒng)運(yùn)行的Proteus仿真與測(cè)試</p><p>  設(shè)計(jì)仿真中采用輔助軟件Keil uVision3對(duì)程序進(jìn)行編譯

71、,從而生成Proteus中單片機(jī)能夠讀取并載入的“.hex”文件。“.hex”文件生成界面如圖19所示。</p><p>  圖19 “.hex”文件生成界面</p><p>  在Proteus軟件中畫出仿真電路,另外為了將注意力集中在單片機(jī)對(duì)系統(tǒng)的控制上,將車速檢測(cè)電路有傳感器輸出的信號(hào)簡(jiǎn)化為用一個(gè)脈沖信號(hào)源替代,通過改變脈沖頻率模擬車速變化。把Keil uVision3編譯后生成的“

72、.hex”導(dǎo)入到單片機(jī)中,進(jìn)行仿真。下面對(duì)系統(tǒng)的幾種主要狀態(tài)進(jìn)行運(yùn)行測(cè)試。</p><p><b>  5.1 空車狀態(tài)</b></p><p>  空車狀態(tài)時(shí),空車指示燈亮,數(shù)碼管顯示當(dāng)前時(shí)間。空車狀態(tài)仿真電路及其顯示如圖20所示。</p><p>  圖20 空車狀態(tài)仿真電路</p><p>  5.2 單雙程模

73、式切換</p><p>  按下功能鍵,進(jìn)入單雙程選擇模式。如圖21和圖22所示。數(shù)碼管顯示單價(jià),數(shù)字前帶負(fù)號(hào)表示當(dāng)前單價(jià)。</p><p>  圖21 單程模式仿真電路</p><p>  圖22 雙程模式仿真電路</p><p>  模式選定后按確認(rèn)鍵進(jìn)入運(yùn)行狀態(tài),空車指示燈滅,該模式對(duì)應(yīng)的指示燈亮(雙程亮,單程不亮)。數(shù)碼管前四位顯示里

74、程,后四位顯示金額。以雙程模式運(yùn)行狀態(tài)為例,如圖23所示。</p><p>  圖23 雙程模式運(yùn)行狀態(tài)仿真電路</p><p><b>  5.3 等待模式</b></p><p>  當(dāng)車速小于5km/h,系統(tǒng)進(jìn)入等待模式,等待指示燈亮,數(shù)碼管顯示等待時(shí)間。如圖24所示。</p><p>  圖24 等待模式仿真電

75、路</p><p><b>  5.4 查詢模式</b></p><p>  當(dāng)?shù)竭_(dá)終點(diǎn)后,按下停止鍵,系統(tǒng)停止運(yùn)行,此時(shí)按查詢鍵可查詢總等待時(shí)間、再按下該鍵回到顯示里程和金額狀態(tài),查詢指示燈亮。如圖25所示。</p><p>  圖25 查詢狀態(tài)仿真電路</p><p>  交易完成之后,按下清除鍵,系統(tǒng)回到空車狀態(tài)

76、,空車指示燈亮,數(shù)碼管顯示當(dāng)前時(shí)間。</p><p>  仿真時(shí)由于軟件本身存在延時(shí)等現(xiàn)象,所以顯示結(jié)果可能存在誤差,但并不影響該系統(tǒng)的功能。仿真結(jié)果表示該系統(tǒng)能實(shí)現(xiàn)設(shè)計(jì)的全部功能要求。</p><p><b>  6 結(jié)束語</b></p><p>  在本次設(shè)計(jì)中,我采用了AT89S52芯片為核心器件,結(jié)合復(fù)位電路、晶振電路、獨(dú)立鍵盤電路

77、、指示燈電路、數(shù)碼管顯示電路、車速檢測(cè)電路、存儲(chǔ)電路、時(shí)鐘顯示電路等外部電路,設(shè)計(jì)出了一個(gè)簡(jiǎn)易計(jì)程車?yán)锍瘫硐到y(tǒng)。利用C語言編程,編譯后寫入單片機(jī)中,通過仿真和調(diào)試之后,系統(tǒng)基本能夠?qū)崿F(xiàn)顯示當(dāng)前時(shí)間、等待時(shí)間、金額和里程,按鍵控制,空車指示等多種功能。雖然還存在一些誤差,但還是達(dá)到了本次畢業(yè)設(shè)計(jì)的要求。成功設(shè)計(jì)出了一個(gè)多功能的簡(jiǎn)易計(jì)程車?yán)锍瘫硐到y(tǒng)。</p><p>  在這次畢業(yè)設(shè)計(jì)中,我的體會(huì)頗多。選題后,我便開

78、始復(fù)習(xí)電子信息專業(yè)各方面的知識(shí),也查閱了很多相關(guān)資料,同時(shí)也學(xué)習(xí)仿真軟件Proteus和編程軟件Keil uVision3。的使用。由于我以前大都采用匯編語言來編程,而對(duì)這次用C語言來實(shí)現(xiàn)單片機(jī)的編程還不太熟練,所以也花費(fèi)了一些時(shí)間來熟悉C語言的編程。復(fù)習(xí)了一段時(shí)間的理論知識(shí)后,我便開始著手設(shè)計(jì)方案,通過比較,最終確定了利用單片機(jī)來實(shí)現(xiàn)里程表的計(jì)程計(jì)費(fèi)。方案確定后,我便分模塊設(shè)計(jì)了系統(tǒng)原理圖;軟件方面,繪制了流程圖,并利用C語言編寫了全

79、部程序。軟硬件均設(shè)計(jì)完成之后,我通過Proteus軟件對(duì)系統(tǒng)進(jìn)行了仿真,仿真結(jié)果達(dá)到設(shè)計(jì)任務(wù)的指標(biāo),實(shí)現(xiàn)了設(shè)計(jì)的預(yù)期目標(biāo)。通過幾個(gè)月的努力,我最終完成了本次畢業(yè)設(shè)計(jì)任務(wù)。</p><p>  本次設(shè)計(jì)我學(xué)習(xí)到了不少知識(shí),但由于自己的理論知識(shí)水平有限,實(shí)踐知識(shí)和設(shè)計(jì)經(jīng)驗(yàn)不足,在設(shè)計(jì)過程中難免存在一些問題,尚有許多不足,個(gè)別功能還不能很好的實(shí)現(xiàn),實(shí)物制作并沒有完成。下一步的工作,是對(duì)計(jì)程車計(jì)價(jià)器的功能和實(shí)用性方面進(jìn)一

80、步完善,并完成實(shí)物的制作,真正做成有實(shí)用價(jià)值的應(yīng)用儀器。懇請(qǐng)各位老師批評(píng)指正,以使我在以后的學(xué)習(xí)和實(shí)踐中加以改進(jìn)和提高。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 代啟化.基于Proteus的電路設(shè)計(jì)與仿真[J].現(xiàn)代電子技術(shù).2006,第19期.</p><p>  Dai QiHua.Proteus-base

81、d circuit design and simulation [J]. Modern electronic </p><p>  technology.2006,No.19. (in Chinese) </p><p>  [2] 劉文秀.單片機(jī)應(yīng)用系統(tǒng)仿真的研究[J].現(xiàn)代電子技術(shù).2005, 第286 期.</p><p>  Liu WenXiu .Micr

82、ocontroller Application System Simulation [J]. Modern electronic </p><p>  technology.2005,No.286. (in Chinese)</p><p>  [3] 曹巧媛.單片機(jī)原理及應(yīng)用[M],北京:電子工業(yè)出版社,1997.</p><p>  Cao QiaoYuan.M

83、icrocontroller Theory and Applications [M], Beijing: Electronic </p><p>  Industry Press, 1997. (in Chinese)</p><p>  [4] 張洪潤(rùn).蘭清華,單片機(jī)應(yīng)用技術(shù)教程[M],北京:清華大學(xué)出版社,1997.</p><p>  Zhang Hongru

84、n ,Lan Qinghua, MCU application technology tutorial [M], Beijing: </p><p>  Tsinghua University Press, 1997. (in Chinese)</p><p>  [5] 李廣第.單片機(jī)基礎(chǔ)[M],北京航空航天大學(xué)出版社,2006.</p><p>  Li Gua

85、ngdi. Microcontroller based on [M], Beijing Aerospace University Press, 2006. (in Chinese)</p><p>  [6] 馬忠梅.單片機(jī)的C語言編程[M]. 北京:北京航空航天大學(xué)出版社,2003.</p><p>  Ma Zhongmei.the C programming language of

86、SCM [M], Beijing: Beijing Aerospace University Press, 2003. (in Chinese)</p><p>  [7] 李華.單片機(jī)實(shí)用接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,1993.</p><p>  Li hua. SCM practical interface technology[M],Beijing:Beijing

87、Aerospace University Press, 1993. (in Chinese)</p><p>  [8] 趙秀珍.單片微型計(jì)算機(jī)原理及其應(yīng)用[M].北京:中國水利水電出版社,2001.</p><p>  Zhao xiuzhen. Single chip computer principle and its application[M],Beijing: China Wa

88、terPower Press, 2001. (in Chinese)</p><p>  [9] M.Mitescu,I.Susnea.Microcontrollersinpractice,Springer,Berlin,2005.</p><p>  [10]MarcusO.Durham.Systemsdesignandthe8051,TechnoPress,Tulsa,2004.<

89、;/p><p><b>  致 謝</b></p><p>  通過不斷努力,我終于完成了此次畢業(yè)設(shè)計(jì)。在此,首先感謝XX老師,正是他在百忙之中還抽出寶貴的時(shí)間對(duì)我進(jìn)行精心的指導(dǎo),才使我順利完成了此次畢業(yè)設(shè)計(jì)。同時(shí)也感謝各位同學(xué)和老師對(duì)我提供的幫助,使我在此次設(shè)計(jì)中學(xué)到了許多寶貴的知識(shí)和經(jīng)驗(yàn)。在此,衷心地感謝你們!</p><p><b&g

90、t;  附 錄</b></p><p>  附錄A 元器件清單</p><p>  附表1 元器件清單</p><p>  附錄B 源程序清單</p><p>  #include<reg52.h></p><p>  #include<intrins.h></p>

91、;<p>  #define uint unsigned int</p><p>  #define uchar unsigned char</p><p>  #define DanJia_DanCheng 20</p><p>  #define DanJia_WangFan 15</p><p>  #define Lu

92、nJing 5 /*車輪直徑0.5m*/</p><p>  #define LunChang 1.57//m 3.14*0.5</p><p>  /**************************</p><p><b>  狀態(tài)碼定義</b></p><p>  *********************

93、*****/</p><p>  #define KongChe_flag 0</p><p>  #define JinEr_LiCheng_flag 1</p><p>  #define ShiJian_flag 2 </p><p>  #define DanJia_flag

94、 3</p><p>  /*****************************************</p><p>  ds1302 地址定義</p><p>  *****************************************/</p><p>  #define WRITE_SECOND

95、 0x80</p><p>  #define WRITE_MINUTE 0x82</p><p>  #define WRITE_HOUR 0x84</p><p>  #define READ_SECOND 0x81</p><p>  #def

96、ine READ_MINUTE 0x83</p><p>  #define READ_HOUR 0x85</p><p>  #define WRITE_PROTECT 0x8E</p><p>  /***********************************

97、******</p><p><b>  AT24C1024</b></p><p>  *****************************************/</p><p>  #defineOP_READ0xa1// 器件地址以及讀取操作</p><p>  #defineOP_WRITE

98、0xa0// 器件地址以及寫入操作</p><p>  /*********************************</p><p><b>  引腳定義</b></p><p>  *********************************/</p><p>  sbit Function_Key=

99、P1^0;</p><p>  sbit QieHuan_Key=P1^1;</p><p>  sbit JieZhang_Key=P1^2;</p><p>  sbit Clear_Key=P1^3;</p><p>  sbit ChaXun_QueRen_Key=P3^0;</p><p>  sbit Ko

100、ngChe_Led=P1^4;</p><p>  sbit ChaXun_Led=P1^5;</p><p>  sbit JiShi_Led=P1^6;</p><p>  sbit DanShuang_Led=P1^7;</p><p>  //位尋址寄存器定義</p><p>  sbit ACC_7 = AC

101、C^7;</p><p>  sbit SCLK = P3^6; // DS1302時(shí)鐘信號(hào) 7腳</p><p>  sbit DIO= P3^7; // DS1302數(shù)據(jù)信號(hào) 6腳</p><p>  sbit CE = P3^5; // DS1302片選

102、5腳</p><p>  sbit SDA = P3^4;</p><p>  sbit SCL = P3^3;</p><p>  uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};</p><p>  uchar code wei[]={

103、0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; </p><p>  uchar data dis1[]={0x00,0x00,0x0b,0x00,0x00,0x0b,0x00,0x00}; //時(shí)分秒顯示緩沖區(qū)</p><p>  uchar data chuzhi[]={0x00,0x00,0x00}; //時(shí)分秒初值</p>

104、<p>  uchar data time1302[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00};</p><p>  uint data Count=0;</p><p>  uint data Count1=0,Count2=0;</p><p>  uchar data DanJia=DanJia_DanChe

105、ng; //默認(rèn)單程價(jià)格</p><p>  uint data LiCheng=0;</p><p>  uint data JinEr=0;</p><p>  uchar data Second;</p><p>  uint data Minute;</p><p>  uint data Speed=

106、0;</p><p>  uint data Old_Count,New_Count;</p><p>  uchar i=0,j=0,k=0,n=0;</p><p>  uint data_temp[];</p><p>  bit KaiShiFlag=0;</p><p>  bit JiShiFlag=0;

107、</p><p>  bit ChaXunFlag=0;</p><p>  bit JieZhangFlag=0;</p><p>  bit JinErFlag=0;</p><p>  void start();</p><p>  void stop();</p><p>  unsig

108、ned char shin();</p><p>  bit shout(uchar write_data);</p><p>  unsigned char read_random(uchar random_addr);</p><p>  void write_byte(uchar addr, uchar write_data);</p><

109、p>  void delayms(uchar ms);</p><p>  void data_process();</p><p>  void fill_byte(uchar fill_data,uchar n);</p><p>  void delay(uint x)</p><p><b>  {</b>

110、</p><p><b>  uint y;</b></p><p>  while(x--)</p><p>  for(y=110;y>0;y--);</p><p><b>  }</b></p><p>  /**************************

111、************</p><p>  at24c1024程序</p><p>  ***************************************/</p><p>  void start()</p><p><b>  // 開始位</b></p><p><b&g

112、t;  {</b></p><p><b>  SDA = 1;</b></p><p><b>  SCL = 1;</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></

113、p><p><b>  SDA = 0;</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><

114、b>  _nop_();</b></p><p><b>  SCL = 0;</b></p><p><b>  }</b></p><p>  void stop()</p><p><b>  // 停止位</b></p><p>

115、;<b>  {</b></p><p><b>  SDA = 0;</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  SCL = 1;</b&

116、gt;</p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p

117、><b>  SDA = 1;</b></p><p><b>  }</b></p><p>  uchar shin()</p><p>  // 從AT24Cxx移入數(shù)據(jù)到MCU</p><p><b>  {</b></p><p>  u

118、nsigned char i,read_data;</p><p>  for(i = 0; i < 8; i++)</p><p><b>  {</b></p><p><b>  SCL = 1;</b></p><p>  read_data <<= 1;</p>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論