超聲波測距應(yīng)用——倒車?yán)走_(dá)設(shè)計_第1頁
超聲波測距應(yīng)用——倒車?yán)走_(dá)設(shè)計_第2頁
超聲波測距應(yīng)用——倒車?yán)走_(dá)設(shè)計_第3頁
超聲波測距應(yīng)用——倒車?yán)走_(dá)設(shè)計_第4頁
超聲波測距應(yīng)用——倒車?yán)走_(dá)設(shè)計_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、騰飛科技文化項目課題報告表課題名稱 基于單片機(jī)的倒車?yán)走_(dá)系統(tǒng)設(shè)計 課題類別 _ 單片機(jī)類 _ 負(fù) 責(zé) 人 默念(614) 學(xué) 號 指導(dǎo)老師 陳老師 所在學(xué)校 湖南鐵道職業(yè)技術(shù)學(xué)院 聯(lián)系電話 結(jié)題日期 2012、10、12 單片機(jī)的倒車?yán)走_(dá)系統(tǒng)設(shè)計*湖南鐵道職業(yè)技術(shù)學(xué)院自動化專業(yè)*指導(dǎo)教師 陳新喜摘 要:單片機(jī)的出現(xiàn)是計算機(jī)制造技術(shù)高速發(fā)展的產(chǎn)物,它是嵌入式控制系統(tǒng)的核心,如今,它已廣泛的應(yīng)用到我們生活的各個領(lǐng)域,電子、科技、通信、汽車、工業(yè)等。本設(shè)計是基于單片機(jī)的倒車?yán)走_(dá)系統(tǒng)設(shè)計,該系統(tǒng)由超聲波傳感器、控制器和顯示器等部分組成。能以直觀的顯示告知駕駛員周圍障礙物的情況,提高駕駛的安全性。關(guān)鍵詞

2、:倒車?yán)走_(dá)系統(tǒng) 單片機(jī) 提高駕駛安全和樂趣一、 引 言倒車?yán)走_(dá),是汽車泊車或者倒車時的安全輔助裝置,由超聲波傳感器、控制器和顯示器等部分組成。能以聲音或直觀的顯示告知駕駛員周圍障礙物的情況,解除了駕駛員泊車、倒車和起動車輛時前后左右探視所引起的困擾,并幫助駕駛員掃除了視野死角和視線模糊的缺陷,提高駕駛的安全性。二、總體設(shè)計根據(jù)功能和指標(biāo)要求,本系統(tǒng)選用STC89C52單片機(jī)為主控機(jī)。通過擴(kuò)展必要的外圍接口電路,實現(xiàn)對計算器的設(shè)計。具體設(shè)計如下:2.1 由于設(shè)計的是倒車?yán)走_(dá),需要用超聲波測距模塊做為傳感器,用單片機(jī)來控制,數(shù)碼管來顯示??紤]到精度問題,選用三位數(shù)碼管。2.2 本設(shè)計制作的只是一個

3、模型,故在實際應(yīng)用中可能有些不足,比如本設(shè)計中測距精度1mm,量程999mm,即只有將近4米的距離,顯然在實際應(yīng)用中不能只有這么遠(yuǎn),但只需將超聲波測距模塊更換為功率稍大的型號就可以了。2.3 執(zhí)行過程:開機(jī)即顯示車后保險杠與障礙物距離,若距離大于量程則數(shù)碼管顯示為000,若在量程之內(nèi)則實時顯示距離。2.4 預(yù)警功能:若距離過小比如200mm則紅燈亮,警示障礙物與車后部距離過小,不可再倒車,否則會有安全事故。2.5 系統(tǒng)模塊圖:傳感器(超聲波模塊)報警器(喇叭)控制核心(單片機(jī))顯示器(1062液晶) 圖 1 系統(tǒng)方案圖三、硬件詳細(xì)設(shè)計3.1單片機(jī)型號的選擇:單片機(jī)選擇的是STC89C52單片機(jī)

4、,它是一種低功效、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。在單芯片上擁有靈巧的8位CPU和在線系統(tǒng)可編程Flash,具有以下標(biāo)準(zhǔn)功能:8K字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器串口、中斷繼續(xù)工作。掉電保護(hù)方式下RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。而且,它還具有一個看門狗(WDT)定時/計數(shù)器。如果程序沒有正常工作,就會強(qiáng)制整個系統(tǒng)復(fù)位,還可以在程

5、序陷入死循環(huán)的時候,讓單片機(jī)復(fù)位而不用整個系統(tǒng)斷電,從而保護(hù)你的硬件電路。STC89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中端口,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。(1)Vcc:供電電壓。(2)GND:接地。(3)P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門流。當(dāng)P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地

6、址的第八位。在Flash編程時,P0口作為原碼輸入口,當(dāng)Flash進(jìn)行校驗時,P0輸出原碼,此時P0外部必須被拉高。圖 2 單片機(jī)引腳圖(4)P1口:P1口是一個內(nèi)部提供的上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故,。在Flash編程和校驗時,P1作為第八位地址接收。(5)P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低

7、,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在Flash編程和校驗時接收高八位地址信號和控制信號。(6)P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89S52的一些特殊功能口,如下表所示:P3口功能引腳簡介P

8、3口引腳第二功能P3.0 RXD(串行口輸入)P3.1 TXD(串行口輸出)P3.2 INT0(外部中斷0輸入)P3.3 INT1(外部中斷1輸入)P3.4 T0(定時器0外部脈沖輸入)P3.5 T1(定時器1外部脈沖輸入)P3.6 WR(外部數(shù)據(jù)存儲器寫脈沖輸出)P3.7 RD(外部數(shù)據(jù)存儲器讀脈沖輸出)(7)RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。(8)ALE/RPOG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平由于鎖存地址的地位字節(jié)。在Flash編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/

9、6.因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳出一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0.此時,ALE只有在執(zhí)行MOVX,MOVC指令時ALE才起作用。另外該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。(9)/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。(10)/EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,

10、/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在Flash編程期間,此引腳也用于施加12V編程電源(VPP)。(11)XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。(12)XTAL2:來自反向振蕩器的輸出。3.2 超聲波模塊插座電路圖3.3報警電路報警器 電源接口及電源指示燈3.4復(fù)位電路復(fù)位電路采用了單片機(jī)的復(fù)位端,采用按鈕電平復(fù)位電路,這樣設(shè)計可以簡化軟件的量,使程序更加簡潔化。3.5總電路圖4.2軟件設(shè)計源代碼#include <REG52.h>#define uchar unsigned char#define uint unsign

11、ed int void send_byte(unsigned char );void time_init();void DisplayLength(unsigned long );void delay(uchar );void write_dat(uchar );void write_com(uchar );void init();sbit SPK=P20; /定義喇叭端口sbit led0 = P10; /接收指示燈sbit led1 = P11; /發(fā)送指示燈sbit RS=P21;sbit RW=P22;sbit EN=P23;uchar frq; uchar dispbuf4=&quo

12、t;" /顯示緩沖區(qū)uchar idata revbuf2; /收緩接沖區(qū)unsigned long Length = 0;uchar table="- 0000 -"uchar num="" ;void rev_data(void) interrupt 4 /數(shù)據(jù)接受 uchar temp ,k; ES = 0; / 關(guān)中斷 if(RI) RI = 0; / 清接收標(biāo)志 temp = SBUF; revbufk = temp; k+; if(k = 2) / k = 數(shù)據(jù)長度 k = 0; led0 = led0; ES = 1; /開中vo

13、id send_byte(unsigned char dat)/向串口發(fā)送一個字符 TI = 0; / 清發(fā)送標(biāo)志 SBUF = dat; /如果TI為0等待 led1 = 0; while (!TI); / wait until sent led1 = 1;void time_init() TH1 = 0xFD; TL1 = 0xFD; /設(shè)置T1波特率9600 TMOD = 0x21; /設(shè)置定時器1為模式2;定時器0為模式1 TH0 =(65536-2500)/256; /約2.50MS定時器初值 TL0 =(65536-2500)%256; /約2.50MS定時器初值 ET0 = 1;

14、 /T0允許位 TR0 = 1; /啟動定時器 TR1 = 1; /啟動定時器 SM0 = 0; /串口通信模式設(shè)置 方式一 SM1 = 1; REN = 1; /串口允許接收數(shù)據(jù) ES = 1; /開串中斷 EA = 1; /開總中斷 void timer0() interrupt 1 / 定時器0中斷是1號 定時器0中斷, 用做顯示 TH0 =(65536-2500)%256; /約2.50MS定時器初值 TL0 =(65536-2500)%256; /約2.50MS定時器初值 send_byte(0x55); delay(250); Length = revbuf0 * 256 + re

15、vbuf1; DisplayLength(Length); void DisplayLength(unsigned long number) if(number > 4500) /如果大于4.5米,顯示 "-" SPK=1; dispbuf0 ='-' /顯示 "-" dispbuf1 ='-' /顯示 "-" dispbuf2 ='-' /顯示 "-" dispbuf3 ='-' /顯示 "-" if(number <

16、 4500) SPK=1; dispbuf0 = numnumber/1000; dispbuf1 = numnumber%1000/100; dispbuf2 = numnumber%100/10; dispbuf3 = numnumber%10; if(200>number) SPK=!SPK; void delay(uchar t)while(t-);void write_com(uchar com) RS=0;RW=0; delay(1); P0=com;delay(1);EN=1;delay(1);EN=0;RS=1;void init() EN=0; write_com(0x

17、38);/設(shè)置顯示位數(shù) delay(1); write_com(0x0c);/設(shè)置光標(biāo)開關(guān) delay(1); write_com(0x06);/寫一個加一 delay(1); write_com(0x01);void write_dat(uchar dat) RS=1;RW=0;delay(1);P0=dat;delay(1);EN=1;delay(1);EN=0;RS=0; void main()uchar i,j;init();time_init();write_com(0x80);delay(200);for(i=0;i<16;i+) write_dat(tablei) ; delay(200);while(1)write_com(0x86);for(j=0;j<4;j+) write_dat(dispbufj) ; delay(50); if(j=4)j=0; 【感想與體會】我們的題目是倒車?yán)走_(dá)系統(tǒng)設(shè)計,對于我們這些實踐中的新手來說,這是一次考驗。這次課程設(shè)計我

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論