版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
..課程設計說明書課程設計名稱:《單片機原理與接口技術》課程設計課程設計題目:基于51單片機的出租車計價器學院名稱:信息工程學院專業(yè):電子信息工程__100415__27__夏亮晶同組人:張先生評分:教師:鄧老師2013年07基于51單片機原理出租車計價器的設計摘要現(xiàn)在各大中城市出租車行業(yè)都已普及自動計價器,所以計價器技術的發(fā)展已成定局。而部分小城市尚未普及,但隨著城市建設日益加快,象征著城市面貌的出租車行業(yè)也將加速發(fā)展,計價器的普及也是毫無疑問的,所以未來汽車計價器的市場還是十分有潛力的。本設計以89S51單片機為中心,利用信號發(fā)生器模擬代替霍爾傳感器測距,實現(xiàn)對出租車計價統(tǒng)計,輸出采用LM016L液晶顯示屏。本電路設計的計價器不但能實現(xiàn)基本的計價,而且還能根據(jù)里程或手動來調節(jié)單價。通過單片機上的鍵盤上的按鍵來執(zhí)行開始、暫停、復位等功能。步驟如下:首先,程序開始做一些必要的初始化工作,等待鍵盤輸入。然后,啟動鍵K1按下后單片機開始計數(shù)傳感器傳來的計數(shù)脈沖,在LM016L液晶顯示器顯示路程,按下K2顯示總費用price是多少,當路程超過3Km,才開始計算。通過K3、K4,K5、K6,K7、K8改變單價price個位,十分位,百分位。關鍵詞:89S51單片機LM016L液晶顯示屏計價器目錄前言1第一章出租車計價系統(tǒng)的設計要求與設計方案21.1出租車計價器設計要求21.2系統(tǒng)主要功能21.3方案論證與比較2第二章出租車計價系統(tǒng)的硬件設計42.1振蕩電路42.2復位電路設計42.3鍵盤接口電路52.4顯示電路52.5路程測量部分62.6單片機各引腳功能說明72.71602液晶的簡介8第三章出租車計價系統(tǒng)的軟件設計113.1系統(tǒng)主程序113.2里程計數(shù)子程序113.3單價設置子程序12第四章設計體會與小結13參考文獻14附錄15源程序15硬件電路圖22前言單片機課程設計是單片機技術學習中非常重要的一個環(huán)節(jié),是將理論知識和實踐能力相統(tǒng)一的一個環(huán)節(jié),是真正鍛煉學生能力的一個環(huán)節(jié)。出租車能保證乘客快速,輕松的到達目的地。這些優(yōu)點受到人們的歡迎。隨著出租車行業(yè)的發(fā)展,出租車已經是城市交通的重要組成部分,從加強行業(yè)管理以及減少司機與乘客的糾紛出發(fā),具有良好性能的計價器對出租車司機和乘客來說都是很必要的。而采用模擬電路和數(shù)字電路設計的計價器整體電路的規(guī)模較大,用到的器件多,造成故障率高,難調試。而采用單片機進行的設計,相對來說功能強大,用較少的硬件和適當?shù)能浖嗷ヅ浜峡梢院苋菀椎貙崿F(xiàn)設計要求,且靈活性強,可以通過軟件編程來完成更多的附加功能。本設計采用AT89C52單片機,輔以按鍵,實現(xiàn)對出租車的多功能的計價設計,輸出采用LM016L液晶顯示屏。本電路設計的計價器不但能實現(xiàn)基本的計價,而且還能根據(jù)里程或手動要將出租車計價系統(tǒng)產品化,應該根據(jù)客戶不同的需求進行不同的設計,應該在程序中增加一些可以人為改變的參數(shù),以便客戶根據(jù)不同的需要隨時調節(jié)單價以及計價方式。因此,研究出租車計價器及擴大其應用,有著非常現(xiàn)實的意義。..第一章出租車計價系統(tǒng)的設計要求與設計方案出租車計價器設計要求設計一個出租車自動計費器,計費包括起步價、行車里程計費、等待時間計費三部分,用LM016L液晶顯示總金額,運行時間,暫停時間,起步價為6元,3Km之內起步價計費,超過3Km,每一公里增加1.6元〔即1KM增加1.6元,用液晶顯示總里程,同時用液晶顯示總金額,單價。計費功能費用的計算是按行駛里程收費。設起步價為6元。1、當里程<3km時,按起價計算費用2、當里程>3km時,每公里按1.6元計費3、S1為啟動路程按鈕、S2為啟動計價按鈕、S3~S8為調整計費按鈕、②、顯示功能1、顯示行駛里程:用三位數(shù)字顯示,顯示方式為"XX.X",單位為km。計程范圍0-999.9km,精確到0.01km。2.顯示計費單價X.XX,精確到0.01元。3、顯示總費用:用三位數(shù)字顯示,顯示方式為"XXXX.XX",單位為元。計價范圍0-9999.99元,精確到0.01元。系統(tǒng)主要功能本出租車自動計費,上電后顯示最初的起步價,里程計費單價,計費單價,通過按鍵可以調節(jié)起步價,里程計費單價。同時具有運行,暫停,停止等狀態(tài),具有累加功能。出租車停止后能夠顯示行駛的總費用。方案論證與比較方案一:采用數(shù)字電子技術,利用555定時芯片構成多諧振蕩器,或采用外圍的晶振電路作為時鐘脈沖信號,采用計數(shù)芯片對脈沖盡心脈沖的計數(shù)和分頻,最后通過譯碼電路對數(shù)據(jù)進行譯碼,將譯碼所得的數(shù)據(jù)送給數(shù)碼管顯示,一下是該方案的流程框圖,方案一如圖1-1所示:圖1-1方案一案二:采用EDA技術,根據(jù)層次化設計理論,該設計問題自頂向下可分為分頻模塊,控制模塊計量模塊、譯碼和動態(tài)掃描顯示模塊,其系統(tǒng)框圖如圖1-2所示:圖1-2方案二方案三:采用MCU技術,通過單片機作為主控器,利用1602字符液晶作為顯示電路,采用外部晶振作為時鐘脈沖,通過按鍵可以方便調節(jié),以下是方案三的系統(tǒng)流程圖,本方案主要是必須對于數(shù)字電路比較熟悉,成本又不高。方案圖如圖1-3所示:圖1-3方案三方案總結:通過各個方案的比較,本次采用方案三,不但控制簡單,而且成本低廉,設計電路簡單。第二章出租車計價系統(tǒng)的硬件設計2.1振蕩電路單片機內部有一個高增益、反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2。通過這兩個引腳在芯片外并接石英晶體振蕩器和兩只電容〔電容和一般取33pF。這樣就構成一個穩(wěn)定的自激振蕩器。振蕩電路脈沖經過二分頻后作為系統(tǒng)的時鐘信號,再在二分頻的基礎上三分頻產生ALE信號,此時得到的信號時機器周期信號。振蕩電路如圖2-1所示:圖2-1振蕩電路2.2復位電路設計復位操作有兩種基本形式:一種是上電復位,另一種是按鍵復位。按鍵復位具有上電復位功能外,若要復位,只要按圖中的RESET鍵,電源VCC經電阻R1、R2分壓,在RESET端產生一個復位高電平。上電復位電路要求接通電源后,通過外部電容充電來實現(xiàn)單片機自動復位操作。上電瞬間RESET引腳獲得高電平,隨著電容的充電,RERST引腳的高電平將逐漸下降。RERST引腳的高電平只要能保持足夠的時間〔2個機器周期,單片機就可以進行復位操作。按鍵復位電路圖如圖2-2所示。圖2-2AT89C51引腳配置2.3鍵盤接口電路獨立式鍵盤:獨立式鍵盤中,每個按鍵占用一根I/O口線,每個按鍵電路相對獨立。I/O口通過按鍵與地相連,I/O口有上拉電阻,無鍵按下時,引腳端為高電平,有鍵按下時,引腳電平被拉低。I/O口內部有上拉電阻時,外部可不接上拉電阻。鍵盤接口電路如圖2-3所示:圖2-3鍵盤接口電路2.4顯示電路對于現(xiàn)實電路我們可以采用數(shù)碼管,也可以采用液晶顯示,液晶又分字符型和點陣型,我們使用的液晶是字符型液晶,并且?guī)ё址麕斓?不需要查找代碼。英文字符就可。液晶電路使用時,如果發(fā)現(xiàn)液晶不亮可以調節(jié)連接液晶的點位器,改變液晶的亮度。顯示電路如圖2-4所示:圖2-4數(shù)碼管封裝圖及數(shù)據(jù)線與數(shù)碼管管腳關系2.5路程測量部分出租車中需要一個能準確獲得車輪轉動即路量信號的裝置,以得到標準的脈沖信號送入單片機的定時/計數(shù)器T1即P3.5引腳,利用單片機的T1的計數(shù)功能完成100次的計數(shù)后產生一中斷來完成路程的測量。<設車輪周長為1m,則霍爾傳感器每產生100個脈沖便表示車已行程0.1km,根據(jù)際情況在程序中進行設置>。汽車聯(lián)軸器按圓周間隔嵌入磁鋼,用霍傳感器集成芯片A44E測并輸出脈沖,其工作原理如圖4所示,霍爾傳感器集成芯片A44E有信號轉換、電壓放大、等功能,為增加其抗干擾的能力,經過74LS14對信號整形后再通過光偶送入P3.5引腳。圖2-5路程測量電路2.6單片機各引腳功能說明AT89S52電路圖如圖2-6所示:VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行。校驗時,P0輸出原碼,此時P0外部必須被拉高。圖2-6AT89S52P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫"1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址"1P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入"1”RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器〔0000H-FFFFH,不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源〔VPP。XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。2.71602液晶的簡介字符型液晶1602主要技術參數(shù)如表2-1所示:顯示容量:16*2個字符芯片工作電壓:4.5—5.5V工作電流:2.0mA<5.0V>模塊最佳工作電壓:5.0V字符尺寸:2.95*4.35〔W*Hmm表2-1字符型液晶1602主要技術參數(shù)接口信號說明如表2-2所示:編號符號引腳說明編號符號引腳說明1Vss電源地9D2DataI/O2VDD電源正極10D3DataI/O3VL液晶顯示偏壓信號11D4DataI/O4Rs數(shù)據(jù)/命令選擇端〔H/L12D5DataI/O5R/W讀/寫選擇端〔H/L13D6DataI/O6E使能信號14D7DataI/O7D0DataI/O15BLA背光源正極8D1DataI/O16BLK背光源負極表2-21602接口信號說明控制器接口說明〔HD44780及兼容芯片1、基本操作時序a讀狀態(tài):輸入:Rs=L,Rw=H,E=H輸出:D0—D7=狀態(tài)字b寫指令:輸入:Rs=L,Rw=L,D0—D7=指令碼輸出:無E=高脈沖C讀數(shù)據(jù):輸入:Rs=H,Rw=L,E=H輸出:D0—D7=數(shù)據(jù)d寫數(shù)據(jù):輸入:Rs=H,Rw=L,D0—D7=數(shù)據(jù)輸出:無E=高脈沖狀態(tài)字說明如表2-3所示:STA7D7STA6D6STA5D5STA4D4STA3D3STA2D2STA1D1STA0D0表2-3狀態(tài)字說明〔aSTA0--6當前數(shù)據(jù)地址指針的數(shù)值STA7讀寫操作使能1:禁止0:允許表2-4狀態(tài)字說明〔b注:對控制器進行讀寫操作之前,都必須進行讀寫檢測,確保STA7為0RAM地址映射圖控制器內部帶有80*8位的RAM緩沖區(qū),對應關系如下圖2-5所示:表2-5RAM地址映射圖LCD16字*2行000102030405060708090A0B0C0D0E0F10…27404142434445464748494A4B4C4D4E4F50…67顯示模式設置如表2-6所示:指令碼功能00111000設置16*2顯示,5*7點陣,8位數(shù)據(jù)接口表2-6顯示模式設置指令碼功能00001DCBD=1開顯示;D=0關顯示C=1顯示光標;C=0不顯示光標B=1光標閃爍;B=0光標不顯示000001NSN=1當讀或寫一個字符后地址指針加一,且光標加一N=0當讀或寫一個字后地址指針減一,且光標減一S=1當寫一個字符后,整屏顯示左移<N=1>或右移〔N=0,以得到光標不移動而屏幕移動的效果S=0當寫一個字符,整屏顯示不移動表2-7顯示開關及光標設置數(shù)據(jù)控制控制器內部沒有一個數(shù)據(jù)地址指針,用戶可通過它們來訪問內部的全部80字節(jié)RAM。第三章出租車計價系統(tǒng)的軟件設計系統(tǒng)主程序在主程序模塊中,需要完成對各參量和接口的初始化、出租車起價和單價的初始化等工作。另外,在主程序模塊中還需要設置修改單價的程序。然后將總金額、里程和單價送數(shù)碼管顯示出來。程序流程如圖所示。NNNYY開始程序初始化顯示S1按下?S3按下?按XIAXIA下?里程計數(shù)子程序單價設置子程序里程計數(shù)子程序當汽車運行起來時,就啟動計價,根據(jù)里程寄存器中的內容計算和判斷行駛里程是否已超過起步價公里數(shù)。若已超過,則根據(jù)里程值、每公里的單價數(shù)和起步價數(shù)來計算出當前的總金額,并將結果輸出在顯示屏上。啟動等待計時子程序停止啟動等待計時子程序停止計數(shù)加0.1總計費加1.6元S1按下?S1按下?滿0.1km?路程=3km?重置路程為1kmNNYYYYNNYYYYNN單價設置子程序設置單價時,按下S3鍵,此時按下S2起步價加一元,按下S4起步價減一元。按下S1鍵程序跳回等待運行階段。YYYYNNN設置S2按下?S3按下?S2按下?起步價加一元起步價減一元運行第四章設計體會與小結經過這些天有關于出租車計價器的課程設計,使我對單片機的應用有了更深的了解。在課程設計的過程中,還是碰到了許多的問題。比如,對于數(shù)碼管動態(tài)掃描顯示、數(shù)碼管的閃爍和鍵盤的延時防抖的綜合編程不能較好地解決;對于一些相關的應用軟件沒能熟練掌握。通過這幾天晚上的苦想和反復調試,最終還是把問題解決了。通過這次課程設計,我最大的收獲就是自己的動手能力和獨立解決問題的能力得到了很大的提高,也充分體會到了自己設計東西的樂趣、學會查閱資料和對別人的東西融會變通的重要性,也明白了很多知識光靠趴在書本上學是學不到其中的精髓的,必須親自去試著實踐,親自去經歷才能對它們真正的掌握。最大的收獲是更清晰了如何有條理的編程。第一個就是流程圖,原來不以為然的事現(xiàn)在覺得非常的有必要。第二就是編程順序,要寫一個功能很復雜的程序首先寫那些自己可以很快完成的較簡單的內容,比如調單價時的閃爍,那么就可以開始只寫調一位單價,然后再加入程序可以調兩位單價,再然后加入閃爍功能,這樣既可以使編程變得更有條理,而且對心態(tài)也是很有幫助的。一步一步的完成相應的要求會使自己的心情倍感舒爽而不是一直未能達到要求時的迷茫。凡事都要自己去動下手,去實踐一下,遇到困難,永遠不要沮喪氣餒。在動手的過程中,不僅能增強實踐能力,而且在理論上可以有更深的認識;這次設計給了我極大的鼓舞和信心,相信在以后的學習中可以通過不斷的摸索和實踐來提高其他方面的知識。參考文獻李群芳、張士軍、黃建.《單片微型計算機與接口技術》〔第三版.電子工業(yè)出版社,2008.張鑫、華臻、陳書謙.《單片機原理及應用》[M].電子工業(yè)出版社,2005.丁元杰、吳大偉.《單片微機實題集與實驗指導書》[M].機械工業(yè)出版社,2004.李群芳,肖看.單片機原理接口與應用.北京:清華大學出版社,2005.張迎新.單片微型計算機原理、應用及接口技術.北京:國防工業(yè)出版社,1999.高峰.單片微型應用系統(tǒng)設計及實用技術.北京:機械工業(yè)出版社,2004.附錄源程序#include"main.h"#include"lcd1602.h"ucharnumber1[16]="D.kmP:1.60";ucharnumber2[16]="Price:$";ulongdis=0;ulongprice=600;uintperk=160;ucharstate=0;ucharchoice=0;/*函數(shù)名稱:Delay<>函數(shù)功能:延時tms入口參數(shù):t出口參數(shù):無*/voidDelay<uchart>{ ucharx,y; for<x=t;x>0;x--> for<y=110;y>0;y-->;}/*函數(shù)名稱:Display<>函數(shù)功能:顯示路程和單價信息入口參數(shù):路程X,和單價P出口參數(shù):無*/voidDisplay<ulongx,uintp>{ number1[1]=x/10000%10+'0'; number1[2]=x/1000%10+'0'; number1[3]=x/100%10+'0'; number1[5]=x/10%10+'0'; number1[6]=x%10+'0'; number1[12]=p/100%10+'0'; number1[14]=p/10%10+'0'; number1[15]=p%10+'0'; if<number1[1]=='0'> { number1[1]=''; if<number1[2]=='0'> { number1[2]=''; } } Print<0x80,&number1>;}/*函數(shù)名稱:Show_Price<>函數(shù)功能:顯示最后的價格入口參數(shù):單價temp全局變量dis出口參數(shù):無*/voidShow_Price<ulongtemp>{ ulongResult=0; floatvalue=1.0; if<dis<=300> Result=price; else { Result=temp*<dis-300>; value=Result/100+0.5; Result=<ulong>value; Result+=price; } number2[8]=Result/100000%10+'0'; number2[9]=Result/10000%10+'0'; number2[10]=Result/1000%10+'0'; number2[11]=Result/100%10+'0'; number2[12]='.'; number2[13]=Result/10%10+'0'; number2[14]=Result%10+'0'; if<number2[8]=='0'> { number2[8]=''; if<number2[9]=='0'> { number2[9]=''; if<number2[10]=='0'> number2[10]=''; } } Print<0xc0,&number2>;}/*函數(shù)名稱:Key_Scan<>函數(shù)功能:通過按鍵設定要的參數(shù)數(shù)值入口參數(shù):無出口參數(shù):無*/voidKey_Scan<void>{ if<key1==0> { Delay<2>; if<key1==0> { while<!key1>; state++; if<state==3> state=0; } } if<key2==0> { Delay<2>; if<key2==0> { while<!key2>; choice++; if<choice==2> choice=0; } } if<key3==0> //參數(shù)的百位加+1 { Delay<2>; if<key3==0> { while<!key3>; switch<choice> { case0: if<<perk+100><=999> perk+=100; Display<dis,perk>; break; case1: if<<price+100><=999> price+=100;break; default:break; } } } if<key4==0> //參數(shù)的百位-1 { Delay<2>; if<key4==0> { while<!key4>; switch<choice> { case0: if<perk>=100> perk-=100; Display<dis,perk>; break; case1: if<price>=100> price-=100;break; default:break; } } } if<key5==0> //參數(shù)的十位+1 { Delay<2>; if<key5==0> { while<!key5>; switch<choice> { case0: if<<perk+10><=999> perk+=10; Display<dis,perk>; break; case1: if<<price+10><=999> price+=10;break; default:break; } } } if<key6==0> //參數(shù)的十位-1 { Delay<2>; if<key6==0> { while<!key6>; swit
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 血腫的應急處理
- 應收會計年終總結
- 2023年氣相色譜儀資金需求報告
- 病例討論周圍神經病
- 3.3.3離子反應 課件高一上學期化學蘇教版(2019)必修第一冊
- 背影教案反思
- 好玩的冰說課稿
- 開展我為同學辦實事活動
- 神經病學臨床案例分享
- 安全生產變更索賠管理細則
- (精選課件)蝸牛爬井的故事
- 天翼云從業(yè)者認證考前模擬題庫(含答案)
- 關于小學五年級硬筆書法寫字課教案全冊
- 閱讀指導《我爸爸》導讀課件
- 垃圾清運轉運車輛安全管理制度
- 保安部崗位設置圖
- DB31T 1295-2021 立體花壇技術規(guī)程
- “西學中”考試試卷及答案
- 部編版《道德與法治》五年級上冊第10課《傳統(tǒng)美德 源遠流長》優(yōu)質課件
- 超濾反滲透操作說明書
- 原發(fā)性骨髓纖維化課件
評論
0/150
提交評論