電動(dòng)車速度里程表(付C程序)課程設(shè)計(jì)報(bào)告_第1頁(yè)
電動(dòng)車速度里程表(付C程序)課程設(shè)計(jì)報(bào)告_第2頁(yè)
電動(dòng)車速度里程表(付C程序)課程設(shè)計(jì)報(bào)告_第3頁(yè)
電動(dòng)車速度里程表(付C程序)課程設(shè)計(jì)報(bào)告_第4頁(yè)
電動(dòng)車速度里程表(付C程序)課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、專業(yè)方向模塊綜合設(shè)計(jì)課題:電動(dòng)車速度測(cè)量顯示儀 班 級(jí) 測(cè)控1082 學(xué)生姓名 馬秀梅 學(xué)號(hào) 1081203212 指導(dǎo)教師 張青春 李洪海 淮陰工學(xué)院電子與電氣工程學(xué)院1、 設(shè)計(jì)內(nèi)容及要求1 檢測(cè)并顯示電動(dòng)自行車實(shí)時(shí)速度2 檢測(cè)、顯示并累計(jì)電動(dòng)自行車行駛里程3 技術(shù)參數(shù)a電動(dòng)車最高速度: 50km/hb電動(dòng)車輪胎直徑: 14英寸c電動(dòng)車電池電壓: 24Vd檢測(cè)精度: ±1%e顯示: 8位LED 4 設(shè)計(jì)要求(1) 電路圖(2) 程序清單(3) 運(yùn)行結(jié)果2、 方案設(shè)計(jì)與討論1 速度測(cè)量原理測(cè)量一定時(shí)間間隔T內(nèi)自行車轉(zhuǎn)過(guò)的圈數(shù)Q。假設(shè)車輪的周長(zhǎng)為L(zhǎng),則速度V=Q*L/T2 開(kāi)關(guān)型霍爾傳

2、感器霍爾傳感器是利用霍爾效應(yīng)把磁輸入信號(hào)轉(zhuǎn)換成電信號(hào)的器件。把開(kāi)關(guān)型霍爾傳感器安裝在自行車貼近車輪的支架上,磁鋼安裝在輻條上,當(dāng)磁鋼靠近霍爾傳感器的時(shí)候,傳感器輸出一個(gè)無(wú)抖動(dòng)的低電平,單片機(jī)根據(jù)此信號(hào)可計(jì)算里程、速度等?;魻杺鞲衅鞯膬?yōu)點(diǎn)是穩(wěn)定和安裝簡(jiǎn)易,缺點(diǎn)是成本較高。本設(shè)計(jì)采用開(kāi)關(guān)型霍爾傳感器,但由于實(shí)驗(yàn)室設(shè)計(jì)所限,實(shí)際測(cè)速時(shí)并未采用,而是直接從信號(hào)發(fā)生器中產(chǎn)生低頻脈沖代替霍爾傳感器向單片機(jī)輸入脈沖信號(hào),從而顯示相應(yīng)的速度。3 LED八段數(shù)碼管顯示8位LED顯示。其中低3位顯示速度,要求保留1位小數(shù)。高5位顯示里程,同樣要求保留1位小數(shù)。速度即時(shí)顯示,最大顯示位35.0,里程每走100米計(jì)數(shù)

3、一次,最高顯示9999.9。3、 系統(tǒng)概述及工作原理1 本系統(tǒng)由信號(hào)預(yù)處理電路、單片機(jī)、系統(tǒng)化顯示模塊、串口數(shù)據(jù)存儲(chǔ)電路和系統(tǒng)軟件組成。其中信號(hào)處理電路包含信號(hào)放大、波形變換和波形整形、對(duì)待測(cè)信號(hào)進(jìn)行放大的目的是降低對(duì)待側(cè)信號(hào)的幅度要求;波形變換和波形整形電路則用來(lái)將放大的信號(hào)轉(zhuǎn)換成可與單片機(jī)相連的信號(hào);通過(guò)單片機(jī)的設(shè)置可使內(nèi)部定時(shí)器對(duì)脈沖輸入引腳進(jìn)行控制,這樣能精確地算出加到引腳的單位時(shí)間內(nèi)檢測(cè)到的脈沖數(shù);設(shè)計(jì)中速度顯示采用模塊,通過(guò)速度換算得來(lái)的里程數(shù)采用總線并通過(guò)來(lái)存儲(chǔ),既節(jié)省了所需單片機(jī)的口線和外圍器件,同時(shí)也簡(jiǎn)化了顯示部分的軟件編程。流程圖系統(tǒng)軟件包括單片機(jī)和顯示模塊的初始化模塊、速

4、度里程技術(shù)模塊、速度顯示數(shù)據(jù)轉(zhuǎn)碼模塊、演示模塊、數(shù)據(jù)顯示模塊以及及時(shí)終端服務(wù)模塊等。2 該設(shè)計(jì)能實(shí)時(shí)地將所測(cè)的速度顯示出來(lái),該速度里程表能將傳感器輸入到單片機(jī)的脈沖信號(hào)的頻率實(shí)時(shí)地測(cè)量出來(lái),并由串口晶體管顯示模塊實(shí)時(shí)顯示。單片機(jī)利用系統(tǒng)時(shí)鐘的計(jì)時(shí)中斷功能,并利用定時(shí)器的計(jì)數(shù)脈沖,然后通過(guò)計(jì)算在晶體管上即時(shí)顯示。為了方便計(jì)算要顯示數(shù)據(jù)段碼,可再將其轉(zhuǎn)換成壓縮碼,然后通過(guò)查表將要顯示的數(shù)據(jù)值中每一位的壓縮碼轉(zhuǎn)換成段碼送到顯示緩沖區(qū),最后經(jīng)串口送至晶體管顯示模塊顯示所測(cè)的速度或里程。設(shè)計(jì)時(shí),應(yīng)綜合考慮測(cè)速精度和系統(tǒng)反應(yīng)時(shí)間。本設(shè)計(jì)用測(cè)量脈沖頻率來(lái)計(jì)算速度,因而具有較高的測(cè)速精度。為了保證系統(tǒng)的實(shí)時(shí)性

5、,系統(tǒng)的速度轉(zhuǎn)換模塊和顯示數(shù)據(jù)轉(zhuǎn)碼模塊都采用快速算法。另外,還應(yīng)盡量保證其他子模塊在編程時(shí)的通用性和高效性。本設(shè)計(jì)的速度和里程分別采用位和位數(shù)碼顯示。4、 系統(tǒng)硬件設(shè)計(jì)1 單片機(jī)實(shí)驗(yàn)板C8051F410原理框圖C8051F410單片機(jī)實(shí)驗(yàn)板 原理圖2 霍爾傳感器速度檢測(cè)電路霍爾檢測(cè)電路3 5v降壓電路由于自行車提供的電壓是24V直流電壓,單片機(jī)供電電壓為5v。故需要給電路提供5v的降壓電路。本設(shè)計(jì)采用LM2576S-ADJ集成塊降壓電路:LM2576降壓集成塊5、 系統(tǒng)的軟件設(shè)計(jì)系統(tǒng)軟件框圖如圖所示,本系統(tǒng)軟件采用模塊化設(shè)計(jì)方法。整個(gè)系統(tǒng)由初始化模塊、頻率測(cè)量模塊、速度,里程計(jì)算模塊、數(shù)據(jù)轉(zhuǎn)碼

6、模塊、速度顯示模塊、里程顯示模塊、數(shù)據(jù)存儲(chǔ),讀取模塊、定時(shí)器中斷服務(wù)模塊以及其他功能模塊組成。系統(tǒng)軟件框圖6、 心得體會(huì)本設(shè)計(jì)以8051F410單片機(jī)為核心,通過(guò)霍爾傳感器來(lái)檢測(cè)電動(dòng)車的運(yùn)轉(zhuǎn)情況進(jìn)而實(shí)現(xiàn)電動(dòng)自行車的速度,里程的計(jì)算及里程的累計(jì),存儲(chǔ),最后用8位的LED能直觀的將速度與里程顯示給用戶,并且在速度高于一定的值時(shí)LED可自動(dòng)關(guān)掉,從而達(dá)到智能速度里程表。在此課程設(shè)計(jì)之前,我們都懷著一種好奇而又焦急的心情,急切的想知道做單片機(jī)課程設(shè)計(jì)是多么有意義且有用的。所以我們每個(gè)人都積極主動(dòng)地投入的設(shè)計(jì)之中,在兩個(gè)周的時(shí)間內(nèi)我們要完成的工作看起來(lái)很少,但是老師說(shuō)不容樂(lè)觀。在組長(zhǎng)的帶領(lǐng)下我們認(rèn)真的走

7、好每一步。其間的歡欣與苦楚這里我就不在此敘述了,我們真的都學(xué)到了很多東西,知道了知識(shí)的重要性,為什么高科技才具有價(jià)值,因?yàn)楦冻龅暮芏嗪芏?。我在此首先要感謝張亞華老師,是他在我們一籌莫展的時(shí)候給了我們提醒,致使我們順利地完成了本課程設(shè)計(jì)。同時(shí)感謝設(shè)計(jì)過(guò)程中組員們的相互配合及鼓勵(lì),使我們堅(jiān)決的走下去.7、 參考文獻(xiàn)1單片機(jī)原理及應(yīng)用 夏路易 主編 電子工業(yè)出版社2 C8051F410/1/2/3 混合信號(hào)ISP FLASH微控制器l 網(wǎng)站:8、 附錄1 速度里程表顯示程序 #include "C8051F410.h"void Init_Device(void); void de

8、layms(unsigned char i); void delayus(void);void toch452(unsigned int cmda);void display(void);/顯示函數(shù) void Flash_PageErase (unsigned int addr);/Flash字節(jié)擦除函數(shù)void Flash_ByteWrite (unsigned int addr,char byte);/Flash 字節(jié)寫函數(shù)unsigned char Flash_ByteRead (unsigned int addr);/Flash 字節(jié)讀函數(shù)unsigned char i,dispbuf

9、f8=0,0,0,0,0,0,0,0; /顯示緩沖 全零sbit CH452_SCL = P13;sbit CH452_SDA = P14; sbit CH452_KEY = P15;unsigned int CMD,DAT,DAT1;bit flag,mark;unsigned int n,ss;/定時(shí)器0溢出中斷次數(shù)unsigned long v,mile,count;unsigned char code hex21=0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6, /01234567890xFD,0x61,0xDB,0xF3,0x67,

10、0xB7,0xBF,0xE1,0xFF,0xF7,0x00; /0.1.2.3.4.5.6.7.8.9. main() float SP;Init_Device(); /初始化delayms(100);P1=P1&0x7f;CMD = 0x9103;/設(shè)置CH452系統(tǒng)參數(shù)toch452(CMD);CMD = 0x9500; /設(shè)置CH452顯示參數(shù) toch452(CMD);display();for (i=0;i<8;i+)dispbuffi=20;display();while(1) if (flag=1)flag=0; if(n>38) SP=340.28/n;v=

11、SP*4032;dispbuff2=v/10000;dispbuff1=v%10000/1000+10;dispbuff0=v%1000/100;display(); else for (i=0;i<3;i+) dispbuffi=20; display(); if(mark=1) mark=0; Flash_PageErase (0x1b00);/Flash字節(jié)擦除函數(shù) Flash_ByteWrite (0x1b00,count);/Flash 字節(jié)寫函數(shù) mile=Flash_ByteRead (0x1b00);/Flash 字節(jié)讀函數(shù) dispbuff7=mile/10000;di

12、spbuff6=mile%10000/1000;dispbuff5=mile%1000/100; dispbuff4=mile%100/10+10; dispbuff3=mile%10;display();/* 命令、數(shù)據(jù)送CH452 */void toch452(unsigned int cmda) unsigned char j;CH452_SDA = 0;delayus();CH452_SCL = 0;delayus();CH452_SCL = 1;delayus();CH452_SCL = 0;for (j=0;j<16;j+)if(cmda>=0x8000 ) CH452

13、_SDA = 1;elseCH452_SDA = 0;CH452_SCL = 1;delayus();CH452_SCL = 0;cmda = cmda << 1 ;CH452_SDA = 1;delayus();CH452_SCL = 1;/* mS延時(shí) */void delayms(unsigned char i)unsigned intj;dofor(j=0;j!=1000;j+);while(-i);/* uS延時(shí) */void delayus(void) unsigned k; for (k=0;k<10;k+); / Initialization function

14、 for device,/ Call Init_Device() from your main programvoid Init_Device(void)PCA0MD &= 0x40;/禁止看門狗PCA0MD = 0x00; OSCICN = 0x84;/系統(tǒng)時(shí)鐘內(nèi)部振蕩器8分頻(24.5M)TMOD = 0x02;/工作方式2 TL0 = 0x06;/定時(shí)器初始化 TH0 = 0x06;TR0 = 1;/置1允許定時(shí)器工作 IT0 = 1;/外部中斷0邊沿觸發(fā)CKCON =0x00;/定時(shí)器時(shí)鐘選擇系統(tǒng)時(shí)鐘12分頻 P0SKIP = 0x02;P1MDIN = 0xFE; P1SKI

15、P = 0x01;/對(duì)應(yīng)的P1.n被交叉開(kāi)關(guān)跳過(guò) XBR1 = 0x40;/使能交叉開(kāi)關(guān) IE = 0x83;/允許定時(shí)器INT0中斷void int0() interrupt 0 /外部中斷0處理函數(shù) static unsigned m; m+; if(m=270) m=0; count+; mark=1; if(count>99999) count=0; n=ss;/ss送給全局變量n flag=1; ss=0;void timer0() interrupt 1 /定時(shí)中斷(T0)服務(wù) if(ss<65535) ss+; void display(void)/顯示程序unsig

16、ned char i;DAT1 = 0xA100;for (i=0;i<8;i+) bit EA_SAVE=EA;/保存EA char xdata*data pwrite;/Flash寫指針EA=0;/禁止中斷VDM0CN=0x80;/使能VDD控制RSTSRC=0x02;/VDD監(jiān)控器作為復(fù)位源pwrite=(char xdata*)addr;/指向地址FLKEY=0xA5;/輸入關(guān)鍵字FLKEY=0xF1;/輸入關(guān)鍵字PSCTL|=0x03;/使能擦除與寫入PSWE=1;PSEE=1VDM0CN=0x80;/使能VDD監(jiān)控器RSTSRC=0x02;/VDD監(jiān)控器作為復(fù)位源*pwrit

17、e=0;/頁(yè)擦除PSCTL&=0x03;/禁止擦除EA=EA_SAVE;/恢復(fù)中斷void Flash_ByteWrite (unsigned int addr,char byte)/Flash 字節(jié)寫函數(shù)bit EA_SAVE=EA;/保存EAchar xdata*data pwrite;/Flash寫指針EA=0;/禁止中斷VDM0CN=0x80;/使能VDD監(jiān)控器RSTSRC=0x02;/使能VDD監(jiān)控器作為復(fù)位源pwrite=(char xdata*)addr;FLKEY=0xA5;/寫關(guān)鍵字FLKEY=0xF1;/寫關(guān)鍵字PSCTL|=0x01;/使能寫PSWE=1VDM0CN=0x80;/使能VDD監(jiān)控器RSTSRC=0x02;/使能VDD作為復(fù)位源*pwrite=by

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論