成功的超聲波測(cè)距C源程序_第1頁
成功的超聲波測(cè)距C源程序_第2頁
成功的超聲波測(cè)距C源程序_第3頁
成功的超聲波測(cè)距C源程序_第4頁
成功的超聲波測(cè)距C源程序_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、成功的超聲波測(cè)距C源程序.c#include <REG2051.H> /成功的源程序 P1.0-P1.7分別是數(shù)碼管的A-H段碼#define k1 P3_4 /晶振采用12M,P1口為數(shù)碼管段輸出口,P3.0P3.2為數(shù)碼管位輸出口,P3.5超聲波發(fā)送輸出,P3.7超聲波接收。#define csbout P3_5 /超聲波發(fā)送#define csbint P3_7 /超聲波接收#define csbc=0.034 /聲速340米每秒. 在電路圖中的發(fā)射變壓器是用電子鎮(zhèn)流器的磁環(huán),初級(jí)繞15匝,次級(jí)繞180匝后接發(fā)射頭#define bg P3_3unsigned char cs

2、bds,opto,digit,buffer3,xm1,xm2,xm0,key,jpjs;/顯示標(biāo)識(shí)unsigned charconvert10=0x3F,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/09段碼unsigned int s,t,i, xx,j,sj1,sj2,sj3,mqs,sx1;bit cl;void csbcj();void delay(j); /延時(shí)函數(shù)void scanLED(); /顯示函數(shù) void timeToBuffer(); /顯示轉(zhuǎn)換函數(shù) void keyscan();void k1cl();void k2cl(

3、);void k3cl();void k4cl();void offmsd();void main() /EA=1; /TMOD=0x11; /定時(shí)ET0=1; /ET1=1; /TH0=0x00;TL0=0x00;TH1=0x9E;TL1=0x57;csbds=0;csbint=1;csbout=1;cl=0;opto=0xff;jpjs=0;sj1=45;sj2=200;sj3=400;k4cl(); 主函數(shù) 開中斷 設(shè)定時(shí)器0為計(jì)數(shù),設(shè)定時(shí)器定時(shí)器0中斷允許 定時(shí)器1中斷允許 1TR1=1;while(1)keyscan();if(jpjs<1)csbcj();if(s>sj

4、3)buffer2=0x76; /超出測(cè)量范圍,顯示HHH buffer1=0x76; /超出測(cè)量范圍,顯示HHH buffer0=0x76; /超出測(cè)量范圍,顯示HHH else if(s<sj1)buffer2=0x40; /初始化顯示000buffer1=0x40; /初始化顯示000buffer0=0x40; /初始化顯示000else timeToBuffer();else timeToBuffer(); /將值轉(zhuǎn)換成LED段碼 offmsd();scanLED(); /顯示函數(shù)if(s<sj2)bg=0;bg=1;void scanLED() /顯示功能模塊 digit

5、=0x04;for( i=0; i<3; i+) /3位數(shù)顯示P3=digit&opto; /依次顯示各位數(shù) P1=bufferi; /顯示數(shù)據(jù)送P1口 delay(20); /延時(shí)處理P1=0xff; /P1口置高電平(關(guān)閉) if(P3&0x10)=0) /判斷3位是否顯示完 key=0;digit>>=1; /循環(huán)右移1位 void timeToBuffer() /轉(zhuǎn)換段碼功能模塊 xm0=s/100;xm1=(s-100*xm0)/10;xm2=s-100*xm0-10*xm1;buffer2=convertxm2;buffer1=convertxm1

6、;buffer0=convertxm0;void delay(i)while(-i);void timer1int (void) interrupt 3 using 2 TH1=0x9E;TL1=0x57;csbds+;if(csbds>=40)csbds=0;cl=1;void csbcj()if(cl=1)TR1=0;TH0=0x00;TL0=0x00;i=10;while(i-)csbout=!csbout;TR0=1;i=mqs; / while(i-)i=0;while(csbint)i+;if(i>=2450) / csbint=0;TR0=0; 盲區(qū) 上限值TH1=0

7、x9E;TL1=0x57;t=TH0;t=t*256+TL0;s=t*csbc/2;TR1=1;cl=0;void keyscan() /xx=0;if(k1!=1) / delay(400); / if(k1!=1) / while(!k1)delay(30); xx+;if(xx>2000) jpjs+;if(jpjs>4)jpjs=0;xx=0;switch(jpjs)case 1: k1cl();break; case 2: k2cl();break; case 3: k3cl();break; 健盤處理函數(shù) 判斷開關(guān)是否按下 延時(shí)去抖動(dòng) 判斷開關(guān)是否按下case 4: k4cl();break;void k1cl()sj1=sj1+5;if(sj1>100)sj1=30;s=sj1;void k2cl()sj2=sj2+5;if(sj2>500)sj2=40;s=sj2;void k3cl()sj3=sj3+10;if(sj3>500)sj3=100;s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論