




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
姓名:楊言安地點:山西大學(xué)開發(fā)時間:2014年5月7口星期三姓名:楊言安地點:山西大學(xué)// //名稱:簡易倒車?yán)走@〃說明:單片機(jī)控制超聲波模塊時時測量汽車后面障礙物的距離(測量范圍為3cm-4m),〃并將距離值顯示在數(shù)碼管上。當(dāng)汽車后面有障礙物時數(shù)碼管會顯示障礙物的距離同時告警〃電路發(fā)出"嘀嘀嘀"的聲音,當(dāng)障礙物離汽車的距離小于0.5米時告警電路發(fā)出“嘀嘀嘀”的聲〃音的頻率增加,以此提醒車主注意安全。(單片機(jī)型號STC89C52,晶振頻率12MHz,超聲波模塊HC-SR04)// 〃原理:超聲波模塊觸發(fā)端IITrig受單片機(jī)P1.0I1控制,在發(fā)送超聲波時P1.0II至少維持10us高電平。當(dāng)超聲波接收到返回的超聲波時,超聲波模塊的Echo端II(接單片機(jī)的INTOII)會輸出高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到接收的時間,測試距離=((高電平時間)*340m/s))/2o利用單片機(jī)的定時計數(shù)器TO來測量高電平持續(xù)的時間:定時/計數(shù)器T0使用GATEO門控衛(wèi)和TRO雙重控制來測量高電平持續(xù)的時間,當(dāng)超聲波接收到返回信號時,即TNTOII變?yōu)楦唠娖綍r,此時讓TRO=1開始計時,當(dāng)INTOII變?yōu)榈碗娖綍r,讓TRO=O,即停止計時。這樣高電平持續(xù)的時間保持在寄存器THO和TLO中,即T=256*TH0+TL0;所以距離S=(T*340)/2,再將S在數(shù)碼管上顯示出來。告警部分是由蜂蜜器來控制,在計算完距離后還要判斷所測的距離是否小于0.5米,如果是則蜂鳴器發(fā)出急促的告警聲音,如果大于0.5則發(fā)出緩慢的告警聲音,表示有障礙物。(本程序最大的亮點是只利用一個定時/計數(shù)器完成了超聲波的測距。)// □include<reg52.h>#defineuintunsignedint#defineucharunsignedchar#defineulongunsignedlongsbitdula=P2X;〃數(shù)碼管段選信號使能端sbitwela=P2A7;//數(shù)碼管位選信號使能端sbitDot=P0A7;〃小數(shù)點使能端sbitTrig=PlA。;//超聲波模塊觸發(fā)端sbitLED=P"1;〃發(fā)光二極管,用于顯示是否超出測量范圍sbitbeer=P2A3;//蜂鳴器控制口bitwarming;//告警位變量ulongtime;〃時間變量,單位為usulongdistance;//距離變量ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0};〃共陰數(shù)碼管段代碼uchardatadisp_buf[]=(0x00,0x00,0x00,0x00);〃顯示緩存// //長延時函數(shù):用于數(shù)碼管動態(tài)顯示// voidDelay_ms(uintxms)uintij;for(i=xms;i>0;i-)for(j=115;j>0;j-);}// //短延時函數(shù):用于超聲波發(fā)射// voiddelay_us()(uchari;for(i=0;i<100;i++);}// //數(shù)值計算:計算距離并校正,最后將其拆分成單個的數(shù)字存取到顯示緩存中,供數(shù)碼管〃顯示時調(diào)用// caculate()(uinttempi,temp2;distance=time*172;//計算距離distanced1000;//單位換算成亳米distance+=10;//校正誤差if(distance<=500)//離障礙物半米時,告警聲音間隔短warming=l;elsewarming=0;//有障礙物是發(fā)出一般性警告,告警聲音間隔長disp_buf[0]=(uchar)(distance/1000);//提取「位值templ=(uint)(distance%1000);disp_buf[l]=(uchar)(templ/100);//提取百位值temp2=(uchar)(templ%100);disp_buf[2]=(uchar)(temp2/10);//提取十位值disp_buf[3]=(uchar)(temp2%10);//提取個位值}// 〃顯示函數(shù):將距離值顯示在數(shù)碼管上// voidDisplay()(dula=l;PO=table[disp_buf[O]];//顯示千位Dot=l;//顯示小數(shù)點dula=O;PO=Oxff;wela=l;PO=Oxfe;wela=O;Delay_ms(l);dula=l;PO=table[disp_buf[l]];//顯示百位dula=O;PO=Oxff;wela=l;PO=Oxfd;wela=O;Delay_ms(l);dula=l;P0=table[disp_buf[2]];//顯示百位dula=O;PO=Oxff;wela=l;PO=Oxfb;wela=O;Delay_ms(l);dula=l;P0=table[disp_buf[3]];//顯示十位dula=O;PO=Oxff;wela=l;P0=0xf7;wela=O;Delay_ms(l);}// 定時計數(shù)器會溢出產(chǎn)生中斷〃定時/計數(shù)器0中斷服務(wù)函數(shù):如果測量距離超過4米時,定時計數(shù)器會溢出產(chǎn)生中斷// voidexternalO()interrupt1(TRO=O;〃停止計數(shù)THO=OxOO;TLO=OxOO;//TO清零LED=~LED;〃點亮發(fā)光二極管Delay_ms(3);LED=1;}// //主函數(shù)// voidmain()(uchari;INT0=0;〃將外部中斷0拉低,為檢測電平變化做準(zhǔn)備Trig=0;〃將觸發(fā)端拉低LED=1;〃關(guān)閉發(fā)光二極管TMOD=0x09;〃打開定時計數(shù)器門控衛(wèi)(GATEO=1)旦讓定時計數(shù)器工作在16位計數(shù)模式下TH0=0x00;//初始化定時/計數(shù)器0TL0=0x00;EA=1;〃開總中斷ETO=1;//開定時器TO中斷while(l){for(i=0;i<100;i++)//測量開始之前數(shù)碼管清零Display();Trig=l;〃發(fā)送超聲波,持續(xù)時間為2Ousdelay_us();Trig=O;〃停止發(fā)送超聲波while(INT0==0);〃等待Echo端口電平變高TRO=1; 〃定時器0開始計時while(INTO==l);〃等待Echo端II電平變低TR0=0;〃停止計時EA=O;〃關(guān)閉總中斷ETO=O;〃關(guān)閉TO中斷time=256*TH0+TL0;〃讀取時間caculate();//調(diào)用數(shù)值計算函數(shù)if(O==warming)//障礙物離車的距離大于0.5米{uchara,b;beer=l;for(a=0;a<100;a++)〃調(diào)用數(shù)碼管顯示程序來做延時Display();beer=O;for(b=0;b<5;b++){Display();}}if(l==warmin
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遵義醫(yī)科大學(xué)《產(chǎn)品交互設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 唐山工業(yè)職業(yè)技術(shù)學(xué)院《中醫(yī)四診技能》2023-2024學(xué)年第二學(xué)期期末試卷
- 河北東方學(xué)院《幼兒園教育環(huán)境創(chuàng)設(shè)》2023-2024學(xué)年第二學(xué)期期末試卷
- 做賬實操-代理記賬公司的利潤計算
- 入黨積極分子民主表
- 遼寧工程技術(shù)大學(xué)《男裝制版與工藝》2023-2024學(xué)年第二學(xué)期期末試卷
- 吉林航空職業(yè)技術(shù)學(xué)院《專題設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 焦作大學(xué)《新聞評論與體育》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東酒店管理職業(yè)技術(shù)學(xué)院《抽樣設(shè)計與推斷》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北大學(xué)知行學(xué)院《結(jié)構(gòu)化學(xué)A》2023-2024學(xué)年第二學(xué)期期末試卷
- LY/T 3400-2024荒漠與荒漠化防治術(shù)語
- 2024-2025學(xué)年第二學(xué)期英語教研組工作計劃
- 2025年往年教師職稱考試試題
- 2025年春季學(xué)期學(xué)校全面工作安排表
- 幼兒園開學(xué)前的廚房人員培訓(xùn)
- 《幼兒教育政策與法規(guī)》教案-單元6 幼兒園的工作人員
- 光伏施工安全培訓(xùn)課件
- 消防員證考試題庫2000題中級
- 部編人教版小學(xué)4四年級《道德與法治》下冊全冊教案
- 《 大學(xué)生軍事理論教程》全套教學(xué)課件
- 認(rèn)識負(fù)數(shù)(單元測試)青島版五年級下冊數(shù)學(xué)
評論
0/150
提交評論