




已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
精品文檔目 錄摘要11 概述21.1 基本要求21.2 功能介紹22 設(shè)計方案32.1設(shè)計原理33 硬件電路43.1 單片機最小系統(tǒng)43.2 按鍵電路53.3 數(shù)碼管顯示電路53.4 LCD1602顯示電路64 軟件設(shè)計74.1單片機I/O資源使用74.2 單片機軟件模塊設(shè)計74.3 程序框圖85 PROTEUS仿真105.1 總仿真電路圖105.2 不調(diào)價仿真105.3 調(diào)價仿真116 心得體會13參考文獻14附錄1 原件清單15附錄2 程序16附錄3 原理圖291歡迎下載。出租車自動計費器設(shè)計摘要近些年來,出租車成為了人們出行重要的交通工具之一,出租車以低價高質(zhì)的服務(wù)給人們帶來了不少方便?;趩纹瑱C系統(tǒng)設(shè)計的出租車計費器以單片機作為核心的控制元件,具有功能強,性能可靠,電路簡單,成本低的特點,加上經(jīng)過優(yōu)化的程序,使其具有很高的智能化水平。本次設(shè)計中,硬件設(shè)計主電路以AT89S51單片機為核心控制元件,輸出采用LCD1602液晶屏和四位一體數(shù)碼管,顯示起價、每公里單價、等待價格、行駛總里程和總金額,并配有多個按鍵,以供手動調(diào)節(jié)乘車價格。關(guān)鍵詞:計費器 51單片機 LCD1602 數(shù)碼管1歡迎下載。1 概述1.1 基本要求 以MCS-51系列單片機為核心,設(shè)計出租車自動計費器。 設(shè)計一個出租車自動計費器,具有行車里程計費、等候時間計費、及起價三部分,用四位數(shù)碼管顯示總金額,最大值為99.99元。 行車里程單價1元/公里,等候時間單價0.5元/10分鐘,起價3元(3公里起價)均能通過人工輸入。 行車里程的計費以一個脈沖模擬汽車前進十米, 用LED顯示行駛公里數(shù)和收費金額。一、計費功能費用按行駛里程計費,起步價為3元。1、當(dāng)行駛里程小于或等于3公里,按起步價計費2、當(dāng)行駛里程大于3公里,每公里收費1元,不足1公里不計3、等待時間為每10分鐘收費0.5元,不足10分鐘不計二、顯示功能1、顯示行駛里程:用LCD1602液晶屏顯示,顯示方式為“XX”,單位為Km,范圍0-99Km2、顯示等候時間:用LCD1602液晶屏顯示,顯示方式為“XX”,單位Min,范圍0-99Min3、顯示總費用:用四位數(shù)碼管顯示,顯示方式為“XX.X”,單位元,范圍3-99.9元1.2 功能介紹本出租車自動計費,上電后顯示默認的起步價,每公里計費單價,等待時間計費單價,可通過按鍵調(diào)整起步價,里程計費單價,等待時間計費單價。具有運行、暫停、停止?fàn)顟B(tài),可以顯示行駛的里程、等待的時間和出租車行駛的總費用。2 設(shè)計方案2.1設(shè)計原理利用單片機的強大功能,可用AT89S51單片機作主控芯片,用來處理計費器的各種數(shù)據(jù)并控制LCD1602和數(shù)碼管顯示模塊,實現(xiàn)基本的里程計費和價格調(diào)整。為模擬汽車行駛,用單片機的T0定時器進行16位定時,每0.05S發(fā)射一個信號進入定時中斷,20個中斷為1S,每秒向單片機發(fā)送信號表示前進10米。2.2 設(shè)計方案復(fù)位電路里程傳輸按鍵電路數(shù)碼管顯示總費用鎖存器LCD1602顯示行駛里程和等待時間等AT89S51單片機圖2-1 總體設(shè)計框圖3 硬件電路3.1 單片機最小系統(tǒng)該電路單片機最小系統(tǒng)由四個部分組成:電源、地、復(fù)位電路、時鐘電路。電源電路中,電源接單片機,同時連接一個電容接地用于去耦合,穩(wěn)定電源電壓。復(fù)位電路如圖3-1所示,共有兩種基本形式:上電復(fù)位和按鍵復(fù)位。單片機上電瞬間會對C1進行充電,此過程C1相當(dāng)于短路,RST引腳電平升高單片機復(fù)位;若要手動復(fù)位,則按下RSTK復(fù)位按鍵,RST引腳直接接高電平,單片機復(fù)位。圖3-1 復(fù)位電路圖3-2為單片機時鐘電路,AT89S51內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,它的輸入端為芯片引腳XTAL1,輸出端為XTAL2,。這兩個引腳跨接石英晶體和微調(diào)電容,構(gòu)成一個穩(wěn)定的自激振蕩器,微調(diào)電容的典型值通常為30pF。圖3-2 時鐘電路3.2 按鍵電路本設(shè)計共有6個獨立按鍵:復(fù)位按鍵RSTK,進入退出設(shè)置鍵K1,光標(biāo)移動鍵K2,數(shù)值增加鍵K3,等待計時鍵K4,開始暫停計費鍵K5。1.復(fù)位或者程序跑飛,可用RSTK鍵進行復(fù)位;2.調(diào)整計費單價,按K1進如設(shè)置狀態(tài),設(shè)置完后再按下K1退出設(shè)置狀態(tài);3.按K2可移動光標(biāo),分別調(diào)整各收費單價;4.按K5鍵開始計費,中間需要停車等待,可直接按K4進行等待計時計費,等待完畢直接按K5繼續(xù)行駛計費。按鍵電路如圖3-3所示。圖3-3 按鍵電路3.3 數(shù)碼管顯示電路數(shù)碼管用于顯示計費總價,顯示方式為“XX.X”,單位元,顯示范圍為3-99.9元。為保證數(shù)碼管顯示的穩(wěn)定性,在段選端前接鎖存器74HC573,數(shù)碼管電路如圖3-4所示。圖3-4 數(shù)碼管顯示電路由于單片機P0口沒有上拉能力,所以數(shù)碼管的段選口高電平由鎖存器提供。3.4 LCD1602顯示電路LCD1602液晶屏是字符型液晶屏,并且?guī)ё址麕斓?,不需要查找代碼,英文字符可直接輸入顯示。液晶電路使用時,如果發(fā)現(xiàn)液晶不亮可以調(diào)節(jié)連接液晶的變阻器,改變液晶的亮度。每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形。LCD1602顯示電路如圖3-5所示。圖3-5 LCD顯示電路另外,系統(tǒng)供電由P1口外接的5V電源供電,如圖3-6。圖3-6 電源接口4 軟件設(shè)計4.1單片機I/O資源使用此設(shè)計中P10到P13口和P32口連接按鍵控制輸入,P0口和P14、P15、P16、P17口用于控制數(shù)碼管,P2口和P34、P35、P36口用于控制LCD1602液晶屏。4.2 單片機軟件模塊設(shè)計一、LCD1602顯示模塊由于LCD1602程序比較復(fù)雜,所以專門創(chuàng)建一個1602的頭文件,將1602的使用程序存放于頭文件中,在主程序中只要聲明了1602頭文件,即可調(diào)用1602子程序。頭文件下包含的子程序有:延時程序、LCD1602初始化程序、寫命令程序和寫數(shù)據(jù)程序。由于只是使用LCD1602進行顯示,所以不需要讀命令數(shù)據(jù)程序。二、中斷程序模塊程序共使用三個中斷:INT0、T0、T1中斷。INT0中斷用于進入或退出調(diào)價模式,打開計費器后進行計費之前,隨時可以利用INT0中斷進行調(diào)價,開始計費之后則關(guān)閉INT0中斷,不能調(diào)價。T0定時中斷形成行車脈沖,模擬汽車行駛,每0.05s產(chǎn)生一次中斷,每20次中斷為1s,每秒行駛10米距離。程序中設(shè)置一個變量flag2用來表示按下的是K4還是K5,按下K5鍵T0中斷中的t1開始計時,模擬汽車行駛,再次按下則暫停計時,即停止行駛;按下K4,T0中的t2開始計時,計算等待的時間。T1中斷用于數(shù)碼管顯示,由于數(shù)碼管是動態(tài)顯示,所以在此較為復(fù)雜的主程序中運行會產(chǎn)生閃爍,將數(shù)碼管顯示程序置于T1中斷程序中,就不會再閃爍。三、其它程序模塊其它程序模塊主要包括數(shù)碼管顯示模塊、數(shù)據(jù)計算模塊、調(diào)價模塊、按鍵掃描模塊等。數(shù)碼管顯示模塊用于顯示總費用,使用四位一體數(shù)碼管顯示,但只用其中后三位,顯示0到99.9。數(shù)據(jù)計算模塊主要計算行車里程、等待時間、等待收費、總收費。調(diào)價模塊用于調(diào)整起價、每公里單價和等待收費單價。按鍵掃描模塊用于檢測用戶按下了哪些功能鍵。4.3 程序框圖本設(shè)計中,軟件設(shè)計采用模塊化操作,利用各個模塊之間的相互聯(lián)系,在設(shè)計中采用主程序調(diào)用子程序的方法,使程序通俗易懂。 在main函數(shù)開始,要對系統(tǒng)初始化,和對硬件設(shè)備進行初始化,并使硬件處于就緒狀態(tài)。通過判斷是否計費,調(diào)價,清零等狀態(tài),來分別調(diào)用不同的子程序,使程序在設(shè)計之前,就有了很強的邏輯關(guān)系。這些對應(yīng)于硬件就是通過按下各個控制開關(guān),來分別進行不同的動作,最后顯示屏根據(jù)輸入的信息,來顯示不同的數(shù)據(jù)信息,這就達到了軟件控制硬件,同時輸入信息控制輸出信息的目的。整個程序的流程圖如下:開始TO、T1、INT0初始化LCD1602初始化LCD默認顯示 是否按下S1鍵 否 否 調(diào)價程序是 是是否按下S4或S5數(shù)碼管、LCD顯示數(shù)據(jù)圖4-1 程序流程圖從圖中可以看出,程序開始就對LCD1602、T0 T1計數(shù)器和INT0進行了初始化,1602顯示器開始顯示計費標(biāo)準(zhǔn),之后判斷是否進行調(diào)整收費標(biāo)準(zhǔn),如需調(diào)整則進入調(diào)整程序進行價格調(diào)整,若不需要調(diào)整則判斷是否開始計費或者計時,若開始則進入數(shù)據(jù)處理程序進行各數(shù)據(jù)計算,計算結(jié)果顯示在LCD1602和數(shù)碼管上,若不開始計價或者計時,則只用LCD1602顯示收費標(biāo)準(zhǔn)。5 PROTEUS仿真5.1 總仿真電路圖使用PROTEUS搭建好電路,下載程序進行仿真。仿真電路包含AT89S51單片機、按鍵控制電路、74HC573鎖存器、四位共陰極數(shù)碼管和LCD1602液晶屏??傠娐啡鐖D5-1所示。圖5-1 仿真電路圖5.2 不調(diào)價仿真先使用默認的價錢進行仿真,即起步價3元,每公里1元,每等待10分鐘0.5元。通過計算,行駛10公里且不等待收費10塊錢,對比仿真結(jié)果圖5-2發(fā)現(xiàn)電路運行正常。圖5-2 仿真一再仿真等待收費。行駛7公里,等待10分鐘,通過計算應(yīng)收費7.5元,對比仿真結(jié)果圖5-3,運行結(jié)果也正確。圖5-3 仿真二5.3 調(diào)價仿真這次先進行調(diào)價,再開始計費,檢查調(diào)價程序是否能夠正常運行。將起步價調(diào)為6元,每公里單價調(diào)為3元,按K5開始行駛計費,行駛10公里,計算得費用為27元,對比仿真結(jié)果圖5-4,結(jié)果相同。圖5-4 仿真三再將起步價調(diào)為5元,每公里單價調(diào)為2元,每10分鐘等待單價調(diào)為1.5元進行仿真,等待10分鐘,顯示計費12.5元,與計算結(jié)果圖5-5相同。圖5-5 仿真四6 心得體會出租車計費器系統(tǒng)的設(shè)計已經(jīng)全部完成,能按預(yù)期的效果進行模擬汽車啟動,停止,暫停等功能,并能夠通過LCD和數(shù)碼管顯示車費數(shù)目。本款出租車計價器包括單價輸出、單價調(diào)整、顯示當(dāng)前總費用等功能。另外,多功能出租車計價器還具有性能可靠、電路簡單、成本低、實用性強等特點,加上經(jīng)過優(yōu)化的程序,使其有很高的智能化水平。 經(jīng)過自己努力,基本上完成了設(shè)計要求的內(nèi)容,在系統(tǒng)可行性分析、原理圖設(shè)計等方面都作了許多實際工作,取得了一些成績,同時也遇到了一些問題,存在一些不足。經(jīng)過這幾天的學(xué)習(xí)和工作,我覺得自己不論是在理論知識方面還是在動手能力方面都有了不小的進步,自己從中受益匪淺。這次設(shè)計很好的把以前學(xué)到的理論知識應(yīng)用于實踐,使我認識到理論知識與實踐之間有一定的差距,只有通過不斷的努力學(xué)習(xí)和實踐才能很好的把理論知識應(yīng)用到實踐當(dāng)中,也只有通過不斷的實踐才能對理論知識的理解。 通過這次設(shè)計不僅學(xué)會了如何去查找相關(guān)資料,更重要的是通過查找資料和翻閱書籍學(xué)到了不少知識,擴大了知識面,提高了知識水平。經(jīng)過單元設(shè)計和系統(tǒng)設(shè)計鞏固了以前所學(xué)的專業(yè)知識,自己真正認識到理論聯(lián)系實際的重要性,為以后的學(xué)習(xí)和工作提供了很多有價值的經(jīng)驗。通過這次設(shè)計不僅增強了自己的動腦能力和動手能力,也提高了我思考問題、分析問題、解決問題的能力,更重要的是學(xué)會用工程化的思想來解決問題。這在以前的學(xué)習(xí)過程中是不曾學(xué)到的。在短短的三個月時間內(nèi)完成設(shè)計內(nèi)容,在很大程度上得益于老師的幫助。這次設(shè)計是我認真認識到完整、嚴謹、科學(xué)分析問題、解決問題的思想是多么的重要,只有擁有了科學(xué)的態(tài)度才能設(shè)計出有用的產(chǎn)品。另外通過本次設(shè)計,使我認識到自己理論知識的應(yīng)用能力有很大的欠缺,需要在以后的學(xué)習(xí)中進一步提高。參考文獻1張毅坤等.單片微型計算機原理及應(yīng)用.西安電子科技大學(xué)出版社2李建忠.單片機原理及應(yīng)用.西安電子科技大學(xué)出版社3張毅剛,彭喜元,彭宇.單片機原理及應(yīng)用.高等教育出版社4康華光.電子技術(shù)基礎(chǔ)數(shù)字部分.高等教育出版社5劉坤,趙紅波,張憲棟.51單片機開發(fā)技術(shù)大全.人民郵電出版社6李廣弟,朱月秀,冷祖祁.單片機基礎(chǔ).北京航空航天大學(xué)出版社附錄1 原件清單名稱規(guī)格數(shù)量電阻10K1個排阻1K1排可變電阻1個極性電容10uF1個非極性電容33pF2個0.1uF2個晶振12MHz1個LCD16021個數(shù)碼管1個芯片AT89S511個74HC5731個附錄2 程序主程序:#include #include 1602.h#define uint unsigned int#define uchar unsigned charuchar table3=3,1,5; /起步價,單價,等待單價uchar table13;uchar code table2=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/09uchar code table3=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;/09帶小數(shù)點uchar SetPlace,SetState=0; /設(shè)置位置,設(shè)置狀態(tài)uchar time1,time2; /用于定時器計時uchar kilometre; /行走里程double min;double waitm=0.0,money=0.0;/等待計費、總計費uchar flag1=0,flag2; /用于K4和K5按鍵狀態(tài)uchar num=0;uint x;uint t1,t2; /t1為T0定時,表示汽車行走了t1秒 /t2為T1定時,表示等待了t2秒sbit K1=P32; /設(shè)置sbit K2=P12; /移動光標(biāo)sbit K3=P13; /循環(huán)增加sbit K4=P10; /打開關(guān)閉等待計時器sbit K5=P11; /打開關(guān)閉計價器sbit LSA=P14; /數(shù)碼管位選sbit LSB=P15;sbit LSC=P16;sbit LSD=P17;void Key(); /按鍵選擇計費或計時void SMG(); /數(shù)碼管顯示void Data(); /計算行走里程、等待收費、總收費void tiaojia(); /按K1 K2 K3調(diào)整收費標(biāo)準(zhǔn)void LcdDisplay(); /1602顯示void delay(uint c); /延時c毫秒void Int0Configuration(); /外部0中斷初始化void T_0Config(); /定時器0中斷初始化void T_1Config(); /定時器1中斷初始化/*主程序*/void main()LCD1602init();T_0Config();T_1Config();Int0Configuration();while(1)if(SetState=1)tiaojia();/按下K1則調(diào)整價格,不按則跳過elseKey();/按鍵選擇計費或計時Data(); /數(shù)據(jù)處理LcdDisplay(); /1602顯示 /*數(shù)碼管顯示程序*/void SMG() /共陰極數(shù)碼管for(num=0;num2)SetPlace=0;while(i50)&(K2=0)/檢測按鍵是否松開delay(10);i+;i=0;if(K3=0)/檢測按鍵K3按下 調(diào)節(jié)價格delay(10);/消除抖動if(K3=0)if(SetPlace9) /換成BCD碼。tableSetPlace=tableSetPlace+6; /轉(zhuǎn)換為BCD碼之后,就相當(dāng)于十進制數(shù)了if(tableSetPlace0x9)&(SetPlace=0)/起步價tableSetPlace=0;if(tableSetPlace0x9)&(SetPlace=1)/單價tableSetPlace=0;elsetableSetPlace=tableSetPlace+5;if(tableSetPlace&0x0f)9) /換成BCD碼。tableSetPlace=tableSetPlace+6; /轉(zhuǎn)換為BCD碼之后,就相當(dāng)于十進制數(shù)了if(tableSetPlace0x99)&(SetPlace=2) /等待單價的10倍tableSetPlace=0;while(i10)&(K3=0) /檢測按鍵是否松開delay(10);i+;i=0;/*數(shù)據(jù)處理計算程序*/void Data() /計算行走里程、等待收費、總收費kilometre=(10*t1)/100;/1000!min=t2/600; /t2/600是等待了多少個10分鐘waitm=min*table2; /不/10,在money處也不*10,正好抵消if(kilometre=20) /1Stime1=0;switch(flag2) /按K5則t1+,按K4則t2+ /原因是兩個程序公用一個定時器case(1):t1+;break;case(2):t2+;break;/*定時器T1及T1中斷*/void T_1Config()TMOD=0x10;TH1=(65535-10000)/256; / 0.05STL1=(65535-10000)%256; /給定時器裝初值,程序啟動之后定時器開始計時EA=1;TR1=1;ET1=1;void T_1() interrupt 3TH1=(65535-10000)/256; / 重裝初值TL1=(65535-10000)%256;SMG(); /數(shù)碼管顯示在中斷中,這樣就不會閃了/*外部中斷0及中斷*/void Int0Configuration() /設(shè)置INT0IT0=1;/跳變沿觸發(fā)方式(下降沿)EX0=1;/打開INT0的中斷允許。EA=1; /打開總中斷void Int0() interrupt 0/如果按下了K3就進入中斷 delay(10);if(K1=0)switch(SetState)case 0:SetState=1;break;case 1:SetState=0;break;SetPlace=0;/*延時程序*/void delay(uint c) /延時c毫秒粗略延時uchar a,b;for(c;c0;c-)for(b=199;b0;b-)for(a=1;a0;a-);LCD1602顯示程序:#ifndef _1602_H_#define _1602_H_#include #ifndef uchar#define uchar unsigned char#endif#ifndef uint#define uint
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 書畫展活動方案
- 員工素質(zhì)提升方案范文(14篇)
- 飯店配菜知識培訓(xùn)課件
- 城市公共交通智能化應(yīng)用示范工程建設(shè)指南解讀及案例分析
- 淺談腹腔鏡手術(shù)在婦科惡性腫瘤中的應(yīng)用課件
- 培訓(xùn)學(xué)校之招生36計
- 環(huán)保行業(yè)環(huán)保產(chǎn)品及政策統(tǒng)計表
- 售樓部裝修合同書
- 合伙人協(xié)議股東協(xié)議
- 高清顯示屏內(nèi)容清晰化調(diào)整
- 廣東省佛山一中、石門中學(xué)2025屆高考語文考前最后一卷預(yù)測卷含解析
- 地質(zhì)災(zāi)害預(yù)防培訓(xùn)課件
- 2025新譯林版英語七年級下單詞默寫表
- 部編版小學(xué)語文三年級下冊第六單元教材解讀及教學(xué)建議
- DB11T 1315-2015 綠色建筑工程驗收規(guī)范
- 《ISO 41001-2018 設(shè)施管理- 管理體系 要求及使用指南》專業(yè)解讀與應(yīng)用指導(dǎo)材料之16:“8運行”(雷澤佳編制-2024)
- 2024智慧城市數(shù)據(jù)分類標(biāo)準(zhǔn)規(guī)范
- Linux系統(tǒng)管理與服務(wù)器配置-基于CentOS 7(第2版) 課件 第1章CentOS Linux 7系統(tǒng)的安裝與介紹
- 新目標(biāo)英語中考一輪教材梳理復(fù)習(xí)教案
- 2022新教材蘇教版科學(xué)5五年級下冊全冊教學(xué)設(shè)計
- 光伏電氣設(shè)備試驗方案
評論
0/150
提交評論