超聲波測距應用-倒車雷達設計_第1頁
超聲波測距應用-倒車雷達設計_第2頁
超聲波測距應用-倒車雷達設計_第3頁
超聲波測距應用-倒車雷達設計_第4頁
超聲波測距應用-倒車雷達設計_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

8、NT0外部中斷0輸入P3.3 INT1外部中斷1輸入P3.4 T0定時器0外部脈沖輸入P3.5 T1定時器1外部脈沖輸入P3.6 WR外部數據存儲器寫脈沖輸出P3.7 RD外部數據存儲器讀脈沖輸出7RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。8ALE/RPOG:當外部存儲器時,地址鎖存允許的輸出電平由于鎖存地址的地位字節(jié)。在Flash編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6.因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳出一個ALE脈沖。如想制止AL

9、E的輸出可在SFR8EH地址上置0.此時,ALE只有在執(zhí)行MOV*,MOVC指令時ALE才起作用。另外該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE制止,置位無效。9/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在外部數據存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。10/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器0000H-FFFFH,不管是否有部程序存儲器。注意加密方式1時,/EA將部鎖定為RESET;當/EA端保持高電平時,此間部程序存儲器。在Flash編程期間,此引腳也用于施加12V編程電源VPP。11*TAL

10、1:反向振蕩放大器的輸入及部時鐘工作電路的輸入。12*TAL2:來自反向振蕩器的輸出。3.2 超聲波模塊插座電路圖3.3報警電路報警器電源接口及電源指示燈3.4復位電路復位電路采用了單片機的復位端,采用按鈕電平復位電路,這樣設計可以簡化軟件的量,使程序更加簡潔化。3.5總電路圖4.2軟件設計源代碼*include *define uchar unsigned char*define uint unsigned int void send_byte(unsigned char );void time_init();void DisplayLength(unsigned long );void d

11、elay(uchar );void write_dat(uchar );void write_(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=; /顯示緩沖區(qū)uchar idata revbuf2; /收緩接沖區(qū)unsigned long Length = 0;uchar table=- 0000 -;uchar num=0123456789 ;

12、void rev_data(void) interrupt 4 /數據承受 uchar temp ,k; ES = 0; / 關中斷 if(RI) RI = 0; / 清接收標志 temp = SBUF; revbufk = temp; k+; if(k = 2) / k = 數據長度 k = 0; led0 = led0; ES = 1; /開中void send_byte(unsigned char dat)/向串口發(fā)送一個字符 TI = 0; / 清發(fā)送標志 SBUF = dat; /如果TI為0等待 led1 = 0; while (!TI); / wait until sent le

13、d1 = 1;void time_init() TH1 = 0*FD; TL1 = 0*FD; /設置T1波特率9600 TMOD = 0*21; /設置定時器1為模式2;定時器0為模式1 TH0 =(65536-2500)/256; /約2.50MS定時器初值 TL0 =(65536-2500)%256; /約2.50MS定時器初值 ET0 = 1; /T0允許位 TR0 = 1; /啟動定時器 TR1 = 1; /啟動定時器 SM0 = 0; /串口通信模式設置 方式一 SM1 = 1; REN = 1; /串口允許接收數據 ES = 1; /開串中斷 EA = 1; /開總中斷void

14、timer0() interrupt 1 / 定時器0中斷是1號 定時器0中斷, 用做顯示 TH0 =(65536-2500)%256; /約2.50MS定時器初值 TL0 =(65536-2500)%256; /約2.50MS定時器初值 send_byte(0*55); delay(250); Length = revbuf0 * 256 + revbuf1; DisplayLength(Length); void DisplayLength(unsigned long number) if(number 4500) /如果大于4.5米,顯示 - SPK=1; dispbuf0 =-; /顯

15、示 - dispbuf1 =-; /顯示 - dispbuf2 =-; /顯示 - dispbuf3 =-; /顯示 - if(number number) SPK=!SPK; void delay(uchar t)while(t-);void write_(uchar ) RS=0;RW=0; delay(1); P0=;delay(1);EN=1;delay(1);EN=0;RS=1;void init() EN=0; write_(0*38);/設置顯示位數 delay(1); write_(0*0c);/設置光標開關 delay(1); write_(0*06);/寫一個加一 dela

16、y(1); write_(0*01);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_(0*80);delay(200);for(i=0;i16;i+) write_dat(tablei) ; delay(200);while(1)write_(0*86);for(j=0;j4;j+) write_dat(dispbufj) ; delay(50); if(j=4)j=0;【感想與體會】我們的題目是倒車雷達系統(tǒng)設計,對于我們這些實踐中的新手來說,這是一次考驗。這次課程設計我們學到很多很多的東西,學會了怎么在遇

溫馨提示

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

評論

0/150

提交評論