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

下載本文檔

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

文檔簡介

1、遼遼 寧寧 工工 業(yè)業(yè) 大大 學學 單片機原理及接口技術(shù)單片機原理及接口技術(shù)課程設(shè)計(論文)課程設(shè)計(論文) 題目:題目: 出租車計價器設(shè)計出租車計價器設(shè)計 院(系):院(系): 電氣工程學院電氣工程學院 專業(yè)班級:專業(yè)班級: 學學 號:號: 學生姓名:學生姓名: 指導(dǎo)教師:指導(dǎo)教師: (簽字) 起止時間:起止時間: 課程設(shè)計(論文)任務(wù)及評語課程設(shè)計(論文)任務(wù)及評語 院(系):電氣工程學院 教研室: 學 號學生姓名專業(yè)班級 課程設(shè)計 (論文)題 目 出租車計價器設(shè)計 課程設(shè)計(論文)任務(wù) 課題完成的功能、設(shè)計任務(wù)及要求、技術(shù)參數(shù)課題完成的功能、設(shè)計任務(wù)及要求、技術(shù)參數(shù) 實現(xiàn)功能實現(xiàn)功能 設(shè)

2、計一款出租車計價器,該計價器根據(jù)不同情況具有不同的收費標準,具有單程和 往復(fù)轉(zhuǎn)換開關(guān),能夠在掉電的情況下存儲單價等數(shù)據(jù),具有等待計費功能。硬件設(shè)計包 括 CPU 選型、最小系統(tǒng)電路、里程計量電路、按鍵顯示、時鐘電路等。軟件采用匯編 語言或 C 語言實現(xiàn)。 設(shè)計任務(wù)及要求設(shè)計任務(wù)及要求 1、確定設(shè)計方案,畫出方案框圖。 2、進行硬件電路的設(shè)計,包括元器件選擇。 3、繪制原理圖。 4、繪出程序流程圖,并編寫里程采集程序、計費程序及顯示程序。 5、要求認真獨立完成所規(guī)定的全部內(nèi)容;所設(shè)計的內(nèi)容要求正確、合理。 6、按學校規(guī)定的格式,撰寫、打印設(shè)計說明書一份;設(shè)計說明書應(yīng)在4000字以上。 技術(shù)參數(shù)技

3、術(shù)參數(shù) 1、白天:1.2 元/公里,晚上 2 元/公里; 2、里程計量精度:2%。 進度計劃 1、布置任務(wù),查閱資料,確定系統(tǒng)設(shè)計方案(2 天) 2、系統(tǒng)硬件設(shè)計及模塊選擇(3 天) 3、系統(tǒng)軟件設(shè)計及編寫功能程序及調(diào)試(3 天) 4、撰寫、打印設(shè)計說明書(1 天) 5、驗收及答辯。 (1 天) 指導(dǎo)教師評語及成績 平時: 論文質(zhì)量: 答辯: 總成績: 指導(dǎo)教師簽字: 年 月 日 注:成績:平時20% 論文質(zhì)量60% 答辯20% 以百分制計算 摘 要 現(xiàn)在各個城市出租車行業(yè)都已普及,因此出租車計價器的技術(shù)已經(jīng)成熟,但 是出租車計價器的市場還具有廣闊的前景。隨著城市建設(shè)的日益完善,關(guān)乎城市 面貌

4、的出租車行業(yè)也將迅速發(fā)展,出租車計價器的的大批量需求也是毫無疑問的, 所以未來出租車計價器的市場還是有相當大的潛力的。 本設(shè)計是以 AT89S52 單片機為核心,以 A44E 霍爾傳感器為信號采集傳感器, 采用 AT24C02 作為存儲芯片,加上各種外圍電路構(gòu)成的出租車計價器。本設(shè)計 采用霍爾傳感器對輪胎轉(zhuǎn)數(shù)進行計數(shù),并將采集到的脈沖信號傳輸給單片機,單 片機通過內(nèi)部定時器對一定時間內(nèi)的轉(zhuǎn)動圈數(shù)進行一次統(tǒng)計,經(jīng)計算實現(xiàn)對出租 車速度、里程、應(yīng)付金額等狀態(tài)信息的測量。本設(shè)計采用了寄存器芯片 AT24C02,實現(xiàn)系統(tǒng)對單價、里程、等待時間等信息的存儲,采用時鐘芯片 DS1302 在正常及掉電的時候

5、來顯示時間和在系統(tǒng)需要時進行計時。本設(shè)計設(shè)置 5 個按鍵為輸入控制方式,分別控制查詢、功能、單雙成切換、暫停(結(jié)賬)以 及清零,輸出顯示采用了 8 段數(shù)碼管實現(xiàn)對時間、金額、里程的顯示,設(shè)置了四 個 LED 燈,分別為空車指示燈、等待查詢指示燈、單雙程指示燈。 汽車計價器是乘客與司機雙方的交易準則,它是出租車行業(yè)發(fā)展的重要標志, 是出租車中最重要的工具。它關(guān)系著交易雙方的利益。具有良好性能的計價器無 論是對廣大出租車司機朋友還是乘客來說都是很必要的。因此,汽車計價器的研 究也是有一定的應(yīng)用價值的 關(guān)鍵詞:單片機;霍爾傳感器;出租車計價器;時鐘 目 錄 第 1 章 緒論 .1 第 2 章 課程設(shè)

6、計的方案 .2 2.1 概述 .2 2.2 系統(tǒng)組成總體結(jié)構(gòu) .2 2.2.1 設(shè)計要求 .2 2.2.2 設(shè)計的主要功能 .3 2.2.3 方案的選取 .3 第 3 章 硬件設(shè)計 .5 3.1 AT89S52 單片機及最小系統(tǒng)設(shè)計 .5 3.2 測距單元 .7 3.3 按鍵單元 .9 3.4 時鐘單元 .9 3.5 顯示單元 .10 3.6 儲存單元 .11 3.7 總體電路圖 .12 第 4 章 軟件設(shè)計 .13 4.1 系統(tǒng)主程序 .13 4.2 數(shù)據(jù)處理子程序 .14 4.3 等待時間計時子程序 .15 4.4 鍵盤掃描子程序 .16 第 5 章 課程設(shè)計總結(jié) .17 參考文獻 .18

7、 附錄 .19 附錄 .20 第 1 章 緒論 隨著經(jīng)濟的不斷發(fā)展,人們的收入得到很大提高。人們便越來越追求生活的 舒適與方便,而出行方式便是關(guān)切到人們生活質(zhì)量的一個重要方面。在物價上漲 的今天,相對于自己購買私家車,更多的人傾向于乘坐出租車出行。雖然現(xiàn)在有 部分小城市尚未普及出租車,但隨著城市建設(shè)日益加快,象征著城市面貌的出租 車行業(yè)也將加速發(fā)展。汽車計價器作為乘客與司機雙方的交易準則,它是出租車 行業(yè)發(fā)展的重要標志,是出租車中最重要的工具。它關(guān)系著交易雙方的利益。具 有良好性能的計價器無論是對廣大出租車司機朋友還是乘客來說都是很必要的。 因此,汽車計價器的研究也是十分有一個應(yīng)用價值的。 我

8、國在 70 年代開始出現(xiàn)出租車,但那時的計費系統(tǒng)大都是國外進口不但不 夠準確,價格還十分昂貴。隨著改革開放日益深入,出租車行業(yè)的發(fā)展勢頭已十 分突出,國內(nèi)各機械廠家紛紛推出國產(chǎn)計價器。出租車計價器的功能從剛開始的 只顯示路程(需要司機自己定價,計算后四舍五入) ,到能夠自主計費,以及現(xiàn) 在的能夠打一發(fā)票和語音提示、按時間自主變動單價等功能。隨著城市旅游業(yè)的 發(fā)展,出租車行業(yè)已成為城市的窗口,象征著一個城市的文明程度。 本次設(shè)計的目的在于現(xiàn)在各大中城市出租車行業(yè)都已普及自動計價器,所以 計價器技術(shù)的發(fā)展已成定局。采用模擬電路和數(shù)字電路設(shè)計的計價器整體電路的 規(guī)模較大,用到的器件多,造成故障率高,

9、難調(diào)試。而采用單片機進行的設(shè)計, 相對來說功能強大,是深化單片機應(yīng)用的良好途徑,用較少的硬件和適當?shù)能浖?相互配合可以很容易地實現(xiàn)設(shè)計要求,且靈活性強,可以通過軟件編程來完成更 多的附加功能。 第 2 章 課程設(shè)計的方案 本次設(shè)計是使用單片機技術(shù)來實現(xiàn)一個出租車的數(shù)字計價器,利用單片機豐 富的IO端口,及其控制的靈活性,實現(xiàn)基本的里程計價功能和單雙程價格調(diào)整、 時鐘顯示功能等等。具有性能可靠,電路簡單、成本低、擴展空間大等特點。 2.1 概述 本次設(shè)計主要是綜合應(yīng)用所學知識,設(shè)計出租車計價器,并在實踐的基本技 能方面進行一次系統(tǒng)的訓練。能夠較全面地鞏固和應(yīng)用“單片機”課程中所學的 基本理論和基

10、本方法,并初步掌握小型單片機系統(tǒng)設(shè)計的基本方法。 應(yīng)用場合: 應(yīng)用于出租車計價器 ,出租車計價器有一個脈沖測速傳感器,通 過脈沖計數(shù)可以顯示出租車行駛里程和計費。控制器由 12V 蓄電池供電。 系統(tǒng)功能介紹: 計價器顯示的營運金額是營運里程與價格的函數(shù)。出租車計 價器通過傳感器與行駛車輛連接,實現(xiàn)基本的里程計價功能和價格調(diào)節(jié)、時鐘顯 示功能。 2.2 系統(tǒng)組成總體結(jié)構(gòu) 2.2.1 設(shè)計要求 (1)能顯示里程,單位為公里,最后一位為小數(shù)位。 (2)能顯示金額數(shù),單位為元,最后一位為小數(shù)位。 (3)可設(shè)定單程價格和往返價格,單程價格為2元/公里,往返價格為1.5元/ 公里。 (4)車速5公里/小時

11、的時間累積為總等待時間,每5分鐘等待時間相當于里 程數(shù)增加1公里。 (5)起步公里數(shù)為3公里,價格為5元,若實際距離大于3公里,按規(guī)則3計 算價格。 (6)按暫停鍵,計價器可暫停計價,按查詢鍵,可顯示總等待時間。 (7)增加了空車指示功能,當無客人時,按下功能切換按鍵,空車指示燈 亮。 (8)增加實時時間顯示,無論計價器工作或者空車,都能顯示實時時間, 便于時間提醒。 (9)增加信息儲存功能。可以儲存等待時間,里程和金額。 2.2.2 設(shè)計的主要功能 本設(shè)計所設(shè)計的出租車數(shù)字計價器的主要功能有:金額輸出、路程輸出、數(shù) 據(jù)復(fù)位、計時計價、空車顯示等。輸出采用2個4位8段共陽數(shù)碼管,車輛行走時 前

12、4位顯示路程,后4位顯示金額。車輛候車時,前4位顯示等待時間,后4位顯示 等待金額??哲嚂r顯示實時時間。儲存等待時間,里程和金額。 2.2.3 方案的選取 本設(shè)計是由軟件設(shè)計和硬件設(shè)計兩部分組成的。軟件設(shè)計要進行程序的編寫 和軟件仿真;硬件設(shè)計要設(shè)計電路、硬件仿真和制作電路板。 本系統(tǒng)的硬件設(shè)計主要包括單片機AT89S52、數(shù)據(jù)顯示部件、U18霍爾傳感 器電路、里程計算及計價單元的設(shè)計。在硬件設(shè)計過程中,充分利用各部件的功 能,實現(xiàn)多功能的出租車計價器設(shè)計。 計價器的單片機系統(tǒng)框圖如圖1所示。它由以下幾個部件組成:霍爾傳感器 單元、AT89S52單片機、金額顯示、里程顯示、電源。利用單片機豐富

13、的IO端口, 及其控制的靈活性,實現(xiàn)基本的里程和價格的計算及顯示功能。 AT89S52 電源電路按鍵電路傳感電路 LED數(shù)碼管顯示燈 圖 2.1 結(jié)構(gòu)框圖 本設(shè)計程序的采取C語言進行編寫,使用Visio編譯和Protel軟件進行繪制。其 中的里程計算和費用計算方案如下。 (1)里程計算 1)霍爾傳感器對車輪進行信號檢測,產(chǎn)生并輸出脈沖信號到單片機; 2)單片機對傳感器輸出的脈沖信號進行計數(shù),并進行km計算:每一個信號代 表輪胎旋轉(zhuǎn)一周,設(shè)輪胎的周長為1.57m ;每km產(chǎn)生的信號數(shù)為N ,里程顯示 為N 1.57m = 1.57N(km) (2)費用計算 1)出租車的起步費為5元,并且3km內(nèi)

14、不需額外計價; 2)出租車行駛3km后,單程2元/km,雙程1.5元/km。 3)等待收費的標準為5分鐘算一公里; 4)暫停時計價器暫停計價,不收費用。 第 3 章 硬件設(shè)計 3.1 AT89S52 單片機及最小系統(tǒng)設(shè)計 AT89S52具有如下特點:40個引腳,4k Bytes Flash片內(nèi)程序存儲器, 128 bytes的隨機存取數(shù)據(jù)存儲器(RAM) ,32個外部雙向輸入/輸出(I/O)口,5個中 斷優(yōu)先級2層中斷嵌套,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門 狗(WDT)電路,片內(nèi)時鐘振蕩器。 P0口有二個功能: (1)外部擴展存儲器時,當做數(shù)據(jù)/地址總線。 (2)不擴展時

15、,可做一般的I/O使用,但內(nèi)部無上拉電阻,作為輸入或輸出時 應(yīng)在外部接上拉電阻。 P1口只做I/O口使用:其內(nèi)部有上拉電阻。 P2口有兩個功能: (1)擴展外部存儲器時,當作地址總線使用。 (2)做一般I/O口使用,其內(nèi)部有上拉電阻。 P3口有兩個功能:除了作為I/O使用外(其內(nèi)部有上拉電阻) ,還有一些特殊 功能,由特殊寄存器來設(shè)置。 設(shè)計中用到的單片機各管腳功能以及與其它模塊連接介紹如下: VCC:接+5V電源。 VSS:接地。 時鐘引腳:XTAL1和XTAL2兩端接晶振和30PF的電容,構(gòu)成時鐘電路。 它可以使單片機穩(wěn)定可靠的運行。 RST:復(fù)位信號輸入端,高電平有效。當在此引腳加兩個機

16、器周期的高電平 時,就可以完成復(fù)位操作。 P1.0:接功能按鍵。 P1.1:接切換鍵,表示單雙程切換。 P1.2:接查詢(上次金額)鍵。 P1.3:接清零鍵。 P1.4:接空車指示燈。 P1.5:接查詢指示燈。 P1.6:接開始計時指示燈。 P1.7:接雙程指示燈。 P3.0:接查詢/確認鍵。 P0口接數(shù)碼管段選端, P2口接數(shù)碼管位選端。 P3.2:接霍爾傳感器的輸出口。 P3.3:接存儲器的SCL口。 P3.4:接儲存器的SDA口。 P3.5:接時鐘電路DS1302的RST口。 P3.6:接DS1302的SCLK口。 P3.7:接DS1302的I/O口。 復(fù)位電路和晶振電路是單片機 AT8

17、9S52 工作時所需的最簡外圍電路。 單片機最小系統(tǒng)電路圖如圖 3.1 所示。 XTAL1 19 XTAL2 18 RST 9 PSEN 29 ALE 30 EA 31 P1.0 1 P1.2 3 P1.3 4 P1.5 6 P1.4 5 P1.6 7 P1.7 8 P1.1 2 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/

18、A13 26 P2.6/A14 27 P2.7/A15 28 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.5/T1 15 P3.6/WR 16 P3.7/RD 17 AT89S52 C1 30pf C2 30pf X1 12MHz C3 10F GND R1 10k S0 GND rst sclk io 圖3.1 單片機最小系統(tǒng) AT89S52的復(fù)位端是一個史密特觸發(fā)輸入,高電平有效。RST端若由低電平 上升到高電平并持續(xù)2個周期,系統(tǒng)將實現(xiàn)一次復(fù)位操作。 在復(fù)位電路中,按一下復(fù)位開關(guān)就使在RST端出現(xiàn)一段時間

19、的高電平,外接 11.0592M 晶振和兩個30pF 電容組成系統(tǒng)的內(nèi)部時鐘電路。 3.2 測距單元 本次設(shè)計我們選取了霍爾傳感器來進行里程測量。 霍爾器件是一種磁傳感器。用它們可以檢測磁場及其變化,可在各種與磁場 有關(guān)的場合中使用?;魻柶骷曰魻栃?yīng)為其工作基礎(chǔ)。 霍爾器件具有許多優(yōu)點,它們的結(jié)構(gòu)牢固,體積小,重量輕,壽命長,安裝 方便,功耗小,頻率高,耐震動,不怕灰塵、油污、水汽及鹽霧等的污染或腐蝕。 霍爾器件分為:霍爾組件和霍爾集成電路兩大類,前者是一個簡單的霍爾片, 使用時常常需要將獲得的霍爾電壓進行放大。后者將霍爾片和它的信號處理電路 集成在同一個芯片上。本次設(shè)計選取了霍爾集成電路來

20、測量里程。 里程測量是通過將霍爾傳感器的集成電路安裝在車輪上方的鐵板上,將磁鐵 安裝在車輪上,旋轉(zhuǎn)的車輪將磁鐵對準集成電路時,霍爾傳感器會輸出一個脈沖 信號,送到單片機,經(jīng)過單片機的計算處理,將行駛的里程送到顯示單元并顯示 出來。 其原理示意圖 3.2 如下。 霍爾傳感器 車輪 小磁鐵 單 片 機 圖3.2 傳感器測距示意圖 A44E是一種利用霍爾效應(yīng)做成的半導(dǎo)體集成電路器件,它被設(shè)計在交變磁 場中運行,特別是能在低電源電壓和長時間運行溫度范圍可達到125。這種霍 爾IC可用作各種類型的傳感器(速度傳感器、位移傳感器、轉(zhuǎn)速傳感器等等) , 接觸開關(guān)以及相類似的應(yīng)用場合。其工作電壓比較寬(2.5

21、20V) ,可運行在較 大的溫度范圍內(nèi)(-20125), 其輸出的信號符合TTL電平標準,可以直接接 到單片機的IO 端口上,而且其最高檢測頻率可達到1MHZ。 圖3.3 A44E霍爾傳感器輸出特性 霍爾傳感器的特性如圖3.3所示,其中BOP為工作點“開”的磁感應(yīng)強度, BRP為釋放點“關(guān)”的磁感應(yīng)強度。當外加的磁感應(yīng)強度超過動作點BOP時,傳 感器輸出低電平,當磁感應(yīng)強度降到動作點BOP以下時,傳感器輸出電平不變, 一直要降到釋放點BRP時,傳感器才由低電平躍變?yōu)楦唠娖?。BOP與BRP之間的 滯后使開關(guān)動作更為可靠。 U18集成霍耳開關(guān)由穩(wěn)壓器A、霍耳電勢發(fā)生器(即硅霍耳片)B、差分放大器

22、C、施密特觸發(fā)器D和OC門輸出E五個基本部分組成。 在輸入端輸入電壓VCC,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍爾電勢發(fā)生器的兩端,根據(jù) 霍爾效應(yīng)原理,當霍爾片處在磁場中時,在垂直于磁場的方向通以電流,則與這 二者相垂直的方向上將會產(chǎn)生霍爾電勢差VH輸出,該VH信號經(jīng)放大器放大后送 至施密特觸發(fā)器整形,使其成為方波輸送到OC門輸出。當施加的磁場達到工作點 (即Bop)時,觸發(fā)器輸出高電壓(相對于地電位) ,使三極管導(dǎo)通,此時OC門 輸出端輸出低電壓,三極管截止,使OC門輸出高電壓,這種狀態(tài)為關(guān)。這樣兩次 電壓變換,使霍爾開關(guān)完成了一次開關(guān)動作。 A44E霍爾傳感器有3個外接口,2個是電源的正負極接口,最后一個

23、是脈沖信 號輸出口,只要將霍爾傳感器的信號輸出端接到單片機的端口上便可以實現(xiàn)距離 檢測。其中,單片機的P3.2(INT0)引腳作為信號的輸入端,采用外部中斷0進 行計數(shù)。車輪每轉(zhuǎn)一圈,霍爾傳感器就產(chǎn)生一個脈沖信號,根據(jù)霍爾效應(yīng)原理, 當霍爾片處在磁場中時,霍爾傳感器的輸出端輸出低電平。當車輪轉(zhuǎn)動一圈時小 磁鐵提供一個磁場,則霍爾傳感器輸出一次低電平完成一次數(shù)據(jù)采集,從而產(chǎn)生 信號。霍爾傳感器檢測并輸出信號到單片機的INT0或INT1計算脈沖輸入端,引起 單片機的中斷,對脈沖計數(shù),當計數(shù)達到特定的次數(shù)時,里程就會增加,單片機 對里程進行計算后,通過接口電路將計算好的結(jié)果傳送到數(shù)碼管并顯示出來。

24、3.3 按鍵單元 本設(shè)計的按鍵單元電路(如圖 3.4)有 5 個按鍵,功能分別是:S1 是空車時 查詢上次金額和里程以及等待時間,結(jié)賬時查詢本次金額和里程以及等待時間;S2 功能鍵,不按時空車指示燈亮而且數(shù)碼管顯示實時時間,按下時可設(shè)置單雙程, 此時再按 S3 可進行單程和雙程之間切換,再按 S1 可確認單雙程,雙程時雙程指 示燈亮并開始計價;按下 S4 可對本次金額、里程以及等待時間進行查詢;S5 為 清零鍵,按下時清零之前數(shù)據(jù)消除以及存儲本次信息。 S1 S2 S3 S4 S5 P3.0 GND P1.0 P1.1 P1.2 P1.3 圖 3.4 按鍵單元電路 3.4 時鐘單元 本設(shè)計采用

25、基于DS1302的時鐘電路(如圖3.5)對時間進行實時顯示,單片 機掉電對其沒有影響。用數(shù)碼管表現(xiàn)出來,當出租車空車時就顯示時間,給人時 間提示。 V CC1 8 V CC2 1 RST 5 SCLK 7 I/O 6 X 1 2 X 2 3 U 2 D S1302 C5 33pf C4 33pf X 2 32769 G ND rst sclk io 圖 3.5 時鐘單元電路 3.5 顯示單元 本設(shè)計顯示單元包括兩部分:數(shù)碼管顯示(圖3-7)和二極管指示顯示(圖 3-8) 。數(shù)碼管顯示部分使用兩個四位一體的LED數(shù)碼管,LED顯示器是由LED發(fā)光 二極管發(fā)展過來的一種顯示器件,是發(fā)光二極管的改型

26、。LED是發(fā)光二極管的簡 稱,是一種將電能轉(zhuǎn)換成光能的設(shè)備。本身也是一種光源。LED顯示器是由發(fā)光 二極管排列組成的顯示器件。它采用低電壓掃描驅(qū)動,具有:耗電少、使用壽命 長、成本低、故障少、視角大、可視距離遠等特點。此外,它的響應(yīng)時間短(一 般不超過0.1us) ,亮度也比較高。它的缺點是工作電流比較大,每一段的工作電 流在10mA左右。 其中每位數(shù)碼管是由8個發(fā)光二極管演變而來,其中7個發(fā)光二極管構(gòu)成7筆 字形,另一個構(gòu)成小數(shù)點,稱為8段LED。8段LED數(shù)碼管是利用7個LED(發(fā)光二極 管)外加一個小數(shù)點的LED組合而成的顯示設(shè)備,可以顯示09等10個數(shù)字和小 數(shù)點,使用非常廣泛。 這類

27、數(shù)碼管可以分為共陽極(8個發(fā)光二極管的陽極接在起)與共陰極(8個 發(fā)光二極管陰極連在一起)兩種,共陽極就是把所有LED的陽極連接到共同接點, 而每個LED的陰極分別為a、b、c、d、e、f、g及dp(小數(shù)點) ;共陰極則是把所 有LED的陰極連接到共同接點,而每個LED的陽極分別為a、b、c、d、e、f、g及 dp(小數(shù)點) ,如圖3.6所示。 圖 3.6 共陽和共陰數(shù)碼管結(jié)構(gòu) 通過控制這個公共端,可使該位亮或暗。如共陰極端接地或共陽極接高電平, 則該位顯示器有效,反之無效。本設(shè)計采用共陰LED數(shù)碼管。 數(shù)碼管有靜態(tài)顯示和動態(tài)顯示兩種,這里采用動態(tài)顯示。它具有低功耗、接 口少等特點。如圖3.7

28、兩個四位一體數(shù)碼管接P0口作為段選,接P2口作為位選。空 車時顯示時間,開始計價時前四位顯示路程,后四位顯示價錢。當查詢等待時間 時顯示為等待時間。 A B C D E F G DP 1 2 3 4 A B C D E F G DP 1 2 3 4 9 8 7 6 5 4 3 2 1 RP1 RESPA CK-8 圖 3.7 顯示單元(數(shù)碼管顯示部分) 二極管指示部分包括空車指示燈、等待時間查詢指示、開始計時指示和雙程 指示如圖3.8。 R2 100 R6 100 R5 100 R7 100 D1 D2 D3 D4 P1.4 P1.5 P1.6 P1.7 圖 3.8 顯示單元(二極管指示部分)

29、 這些指示燈能對出租車的每一種狀態(tài)進行指示,空車時空車指示燈亮,查詢 等待時間時等待時間查詢指示燈亮,當汽車速度小于5km/h時開始計時,計時指 示燈亮。計價前如果按下雙程鍵雙程指示燈亮,表示為雙程。 3.6 儲存單元 存儲單元的作用是儲存上一次的里程、金額和等待時間。AT24C02 是Atmel 公司的1KB的電可擦除存儲芯片,采用兩線串行的總線和單片機通訊,電壓最低 可以到2.5V,額定電流為1mA,靜態(tài)電流10uA(5.5V),芯片內(nèi)的資料可以在斷電 的情況下保存40年以上,而且采用8腳的DIP封裝,使用方便。 SCL 6 SDA 5 WP 7 A1 2 U3 AT24C1024 R4

30、10K R3 10K +5V P3.3 P3.4 圖3.9 儲存單元電路 圖3.9中R3、R4是上拉電阻,其作用是減少AT24C02的靜態(tài)功耗。由于 AT24C02的數(shù)據(jù)線和地址線是復(fù)用的,采用串口的方式傳送數(shù)據(jù),所以只用兩根 線SCL(時鐘脈沖)和SDA(數(shù)據(jù)/地址)與單片機P3.3和P3.4口連接,進行傳送 數(shù)據(jù)。 3.7 總體電路圖 總體電路圖設(shè)計見附錄。 第 4 章 軟件設(shè)計 4.1 系統(tǒng)主程序 本設(shè)計中,軟件設(shè)計采用模塊化操作,利用各個模塊之間的相互聯(lián)系,在設(shè) 計中采用主程序調(diào)用各個子程序的方法,使程序通俗易懂,我們設(shè)計了整體程序 流程圖。 在main函數(shù)編寫開始,要進行初始化,包括

31、對系統(tǒng)初始化和對硬件設(shè)備進行 初始化,并使硬件處于就緒狀態(tài)。 在主程序模塊中,需要完成對各接口芯片的初始化、出租車起價和單價的初 始化、中斷向量的設(shè)計以及開中斷、循環(huán)等待等工作。系統(tǒng)流程圖如下圖4.1。 開始 結(jié)束 初始化 數(shù)據(jù)處理 鍵盤掃描 圖 4.1 系統(tǒng)主程序流程圖 4.2 數(shù)據(jù)處理子程序 每當霍爾傳感器輸出一個低電平信號就使單片機中斷一次,在計數(shù)中斷服務(wù) 程序,里程和金額都相應(yīng)變化,當然等待時間也換算成里程(當速度小于5km/h 時5分鐘想當于1公里) 。計算程序根據(jù)里程數(shù)分別進入不同的計算公式。如果里 程大于3公里,則執(zhí)行公式:金額=(里程-3)*單價+5;否則,執(zhí)行公式:總金 額=

32、起步價。程序流程圖如圖4.2所示。 開始 計算里程 金額=5元 顯示金額 金額=單價*(里程-3) +5 里程3公里 結(jié)束 Y N 圖 4.2 數(shù)據(jù)處理子程序流程圖 4.3 等待時間計時子程序 當出租車的速度5km/h時等待時間開始計時,并被換算里程,進行計算顯示 等待時間和金額。當結(jié)算時停止計時和計費并顯示金額,當有查詢鍵按下時顯示 等待時間,當有清零鍵按下時存儲本次金額。如圖4.3: 開始 速度5公里/小時 查詢鍵按下 Y N Y N 圖 4.3 等待時間計時子程序 4.4 鍵盤掃描子程序 鍵盤采用查詢的方式,放在主程序中,當沒有按鍵按下的時候,單片機循環(huán) 主程序,一旦右按鍵按下,便轉(zhuǎn)向相

33、應(yīng)的子程序處理,處理結(jié)束再返回。流程圖 如圖4.4。 開始 功能鍵按下? 切換鍵按下? 確認鍵按下? 單雙程設(shè)置 切換單雙程 顯示時間 顯示上次金額 空城指示燈滅, 開始計價,計 時,顯示里程, 價格 結(jié)算鍵按下? 結(jié)算金額顯示 查詢鍵按下? 顯示等待時間與 里程 結(jié)算鍵按下? 存儲金額 結(jié)束 Y N N Y Y N查詢鍵按下 Y N 按下兩次 Y N Y N 圖 4.4 鍵盤掃描子程序 第 5 章 課程設(shè)計總結(jié) 總結(jié)在本次設(shè)計中,我采用AT89S52芯片為核心器件,設(shè)計出了簡單的出租 車計價器,能夠?qū)崿F(xiàn)顯示時間、等待時間、金額和里程,按鍵控制,空車指示。 選題后,我們便開始復(fù)習單片機方面的知

34、識,也查閱、搜索了很多相關(guān)資料, 進行總體設(shè)計與具體設(shè)計,同時也學習軟件Protel和編程軟件Visio。由于以前都 采用匯編語言實現(xiàn)編程,對用C語言來實現(xiàn)單片機的編程不太習慣,花費了一些 時間來熟悉C語言的編程。在設(shè)計開始,要形成流程圖,它可以使設(shè)計有一定的 邏輯性與嚴密性,使得設(shè)計思路明確。采用模塊化的設(shè)計思想很重要,它方便編 寫、修改與調(diào)試,另外加上必要的注釋,便于交流與理解。 這次課程設(shè)計設(shè)計完成后,體會頗多,在學與做的過程中,取長補短,不斷 學習新的知識,吸取經(jīng)驗,達到進步的目的。通過自身的努力以及相關(guān)圖書資料 的幫助,逐漸熟悉了Visio、Protel和C語言等軟件的使用以及硬件焊

35、接與檢測過程 中的一些小技巧。本次設(shè)計我學習到不少單片機的知識,但由于自己的理論知識 水平有限,實踐知識和設(shè)計經(jīng)驗不足,在設(shè)計過程中難免存在一些問題。所焊實 物尚有許多不足,個別功能還不能很好的實現(xiàn),主要原因是考慮問題不周全,電 路設(shè)計經(jīng)驗少,實際動手能力不足。懇請各位老師批評指正,以使我在以后的學 習和實踐中加以改進和提高。 參考文獻 1戴佳,陳斌,苗龍.51 單片機應(yīng)用系統(tǒng)開發(fā)典型實例M.中國電力出版社,2005 2余發(fā)山,王福忠.單片機原理及應(yīng)用技術(shù)M.中國礦業(yè)大學出版社,2008.6 3李玉梅.基于 MCS-51 系列單片機原理的應(yīng)用設(shè)計M.國防工業(yè)出版社,2006 4邊春元,李文濤,

36、江杰.C51 單片機典型模塊設(shè)計與應(yīng)用M.機械工業(yè)出版社,2008 5樓然苗,胡佳文,李光飛等.單片機實驗與課程設(shè)計M.浙江大學出版社,2010.10 6喬雅,周思浩.出租車計價器的設(shè)計J.信息通信,2014,(2):61-62 7馬江華.出租車計價器檢定中常見問題的解析J.計量與測量技術(shù),2011,38(8):42- 43 8程民利.基于霍爾傳感器的高精度測速電路設(shè)計J.電子設(shè)計工程,2013,21(8):109 -111 9楊建潮.出租汽車計價器的計價原理J.檢定與規(guī)程,2001,(2):44-45 10洪傳文.出租車計價器的原理及應(yīng)用J.技術(shù)監(jiān)督和服務(wù),1997,(3):17-20 11

37、黃代福.出租車計價器傳感器原理及檢測J.計量與檢測技術(shù),2006,(8):20-21 12王幸之.AT89 系列單片機原理及接口技術(shù)M.北京航空航天大學出版社,2004:5 1-55 13陳明.出租車計價器的功能發(fā)展和使用維修J.安徽科技,2006,(09):53-55 14王志輝.淺談對出租車計價器的管理J.黑龍江科技信息,2008,(16):62-68 15柳丹冉.出租車計價器檢定中發(fā)現(xiàn)的問題的探討J.黑龍江科技信息,2009,(17):2 3-26 16董麗娜.出租車計價器示值誤差測量結(jié)果的不確定度評定J.科技信息,2009,(26):1 0-13 附錄 總電路圖 XTAL1 19 XT

38、AL2 18 RST 9 PSEN 29 ALE 30 EA 31 P1.0 1 P1.2 3 P1.3 4 P1.5 6 P1.4 5 P1.6 7 P1.7 8 P1.1 2 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P2.7/A15 28 P3.0/RXD 10 P3.1/TXD

39、 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.5/T1 15 P3.6/WR 16 P3.7/RD 17 AT89S52 C1 30pf C2 30pf X1 12MHz C3 10F GND R1 10k S0 GND S1 S2 S3 S4 S5 P3.0 GND R2 100 R6 100 R5 100 R7 100 D1 D2 D3 D4 SCL 6 SDA 5 WP 7 A1 2 U3 AT24C1024 R4 10K R3 10K +5V rst sclk io VCC1 8 VCC2 1 RST 5 SCLK 7 I/O 6 X1 2 X

40、2 3 U2 DS1302 C5 33pf C4 33pf X2 32769 GND rst sclk io A B C D E F G DP 1 2 3 4 A B C D E F G DP 1 2 3 4 9 8 7 6 5 4 3 2 1 RP1 RESPACK-8 P3.0 附錄 主程序: #include #include #include #define uchar unsigned char #define uint unsigned int uchar code table_du=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0

41、 x7f,0 x6f; uchar code table_we=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 x df,0 xbf,0 x7f; uchar tt,aa; uchar quanshu; uchar second,minute; uint round; uchar round_24c022; uint distance; uint price,cost; uint wait; uchar qian,bai,shi,ge; sbit key0=P31; sbit key1=P30; sbit key2=P17; sbit key3=P16; sbit key4=P

42、15; sbit led0=P10; sbit led1=P11; sbit led2=P12; sbit led3=P13; sbit led4=P14; bit key0_flag; bit key1_flag; bit key2_flag; bit key3_flag; bit flag; void delayms(unsigned int c) unsigned char b; for(;c0;c-) for(b=110;b0;b-); void delay_dis(void) unsigned char b,c; for(c=7;c0;c-) for(b=110;b0;b-); vo

43、id init_data(void) distance=0; cost=0; round=0; second=0; minute=0; key0_flag=0; key1_flag=0; key2_flag=1; key3_flag=0; flag=1; void jisuan(void) wait=minute*60+second; distance=round+wait/30; if(key1_flag) price=15; else price=20; if(distance9999) temp=9999; qian=temp/1000; bai=temp/100%10; shi=tem

44、p%100/10; ge=temp%10; void write(void) round_24c020=round round_24c021=(round 8) write_24c02(0 x00,key0_flag); write_24c02(0 x01,key1_flag); write_24c02(0 x02,key2_flag); write_24c02(0 x03,key3_flag); write_24c02(0 x04,second); write_24c02(0 x05,minute); write_24c02(0 x06,round_24c02 0); write_24c02(0 x07,round_24c02 1); void read(void) key0_flag=read_24c02(0 x00); key1_flag=read_24c02(0 x01); key2_flag=read_24c02(0 x02); key3_flag=read_24c02(0 x03); second=read_24c02(0 x04); minute=read_24c02(0 x05); round_24c020=read_24c02(0 x 06); round_24c021=read_24c02(0 x 07); round= round_24c02

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論