版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 畢 業(yè) 設 計</p><p> 題目出租車計價器 </p><p> 系別</p><p> 專業(yè)</p><p> 班級</p><p> 姓名</p><p> 學號</p>&l
2、t;p> 指導教師</p><p> 日期</p><p><b> 設計任務書</b></p><p><b> 設計題目:</b></p><p><b> 出租車計價器</b></p><p><b> 設計要求:</
3、b></p><p> 1.計設一款基于AT89S51單片機的出租車計價器。</p><p> 2.設置白天/晚上收費標準的轉(zhuǎn)換開關,使白天和晚上這兩種不同情況具有不同的收費標準。另外途中等待的時候,當?shù)却龝r間超過10分鐘的時候開始收費。??3.設置數(shù)據(jù)的清零開關,并且能夠由司機以手動的方式自由修改單價。</p><p> 4.能夠在意外掉電的情況下存儲
4、單價等數(shù)據(jù),并且具有數(shù)據(jù)的復位功能。</p><p> 5.設置一組數(shù)碼管,使司機與顧客能夠清楚的看到數(shù)碼管所顯示當前時間以及路程、總金額和單價。</p><p><b> 設計進度要求: </b></p><p> 第一周 畢業(yè)設計題目的選定;</p><p> 第二周 畢業(yè)設計資料的采集;</p>
5、<p> 第三周 擬定設計總體設計方案與設計思路;</p><p> 第四周 設計硬件電路,繪制電路圖;</p><p> 第五周 繪制程序框圖,編寫部分程序;</p><p> 第六周 仿真軟件中調(diào)試程序;</p><p> 第七周 檢查,校驗設計,撰寫畢業(yè)論文;</p><p> 第八周
6、修改論文,準備畢業(yè)答辯等相關工作。</p><p> 指導教師(簽名): </p><p><b> 摘 要</b></p><p> 出租車計價器的硬件設計以AT89S51 單片機為核心控制元件,利用靈敏的霍爾開關型器件A44E 霍爾傳感器測距,采用AT24C02 實現(xiàn)在系統(tǒng)掉電的時候保存單價和系統(tǒng)時
7、間等信息,輸出采用6 位LED數(shù)碼管,通過開關S1分屏控制單價、路程、總金額以及時間的顯示。</p><p> 系統(tǒng)的軟件設計主要有:主程序模塊、定時中斷服務程序、里程計數(shù)中斷服務程序、中途等待中斷服務程序、顯示子程序服務程序鍵盤服務程序。</p><p> 本電路設計的計價器主要功能有:數(shù)據(jù)的復位、白天/晚上轉(zhuǎn)換、數(shù)據(jù)輸出、計時計價、單價輸出及調(diào)整、路程輸出、語音播報數(shù)據(jù)信息、實現(xiàn)在
8、系統(tǒng)掉電的時候保存單價和系統(tǒng)時間等信息等功能。本電路設計的計價器不但能實現(xiàn)基本的計價,而且還能根據(jù)白天、黑夜、中途等待來調(diào)節(jié)單價,同時在不計價的時候還能作為時鐘為司機同志提供方便。</p><p> 關鍵詞:單片機,霍爾傳感器,AT24C02,分屏顯示</p><p><b> 目 錄</b></p><p><b> 1概述
9、1</b></p><p> 1.1出租車計價器概述1</p><p> 1.2 單片機的概述1</p><p> 2 總體設計方案的論證與比較3</p><p> 2.1 總體設計方案的論證與比較3</p><p> 2.2里程計算設計方案論證與比較4</p><
10、p> 2.3 設計總框圖4</p><p><b> 3 硬件設計6</b></p><p> 3.1 硬件設計概述6</p><p> 3.2 AT89S51介紹7</p><p> 3.3里程計算設計8</p><p> 3.4 顯示原理11</p>
11、<p> 3.5 AT24C02 掉電存儲單元的設計14</p><p> 3.6 按鍵單元的設計15</p><p> 4 系統(tǒng)的軟件設計19</p><p> 4.1 模塊介紹19</p><p> 4.2 主程序模塊19</p><p> 4.3定時中斷服務程序21</p
12、><p> 4.4 里程計數(shù)中斷服務程序23</p><p> 4.5 中途等待中斷服務程序23</p><p> 4.6顯示子程序服務程序23</p><p> 4.7鍵盤服務程序25</p><p> 5系統(tǒng)調(diào)試與測試結果分析26</p><p> 5.1 使用的儀器儀表
13、26</p><p> 5.2 系統(tǒng)調(diào)試26</p><p><b> 6 結論29</b></p><p><b> 致 謝30</b></p><p><b> 參考文獻31</b></p><p><b> 1概述
14、</b></p><p> 1.1出租車計價器概述</p><p> 汽車計價器是乘客與司機雙方的交易準則,它是出租車行業(yè)發(fā)展的重要標志,是出租車中最重要的工具。它關系著交易雙方的利益。具有良好性能的計價器無論是對廣大出租車司機朋友還是乘客來說都是很必要的。因此,汽車計價器的研究也是十分有一個應用價值的。</p><p> 我國在70年代開始出現(xiàn)出
15、租車,但那時的計費系統(tǒng)大都是國外進口不但不夠準確,價格還十分昂貴。隨著改革開放日益深入,出租車行業(yè)的發(fā)展勢頭已十分突出,國內(nèi)各機械廠家紛紛推出國產(chǎn)計價器。出租車計價器的功能從剛開始的只顯示路程(需要司機自己定價,計算后四舍五入),到能夠自主計費,以及現(xiàn)在的能夠打一發(fā)票和語音提示、按時間自主變動單價等功能。隨著城市旅游業(yè)的發(fā)展,出租車行業(yè)已成為城市的窗口,象征著一個城市的文明程度。</p><p> 本次設計的目
16、的在于現(xiàn)在各大中城市出租車行業(yè)都已普及自動計價器,所以計價器技術的發(fā)展已成定局。而部分小城市尚未普及,但隨著城市建設日益加快,象征著城市面貌的出租車行業(yè)也將加速發(fā)展,計價器的普及也是毫無疑問的,所以未來汽車計價器的市場還是十分有潛力的。</p><p> 1.2 單片機的概述</p><p> 計算機系統(tǒng)已明顯地朝巨型化、單片化、網(wǎng)絡化三個方向發(fā)展。巨型化發(fā)展的目的在于不斷提高計算機的
17、運算速度和處理能力,以解決復雜系統(tǒng)計算和高速數(shù)據(jù)處理,比如系統(tǒng)仿真和模擬、實時運算和處理。單片化是把計算機系統(tǒng)盡可能集成在一塊半導體芯片上,其目的在于計算機微型化和提高系統(tǒng)的可靠性,這種單片計算簡稱單片機。單片機的內(nèi)部硬件結構和指令系統(tǒng)主要是針對自動控制應用而設計的所以單片機又稱微控制器MCU(Micro Controller Unit)。用它可以很容易地將計算機嵌入到各種儀器和現(xiàn)場控制設備中,因此單片機又叫做嵌入式微控制器(Embed
18、ded MCU)。單片機自20世紀70年代問世以來,以其鮮明的特點得到迅猛發(fā)展,已廣泛應用于家用電器、智能玩具、智能儀器儀表、工業(yè)控制、航空航天等領域,經(jīng)過30多年的發(fā)展,性能不斷提高,品種不斷豐富,已經(jīng)形成自動控制的一支中堅力量。據(jù)統(tǒng)計,我國的單片機年容量已達1~3億片,且每年以大約16%的速度增長,但相對于國際市場我國的占有率還不到1%。這說明單片機應用在我國有著廣闊的前景。對于從事自動控制的技術人員來講,掌握單片機原理及其應用已經(jīng)
19、成為必不可少的學習任務。</p><p> 單片機的應用十分廣泛,在工業(yè)控制領域、家電產(chǎn)品、智能化儀器儀表、計算機外部設備,特別是機電一體化產(chǎn)品中,都有重要的用途。其主要的用途可以分為以下方面。</p><p> 顯示:通過單片機控制發(fā)光二極管或是液晶,顯示特定的圖形和字符。</p><p> 機電控制:用單片機控制機電產(chǎn)品做定時或定向的動作。</p&g
20、t;<p> 檢測:通過單片機和傳感器的聯(lián)合使用,用來檢測產(chǎn)品或者工況的意外發(fā)生。</p><p> 通信:通過RS-232串行通信或者是USB通信,傳輸數(shù)據(jù)和信號。</p><p> 科學計算:用來實現(xiàn)簡單的算法。</p><p> 那么單片機是不是解決上述應用的唯一選擇呢?淡然不是!目前,在自動控制中,一般有三種選擇,分別是嵌入式微機、DS
21、P和單片機。</p><p> 單片機最明顯的優(yōu)點是價格便宜,從幾元人民幣到幾十元人民幣。這是因為這類芯片的生產(chǎn)量很大,技術也很成熟。</p><p> 其次,單片機的體積也遠小于其他兩種方案。單片機本身一般用40引腳封裝,當然功能多一些的單片機也有引腳比較多的,如68引腳,功能少的只有10多個或20多個引腳,有的甚至只有8只引腳。</p><p> 當然,單
22、片機無論在速度還是容量方面都小于其他兩種方案,但是在實際工作中并不是任何需要計算機的場合都要求計算機有很高的性能。例如,控制電冰箱的控制器就不需要使用嵌入式系統(tǒng),用一片51就可以輕松實現(xiàn)。所以應用的關鍵是看能否夠用,是否有很好的性能價格比。51系列的單片機已經(jīng)面世十多年,依然沒有被淘汰,還在不斷發(fā)展中,這就說明是他有廣闊的應用前景。</p><p> 2 總體設計方案的論證與比較</p><
23、p> 2.1 總體設計方案的論證與比較</p><p> 方案一:采用數(shù)字電路控制。其原理方框圖如圖2.1所示。采用傳感器件,輸出脈沖信號,經(jīng)過放大整形作為移位寄存器的脈沖,實現(xiàn)計價,但是考慮到這種電路過于簡單,性能不夠穩(wěn)定,而且不能調(diào)節(jié)單價,也不能根據(jù)天氣調(diào)節(jié)計費標準,電路不夠?qū)嵱?。其原理方框圖如圖2.1所示。</p><p> 圖2.1數(shù)字電路方案</p>&
24、lt;p> 方案二:采用單片機控制。利用單片機豐富的IO端口,及其控制的靈活性,實現(xiàn)基本的里程計價功能和價格調(diào)節(jié)、時鐘顯示功能。其原理方框圖如圖2.2所示。</p><p> 圖2.2總體設計思路框圖</p><p> 采用模擬電路和數(shù)字電路設計的計價器整體電路的規(guī)模較大,用到的器件多,造成故障率高,難調(diào)試,對于模式的切換需要用到機械開關,機械開關時間久了會造成接觸不良,功能不
25、易實現(xiàn)。通過比較以上兩種方案,單片機有較大的活動空間,利用單片機豐富的IO端口,及其控制的靈活性,不但能實現(xiàn)基本的里程計價功能和價格調(diào)節(jié)、時鐘顯示功能,而且能在很大的程度上擴展功能,還可以方便的對系統(tǒng)進行升級。為此我們采用了單片機進行設計,相對來說功能強大,用較少的硬件和適當?shù)能浖嗷ヅ浜峡梢院苋菀椎膶崿F(xiàn)設計要求。</p><p> 2.2里程計算設計方案論證與比較</p><p>
26、方案一:采用霍爾線性器件,將轉(zhuǎn)速轉(zhuǎn)變?yōu)殡妷盒盘柼峁┙o單片機,從而達到計算里程的目的。</p><p> 方案二:采用霍爾開關器件中的霍爾傳感器A44E,按汽車車輪轉(zhuǎn)速的高低,每轉(zhuǎn)發(fā)出相應數(shù)目的脈沖信號。</p><p> 通過比較以上兩種設計方案,方案一雖然運行可靠,但體積大,精度低,且由于測量值是模擬量,必須經(jīng)過A/D轉(zhuǎn)換后讀入計算機,針對于出租車計價器而言較為煩瑣,不適用。因此我們
27、采用方案二。</p><p><b> 2.3 設計總框圖</b></p><p> 本次設計我們利用單片機AT89S51芯片作為設計的核心,利用霍爾傳感器測距,實現(xiàn)對出租車計價統(tǒng)計,采用AT24C02 實現(xiàn)在系統(tǒng)掉電的時候保存單價和系統(tǒng)時間等信息,顯示采用6 位LED數(shù)碼管,分屏顯示單價、路程、總金額以及時間??傮w設計框圖如圖2.3所示。</p>
28、<p> 圖2.3總體設計框圖</p><p><b> 3 硬件設計</b></p><p> 3.1 硬件設計概述</p><p> AT89S51是一款非常適合單片機初學者學習的機型,它完全兼容傳統(tǒng)的8051,8031的指令系統(tǒng)和引腳,而且是當今較為流行的,綜合考慮,本次設計的核心采用AT89S51型單片機。</p
29、><p> 在里程測速方面,霍爾元件體積小,重量輕,壽命長,安裝方便,功耗小,因此我們采用霍爾傳感器A44E;在顯示方面,因為采用LCD 液晶段碼顯示,在距離屏幕1 米之外就無法看清數(shù)據(jù),所以本次設計采用6位LED發(fā)光二級管;在其他方面,我們運用到了AT24C02 掉電存儲單元以及四個控制按鍵。其總體設計電路圖如3.1所示</p><p> 圖3.1設計總體電路圖</p>&
30、lt;p> 3.2 AT89S51介紹</p><p> AT89S51是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS 8位單片機,片內(nèi)含4k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結構,芯片內(nèi)集成了通用8位中央處理器和ISP
31、Flash存儲單元,功能強大的AT89S51可為許多嵌入式控制應用系統(tǒng)提供高性價比的解決方案。 3.2.1AT89S51的引腳功能說明</p><p> AT89S51有40個引腳,與MCS—51系列單片機引腳完全兼容。</p><p><b> 如圖3.2所示。</b></p><p> 其各自引腳功能如下:</p>&
32、lt;p><b> Vcc:電源電壓。</b></p><p><b> GND:地。</b></p><p> P0口:P0口是一組8位漏極開路型雙向I/O接口,也即地址/數(shù)據(jù)總線復用口。當訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部上拉電阻。在FLASH編程時,P0口接受指令字節(jié),而在程
33、序校驗時 ,輸出指令字節(jié)。</p><p> P1口:P1口是一個帶內(nèi)部上拉電阻的8位雙向I/O接口,P1的輸出緩沖級可驅(qū)動4個TTL邏輯門電路。FLASH編程和程序校驗時,P1接收低8位地址。 </p><p> P2口:P2口是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動4個TT
34、L邏輯門電路。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器時P2口送高8位地址數(shù)據(jù)。FLASH編程或校驗時,P2亦接收高位地址和其他控制信號。</p><p> P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O接口。P3口輸出緩沖級可驅(qū)動4個TTL邏輯門電路。</p><p><b> RST:復位輸入。</b></p><p>
35、 ALE/ :當訪問外部數(shù)據(jù)時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。對FLASH存儲器編程時,該引腳還用于輸入編程脈沖()。</p><p> EA/VPP:外部訪問允許。</p><p> ?。撼绦騼Υ嬖试S。輸出是外部程序存儲器的度選通信號。</p><p> XTAL1:振蕩器反相放大及內(nèi)部是鐘發(fā)生器的輸入端。</p>&l
36、t;p> XTAL2:振蕩器反相放大器的輸出端。</p><p> 圖3.2 AT89S51的引腳結構</p><p><b> 3.3里程計算設計</b></p><p> 本次設計里程計算采用霍爾傳感器A44E,時下已的到了廣泛的應用。</p><p> 3.3.1 霍爾傳感器簡介</p>
37、<p> 霍爾傳感器是利用霍爾效應實現(xiàn)磁電轉(zhuǎn)換的一種傳感器,它具有靈敏度高,線性度好,穩(wěn)定性高、體積小和耐高溫等特點,在機車控制系統(tǒng)中占有非常重要的地位。對測速裝置的要求是分辨能力強、高精度和盡可能短的檢測時間。</p><p> 霍爾器件具有許多優(yōu)點,它們的結構牢固,體積小,重量輕,壽命長,安裝方便,功耗小,頻率高(可達1MHZ),耐震動,不怕灰塵、油污、水汽及鹽霧等的污染或腐蝕。 </
38、p><p> 按照霍爾器件的功能可將它們分為: 霍爾線性器件 和 霍爾開關器件 。前者輸出模擬量,后者輸出數(shù)字量。 </p><p> 霍爾線性器件的精度高、線性度好;霍爾開關器件無觸點、無磨損、輸出波形清晰、無抖動、無回跳、位置重復精度高(可達μm級)。取用了各種補償和保護措施的霍爾器件的工作溫度范圍寬,可達-55℃~150℃。 </p><p> 按被檢測的對
39、象的性質(zhì)可將它們的應用分為:直接應用和間接應用。前者是直接檢測出受檢測對象本身的磁場或磁特性,后者是檢測受檢對象上人為設置的磁場,用這個磁場來作被檢測的信息的載體,通過它,將許多非電、非磁的物理量例如力、力矩、應力以及工作狀態(tài)發(fā)生變化的時間等,轉(zhuǎn)變成電量來進行檢測和控制。</p><p> 3.3.3 里程計算、計價單元的設計</p><p> 里程計算是通過安裝在車輪上的霍爾傳感器A
40、44E檢測到的信號,送到單片機,經(jīng)處理計算,送給顯示單元的。其原理如圖3.3所示。</p><p> 圖3.3 傳感器測距示意圖</p><p> 由于A44E 屬于開關型的霍爾器件,其工作電壓范圍比較寬(4.5~18V),其輸出的信號符合TTL 電平標準,可以直接接到單片機的IO 端口上,而且其最高檢測頻率可達到1MHZ。集成開關型霍爾傳感器原理如圖3.4所示。</p>
41、<p> 圖3.4 集成開關型霍耳傳感器原理圖</p><p> A44E 集成霍耳開關由穩(wěn)壓器A、霍耳電勢發(fā)生器(即硅霍耳片)B、差分放大器C、施密特觸發(fā)器D 和OC 門輸出E 五個基本部分組成。在輸入端輸入電壓CC V ,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍耳電勢發(fā)生器的兩端,根據(jù)霍耳效應原理,當霍耳片處在磁場中時,在垂直于磁場的方向通以電流,則與這二者相垂直的方向上將會產(chǎn)生霍耳電勢差H V 輸出,該H V
42、信號經(jīng)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到OC 門輸出。當施加的磁場達到工作點.(即OP B )時,觸發(fā)器輸出高電壓(相對于地電位)使三極管導通,此時OC 門輸出端輸出低電壓,通常稱這種狀態(tài)為“開”。當施加的磁場達到釋放點(即rPB )時,觸發(fā)器輸出低電壓,三極管截止,使OC 門輸出高電壓,這種狀態(tài)為“關”。這樣兩次電壓變換,使霍耳開關完成了一次開關動作。其集成霍耳開關外形及接線如圖3.5所示。</p>&
43、lt;p> 圖3.5 集成霍耳開關外形及接線</p><p> 我們選擇了P3.2 口作為信號的輸入端,內(nèi)部采用外部中斷0(這樣可以減少程序設計的麻煩),車輪每轉(zhuǎn)一圈(我們設車輪的周長是1 米),霍爾開關就檢測并輸出信號,引起單片機的中斷,對脈沖計數(shù),當計數(shù)達到1000 次時,也就是1 公里,單片機就控制將金額自動的加增加,其計算公式:當前單價× 公里數(shù)=金額。</p><
44、p><b> 3.4 顯示原理</b></p><p> 由于設計要求有單價(2 位)、路程(2 位)、總金額(3 位)顯示輸出,加上我們另外擴展了時鐘顯示(包含時分秒的顯示),采用LCD 液晶段碼顯示,在距離屏幕1 米之外就無法看清數(shù)據(jù),不能滿足要求,而且在白天其對比度也不能夠滿足要求,因此我們采用6 位LED數(shù)碼管顯示方式。</p><p> 3.4.
45、1 LED顯示工作原理</p><p> LED(Light Emitling Diode)是發(fā)光二極管的縮寫。LED顯示器是由發(fā)光二極管顯示字段的單片機輸出設備。單片機應用系常采用7段LED數(shù)碼管作為顯示器,這種顯示器具有耗電低、配置靈活、線路簡單、安裝方便、耐振動、價格低廉且壽命長等優(yōu)點。因此應用廣泛。</p><p> LED數(shù)碼管顯示器可以文衛(wèi)共陰極和共陽極兩種結構。</
46、p><p> 共陰極結構:如果所有的發(fā)光二極管的陰極接在一起,稱為共陰極結構,如圖3.6所示。</p><p> 共陽極結構:如果所有的發(fā)光二極管的陽極接在一起,稱為共陽極結構,如圖3.7所示。</p><p> 圖3.6 共陰極結構 圖3.7共陽極結構</p><p> 在單片機應用系統(tǒng)
47、中,顯示器顯示常用兩種方法:靜態(tài)顯示和動態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個顯示器都要占用單獨的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時,再發(fā)送新的字形碼,因此,使用這種方法單片機中CPU的開銷小、編程簡單,便于監(jiān)視和控制但是占用接口線多,硬件電路復雜,成本高。而所謂的動態(tài)顯示就是利用單片機依次輸出每一位數(shù)碼管的段選碼和對應于該位數(shù)碼管的位選控制信號,
48、一位一位輪流點亮各段數(shù)碼管。</p><p> 本設計采用共陽極動態(tài)顯示方式。</p><p> 3.4.2 數(shù)碼管的分屏顯示</p><p> 數(shù)碼管的分屏顯示,如圖所示:</p><p> 圖3.8時鐘顯示(圖中顯示為12 點00分46 秒)</p><p> 圖3.9 總金額和單價顯示(圖中顯示為總金額
49、12.3 元,每公里4.6 元)</p><p> 圖3.10 路程和單價顯示(圖中顯示為總路程12 公里,當前單價4.6 元)</p><p> 圖3.11單價調(diào)整顯示(圖中顯示為右起白天單價4 .6 元/晚上7.8 /中途等待1.2 元)</p><p> 數(shù)據(jù)的分屏的顯示是通過按鍵S1 來實現(xiàn)切換的,如圖3.12所示。</p><p
50、> 圖3.12 S1 切換顯示屏</p><p> 在出租車不走的時候,按下S1,可以實現(xiàn)數(shù)據(jù)的分屏顯示,車在行走的時候只有總金額和單價顯示屏在顯示,當?shù)竭_目的地的時候,客戶要求查看總的里程的時候,就可以按下S1 切換到里程和單價顯示屏,供客戶查詢。</p><p> 3.4.3 74HC164顯示驅(qū)動</p><p> 74HC164是 8 位邊沿觸
51、發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。數(shù)據(jù)通過兩個輸入端(DSA 或 DSB)之一串行輸入,任一輸入端可以用作高電平使能端,控制另一輸入端的數(shù)據(jù)輸入。從單片機串口輸出的信號先送到左邊的移位寄存器(74HC164),由于移位脈沖的作用,使數(shù)據(jù)向右移,達到顯示的目的。移位寄存器74HC164還兼作數(shù)碼管的驅(qū)動,插頭1(header1)接電源,插頭2(header2)接數(shù)據(jù)和脈沖輸出端。電路中的三個整流管D1—D3 的作用是降低數(shù)碼管的
52、工作電壓,增加其使用壽命。</p><p> 顯示器原理圖如圖3.13所示:</p><p> 3.13顯示器原理圖</p><p> 3.5 AT24C02 掉電存儲單元的設計</p><p> AT24C02芯片引腳配置如圖3.14所示。</p><p> AT24C02芯片引腳配置說明如表3.1所示。&
53、lt;/p><p> 表3.1AT24C02芯片引腳說明</p><p> 掉電存儲單元的作用是在電源斷開的時候,存儲當前設定的單價信息。AT24C02 是ATMEL 公司的2KB 字節(jié)的電可擦除存儲芯片,采用兩線串行的總線和單片機通訊,電壓最低可以到2.5V,額定電流為1mA,靜態(tài)電流10Ua(5.5V),芯片內(nèi)的資料可以在斷電的情況下保存40 年以上,而且采 圖3.1
54、4 引腳圖 用8 腳的DIP 封裝,使用方便。</p><p> 其電路如圖3.15 所示。</p><p> 圖3.15掉電存儲電路原理圖</p><p> 圖中R8、R10 是上拉電阻,其作用是減少AT24C02 的靜態(tài)功耗,由于AT24C02 的數(shù)據(jù)線和地址線是復用的,采用串口的方式傳送數(shù)據(jù),所
55、以只用兩根線SCL(移位脈沖)和SDA(數(shù)據(jù)/地址)與單片機傳送數(shù)據(jù)。</p><p> 每當設定一次單價,系統(tǒng)就自動調(diào)用存儲程序,將單價信息保存在芯片內(nèi)。當系統(tǒng)重新上電的時候,自動調(diào)用讀存儲器程序,將存儲器內(nèi)的單價等信息,讀到緩存單元中,供主程序使用。</p><p> 3.6 按鍵單元的設計</p><p> 在單片機應用系統(tǒng)中,常用鍵盤作為輸入設備,通過
56、它將數(shù)據(jù)、內(nèi)存地址、命令及指令等輸入到系統(tǒng)中,來實現(xiàn)簡單的人機通信。</p><p> 3.6.1按鍵開關的去除抖動功能</p><p> 目前,AT89S51單片機應用系統(tǒng)上的按鍵常采用機械觸點式按鍵,它在斷開、閉合時輸入電壓波形如圖3.16所示.可以看出機械觸點在閉合及斷開瞬間均有抖動過程,時間長短與開關的機械特性有關,一般為5~10ms。由于抖動,會造成被查詢的開關狀態(tài)無法準確
57、讀出。例如,一次按鍵產(chǎn)生的正確開關狀態(tài),由于鍵的抖動,CPU多次采集到底電平信號,會被誤認為按鍵被多次按下,就會多次進行鍵輸入操作,這是不允許的。為了保證CPU對鍵的一次閉合僅在按鍵穩(wěn)定時作一次鍵輸入處理,必須消除產(chǎn)生的前沿(后沿)抖動影響。</p><p> 通常消除抖動影響的方法有硬件、軟件兩種。當按鍵較少時,可采用硬件方法消除抖動。如圖3.16所示
58、 </p><p><b> 圖3.16按鍵過程</b></p><p> 3.6.2獨立式鍵盤的接口電路</p><p> 獨立式鍵盤的接口電路:在單片機應用系統(tǒng)中,有時只需要幾個簡單的按鍵向系統(tǒng)輸入信息。這時,可將每個按鍵直接接在一根I/O接口線上,這種連接方式的鍵盤稱為獨立式鍵盤。如圖3.17所
59、示。每個獨立按鍵單獨占有一根I/O接口線,每根I/O接口線的工作狀態(tài)不會影響到其他I/O接口線。這種按鍵接口電路配置靈活,硬件結構簡單,但每個按鍵必須占用一根I/O線,I/O接口線浪費較大。故只在按鍵數(shù)量不多時采用這種按鍵電路。</p><p> 在此電路中,按鍵輸入都采用低電平有效。上拉電阻保證了按鍵斷開時,I/O接口線有確定的高電平。當I/O接口內(nèi)部有上拉電阻時,外電路可以不配置上拉電阻。</p>
60、;<p> 圖3.17 獨立式鍵盤電路</p><p> 3.6.3按鍵單元的設計</p><p> 電路共采用了四個按鍵,S1、S2、S3、S4,其功能分別是:S1 分屏顯示切換按鍵,S2功能設定按鍵,S3 .+./白天晚上切換按鍵,S4 .-./中途等待開關。</p><p> 其電路連接如圖3.18所示。</p><
61、p> 圖3.18按鍵連接圖</p><p> 3.6.4按鍵的功能</p><p> ?。?)S1按鍵的功能</p><p> 在出租車不走的時候,按下S1,可以實現(xiàn)數(shù)據(jù)的分屏顯示,車在行走的時候只有總金額和單價顯示屏在顯示,當?shù)竭_目的地的時候,客戶要求查看總的里程的時候,就可以按下S1 切換到里程和單價顯示屏,供客戶查詢。</p><
62、;p> ?。?)S2按鍵的功能</p><p> 在按下S1按鍵之后,若接著按下S2鍵則進行單價調(diào)整(默認為調(diào)整白天單價),當接著按下S1時,則進行晚上單價調(diào),再次按下S1可進行中途等待單價調(diào)整。當單價調(diào)整結束后,可以通過過按下S2按鍵進行時間調(diào)整,默認為調(diào)整時,接著按下S1可進行調(diào)整分,分調(diào)整后再接下S1可進行秒調(diào)整。當時調(diào)整完成后,若接著按下S2則又可進行單價調(diào)整。</p><p&
63、gt; ?。?)S3按鍵的功能</p><p> 在顯示金額及單價時,若按下S3鍵則顯示路程和單價,再次按下S3則可返回顯示金額及單價。</p><p> (4)S4按鍵的功能</p><p> 在按下S1按鍵之后,若接著按下S4按鍵,則進行設定默認晚上單價,并啟動計價器,若沒有按下S4則可設定默認單價(白天),并啟動計價器。當設定默認晚上單價結束后,再次接下
64、S4按鍵則可設定默認中途等待單價,并啟動計價器。當設定默認中途等待單價后,若還按一次S4,則返回系統(tǒng)時間的顯示。</p><p><b> 4 系統(tǒng)的軟件設計</b></p><p><b> 4.1 模塊介紹</b></p><p> 本系統(tǒng)的軟件設計主要可分為主程序模塊、定時計數(shù)中斷程序、里程計數(shù)中斷服務程序、中
65、途等待中斷服務程序、顯示子程序服務程序、鍵盤服務程序六大模塊。下面對各部分模塊作介紹。</p><p><b> 4.2 主程序模塊</b></p><p> 在主程序模塊中,需要完成對各接口芯片的初始化、出租車起價和單價的初始化、中斷向量的設計以及開中斷、循環(huán)等待等工作。另外,在主程序模塊中還需要設置啟動/清除標志寄存器、里程寄存器和價格寄存器,并對它們進行初始
66、化。然后,主程序?qū)⒏鶕?jù)各標志寄存器的內(nèi)容,分別完成啟動、清除、計程和計價等不同的操作。</p><p> 當按下S1時,就啟動計價,將根據(jù)里程寄存器中的內(nèi)容計算和判斷出行駛里程是否已超過起價公里數(shù)。若已超過,則根據(jù)里程值、每公里的單價數(shù)和起價數(shù)來計算出當前的累計價格,并將結果存于價格寄存器中,然后將時間和當前累計價格送顯示電路顯示出來。當?shù)竭_目的地的時候,由于霍爾開關沒有送來脈沖信號,就停止計價,顯示當前所應該
67、付的金額和對應的單價,到下次啟動計價時,系統(tǒng)自動對顯示清零,并重新進行初始化過程。</p><p> 主程序流程圖如圖4.1所示。</p><p> 圖4.1主程序流程圖</p><p><b> 主程序:</b></p><p><b> ORG 0000H</b></p>
68、<p><b> AJMPMAIN</b></p><p><b> ORG 0003H</b></p><p><b> AJMPTO</b></p><p><b> ORG 000BH</b></p><p> AJMPTOTIM
69、E</p><p><b> ORG 001BH</b></p><p> AJMPTOSTART</p><p><b> ORG 0030H</b></p><p> MAIN: MOV SP,#70H</p><p> MOV TMOD, #11H</
70、p><p> MOV TH0, #3CH</p><p> MOV TL0, #0B0H</p><p> MOV TH1, #3CH</p><p> MOV TL1, #0B0H</p><p> MOV 22H, #0AH</p><p><b> SETB EA<
71、/b></p><p><b> SETB TR0</b></p><p><b> SETB EX0</b></p><p><b> SETB IT0</b></p><p><b> SETB ET0</b></p>&l
72、t;p><b> SETB ET1</b></p><p> MOV R7,#34</p><p> MOV R0,#69H</p><p><b> ……</b></p><p> 4.3定時中斷服務程序</p><p> 在定時中斷服務程序中,每100m
73、s 產(chǎn)生一次中斷,當產(chǎn)生10 次中斷的時候,也就到了一秒,送數(shù)據(jù)到相應的顯示緩沖單元,并調(diào)用顯示子程序?qū)崟r顯示。</p><p> 定時中斷服務程序流程圖如圖4.2所示。</p><p> 圖4.2定時中斷服務程序流程圖</p><p><b> 程序:</b></p><p><b> PUSH PS
74、W</b></p><p><b> PUSH ACC</b></p><p> MOV TH0, #3CH</p><p> MOV TL0, #0B0H</p><p><b> INC MS100</b></p><p> MOV A, MS100
75、</p><p> CJNE A, #10,RETURN</p><p> MOV MS100,#0</p><p> MOV A, SEC</p><p><b> ADD A, #1</b></p><p><b> DA A</b></p>&l
76、t;p><b> MOV SEC,A</b></p><p> CJNE A,#60H,RETURN</p><p> MOV SEC,#0</p><p><b> ……</b></p><p> 4.4 里程計數(shù)中斷服務程序</p><p> 每當霍爾傳
77、感器輸出一個低電平信號就使單片機中斷一次,當里程計數(shù)器對里程脈沖計滿1000 次時,就有程序?qū)斍翱傤~送入里程計數(shù)中斷服務程序中。在該程序中,需要完成當前行駛里程數(shù)和總額的累加操作,并將結果存入里程和總額寄存器中。</p><p> 4.5 中途等待中斷服務程序</p><p> 當在計數(shù)狀態(tài)下霍爾開關沒有輸出信號,片內(nèi)的T1 定時器便被啟動,每當計時到達10分鐘,就對當前金額加上中途
78、等待的單價,以后每十分鐘都自動加上中途等待的單價。當中途等待結束的時候,也就自動切換到正常的計價。</p><p> 4.6顯示子程序服務程序</p><p> 由于是分屏顯示數(shù)據(jù),所以就要用到4 個顯示子程序,分別是:時分秒顯示子程序(HMS_DIS)、金額單價顯示子程序(CP_DIS)、路程單價顯示子程序(DP_DIS)、單價調(diào)節(jié)子程序(PA_DIS)。</p>&l
79、t;p><b> 程序:</b></p><p> HMS_DIS:PUSHACC </p><p><b> PUSHPSW</b></p><p><b> SETBRS1</b></p><p> MOV R0,#SEC ;時分秒的拆分(三個字節(jié))<
80、/p><p> MOV R1,#LEDSL</p><p> MOV R6,#03H</p><p><b> ……</b></p><p> CP_DIS:PUSH ACC </p><p><b> PUSH PSW</b></p><p>
81、<b> SETB RS1</b></p><p> MOV R0,#COUNTH ;</p><p> MOV R1,#LEDCOUNT2</p><p> MOV A, @R0</p><p><b> MOV B, A</b></p><p> ANL A,
82、 #0FH</p><p><b> MOV @R1,A</b></p><p><b> ……</b></p><p> DP_DIS:PUSH ACC </p><p><b> PUSH PSW</b></p><p><b>
83、 SETB RS1</b></p><p> MOV R0,#PRICE ;單價的拆分(一個字節(jié))</p><p> MOV R1,#LEDDANJIAL</p><p> MOV A, @R0</p><p><b> MOV B, A</b></p><p><b&g
84、t; ……</b></p><p> PA_DIS1:PUSH ACC</p><p><b> PUSH PSW</b></p><p> MOV A,LEDDAY_PL ;白天單價</p><p> MOV DPTR,#TAB</p><p> MOVC A,@A+DP
85、TR</p><p> MOV SBUF,A</p><p><b> JNB TI, $</b></p><p><b> CLR TI</b></p><p> MOV A, LEDDAY_PH</p><p> MOV DPTR,#TAB</p>
86、<p> MOVCA,@A+DPTR</p><p><b> CPL ACC.4</b></p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p><b> CLR TI</b></p>&
87、lt;p> MOV A,LEDNIG_PL ;晚上單價</p><p> MOV DPTR,#TAB</p><p> MOVCA,@A+DPTR</p><p> MOV SBUF,A</p><p><b> JNB TI, $</b></p><p><b> C
88、LR TI</b></p><p> MOV A,LEDNIG_PH</p><p> MOV DPTR,#TAB</p><p> MOVC A, @A+DPTR</p><p><b> CPL ACC.4</b></p><p> MOV SBUF,A</p>
89、;<p><b> JNB TI,$</b></p><p><b> CLR TI</b></p><p> MOV A,LEDW_PL </p><p> MOV DPTR,#TAB</p><p> MOVC A,@A+DPTR</p><p>
90、 MOV SBUF,A</p><p><b> JNB TI, $</b></p><p><b> CLR TI</b></p><p> MOV A,LEDW_PH</p><p> MOV DPTR,#TAB</p><p> MOVC A,@A+DPTR
91、</p><p><b> CPL ACC.4</b></p><p><b> MOVSBUF,A</b></p><p><b> JNB TI,$</b></p><p><b> CLR TI</b></p><p>
92、;<b> CLR RS1</b></p><p><b> POP PSW</b></p><p><b> POP ACC</b></p><p><b> RET</b></p><p> TAB:DB 11H,0D7H,32H,92H,0
93、D4H,98H,18H,0D1H,10H,90H,0FFH</p><p><b> 4.7鍵盤服務程序</b></p><p> 鍵盤采用查詢的方式,放在主程序中,當沒有按鍵按下的時候,單片機循環(huán)主程序,一旦右按鍵按下,便轉(zhuǎn)向相應的子程序處理,處理結束再返回。</p><p> 5系統(tǒng)調(diào)試與測試結果分析</p><p
94、> 根據(jù)系統(tǒng)設計方案,本系統(tǒng)的調(diào)試共分為三大部分:硬件調(diào)試,軟件調(diào)試和軟硬件聯(lián)調(diào)。測試包括里程計價測試、掉電存儲測試。</p><p> 5.1 使用的儀器儀表 </p><p> 數(shù)字萬用表 DT9203</p><p> 單片機仿真器 WAVE6000</p><p> 燒寫器
95、 GF2100</p><p> 雙蹤穩(wěn)壓穩(wěn)流電源 DH1718E-5</p><p> 數(shù)字示波器 TDS1002</p><p> 在軟件調(diào)試過程中,因為AT89S51與MCS—51系列相兼容,所以在調(diào)試WAVE6000調(diào)試過程中,我們采用8751來進行調(diào)試。如圖5.1所示:</p><p
96、> 圖5.1 WAVE6000設置圖</p><p><b> 5.2 系統(tǒng)調(diào)試</b></p><p> 根據(jù)系統(tǒng)設計方案,本系統(tǒng)的調(diào)試共分為三大部分:硬件調(diào)試,軟件調(diào)試和軟硬件聯(lián)調(diào)。由于在系統(tǒng)設計中采用模塊設計法,所以方便對各電路模塊功能進行逐級測試。</p><p> 5.2.1里程計價測試</p><p
97、> 由于試驗條件有限,我們采用電動機附帶霍爾元件作為車輪,電機為3V 的直流電機,每分的轉(zhuǎn)速可以達到幾千轉(zhuǎn),我們設定電機每轉(zhuǎn)一圈為車輪轉(zhuǎn)動1 米,當電機轉(zhuǎn)動達到1000圈時,就表示已經(jīng)到達了一公里,系統(tǒng)自動將當前的單價加到總金額上。</p><p> 表5.1 的測試條件是:設定白天的單價是2.5 元,起步價為5 元(包含3 公里),分別行駛不同里程測得數(shù)據(jù)如下表。</p><p&g
98、t; 表5.1白天單價測試</p><p> 表5.2測試條件是:晚上的單價設定為3.0 元,起步價為5 元(包含3 公里),分別行駛不同里程測得數(shù)據(jù)如下表。</p><p> 表5.2晚上單價測試</p><p> 表5.3測試條件是:設定在單價為2.5 的情況下已經(jīng)行駛了10 (22.5)公里,進行中途等待,分別等待不同的時間(10 分鐘為一個單位),起
99、步價為5 元(包含3 公里)。</p><p> 表5.3中途等待價格測試</p><p> 里程測試數(shù)據(jù)的分析:</p><p> 通過表5.1、表5.2、表5.3 的數(shù)據(jù),我們可以看到系統(tǒng)的計價功能很穩(wěn)定,誤差很小,幾乎為零,不過還應該在實際的應用中測試。</p><p> 5.2.2掉電存儲測試</p><p
100、> 表5.4顯示的數(shù)據(jù)表明,系統(tǒng)能在掉電的情況下正確的保存數(shù)據(jù),并且能在系統(tǒng)上電后將數(shù)據(jù)讀到相應的存儲單元。</p><p> 表5.4掉電存儲測試</p><p><b> 6 結論</b></p><p> 由于使用的是AT89S51單片機作為核心的控制元件,靈敏的霍爾開關型器件A44E霍爾傳感器,是本出租車計價器具有功能強、
101、性能可靠、電路簡單、成本低實用性強等特點,加上經(jīng)過優(yōu)化的程序,使其有很高的智能化水平。但是在我們設計和調(diào)試的過程中,也發(fā)現(xiàn)了一些問題,譬如計價的金額位數(shù)有限,實際的里程可能會很遠,會超出我們的顯示范圍。雖然AT89S51單片機具有較強抗干擾能力,雖然其抗干擾能力不如PLC,但是PLC價格較貴,不符合以經(jīng)濟為主的設計原則,雖然有上述種種的不足。但是用單片機運行效果仍然令人滿意,同時也證明了本方案的正確性。</p><p
102、> 本款出租車計價器的設計還不夠人性化,比如本次設計按鍵方面還可以運用8279芯片控制,使其具有更高的控制運行功能。8279是專用鍵盤、顯示控制芯片,能對顯示器進行自動掃描;能識別鍵盤上鍵的符號;可充分提高CPU的工作效率。</p><p> 另外還可以加上語音的提示功能和自動打印票據(jù)功能等,這樣以單片為核心設計的出租車計價器會更加有生命力,以符合當代社會的服務標準。</p><p&
103、gt;<b> 致 謝</b></p><p> 為期兩個月的畢業(yè)設計即將接近尾聲,在xx老師的親切指導和同學的幫助下,此次設計才得以完成,在此向所有給予我此次畢業(yè)設計指導和幫助的老師和同學表示最誠摯的感謝。</p><p> 首先,向本設計的指導老師***老師表示最誠摯的謝意。在自己緊張的工作中,仍然盡量抽出時間對我們進行指導,時刻關心我們的進展狀況,督
104、促我們抓緊學習。zz老師給予的幫助貫串于設計的完全過程,從借閱參考資料到現(xiàn)場的實際操作,他都給予了指導,不僅使我學會運用書本中的知識,更學會了學習操作方法。也懂得了如何把握設計重點,如何合理安排時間和論文的編寫,同時在畢業(yè)設計過程中,他和我們在一起共同解決了設備出現(xiàn)的各種問題。</p><p> 其次,要向給予此次畢業(yè)設計幫助的老師們,以及同學們以誠摯的謝意,在整個設計過程中,他們也給我很多幫助和無私的關懷,更
105、重要的是為我們提供不少技術方面的資料,在此感謝他們,沒有這些資料就不是一個完整的論文。</p><p> 另外,也向給予我?guī)椭乃型瑢W表示感謝。</p><p> 總之,我的設計是老師和同學共同完成的結果,在設計的兩個月里,我們合作的非常愉快,教會了我許多道理,是我人生的一筆財富,我再次向給予我?guī)椭膞x老師和同學表示感謝!</p><p><b>
106、 參考文獻</b></p><p> [1] 李群芳,黃建.單片機微型計算機與接口技術.北京.電子工業(yè)出版社,2001</p><p> [2] 馬淑華,王鳳文,張美金.單片機原理與接口技術.北京.北京郵電大學出版社,2005</p><p> [3] 張迎新.單片微型計算機原理、應用及接口技術.北京.國防工業(yè)出版社.1996</p>
107、<p> [4] 張鑫,華臻,陳書謙.單片機原理及應用.電子工業(yè)出版社,2005.P110—136.</p><p> [5] 丁元杰.單片微機實題集與實驗指導書.機械工業(yè)出版社,2004.P124—125.</p><p> [6] 董輝.汽車電子技術傳感器.北京.北京理工大學出版社.1995</p><p> [7]魏永昌.單片機外圍電路設
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出租車計價器畢業(yè)設計
- 畢業(yè)設計--出租車計價器設計
- 出租車計價器的設計 畢業(yè)設計
- 畢業(yè)設計--語音多路出租車計價器
- 多功能出租車計價器畢業(yè)設計
- 畢業(yè)設計--出租車計價器系統(tǒng)的設計
- 多功能出租車計價器畢業(yè)設計論文
- 出租車計價器系統(tǒng)應用畢業(yè)設計
- 出租車計價器__畢業(yè)設計(完整版)
- 出租車計價器設計畢業(yè)論文
- 出租車計價器(20170824174838)
- 出租車計價器畢業(yè)論文設計
- 出租車計價器畢業(yè)論文
- 出租車計價器課程設計
- 578 出租車計價器系統(tǒng)設計
- 出租車計價器系統(tǒng)設計.doc
- 765 出租車計價器系統(tǒng)設計
- 出租車計價器系統(tǒng)的設計
- 綜合實驗---出租車計價器設計
- 出租車計價器課程設計
評論
0/150
提交評論