基于單片的出租車計價系統(tǒng) proteus仿真_第1頁
基于單片的出租車計價系統(tǒng) proteus仿真_第2頁
基于單片的出租車計價系統(tǒng) proteus仿真_第3頁
基于單片的出租車計價系統(tǒng) proteus仿真_第4頁
基于單片的出租車計價系統(tǒng) proteus仿真_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、基于51單片機的出租車計價系統(tǒng)設(shè)計 鄭州大學 物理工程學院 測控技術(shù)與儀器1班 杜佰林 20102240103一、課題背景和意義出租車計費器是乘客與司機雙方的交易準則,它是出租車行業(yè)發(fā)展的重要標志,是出租車中最重要的工具。它關(guān)系著交易雙方的利益。具有良好性能的計價器無論是對廣大出租車司機朋友還是乘客來說都是很必要的。因此,汽車計價器的研究也是十分有一個應用價值的。對于模式的切換需要用到機械開關(guān),機械開關(guān)時間久了會造成接觸不良,功能不易實現(xiàn)。為此我們采用了單片機進行設(shè)計,相對來說功能強大,用較少的硬件和適當?shù)能浖嗷ヅ浜峡裳院苋菀椎膶崿F(xiàn)設(shè)計要求,且靈活性強,可以通過軟件編程來完成跟多的附加功能。

2、針對模式的切換,通過軟件編程就可以輕而易舉的實現(xiàn)。避免了機械開關(guān)帶來的不穩(wěn)定因素。隨著生活水平的提高,人們已不再滿足于衣食住的享受,出行的舒適已受到越來越多的關(guān)注。于是,出租車行業(yè)以低價高質(zhì)的服務(wù)給人們帶來了出行的享受。二、 設(shè)計方案1、主控芯片的設(shè)計本設(shè)計以單片機為主控芯片,采用STC89S52單片機。STC89S52是一個低功耗高性能的單片機,具有8kB的閃存、128BRAM、32個I/O口、2個定時/計數(shù)器、六個中斷源、一個全雙工的串行口,可反復擦寫,支持ISP(在系統(tǒng)編程),可以有效地縮短開發(fā)時間和降低開發(fā)成本??紤]到本次設(shè)計要控制的燈、數(shù)碼管會占用較多的I/O口,在今后系統(tǒng)發(fā)展上也多

3、了很大的擴展空間,所以本設(shè)計選用STC89C52作為主控芯片。2、 硬件模塊簡介2.1 AT89S52單片機簡介在本設(shè)計中,用到的是AT89C51的升級版AT89S52。AT89S52是ATMEL公司生產(chǎn)的CMOS八位高性能微控制器,硬件方面,是40腳DIP封裝,其中有32個外部雙向I/O(輸入/輸出)端口,同時內(nèi)含2個16位可編程定時/計數(shù)器和1個全雙工串行通信口,允許六個中斷源進行兩級中斷,自帶片內(nèi)振蕩放大器和時鐘電路,又具有低功耗的閑置和掉電模式;軟件方面,兼容標準MCS-51指令系統(tǒng),不管是通過匯編語言還是C語言都可以對其進行方便的編程。綜上可知,51系列單片機可謂功能強大,可適用于許

4、多控制領(lǐng)域,為嵌入式控制系統(tǒng)提供了靈活高效且廉價的處理方案。而相比我們學習的最為基礎(chǔ)的AT89C51,AT89S52具有性能上的優(yōu)勢。C51只有4kB閃存的只讀存儲器,而S52有8Kb,有更為充足的存儲空間可用于程序設(shè)計。尤為重要的是,S52系統(tǒng)內(nèi)核內(nèi)已經(jīng)固化了 ISP 監(jiān)控程序,支持ISP(在系統(tǒng)編程),這樣就可以有效地縮短開發(fā)時間并降低開發(fā)成本。2.2霍爾元件霍爾元件是一種基于霍爾效應的磁傳感器。用它們可以檢測磁場及其變化,可在各種與磁場有關(guān)的場合中使用。 霍爾元件具有許多優(yōu)點,它們的結(jié)構(gòu)牢固,體積小,重量輕,壽命長,安裝方便,功耗小,頻率高(可達1MHZ),耐震動,不怕灰塵、油污、水汽及

5、鹽霧等的污染或腐蝕。 霍爾線性器件的精度高、線性度好;霍爾開關(guān)器件無觸點、無磨損、輸出波形清晰、無抖動、無回跳、位置重復精度高(可達m 級)。取用了各種補償和保護措施的霍爾器件的工作溫度范圍寬,可達55150。 所謂霍爾效應,是指磁場作用于載流金屬導體、半導體中的載流子時,產(chǎn)生橫向電位差的物理現(xiàn)象。金屬的霍爾效應是1879年被美國物理學家霍爾發(fā)現(xiàn)的。當電流通過金屬箔片時,若在垂直于電流的方向施加磁場,則金屬箔片兩側(cè)面會出現(xiàn)橫向電位差。半導體中的霍爾效應比金屬箔片中更為明顯,而鐵磁金屬在居里溫度以下將呈現(xiàn)極強的霍爾效應。 3 硬件電路設(shè)計3.1總體方案Preteus仿真原理圖如下所示:3.2、各

6、模塊介紹液晶顯示屏與單片機的硬件接口線路本仿真實驗采用八段數(shù)碼管顯示:其中第1、2兩位顯示單價,白天、晚上均為1、5元其中第4、5兩位顯示路程,路程的增量并未采用復雜的直流電機+霍爾元件實現(xiàn),而是通過一個按鍵送脈沖代表路程增量一公里。其中第7、8兩位顯示總價。起步價白天8元、晚上10元(三公里前)。超過三公里,每公里1.5元,白天、夜晚的切換通過按鍵切換。這樣的設(shè)計可以讓乘客每時每刻很清晰的看到任意時刻的單價,公里數(shù)以及總價。(例如:目前單價:1.5元;已行駛路程:6公里;總價:8+1.5*3=13元)3.3鍵盤與單片機的連接圖當乘客上車之后按下開始鍵,方可開始計價?!昂诎邹D(zhuǎn)換”按鍵用于調(diào)節(jié)白

7、天晚上的不同起步價“等待按鍵”設(shè)計成可閉合形式,在出租車正常行駛時,等待按鈕打開。當應乘客要求需等車等待時按下該按鍵,每隔一段時間總價顯示上增加一定金額,但是路程數(shù)并不改變。再次行走時打開此按鍵?!扒辶惆存I”用于上一乘客下車時,需將其數(shù)據(jù)清零結(jié)算,以備下一乘客再次計數(shù)。3.4時鐘及復位電路3.5 AT24C512B設(shè)計的掉電保護裝置AT24C512采用I2C總線與單片機相連,主要作用在于當單片機遇到不可抗力導致停止運行時,該芯片可將當時及之前的數(shù)據(jù)保護起來,以便乘客查詢。芯片內(nèi)的資料可以在斷電的情況下保存40年以上,而且采用8 腳的DIP 封裝,使用方便。3.6、路程增量電路由于霍爾元件及車輪

8、的仿真不易實現(xiàn),故在本實驗中采用路程增量電路代替,沒按一次按鍵送一個脈沖,代表行走路程增加一公里。三、仿真效果經(jīng)過不斷的調(diào)試,仿真效果可以完全實現(xiàn)以上功能三、心得體會非常感謝呂老師能給我們這樣一個用所學知識實踐、探索的機會,相對于枯燥的課本內(nèi)容,我認為這樣全新的教學方式更加深刻、有意義。雖然在實驗設(shè)計中遇到了很多問題,比如應用I2C時的時序問題等,但幸好還有老師以及互聯(lián)網(wǎng)的幫助,實驗才得以完成。在學習的過程中,才深知自己知識的淺薄,相信本次實驗的完成并不是結(jié)束,而僅僅是一次開端,真正的單片機學習之路還很漫長,希望老師能多批評指正。三、附實驗源程序#include<reg51.h>#

9、include<intrins.h>#define uchar unsigned char#define uint unsigned int#define Delay4us() _nop_();_nop_();_nop_();_nop_();unsigned char Tempduan8; /存儲顯示值的全局變量sbit KEY_ADD=P34; sbit heibai=P11;sbit qingling=P13;sbit dengdai=P12; sbit SDA=P31;sbit SCL=P30;/定義按鍵輸入端口uchar code duanma=0x3f,0x06,0x5b

10、,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/段碼表uchar code weima=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/位碼表void xianshi();/函數(shù)聲明 void Write_Random_Adress_Byte(uchar addr,uchar dat);void DelayMS(uint x) /延時uchar t;while(x-) for(t=0;t<120;t+);/主程序void main()uchar dd,k,qibu=8;unsigned int gl;unsigned int z

11、j;while(1) if(!heibai) /如果檢測到低電平,說明按鍵按下 xianshi(); /延時去抖,一般10-20ms if(!heibai) /再次確認按鍵是否按下,沒有按下則退出 while(!heibai)xianshi();/如果確認按下按鍵等待按鍵釋放,沒有釋放則一直等待 qibu=10; if(!qingling) /如果檢測到低電平,說明按鍵按下 xianshi();/延時去抖,一般10-20ms if(!qingling) /再次確認按鍵是否按下,沒有按下則退出 while(!qingling)xianshi();/如果確認按下按鍵等待按鍵釋放,沒有釋放則一直等待

12、 gl=0; zj=0; DelayMS(3); if(!KEY_ADD) /如果檢測到低電平,說明按鍵按下 xianshi();/延時去抖,一般10-20ms if(!KEY_ADD) /再次確認按鍵是否按下,沒有按下則退出 while(!KEY_ADD)xianshi();/如果確認按下按鍵等待按鍵釋放,沒有釋放則一直等待 gl+;/加操作 if(gl<3) zj=qibu; if(gl>3)zj=qibu+1.5*(gl-3)+dd; if (dengdai=0)xianshi(); k+; xianshi(); if(k=100) dd=dd+1.5;/加操作 xiansh

13、i(); if(gl<3) zj=qibu; if(gl>3) zj=qibu+1.5*(gl-3)+dd; /發(fā)送段碼 Tempduan0=duanma1|0x86; /發(fā)送單價Tempduan1=duanma5;Tempduan3=duanmagl/10;/發(fā)送公里數(shù)Tempduan4=duanmagl%10;Tempduan6=duanmazj/10;/發(fā)送總價格Tempduan7=duanmazj%10; xianshi();Write_Random_Adress_Byte(0x00,zj); void xianshi() int i; i+; if(i=8) /檢測8位掃

14、描完全結(jié)束?如掃描完成則從第一個開始再次掃描8位 i=0; P2=weimai; /發(fā)送位碼P0=Tempduani;DelayMS(2);/IIC啟動void Start()SDA=1;SCL=1;Delay4us();SDA=0;Delay4us();SCL=0;/IIC停止void Stop()SDA=0;SCL=0;Delay4us();SCL=1;Delay4us();SDA=1; /讀取應答void RACK()SDA=1;Delay4us();SCL=1;Delay4us();SCL=0;/發(fā)送非應答信號void NO_ACK()SDA=1;SCL=1;Delay4us();SC

15、L=0;SDA=0;/向24C04中寫一個字節(jié)數(shù)據(jù)void Write_A_Byte(uchar byte)uchar i;for(i=0;i<8;i+)byte<<=1;SDA=CY;_nop_();SCL=1;Delay4us();SCL=0;RACK();/向指定地址寫數(shù)據(jù)void Write_Random_Adress_Byte(uchar addr,uchar dat)Start();Write_A_Byte(0xa0);Write_A_Byte(addr);Write_A_Byte(dat);Stop();DelayMS(10);/從24C04中讀一個字節(jié)數(shù)據(jù)uchar Read_A_Byte()uchar i,b;for(i=0;i<8;i+) SCL=1;b<<=1;b|=SDA;SCL=0;return b;/從當前地址讀取數(shù)據(jù)u

溫馨提示

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

評論

0/150

提交評論