畢業(yè)設計:出租車計價器設計與實現(LED燈)_第1頁
畢業(yè)設計:出租車計價器設計與實現(LED燈)_第2頁
畢業(yè)設計:出租車計價器設計與實現(LED燈)_第3頁
畢業(yè)設計:出租車計價器設計與實現(LED燈)_第4頁
畢業(yè)設計:出租車計價器設計與實現(LED燈)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、河北科技師范學院歐美學院題 目:出租車計價器學院(系):機電科學與工程系年級專業(yè):電氣工程及其自動化1003 班學 號: 9310100330學生姓名:霍亮同組學生:孫云龍尹浩指導教師:劉佳劉士光摘要現在各大中城市出租車行業(yè)都已普及自動計價器,所以計價器技術的發(fā)展已成定局, 預計未來計價器市場很有前景。計價器作為出租車的一個重要組成部分,關系著出租車司機和乘客雙方利益,起著重要的作用,因此, 具有良好性能的計價器對廣大出租車司機朋友和乘客來說是很必要的。但是現階段出租車的計費系統(tǒng)功能有時候并不能滿足出租車司機的意愿。大規(guī)模集成電路的發(fā)展又產生了新一代計價器,也就是全電子化的計價器。它的功能也在

2、不斷完善.當單片機出現并應用于計價器后,現代出租車計價器的模型也就基本具備了,它可以完成計程,計價,顯示等基本工作。單片機以及外圍芯片的不斷發(fā)展促進了計價器的發(fā)展。隨著單片機性能不斷提高而價格卻不斷下降, 單片機控制得到更廣泛的應用,外圍芯片的不斷發(fā)展,使得計價器的功能更加強大,性能更加穩(wěn)定。隨著電子技術的發(fā)展以及對計價器的不斷改進和完善,便產生了諸多的附加功能。例如:(1)LCD 顯示功能,液晶屏的使用讓計價器實現多屏顯示的功能,可同時顯示各項營運數據,使乘客一目了然;(2)永久時鐘功能,在非營運狀態(tài)下,日歷時鐘芯片的使用使計價器可以顯示永久時鐘;(3)存儲功能,可存儲多項營運數據,便于查詢

3、。新型數據存儲器的應用使得計價器的營運數據在掉電情況下還可以保存10 年。關鍵詞: 單片機AT89S52;數碼管;出租車計價器;AT24C0231摘要1緒論21、 本課題的研究目的及意義32、 出租車計價器的主要設計參數42.1、 計費功能42.2、 顯示功能42.3、 按鍵提供脈沖代替出租車行駛路程43、 設計方案54、 電路組成64.1、 52單片機最小系統(tǒng)64.2、 存儲電路64.3、 LED 顯示電路 74.4、 按鍵控制電路 74.5、 總原理圖75、功能說明95.1、中途等待服務程序96、結論與心得10緒論出租車計價器是出租車營運收費的專用智能化儀表,隨著電子技術的發(fā)展,出租車計價

4、器技術也在不斷進步和提高。國內出租車計價器已經經歷了4 個發(fā)展階段。從傳統(tǒng)的全部由機械元器件組成的機械式,到半電子式即用電子線路代替部分機械元器件的出租車計價器;再從集成電路式到目前的單片機系統(tǒng)設計的出租車計價器。出租車計價器計費是否準確才是乘客最關心的問題,而計價器營運數據的管理是否方便才是出租車司機最關注的。因此怎樣設計出一種既能準確計價又能方便司機的計價器尤為重要。因此 , 本文以單片機AT89S52為核心設計一款多功能出租車計價器,該計價器能實現按時間和里程綜合計算車價,能顯示時間、 里程、 單價、 總車價等相關信息顯示。它比市場上的一些計價器使用更方便,功能更全,還具有系統(tǒng)穩(wěn)定性好的

5、優(yōu)點。1、 本課題的研究目的及意義隨著我國經濟的迅速發(fā)展,人民生活水平的顯著提高,城市的交通日趨完善,出租車計價器的應用也越來越廣泛。雖然私家車的擁有量在大幅度地提高,但是出租車還是在我國的交通運輸中承擔著重要的角色,出租車計價器是出租車上必不可少的重要儀器,它是負責出租車營運收費的專用智能化儀表。用戶不僅要求計價器性能穩(wěn)定、計價準確而且對它的要求也越來越高。近年來, 我國出租車行業(yè)迅猛發(fā)展,出租車已經成為我國城市公共交通的重要組成部分和現代化城市必備的基礎設施,成為人們工作、生活中不可缺少的交通工具。 出租車服務行業(yè)和出租車計價器緊密相關,因為出租車必須安裝出租車計價器才能投入營運。出租車計

6、價器是一種能根據乘客乘坐出租車行駛距離和等候時間的多少進行計價,并直接顯示車費值的計量器具。計價器是出租車的經營者和乘坐出租車的消費者之間用于公平貿易結算的工具,因而計價器計價準確與否,直接關系到經營者和消費者的經濟利益。依據國家有關法律、法規(guī),出租車計價器是列入國家首批強制檢定的工作計量器具之一,也是近年來國家質量技術監(jiān)督部門強化管理的六類重點計量器具之一。出租車計價器是乘客與司機雙方的交易準則,它是出租車行業(yè)發(fā)展的重要標志, 是出租車中最重要的工具。它關系著交易雙方的利益。具有良好性能的計價器無論是對廣大出租車司機朋友還是乘客來說都是很必要的。因此, 出租車計價器的研究也是十分有應用價值的

7、。2、 出租車計價器的主要設計參數本課題對出租車計價器的設計要求如下:設計一個出租車自動計價器,計價包括起步價、行車里程計費、等待時間計費三部分,用數碼管顯示總金額,行駛公里數,起步價為6.0元, 3km 之內起步價計費,超過3km, 每增加 1km 增加 4.2元,等待時間單價為超過等待時間10秒鐘 1 元。并且可以重新設置白天、晚上和等待時間的單價。2.1、 計費功能費用的計算是按行駛里程收費。本設計可以手動調起步價格、行車里程計費單價(白天和晚上)、等待時間單價。( 1)當里程 <3km 時,按起步價計算費用( 2)當里程>3km 時,白天按4.2 元 /km 計費加起步價。

8、晚上按2.4 元 /km計費加起步價。( 3)等待累計時間>10s時,按 1 元 /min 計費2.2、 顯示功能當電路電源接通后,LED 數碼管全部點亮。前面4 位數碼管顯示總價(起步價) ,中間 2 位顯示里程,最后兩位顯示當前單價。2.3、 按鍵提供脈沖代替出租車行駛路程本課題是出租車計價器系統(tǒng)的設計。重點是設計出租車計價器的實用性,并盡量使最后的成品接近于商品。整個系統(tǒng)是以89S52單片機為中心,采用按鍵脈沖對輪胎轉數進行計數,實現對出租車里程的測量,并最終計算出結果。3、 設計方案坐過出租車的人都知道,只要汽車一啟動,隨著行駛里程的增加,就會看到出租車前面的計價器里程數字顯示的

9、讀數從零逐漸增大,而當行駛到某一值(如4km)計費數字顯示開始從起步價(如8 元)增加。當出租車到達某地需要在那里等候時,司機只要按一下“計時”鍵,每等候一定的時間(如 10 分鐘) ,計費顯示就增加一個該收的等候費用(如每10 分鐘收取1.50 元) 。出租車繼續(xù)行駛時,停止計算等候費用,繼續(xù)增加里程計費。到達目的地,便可按顯示的數字收費。然后關閉計費器,對計數器清零,等待下次計費開始。通過考慮,計費系統(tǒng)最終是安裝在計程車上的,電源一般不是220V 交流電壓,而是有電瓶輸出的直流電壓,因此采用輸入一個610V 的直流電壓,再穩(wěn)壓得到 5V 電壓。采用單片機技術,通過單片機作為主控器,利用數碼

10、管作為顯示電路,采用外部晶振作為時鐘脈沖,通過按鍵可以方便調節(jié)。以下是系統(tǒng)流程圖,如圖2.3所示:4、 電路組成本設計由52 單片機最小系統(tǒng)、存儲電路、按鍵控制電路、LED顯示電路及脈沖計數等幾部分組成。4.1、 52單片機最小系統(tǒng)單片機最小系統(tǒng)包括單片機、晶振電路、復位電路等組成。4.2、 存儲電路無論是智能儀器儀表還是單片機工業(yè)控制系統(tǒng)都要求其數據能夠安全可靠而不受干擾,特別是一些重要的設定參數(如溫度控制設定值)受到干擾后變成一個很大的數字,那么就有可能發(fā)生燒箱毀物的破壞性后果,給生產和經濟帶來損失,因此必須選用可靠的24C02 器件作為數據儲存單元。4.3、 LED 顯示電路由于發(fā)光二

11、極管基本上屬于電流敏感器件,其正向壓降的分散性很大,并且還與溫度有關,為了保證數碼管具有良好的亮度均勻度,就需要使其具有恒定的工作電流,且不能受溫度及其它因素的影響。另外, 當溫度變化時驅動芯片還要能夠自動調節(jié)輸出電流的大小以實現色差平衡溫度補償。而本設計出租車計費器,基本上只需要顯示價錢與路程,利用數碼管足夠實現功能。4.4、 按鍵控制電路SB1返回鍵, SB2上調鍵, SB3下調鍵, SB4設置鍵, SB5脈沖觸發(fā)鍵4.5、總原理圖5、功能說明當電路電源接通后,LED 數碼管全部點亮。前面4 位數碼管顯示總價(起步價) ,中間 2 位顯示里程,最后兩位顯示當前單價。圖中使用“計數”按鍵代替

12、了霍爾傳感器,按鍵每按下一次,就會產生一個“模擬”脈沖,每 5 個脈沖為1 公里。電源剛接通時前4 位數碼管顯示當前的起步價,前3 公里價格不變,從第 4 公里開始,每公里增加一次單價。若在10 秒鐘內,系統(tǒng)沒有接收到脈沖信號,等待系統(tǒng)就會自行啟動,每10 秒增加一次等待單價。所有價格都可以自行設定。按鍵 SB1 為計價器清零鍵,即每按下一次,計價器前4 位恢復為起步價,中間 2 位恢復為00,單價不變。SB4 鍵為設置鍵,按下后第3 位數碼管顯示1,進入白天單價調整;再次按下第3 位數碼管顯示2,為夜間單價;第3 次按下為等待單價;第4 次為起步價,4 種價格全部在最后2 位數碼管上顯示出來

13、。設置完成后,再次按下SB4 鍵,恢復到計價狀態(tài)。SB2 鍵為上調鍵,另一個功能是在計價狀態(tài)時按下后,可切換白天、夜晚單價。 SB3 鍵為下調鍵。5.1、中途等待服務程序片內的定時器便被啟動,每當計時到達一定時間,就對當前金額加上中途等待的單價,以后每10 秒都自動加上中途等待的單價。當中途等待結束的時候,就自動切換到正常的計價。6、結論與心得經過這一個星期來不懈的努力與奮斗,我終于在老師的指導下完成了我的課程設計, 雖然它還有諸多需要完善的地方,但是拿著這件設計,我仍然有止不住的興奮。高興之余,我仍需深思:這件作品雖能初步解決出租車計算價錢的問題,但它仍有它的局限性,首先它不能自動調整黑天和

14、白夜的單價轉換,這個功能我需要以后的設計中努力完善, 另外, 如果配上語音效果那就更方便了司機和乘客,更加顯示人性化和快捷化。通過這次設計,我最大的收獲就是自己的動手能力和獨立解決問題的能力得到了很大的提高。雖然遇到了不少困難,但當我通過查資料和翻閱書籍的同時也學到了不少的知識,擴大了知識面,提高了知識水平經過單元設計和系統(tǒng)設計鞏固了以前所學的專業(yè)知識,從方案形成到準備電路圖,到軟件設計,到聯機調試 , 每一個小小的步驟,我都得到了很好的鍛煉。我學會了怎樣有效的收集整合資料; 我學會了怎樣細心地檢查電路;我學會了怎樣虛心地尋求幫助;我學會了我也明白了,很多書本上的東西光靠趴在書本上學是學不到其

15、中的精髓的,我們必須親自去試著實踐了,親自去經歷失敗了才能對它們真正的掌握。理論必須聯系實際, 而實踐試檢驗真理的唯一標準,我真正的懂得了這句話的真諦。在我以后的工作和生活中,我從此可以汲取很多經驗,凡事都要自己去動下手,去實踐一下,遇到困難,要有耐心,有信心,有細心,有恒心,有虛心,只有這樣,我才會在逆境中不斷前進。以后在學習與生活中我會更加的去努力,好好的去實現自己,理論與實際相互聯系的分重要的,經過這次的課程設計,我學到了很多,對以后工作有很多幫助,這只是一個開始,以后會更加努力去做的更好。附錄:#include<reg51.h>#include <intrins.h&

16、gt; #define uchar unsigned char#define uint unsigned int#define delayNOP(); _nop_();_nop_();_nop_();_nop_();_nop_();uchar code table=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;/0sbit exter=P33;sbit key0=P20;sbit key1=P21;sbit key2=P22;sbit key3=P23;sbit p30=P30;sbit p31=P31;sbit p32=P32;12345

17、6789/ 外部中斷/ 清零/ 切換 /+/ -/ 功能鍵/ 數碼管各位控制sbit p300=P27;/ 改進程序四位數碼管顯示sbit p34=P34;sbit p35=P35;sbit p36=P36;sbit p37=P37;sbit SDA=P13;/ IIC 引腳,將P1.4口模擬數據口sbit SCL=P14;/ IIC 引腳,將P1.3口模擬時鐘口uint inter,aa,bb,temp,temp1;uint zongjia,licheng,dengdai;uint key3num,qiehuantemp,delaytemp;uchar danjia1,danjia2,dan

18、jia3,danjia,qibu;/ 延時時基為1ms/ void delay(uint x) int i,j;for(i=x;i>0;i-) for(j=340;j>0;j-); / 延時函數/2402 操作函數/void start()/ IIC 開始位 SDA = 1;SCL = 1;delayNOP();SDA = 0;delayNOP();SCL = 0;void stop()/ IIC 停止位 SDA = 0;delayNOP();SCL = 1;delayNOP();SDA = 1;void respons()/ IIC 應答位 uchar i;SCL=1;delay

19、NOP();while(SDA=1)&&(i<250) i+;SCL=0;delayNOP(); uchar read_byte()/ 從 EEPROM 讀到 MCU uchar i,j;for(i=0;i<8;i+) SCL=1;j<<=1;/ j 左移一位j|=SDA;SCL=0; return(j); void write_byte(uchar date)/ 從 MCU 寫到 EEPROMuchar i,temp;temp=date;for(i=0;i<8;i+)temp=temp<<1;/ temp 等于將 temp 左移一位的

20、值SCL=0;delayNOP();SDA=CY;delayNOP();SCL=1;delayNOP();SCL=0;delayNOP();SDA=1;delayNOP();void write_data(uchar addr, uchar date) / 在指定地址addr 處寫入數據datestart();write_byte(0xa0);respons();write_byte(addr);respons();write_byte(date);respons();stop();uchar read_data(uchar addr)/ 在指定地址addr 讀取數據uchar date;st

21、art();write_byte(0xa0);respons();write_byte(addr);respons();start();write_byte(0xa1);respons();date=read_byte();stop();return date;/24C02 操作函數/ 價格顯示void display(uint zongjia0,uint licheng0,uint danjia0)uint jqian,jbai,jshi,jge,lshi,lge,dshi,dge;/ 加入千位uint numwei,numshu;/ 數碼管位置分配jqian=(zongjia0/100)/

22、10%10;jbai=(zongjia0/100)%10;/ 數碼管顯示總價百位jshi=zongjia0%100/10;/ 數碼管顯示總價十位jge=zongjia0%100%10;lshi=licheng0/10;lge=licheng0%10;dshi=danjia0/10;/ 數碼管顯示總價個位 / 數碼管顯示里程十位 / 數碼管顯示里程個位 / 數碼管顯示單價十位dge=danjia0%10;/ 數碼管顯示單價個位if(aa)/ 7 個數碼管掃描完畢aa=0; numshu+; if(numshu=8) numshu=0;P3=0xff;/ 數碼管全滅p300=1;switch(nu

23、mwei) case 1:p30=0;P0=tablejbai;break;case 2:p31=0;P0=tablejshi|0x80;break; /.case 3:p32=0;P0=tablejge;break;case 4:p34=0;P0=tablelshi;break;case 5:p35=0;P0=tablelge;break;case 6:p36=0;P0=tabledshi|0x80;break;/.case 7:p37=0;P0=tabledge;break;case 0:p300=0;P0=tablejqian;break;numwei+;if(numwei=8) num

24、wei=0;/void keyscan()if(key3=0)delay(5);if(key3=0)/ 判斷功能調節(jié)鍵是否按下/ 延時 5 秒消抖 如果功能調節(jié)鍵按下key1 是否按下/延時 5 秒消抖/如果 key1 按下/單價加 1/加到 100/給單價賦0/鍵彈起/延時 5 秒消抖/鍵彈起是否按下key3num=1;while(!key3);delay(5);while(!key3);while(key3num)if(key3num=1)if(key1=0)if(key2=0)/ 功能鍵按下/ 鍵彈起/ 延時 5 秒delay(5);if(key1=0)/ key3danjia1+;1次

25、按1/if(danjia1=100)danjia1=0;while(!key1);delay(5);while(!key1);/ 判斷次調判斷key2delay(5);/ 延時 5 秒消抖/ 如果 key2 按下/ 單價減 1/ 單價減到-1/ 令單價等于99/ 鍵彈起/ 延時 5 秒消抖/ 鍵彈起display(1,0,danjia1);if(key3num=2)write_data(1,danjia1);if(key1=0)delay(5);if(key1=0)danjia2+;if(danjia2=100)danjia2=0;while(!key1);delay(5);while(!ke

26、y1);if(key2=0)delay(5);if(key2=0)danjia2-;if(danjia2=-1)danjia2=99;if(key2=0)danjia1-;if(danjia1=-1)danjia1=99;while(!key2);delay(5);while(!key2);/ 數碼管顯示單價/ key3 按 2次調夜晚單價/ 存單價 1/ key3 按 3 次調等待單價/ 存單價 2/ key3 按 4 次調起步價/ 存單價 3while(!key2);delay(5);while(!key2);display(2,0,danjia2);if(key3num=3)write_

27、data(2,danjia2); if(key1=0) delay(5);if(key1=0)danjia3+;if(danjia3=100)danjia3=0;while(!key1);delay(5);while(!key1);if(key2=0)delay(5);if(key2=0)danjia3-;if(danjia3=-1)danjia3=99;while(!key2);delay(5);while(!key2);display(3,0,danjia3);if(key3num=4)write_data(3,danjia3); if(key1=0)delay(5);if(key1=0)

28、qibu+;if(qibu=100)qibu=0;while(!key1);delay(5);while(!key1);if(key2=0)delay(5);if(key2=0)qibu-;if(qibu=-1)qibu=99;while(!key2);delay(5);while(!key2);display(4,0,qibu);/ key3 按 5 次退出功能鍵/ 存單價 4if(key3num=5)write_data(4,qibu);key3num=0;if(key3=0)delay(5);if(key3=0)key3num+;/ 鍵彈起/ 延時/鍵彈起while(!key3);delay(5);while(!key3);void init() SDA=1;SCL=1;zongjia=0;licheng=0;dengdai=0;/danjia1=read_data(1);danjia2=read_data(2);danjia3=read_data(3);qibu=read_data(4);/aa=0;bb=0;inter=0;EA=1;EX1=1;IT1=1;TMOD=0x01;TH0=(65536-1000)/256;TL0=(65536-1000)%256; /1ms ET0=1;TR0=1;/ 白天單價/ 夜晚單價/ 等待單價/ 起步價/ 數碼管

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論