![基于51單片機的出租車計價器帶仿真及程序_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/bd36fc5e-b732-4bd6-96a1-3068a2873444/bd36fc5e-b732-4bd6-96a1-3068a28734441.gif)
![基于51單片機的出租車計價器帶仿真及程序_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/bd36fc5e-b732-4bd6-96a1-3068a2873444/bd36fc5e-b732-4bd6-96a1-3068a28734442.gif)
![基于51單片機的出租車計價器帶仿真及程序_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/bd36fc5e-b732-4bd6-96a1-3068a2873444/bd36fc5e-b732-4bd6-96a1-3068a28734443.gif)
![基于51單片機的出租車計價器帶仿真及程序_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/bd36fc5e-b732-4bd6-96a1-3068a2873444/bd36fc5e-b732-4bd6-96a1-3068a28734444.gif)
![基于51單片機的出租車計價器帶仿真及程序_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/bd36fc5e-b732-4bd6-96a1-3068a2873444/bd36fc5e-b732-4bd6-96a1-3068a28734445.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、引 言 現在各個城市出租車行業(yè)都已普及,因此出租車計價器的技術已經成熟,但是出租車計價器的市場還具有廣闊的前景。隨著城市建設的日益完善,關乎城市面貌的出租車行業(yè)也將迅速發(fā)展,出租車計價器的的大批量需求也是毫無疑問的,所以未來出租車計價器的市場還是有相當大的潛力的。 本次出租車計價器設計以AT89S52單片機為中心,采用U18霍爾傳感器對輪胎轉數進行計數,實現對出租車里程的測量,并最終計算出結果。其中采用寄存器芯片AT24C02使系統(tǒng)在掉電的時候對單價、里程、車輪長度等信息進行存儲,采用時鐘芯片DS1302來顯示時間和在系統(tǒng)需要時進行計時。輸出采用兩個4段數碼顯示管,而且根據按鍵有空車指示燈、等
2、待查詢指示燈、單程指示燈進行指示。 汽車計價器是乘客與司機雙方的交易準則,它是出租車行業(yè)發(fā)展的重要標志,是出租車中最重要的工具。它關系著交易雙方的利益。具有良好性能的計價器無論是對廣大出租車司機朋友還是乘客來說都是很必要的。因此,汽車計價器的研究也是有一定的應用價值的。 1 緒論1.1 出租車計價器概述我國在70年代開始出現出租車,但那時的計費系統(tǒng)大都是國外進口不但不夠準確,價格還十分昂貴。隨著改革開放日益深入,出租車行業(yè)的發(fā)展勢頭已十分突出,國內各機械廠家紛紛推出國產計價器。出租車計價器的功能從剛開始的只顯示路程(需要司機自己定價,計算后四舍五入),到能夠自主計費,以及現在的能夠打一發(fā)票和語
3、音提示、按時間自主變動單價等功能。隨著城市旅游業(yè)的發(fā)展,出租車行業(yè)已成為城市的窗口,象征著一個城市的文明程度。本次設計的目的在于現在各大中城市出租車行業(yè)都已普及自動計價器,所以計價器技術的發(fā)展已成定局。而部分小城市尚未普及,但隨著城市建設日益加快,象征著城市面貌的出租車行業(yè)也將加速發(fā)展,計價器的普及也是毫無疑問的,所以未來汽車計價器的市場還是十分有潛力的。1.2 單片機的概述計算機系統(tǒng)已明顯地朝巨型化、單片化、網絡化三個方向發(fā)展。巨型化發(fā)展的目的在于不斷提高計算機的運算速度和處理能力,以解決復雜系統(tǒng)計算和高速數據處理,比如系統(tǒng)仿真和模擬、實時運算和處理。單片化是把計算機系統(tǒng)盡可能集成在一塊半導
4、體芯片上,其目的在于計算機微型化和提高系統(tǒng)的可靠性,這種單片計算簡稱單片機。單片機的內部硬件結構和指令系統(tǒng)主要是針對自動控制應用而設計的所以單片機又稱微控制器MCU(Micro Controller Unit)。用它可以很容易地將計算機嵌入到各種儀器和現場控制設備中,因此單片機又叫做嵌入式微控制器(Embedded MCU)。單片機自20世紀70年代問世以來,以其鮮明的特點得到迅猛發(fā)展,已廣泛應用于家用電器、智能玩具、智能儀器儀表、工業(yè)控制、航空航天等領域,經過30多年的發(fā)展,性能不斷提高,品種不斷豐富,已經形成自動控制的一支中堅力量。據統(tǒng)計,我國的單片機年容量已達13億片,且每年以大約16的
5、速度增長,但相對于國際市場我國的占有率還不到1。這說明單片機應用在我國有著廣闊的前景。對于從事自動控制的技術人員來講,掌握單片機原理及其應用已經成為必不可少的學習任務。 單片機的應用十分廣泛,在工業(yè)控制領域、家電產品、智能化儀器儀表、計算機外部設備,特別是機電一體化產品中,都有重要的用途。其主要的用途可以分為以下方面。單片機的應用十分廣泛,在工業(yè)控制領域、家電產品、智能化儀器儀表、計算機外部設備,特別是機電一體化產品中,都有重要的用途。其主要的用途可以分為以下方面。l 顯示:通過單片機控制發(fā)光二極管或是液晶,顯示特定的圖形和字符。l 機電控制:用單片機控制機電產品做定時或定向的動作。l 檢測:
6、通過單片機和傳感器的聯(lián)合使用,用來檢測產品或者工況的意外發(fā)生。l 通信:通過RS-232串行通信或者是USB通信,傳輸數據和信號。l 科學計算:用來實現簡單的算法。那么單片機是不是解決上述應用的唯一選擇呢?當然不是!單片機最明顯的優(yōu)點是價格便宜,從幾元人民幣到幾十元人民幣。這是因為這類芯片的生產量很大,技術也很成熟。其次,單片機的體積也遠小于其他兩種方案。單片機本身一般用40引腳封裝,當然功能多一些的單片機也有引腳比較多的,如68引腳,功能少的只有10多個或20多個引腳,有的甚至只有8只引腳。當然,單片機無論在速度還是容量方面都小于其他兩種方案,但是在實際工作中并不是任何需要計算機的場合都要求
7、計算機有很高的性能。例如,控制電冰箱的控制器就不需要使用嵌入式系統(tǒng),用一片51就可以輕松實現。所以應用的關鍵是看能否夠用,是否有很好的性能價格比。51系列的單片機已經面世十多年,依然沒有被淘汰,還在不斷發(fā)展中,這就說明是它有廣闊的應用前景。2 總體方案設計本次設計是使用單片機技術來實現一個出租車的數字計價器,利用單片機豐富的IO端口,及其控制的靈活性,實現基本的里程計價功能和單雙程價格調整、時鐘顯示功能等等。具有性能可靠,電路簡單、成本低、擴展空間大等特點。 2.1 設計任務要求2.1.1 設計任務設計一款基于AT89S52單片機的出租車數字計價器,通過對傳感器的檢測,對數值進行處理和顯示。
8、2.1.2 設計要求一、基本要求(1)能顯示里程,單位為公里,最后一位為小數位。(2)能顯示金額數,單位為元,最后一位為小數位。(3)可設定單程價格和往返價格,單程價格為2元/公里,往返價格為1.5元/公里。 (4)起步公里數為3公里,價格為5元,若實際距離大于3公里,按規(guī)則3計算價格。(5)按暫停鍵,計價器可暫停計價,按查詢鍵,可顯示總等待時間。二、發(fā)揮部分(1)增加了空車指示功能,當無客人時,按下功能切換按鍵,空車指示燈亮。(2)增加實時時間顯示,無論計價器工作或者空車,都能顯示實時時間,便于時間提醒。(3)增加信息儲存功能??梢詢Υ娴却龝r間,里程和金額。2.2 設計的主要功能 本設計所設
9、計的出租車數字計價器的主要功能有:金額輸出、路程輸出、數據復位、計時計價、空車顯示等。輸出采用LCD12864液晶顯示屏顯示。2.3 方案的選取本設計是由軟件設計和硬件設計兩部分組成的。軟件設計要進行程序的編寫和軟件仿真;硬件設計要設計電路、硬件仿真和制作電路板。2.3.1 硬件設計方案本系統(tǒng)的硬件設計主要包括單片機AT89S52、數據顯示部件、U18霍爾傳感器電路、里程計算及計價單元的設計。在硬件設計過程中,充分利用各部件的功能,實現多功能的出租車計價器設計。計價器的單片機系統(tǒng)框圖如圖2-1所示。它由以下幾個部件組成:霍爾傳感器單元、AT89S52單片機、金額顯示、里程顯示、電源。利用單片機
10、豐富的IO端口,及其控制的靈活性,實現基本的里程和價格的計算及顯示功能。圖2-1計價器系統(tǒng)框圖2.3.2 軟件設計方案本設計程序的采取C語言進行編寫,使用Keil uVision4編譯和Proteus7.4a仿真軟件進行仿真調試。其中的里程計算和費用計算方案如下。1、里程計算(1)霍爾傳感器對車輪進行信號檢測,產生并輸出脈沖信號到單片機;(2)單片機對傳感器輸出的脈沖信號進行計數,并進行km計算:每一個信號代表輪胎旋轉一周,設輪胎的周長為2m ;每km產生的信號數為500,里程顯示為N × 2m = 2N(km)2、費用計算(1)出租車的起步費為5元,并且3km內不需額外計價;(2)
11、出租車行駛3km后,單程2元/km,雙程1.5元/km。(3)等待收費的標準為5分鐘算一公里;(4)暫停時計價器暫停計價,不收費用。3 硬件設計本設計的硬件設計包括單片機AT89S52單元、測距單元、顯示單元(數碼管顯示金額、等待時間和里程,指示燈對單雙程切換指示、空車指示、等待計時指示)、按鍵單元、時鐘單元和儲存單元。3.1 AT 89S52單片機及最小系統(tǒng)1、AT89S52單片機AT89S52具有如下特點:40個引腳,8k Bytes Flash片內程序存儲器, 256bytes的隨機存取數據存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,3個16位可編程定時計數器,全雙工串行口,
12、看門狗(WDT)電路,片內時鐘振蕩器。圖3-1 AT89S52引腳圖P0口有二個功能:1、外部擴展存儲器時,當做數據/地址總線。2、不擴展時,可做一般的I/O使用,但內部無上拉電阻,作為輸入或輸出時應在外部接上拉電阻。P1口只做I/O口使用:其內部有上拉電阻。 P2口有兩個功能:1、 擴展外部存儲器時,當作地址總線使用。 2、做一般I/O口使用,其內部有上拉電阻。 P3口有兩個功能:除了作為I/O使用外(其內部有上拉電阻),還有一些特殊功能,由特殊寄存器來設置。設計中用到的單片機各管腳(圖3-1)功能以及與其他模塊連接介紹如下:VCC:接+5V電源。VSS:
13、接地。時鐘引腳:XTAL1和XTAL2兩端接晶振和30PF的電容,構成時鐘電路。它可以使單片機穩(wěn)定可靠的運行。RST:復位信號輸入端,高電平有效。當在此引腳加兩個機器周期的高電平時,就可以完成復位操作。P1.0:接功能按鍵。P1.2:接空車指示燈。P0口接顯示屏數據口,P2口接顯示屏控制口。P3.4:接霍爾傳感器的輸出口。 P3.5:接時鐘電路DS1302的RST口。P3.6:接DS1302的SCLK口。P3.7:接DS1302的I/O口。2、單片機最小系統(tǒng)復位電路和晶振電路是AT89S52工作所需的最簡外圍電路。單片機最小系統(tǒng)電路圖如圖3-2所示。 圖3-2單片機最小系統(tǒng)AT89S
14、52 的復位端是一個史密特觸發(fā)輸入,高電平有效。RST端若由低電平上升到高電平并持續(xù)2個周期,系統(tǒng)將實現一次復位操作。在復位電路中,按一下復位開關就使在RST端出現一段時間的高電平,外接11.0592M 晶振和兩個30pF 電容組成系統(tǒng)的內部時鐘電路。3.2 測距單元本次設計我們選取了霍爾傳感器來進行里程測量?;魻柶骷且环N磁傳感器。用它們可以檢測磁場及其變化,可在各種與磁場有關的場合中使用?;魻柶骷曰魻栃獮槠涔ぷ骰A?;魻柶骷哂性S多優(yōu)點,它們的結構牢固,體積小,重量輕,壽命長,安裝方便,功耗小,頻率高,耐震動,不怕灰塵、油污、水汽及鹽霧等的污染或腐蝕?;魻柶骷譃椋夯魻栐突魻柤呻?/p>
15、路兩大類,前者是一個簡單的霍爾片,使用時常常需要將獲得的霍爾電壓進行放大。后者將霍爾片和它的信號處理電路集成在同一個芯片上。本次設計選取了霍爾集成電路來測量里程。里程測量是通過將霍爾傳感器的集成電路安裝在車輪上方的鐵板上,將磁鐵安裝在車輪上,旋轉的車輪將磁鐵對準集成電路時,霍爾傳感器會輸出一個脈沖信號,送到單片機,經過單片機的計算處理,將行駛的里程送到顯示單元并顯示出來。其原理示意圖如下:圖3-3 傳感器測距示意圖U18是一種利用霍爾效應做成的半導體集成電路器件,它被設計在交變磁場中運行,特別是能在低電源電壓和長時間運行溫度范圍可達到125。這種霍爾IC可用作各種類型的傳感器(速度傳感器、位移
16、傳感器、轉速傳感器等等),接觸開關以及相類似的應用場合。其工作電壓比較寬(2.520V),可運行在較大的溫度范圍內(-20125), 其輸出的信號符合TTL電平標準,可以直接接到單片機的IO 端口上,而且其最高檢測頻率可達到1MHZ?;魻杺鞲衅鞯奶匦匀鐖D3-4所示,其中BOP為工作點“開”的磁感應強度,BRP為釋放點“關”的磁感應強度。當外加的磁感應強度超過動作點BOP時,傳感器輸出低電平,當磁感應強度降到動作點BOP以下時,傳感器輸出電平不變,一直要降到釋放點BRP時,傳感器才由低電平躍變?yōu)楦唠娖健OP與BRP之間的滯后使開關動作更為可靠。U18集成霍耳開關由穩(wěn)壓器A、霍耳電勢發(fā)生器(即硅
17、霍耳片)B、差分放大器C、施密特觸發(fā)器D和OC門輸出E五個基本部分組成。在輸入端輸入電壓VCC,經穩(wěn)壓器穩(wěn)壓后加在霍爾電勢發(fā)生器的兩端,根據霍爾效應原理,當霍爾片處在磁場中時,在垂直于磁場的方向通以電流,則與這二者相垂直的方向上將會產生霍爾電勢差VH輸出,該VH信號經放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到OC門輸出。當施加的磁場達到工作點(即Bop)時,觸發(fā)器輸出高電壓(相對于地電位),使三極管導通,此時OC門輸出端輸出低電壓,三極管截止,使OC門輸出高電壓,這種狀態(tài)為關。這樣兩次電壓變換,使霍爾開關完成了一次開關動作。圖3-4 U18霍爾傳感器和其輸出特性U18霍爾傳感器有3個
18、外接口,2個是電源的正負極接口,最后一個是脈沖信號輸出口,只要將霍爾傳感器的信號輸出端接到單片機的端口上便可以實現距離檢測。其中,單片機的P3.2(INT0)引腳作為信號的輸入端,采用外部中斷0進行計數。車輪每轉一圈,霍爾傳感器就產生一個脈沖信號,根據霍爾效應原理,當霍爾片處在磁場中時,霍爾傳感器的輸出端輸出低電平。當車輪轉動一圈時小磁鐵提供一個磁場,則霍爾傳感器輸出一次低電平完成一次數據采集,從而產生信號?;魻杺鞲衅鳈z測并輸出信號到單片機的INT0或INT1計算脈沖輸入端,引起單片機的中斷,對脈沖計數,當計數達到特定的次數時,里程就會增加,單片機對里程進行計算后,通過接口電路將計算好的結果傳
19、送到數碼管并顯示出來。3.3 按鍵單元 本設計的按鍵單元電路(如圖3-5)僅有一個功能按鍵,也就是是否計價控制鍵,其功能是開啟計價模式,并控制空車指示燈的亮滅。3.4 時鐘單元本設計采用基于DS1302的時鐘電路(如圖3-6)對時間進行實時顯示,單片機掉電對其沒有影響。用數碼管表現出來,當出租車空車時就顯示時間,給人時間提示。圖3-6 時鐘電路單元3.5 顯示單元 本次課程設計采用的是LCD12864液晶顯示屏,其功能十分強大,液晶顯示屏(LCD)用于數字型鐘表和許多便攜式計算機的一種顯示器類型。 1、液晶和液晶顯示LCD顯示使用了兩片極化材料,在它們之間是液體水晶溶液。電流通過該液
20、體時會使水晶重新排列,以使光線無法透過它們。因此,每個水晶就像百葉窗,既能允許光線穿過又能擋住光線。液晶顯示器(LCD)目前科技信息產品都朝著輕、薄、短、小的目標發(fā)展,在計算機周邊中擁有悠久歷史的顯示器產品當然也不例外。在便于攜帶與搬運為前題之下,傳統(tǒng)的顯示方式如CRT映像管顯示器及LED顯示板等等,皆受制于體積過大或耗電量甚巨等因素,無法達成使用者的實際需求。而液晶顯示技術的發(fā)展正好切合目前信息產品的潮流,無論是直角顯示、低耗電量、體積小、還是零輻射點,都能讓使用者享受最佳的視覺環(huán)境。 這種顯示器件的最大特點是: (1) 微功耗,每個顯示字符只有幾個毫安。是所
21、有顯示器件中功耗最小的。 (2) 低壓驅動,一般扭曲向列型(TN)器件閥值電壓僅1.52V,可以直接與大規(guī)模集成電路直接匹配。 (3) 平板形結構,尺寸可以很大,也可以很小。顯示的有效面積相對來說也是比較大的。顯示圖案的自由度也相當大 (4) 液晶顯示器件屬于被動型,不發(fā)光,靠調制外界光達到顯示目的。因此,在陽光下也能看的很清楚,既沒有刺目感,也不會引起視覺疲勞,更沒有射線輻射,傷害視力。所以它是高信息量信息顯示的理想器件。 (5) 液晶顯示器件雖然所需材料都有特殊、較高的要求,但是其結構簡單,而且工藝非常適應現代化規(guī)模生產。所以
22、其生產成本不高。 正因為它具有這些特點,所以在一切小型、便攜、數字、智能化儀表中具有最大競爭力;在大信息量、彩色化、微型及巨型顯示領域,液晶顯示器件也具有很大的潛力。2、液晶顯示器各種圖形的顯示原理(1)線段的顯示 點陣圖形式液晶由M×N個顯示單元組成,假設LCD顯示屏有64行,每行有128列,每8列對應1字節(jié)的8位,即每行由16字節(jié),共16×8=128個點組成,屏上64×16個顯示單元與顯示RAM區(qū)1024字節(jié)相對應,每一字節(jié)的內容和顯示屏上相應位置的亮暗對應。例如屏的第一行的亮暗由RAM區(qū)的 000H00FH的16字
23、節(jié)的內容決定,當(000H)=FFH時,則屏幕的左上角顯示一條短亮線,長度為8個點;當(3FFH)=FFH時,則屏幕的右下角顯示一條短亮線;當(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H時,則在屏幕的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是LCD顯示的基本原理。 (2)字符的顯示 用LCD顯示一個字符時比較復雜,因為一個字符由6×8或8×8點陣組成,既要找到和顯示屏幕上某幾個位置對應的顯示RAM區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1”
24、,其它的為“0”,為“1”的點亮,為“0”的不亮。這樣一來就組成某個字符。但由于內帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據在LCD上開始顯示的行列號及每行的列數找出顯示RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。 漢字的顯示 漢字的顯示一般采用圖形的方式,事先從微機中提取要顯示的漢字的點陣碼(一般用字模提取軟件),每個漢字占32B,分左右兩半,各占16B,左邊為1、3、 5右邊為2、4、6根據在LCD上開始顯示的行列號及每行的列數可找出顯示RAM對應的地址,設立光標,送上要顯示的漢字的第一字節(jié),光標位置加
25、60;1,送第二個字節(jié),換行按列對齊,送第三個字節(jié)直到32B顯示完就可以LCD上得到一個完整漢字。 4 軟件設計本系統(tǒng)的軟件設計主要分為系統(tǒng)主程序、數據處理子程序、和鍵盤掃描子程序四個模塊,下面對每一塊進行介紹。4.1 系統(tǒng)主程序本設計中,軟件設計采用模塊化操作,利用各個模塊之間的相互聯(lián)系,在設計中采用主程序調用各個子程序的方法,使程序通俗易懂,我們設計了整體程序流程圖。在main函數編寫開始,要進行初始化,包括對系統(tǒng)初始化和對硬件設備進行初始化,并使硬件處于就緒狀態(tài)。在主程序模塊中,需要完成對各接口芯片的初始化、出租車起價和單價的初始
26、化、中斷向量的設計以及開中斷、循環(huán)等待等工作。系統(tǒng)流程圖如下圖4-1。圖4-1系統(tǒng)主程序流程圖4.2 數據處理子程序 每當霍爾傳感器輸出一個低電平信號就使單片機中斷一次,在計數中斷服務程序,里程和金額都相應變化,當然等待時間也換算成里程(當速度小于5km/h時5分鐘想當于1公里)。計算程序根據里程數分別進入不同的計算公式。如果里程大于3公里,則執(zhí)行公式:金額=(里程-3)*單價+5;否則,執(zhí)行公式:總金額=起步價。程序流程圖如圖4-2所示。4.3 鍵盤掃描子程序鍵盤采用查詢的方式,放在主程序中,當沒有按鍵按下的時候,單片機循環(huán)主程序,一旦右按鍵按下,便轉向相應的子程序處理,處理結束再返回。5
27、Proteus軟件仿真本設計需要用Keil uVision4對C51程序進行編譯,生成“.hex”文件,如圖5-1 :圖5-1 Keil uVision4編譯在Proteus軟件中畫出仿真電路(如圖5-2),把Keil uVision3編譯后生成的“.hex”導入到單片機中,按“運行仿真”鍵進行仿真。圖5-2Proteus仿真總結總結在本次設計中,我們采用AT89S52芯片為核心器件,設計出了簡單的出租車計價器,能夠實現顯示時間、等待時間、金額和里程,按鍵控制,空車指示。選題后,我們便開始復習單片機方面的知識,也查閱、搜索了很多相關資料,進行總體設計與具體設計,同時也學習仿真軟件Proteus
28、和編程軟件Keil uVision3。由于以前都采用匯編語言實現編程,對用C語言來實現單片機的編程不太習慣,花費了一些時間來熟悉C語言的編程。在設計開始,要形成流程圖,它可以使設計有一定的邏輯性與嚴密性,使得設計思路明確。采用模塊化的設計思想很重要,它方便編寫、修改與調試,另外加上必要的注釋,便于交流與理解。這次課程設計設計完成后,體會頗多,在學與做的過程中,取長補短,不斷學習新的知識,吸取經驗,達到進步的目的。通過自身的努力以及相關圖書資料的幫助,逐漸熟悉了Keil uVision3、PROTEUS和C語言等軟件的使用以及硬件焊接與檢測過程中的一些小技巧。本次設計我學習到不少單片機的知識,但
29、由于自己的理論知識水平有限,實踐知識和設計經驗不足,在設計過程中難免存在一些問題。所焊實物尚有許多不足,個別功能還不能很好的實現,主要原因是考慮問題不周全,電路設計經驗少,實際動手能力不足。懇請各位老師批評指正,以使我在以后的學習和實踐中加以改進和提高。致謝畢業(yè)設計即將結束,在老師的指導和同學的幫助之下,學生對于出租車計價器設計有了更多新的認知,對出租車計價器設計有了更深一步的認識,對出租車計價器綜合設計的整體脈絡了解得更加的清晰透徹。通過畢業(yè)設計,學生對自己三年以來所學的知識有更多的認識。 畢業(yè)設計,幫助我們總結大學的收獲、認清自我。同時,還幫助我們改變一些處理事情時懶散的習慣。從最開始時的
30、搜集資料,整理資料,到方案比選,確定方案,再到著手開始設計,每一步都是環(huán)環(huán)相扣,銜接緊密,其中任何一個步驟產生遺漏或者疏忽,就會對以后的設計帶來很多的不便。本次作者的畢業(yè)設計是由徐老師指導的,在他的悉心指導下,我開闊了眼界,明確了思路。在整個的設計過程中,徐老師提出了許多寶貴的建議和指導,使我能夠順利的完成整個設計,在此,謹向徐老師表示由衷的感謝。在即將離開學校之際,我要感謝在大學生活中任課的眾多老師,正是在他們的諄諄教誨下使我順利完成了大學的基礎知識和專業(yè)知識的學習。在此,還要感謝陪伴我共同走過大學時代并給予我?guī)椭耐瑢W和朋友們,感謝你們,祝福你們在以后的日子里開開心心的度過每一天!參考文獻
31、1賀哲榮.AT89S51單片機硬件設計與編程實例.北京:中國電力出版社.2012 2李泉溪.單片機原理與應用實例仿真.北京:北京航空航天大學出版社,2012.3王平.單片機應用設計與制作.北京:清華大學出版社, 2012.4彭為等.單片機典型系統(tǒng)設計實例精講. 北京:電子工業(yè)出版社,20075王慶利等.單片機設計案例實踐教程.北京:北京郵電大學出版社,20086韓志軍等.單片機應用系統(tǒng)設計入門向導與設計實例.北京:機械工業(yè)出版社,20057皮大能等. 單片機課程設計指導書. 北京:北京理工大學出版社,2010附1、源程序#include<reg52.h>#include<in
32、trins.h>#include"lcd12864.c"#include"code.h"#include"ds1302.c"#include"display.c"sbit P10=P10;sbit P12=P12;float distance_km,money;void timer0isr(void)interrupt 1 using 1distance_km+=0.1;if(distance_km<=3)money=5;else money=5+(distance_km-3)*1.5;void mai
33、n(void) init_lcd();clearscreen(0);setline(0);TMOD=0x06;distance_km=0;TH0=0xCE;TL0=0xCE;EA=1;TR0=1;Init_DS1302(); while(1)if(P10=0)ET0=1;P12=0;display(distance_km);display1(money);else ET0=0; P12=1;distance_km=0;money=0;display(distance_km);display1(money);displayc(1,0,0*16,li);displayc(1,0,1*16,chen
34、);displayc(1,0,2*16,shu);displaye(1,0,6*8,num,14);displayc(1,3,0*16,jin);displayc(1,3,1*16,e);displaye(1,3,5*8,num,14);display2();lcd12864.c#include<reg52.h>#include<intrins.h>#define uchar unsigned char #define uint unsigned int sbit cs1=P20; sbit cs2=P21; sbit EN=P22; sbit RW=P23; sbit
35、 RS=P24; void delay(uchar i) while(i-); void readbusy()P0=0x00;RS=0;RW=1;EN=1;while(P0&0x80);EN=0; void lcd_wcmd(uchar cmd)readbusy();RS=0;RW=0;P0=cmd;EN=1;_nop_();_nop_();EN=0;void lcd_wdat(uchar dat)readbusy();RS=1;RW=0;P0=dat;EN=1;_nop_();_nop_();EN=0;void setpage(uchar page)page=0xb8|page;/起
36、始頁lcd_wcmd(page);void setline(uchar line)line = line & 0x07;line=line|0xc0;/起始行l(wèi)cd_wcmd(line);void setcolumn(uchar column)column=column&0x3f;/最終列column=column|0x40;/起始列l(wèi)cd_wcmd(column);void setonoff(uchar onoff)onoff=0x3e|onoff;lcd_wcmd(onoff);void selectscreen(uchar screen)switch(screen) ca
37、se 0:cs1=0;delay(2);cs2=0;delay(2);break; case 1:cs1=0;delay(2);cs2=1;delay(2);break; case 2:cs1=1;delay(2);cs2=0;delay(2);break; default:break;void clearscreen(uchar screen) uchar i,j; selectscreen(screen); for(i=0;i<8;i+) setpage(i); setcolumn(0); for(j=0;j<64;j+) lcd_wdat(0x00); void init_l
38、cd()readbusy();selectscreen(0);setonoff(0);selectscreen(0);setonoff(1);selectscreen(0);clearscreen(0);setline(0);code.hUchar code li = 0x00,0x00,0xFE,0x92,0x92,0x92,0x92,0xFE,0x92,0x92,0x92,0x92,0xFE,0x00,0x00,0x00, 0x40,0x40,0x44,0x44,0x44,0x44,0x44,0x7F,0x44,0x44,0x44,0x44,0x44,0x40,0x40,0x00; uch
39、ar code chen = 0x24,0x24,0xA4,0xFE,0x23,0x22,0x00,0x3E,0x22,0x22,0x22,0x22,0x22,0x3E,0x00,0x00, 0x08,0x06,0x01,0xFF,0x01,0x06,0x40,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x41,0x00; uchar code shu = 0x90,0x52,0x34,0x10,0xFF,0x10,0x34,0x52,0x80,0x70,0x8F,0x08,0x08,0xF8,0x08,0x00, 0x82,0x9A,0x56,0x63,0x22,
40、0x52,0x8E,0x00,0x80,0x40,0x33,0x0C,0x33,0x40,0x80,0x00; uchar code jin = 0x00,0x80,0x80,0x40,0x20,0x50,0x48,0x44,0xC3,0x44,0x48,0x50,0x20,0x40,0x80,0x80,0x00,0x40,0x40,0x42,0x4A,0x72,0x42,0x42,0x7F,0x42,0x42,0x62,0x5A,0x42,0x40,0x40; uchar code e = 0x00,0x00,0x8C,0x44,0xB5,0x26,0xA4,0x64,0x0C,0x02,0
41、xF2,0x1A,0xD6,0x12,0xF2,0x02,0x00,0x10,0x08,0xFC,0x4A,0x49,0x4A,0xFC,0x08,0x80,0x4F,0x30,0x0F,0x10,0x2F,0xC0; uchar code gong = 0x00,0x00,0x80,0x40,0x20,0x18,0x06,0x80,0x00,0x07,0x18,0x20,0x40,0x80,0x00,0x00,0x00,0x01,0x00,0x20,0x70,0x28,0x26,0x21,0x20,0x20,0x24,0x38,0x60,0x00,0x01,0x01; uchar code
42、yuan = 0x00,0x20,0x20,0x22,0x22,0x22,0xE2,0x22,0x22,0x22,0xE2,0x22,0x22,0x22,0x20,0x20,0x00,0x80,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x3F,0x40,0x40,0x40,0x40,0x78; uchar code num1516= 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00, 0x00,0x10,0x10,0xF8,0x00,0x00,0
43、x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00, 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00, 0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00, 0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00, 0x00,0x
44、F8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00, 0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00, 0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00, 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21
45、,0x22,0x1C,0x00, 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00, 0x00,0x10,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x7F,0x48,0x0C,0x53,0x61,0x41, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x7F,0x41,0x01,0x7F,0x41,0x01,0x7E, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
46、0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x61,0x00,0x00,0x00, ;ds1302sbit RST=P35;sbit SCLK=P36;sbit DATA=P37;void delaynus(unsigned char n) unsigned char i; f
47、or(i=0;i<n;i+);/*函數功能:向1302寫一個字節(jié)數據入口參數:x*/ void Write1302(unsigned char dat) unsigned char i; SCLK=0; delaynus(2); for(i=0;i<8;i+) DATA=dat&0x01; delaynus(2); SCLK=1; delaynus(2); SCLK=0; dat>>=1; /*函數功能:根據命令字,向1302寫一個字節(jié)數據入口參數:Cmd,儲存命令字;dat,儲存待寫的數據*/ void WriteSet1302(unsigned char C
48、md,unsigned char dat) RST=0; SCLK=0; RST=1; delaynus(2); Write1302(Cmd); Write1302(dat); SCLK=1; RST=0; /*函數功能:從1302讀一個字節(jié)數據入口參數:x*/ unsigned char Read1302(void) unsigned char i,dat; delaynus(2); for(i=0;i<8;i+) dat>>=1; if(DATA=1) dat|=0x80; SCLK=1; delaynus(2); SCLK=0; delaynus(2); return
49、dat; /*函數功能:根據命令字,從1302讀取一個字節(jié)數據入口參數:Cmd*/ unsigned char ReadSet1302(unsigned char Cmd) unsigned char dat; RST=0; SCLK=0; RST=1; Write1302(Cmd); dat=Read1302(); SCLK=1; RST=0; return dat; /*函數功能: 1302進行初始化設置*/ void Init_DS1302(void) WriteSet1302(0x8E,0x00); WriteSet1302(0x80,(0/10)<<4|(0%10); W
50、riteSet1302(0x82,(25/10)<<4|(25%10); WriteSet1302(0x84,(12/10)<<4|(12%10); WriteSet1302(0x86,(8/10)<<4|(8%10); WriteSet1302(0x88,(11/10)<<4|(11%10); WriteSet1302(0x8c,(14/10)<<4|(14%10); display.cuchar secondh,secondl,minuteh,minutel,hourh,hourl,dayh,dayl,monthh,monthl,ye
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 讓課堂充滿生機與活力
- 2025年槍托項目可行性研究報告
- 2025年度航空航天裝備研發(fā)合作合同
- 信用社終止貸款合同范本
- 儲值合同范本
- 保時捷買賣合同范本
- 公司對個人轉讓合同范例
- 優(yōu)信網出租車合同范例
- 交通管制合同范本
- 企業(yè)公司聘用合同范本
- 高職應用語文教程(第二版)教案 3管晏列傳
- 高中物理《光電效應》
- 烹飪實訓室安全隱患分析報告
- 《金屬加工的基礎》課件
- 運輸行業(yè)春節(jié)安全生產培訓 文明駕駛保平安
- 體驗式沙盤-收獲季節(jié)
- 找人辦事協(xié)議
- 老年護理陪護培訓課件
- 醬香型白酒工廠設計
- 第3章 環(huán)境感知技術
- 牽引管道孔壁與管道外壁之間注漿技術方案
評論
0/150
提交評論