基于51單片機倒車雷達防撞系統(tǒng)設(shè)計與實現(xiàn)_第1頁
基于51單片機倒車雷達防撞系統(tǒng)設(shè)計與實現(xiàn)_第2頁
基于51單片機倒車雷達防撞系統(tǒng)設(shè)計與實現(xiàn)_第3頁
基于51單片機倒車雷達防撞系統(tǒng)設(shè)計與實現(xiàn)_第4頁
基于51單片機倒車雷達防撞系統(tǒng)設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

目錄

1產(chǎn)品功能分析....................................................1

2設(shè)計方案遴選....................................................1

2.1單片機的選擇...............................................1

2.2系統(tǒng)框圖設(shè)計...............................................1

2.3產(chǎn)品功能..................................................2

3產(chǎn)品硬件設(shè)計....................................................2

3.1STC89C51RC單片機核心電路設(shè)計...............................2

3.2按鍵電路設(shè)計...............................................3

3.3數(shù)碼管顯示模塊電路.........................................4

3.4超聲波模塊電路.............................................4

4產(chǎn)品軟件設(shè)計....................................................6

4.1主程序流程圖...............................................6

4.2產(chǎn)品程序軟件清單...........................................7

5產(chǎn)品使用說明....................................................7

5.1產(chǎn)品裝配圖.................................................8

6產(chǎn)品設(shè)計技術(shù)標準................................................8

附錄...............................................................9

附錄1元器件清單..............................................9

附錄2電路原理圖.............................................10

附錄3PCB設(shè)計圖.............................................11

附錄4產(chǎn)品實物圖.............................................14

附錄5主程序代碼.............................................16

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

基于51單片機倒車雷達防撞系統(tǒng)設(shè)計與實現(xiàn)

1產(chǎn)品功能分析

倒車雷達防撞系統(tǒng)是汽車在正常行駛、倒車、停車過程中的安全輔助裝置。

是能夠通過安全距離顯示和聲音警示的方式為駕駛員提供輔助作用,可以解決

駕駛員在正常行駛、倒車、停車過程中通過左右后視鏡觀察不到的視野盲區(qū)而

導致引發(fā)的一系列交通安全事故帶來的困擾。該產(chǎn)品主要用到超聲波測距系統(tǒng),

通過超聲波傳感器實現(xiàn)汽車前部保險杠或者后部尾燈到車前車后障礙物的距離

小于設(shè)置距離時通過顯示器和聲音警示發(fā)出警告的效果。

2設(shè)計方案遴選

根據(jù)指導老師的指導,并且根據(jù)選擇的畢業(yè)設(shè)計選題,聯(lián)系實際,結(jié)合所

學的移動互聯(lián)應用技術(shù)的專業(yè)知識,對51單片機倒車雷達防撞系統(tǒng)產(chǎn)品進行產(chǎn)

品設(shè)計與制作。

2.1單片機的選擇

本設(shè)計是基于STC89C51RC單片機設(shè)計的倒車雷達防撞系統(tǒng)設(shè)計,包括51

單片機最小系統(tǒng)電路、顯示器電路和蜂鳴器電路等來實現(xiàn)倒車雷達防撞系統(tǒng)。

2.2系統(tǒng)框圖設(shè)計

圖1系統(tǒng)框圖

1

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

2.3產(chǎn)品功能

首先通過按鍵控制設(shè)置超聲波檢測的安全距離,移動開發(fā)板,當超聲波傳

感器模塊檢測到距障礙物的距離大于設(shè)置的安全距離時,數(shù)碼管顯示屏顯示超

聲波傳感器模塊到障礙物的距離。當超聲波傳感器模塊檢測到距障礙物的距離

小于設(shè)置的安全距離時,數(shù)碼管顯示屏顯示超聲波傳感器模塊到障礙物的距離,

報警閃爍燈亮起,蜂鳴器發(fā)出聲響。

3產(chǎn)品硬件設(shè)計

由STC89C51RC單片機所組成的系統(tǒng),其中包括超聲波模塊、顯示器模塊、

蜂鳴器模塊、LED閃爍燈。用超聲波發(fā)射器向某一方向發(fā)送超聲波,同時在放射

的時候開始計時,在超聲波遇到障礙物的時候反射回來,超聲波接收器在接收

到反射回來的超聲波時停止計時。通過公式S=VT/2可以測出汽車與障礙物之間

的距離通過數(shù)碼管顯示屏顯示出來。

3.1STC89C51RC單片機核心電路設(shè)計

51系列的單片機執(zhí)行速率快(最高時鐘頻率為90MHz),功耗低,在系統(tǒng)、

在應用可編程,不占用用戶的資源。根據(jù)本系統(tǒng)設(shè)計的實際要求,選擇

STC89C52RC單片機做為本設(shè)計的單片機使用,它是由ATMEL公司生產(chǎn)的高性能、

低功耗的CMOS8位單片機。STC89C52RC單片機具有以下幾個性能特點:4k字

節(jié)的閃存片內(nèi)程序存儲器,128字節(jié)的數(shù)據(jù)存儲器,32個外部輸入和輸出

口,2個全雙工串行通信口,看門狗電路,5個中斷源,2個16位可編程定

時計數(shù)器,片內(nèi)震蕩和時鐘電路且全靜態(tài)工作并由低功耗的閑置和掉電模

式。

2

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

圖2STC89C51單片機核心電路原理圖

3.2按鍵電路設(shè)計

按鍵也是一種電子開關(guān),實現(xiàn)開關(guān)接通僅需按下按鍵,斷開連接僅需松開

按鍵,輕觸按鍵內(nèi)部中金屬彈片受力彈動觸發(fā)來實現(xiàn)接通斷開功能,本設(shè)計中

這三個按鍵是最重要的部分控制著整個產(chǎn)品。

圖3STC89C51單片機按鍵電路原理圖

3

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

3.3數(shù)碼管顯示模塊電路

數(shù)碼管是一種半導體發(fā)光器件,其基本單元是發(fā)光二極管。能顯示4位數(shù)

字的叫四位數(shù)碼管,當然也有多位和只有一位的數(shù)碼管,他們的電氣原理相同。

數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個

發(fā)光二極管單元(多一個小數(shù)點顯示);按發(fā)光二極管單元連接方式分為共陽

極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起

形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應用時應將公共極COM接到+5V,

當某一字段發(fā)光二極管的陰極為低電平時,相應字段就點亮。當某一字段的陰

極為高電平時,相應字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接

到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應用時應將公共極COM接到

地線GND上,當某一字段發(fā)光二極管的陽極為高電平時,相應字段就點亮。當

某一字段的陽極為低電平時,相應字段就不亮。

圖4STC89C51單片機數(shù)碼管顯示電路原理圖

3.4超聲波模塊電路

由于超聲波指向性強,能量消耗緩慢,在介質(zhì)中傳播的距離較遠,因而超

聲波經(jīng)常用于距離的測量,如測距儀和物體測量儀等都可以通過超聲波來實現(xiàn)。

利用超聲波檢測往往比較迅速、方便、計算簡單、易于做到實時控制,并且在

測量精度方面能達到工業(yè)實用的要求,因此在移動機器人研制上也得到了廣泛

的應用。HC-SR04超聲波測距模塊可提供2cm-400cm的非接觸式距離感測功能,

測距精度3mm,模塊包括超聲波發(fā)射器、接收器與控制電路。

4

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

圖5STC89C51單片機超聲波模塊電路原理圖

5

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

4產(chǎn)品軟件設(shè)計

4.1主程序流程圖

圖6主程序流程圖

6

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

4.2產(chǎn)品程序軟件清單

圖7產(chǎn)品程序軟件清單圖

5產(chǎn)品使用說明

用USB數(shù)據(jù)線連接使電路板通電,然后通過按鍵控制設(shè)置超聲波檢測的安

全距離,移動開發(fā)板,當超聲波傳感器模塊檢測到距障礙物的距離大于設(shè)置的

安全距離時,數(shù)碼管顯示屏顯示超聲波傳感器模塊到障礙物的距離。當超聲波

傳感器模塊檢測到距障礙物的距離小于設(shè)置的安全距離時,數(shù)碼管顯示屏顯示

超聲波傳感器模塊到障礙物的距離,報警閃爍燈亮起,蜂鳴器發(fā)出聲響。

7

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

5.1產(chǎn)品裝配圖

圖8產(chǎn)品裝配圖

6產(chǎn)品設(shè)計技術(shù)標準

[1]J-STD-001E電氣與電子組件的焊接要求

[2]IPC-A-610D(中文版),IPC-A-610E電子組件的可接受性要求

[3]IPC-7711/21電子組件和電路板的返工&返修

[4]GB/T11457-2006信息技術(shù)軟件工程術(shù)語;

[5]GB/T8566-2007信息技術(shù)軟件生存周期過程標準;

[6]GB/T8567-2006計算機軟件文檔編制規(guī)范。

8

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

附錄

附錄1元器件清單

9

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

附錄2電路原理圖

10

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

附錄3PCB設(shè)計圖

11

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

12

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

13

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

附錄4產(chǎn)品實物圖

14

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

15

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

附錄5主程序代碼

#include<reg52.H>//器件配置文件

#include<intrins.h>

#include"eeprom52.h"

//傳感器接口

sbitRX=P2^3;

sbitTX=P2^2;

//按鍵聲明

sbitS1=P1^4;

sbitS2=P1^5;

sbitS3=P1^6;

sbitDIAN=P0^5;

//蜂鳴器

sbitFeng=P2^0;

//變量聲明

unsignedinttime=0;

unsignedinttimer=0;

unsignedcharposit=0;

unsignedlongS=0;

unsignedlongBJS;//報警距離

charnum=0;

//模式0正常模式1調(diào)整

charMode=0;

bitflag=0,flag_BJ;

unsignedcharconstdiscode[]

={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0x80};//數(shù)碼管顯

示碼0123456789-和不顯示

unsignedchardisbuff[4]={0,0,0,0};//數(shù)組用于存放距離信息

unsignedchardisbuff_BJ[4]={0,0,0,0};//報警信息

sbitW0=P2^4;

sbitW1=P2^5;

sbitW2=P2^6;

sbitW3=P2^7;

/******************把數(shù)據(jù)保存到單片機內(nèi)部eeprom中******************/

voidwrite_eeprom()

{

16

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

SectorErase(0x2000);

byte_write(0x2000,BJS%255);

byte_write(0x2001,BJS/255);

byte_write(0x2060,a_a);

}

/******************把數(shù)據(jù)從單片機內(nèi)部eeprom中讀出來*****************/

voidread_eeprom()

{

BJS=(byte_read(0x2001)*255)+byte_read(0x2000);

a_a=byte_read(0x2060);

}

/**************開機自檢eeprom初始化*****************/

voidinit_eeprom()

{

read_eeprom();//先讀

if(a_a!=1)//新的單片機初始單片機內(nèi)問eeprom

{

BJS=50;

a_a=1;

write_eeprom();//保存數(shù)據(jù)

}

}

//延時100ms(不精確)

voiddelay(void)

{

unsignedchara,b,c;

for(c=10;c>0;c--)

for(b=38;b>0;b--)

for(a=130;a>0;a--);

}

//按鍵掃描

voidKey_()

{

//+

if(S1==0)

{

delay();//延時去抖

delay();//延時去抖

while(S1==0)

{

17

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

P1=P1|0x0f;

}

BJS++;//報警值加

if(BJS>500)//最大500

{

BJS=1;

}

write_eeprom();//保存數(shù)據(jù)

}

//-

elseif(S2==0)

{

delay();

delay();//延時去抖

while(S2==0)

{

P1=P1|0x0f;

}

BJS--;//報警值減

if(BJS<1)//最小1

{

BJS=500;

}

write_eeprom();//保存數(shù)據(jù)

}

//功能

elseif(S3==0)//設(shè)置鍵

{

delay();

delay();//延時去抖

while(S3==0)

{

P1=P1|0x0f;

}

Mode++;//模式加

num=0;

if(Mode>=2)//加到2時清零

{

Mode=0;

}

}

}

/********************************************************************

18

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

**************************************/

//掃描數(shù)碼管

voidDisplay(void)

{

//正常顯示

if(Mode==0)

{

num++;

if(num==1)

{

W3=1;

W0=1;

P0=~discode[disbuff[0]];

DIAN=0;

W1=0;

}

elseif(num==2)

{

W1=1;

P0=~discode[disbuff[1]];

W2=0;

}

elseif(num>=3)

{

W2=1;

P0=~discode[disbuff[2]];

W3=0;

num=0;

}

}

//報警顯示

else

{

num++;

if(num==1)

{

W3=1;

P0=~0xCE;//11001110

W0=0;

}

elseif(num==2)

{

W0=1;

19

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

P0=~discode[disbuff_BJ[0]];

DIAN=0;

W1=0;

}

elseif(num==3)

{

W1=1;

P0=~discode[disbuff_BJ[1]];

W2=0;

}

elseif(num>=4)

{

W2=1;

P0=~discode[disbuff_BJ[2]];

W3=0;

num=0;

}

}

}

/********************************************************************

**************************************/

//計算

voidConut(void)

{

time=TH0*256+TL0;//讀出T0的計時數(shù)值

TH0=0;

TL0=0;//清空計時器

S=(time*1.7)/100;//算出來是CM

if(Mode==0)//非設(shè)置狀態(tài)時

{

if((S>=700)||flag==1)//超出測量范圍顯示“-”

{

flag=0;

disbuff[0]=10;//“-”

disbuff[1]=10;//“-”

disbuff[2]=10;//“-”

}

else

{

//距離小于報警距

if(S<=BJS)//距離小于報警值

{

20

湖南商務職業(yè)技術(shù)學院畢業(yè)設(shè)計

flag_BJ=1;//報警變量置一,定時器開始報警

}

else//距離大于報警值

{

flag_BJ=0;//關(guān)閉報警

Feng=1;//蜂鳴器關(guān)閉

}

disbuff[0]=S%1000/100;//將距離數(shù)據(jù)拆成單個位賦值

disbuff[1]=S%100/10;

disbuff[2]=S%10;

}

}

else

{

Feng=1;

flag_BJ=0;//報警關(guān)閉

disbuff_BJ[0]=BJS%1000/100;

disbuff_BJ[1]=BJS%100/10;

disbuff_BJ[2]=BJS%10;

}

}

/********************************************************************

**************************************/

//定時器0

voidzd0()interrupt1//T0中斷用來計數(shù)器溢出,超過測距范圍

{

flag=1;//中斷溢出標志

}

/********************************************************************

**************************************/

//定時器1

voidzd3()interrupt3//T1中斷用來掃描數(shù)碼管和計800MS啟動模塊

{

TH1=0xf8;

TL1=0x30;//定時2ms

Key_();//掃描按鍵

Display();//掃描顯示

timer++;//變量加

if(flag_BJ==1

溫馨提示

  • 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

提交評論