超聲波傳感器測距的原理主要是測出回波和發(fā)射脈沖之間的時間間隔,由公式:
距離=速度*時間/2計算,輸出顯示。下面我們以AT89C2051超聲波測距程序為例加以說明。
AT89C2051通過P1.6輸出10個40kHz脈沖,由非門做電流放大,以推挽形式加到變壓器的初級,升壓后推動
超聲波傳感器換能器。在發(fā)射的同時, P1.7輸出一個高電平啟動,給電容C4充電,。發(fā)射結束時高電平翻轉為低電平,C4開始對R2、R3組成的分壓器放電并輸出到比較器的負端。
超聲波接收換能器將回波送到放大器進行放大后,送入機內比較器的正輸入端。發(fā)射時P1.7輸出的電平用以抑制比較器的翻轉,稱為渡越時間,抑制發(fā)射器發(fā)射的超聲波直接輻射到接收器。
超聲波傳感器測距系統(tǒng)軟件設計采用模塊化設計,由主程序、發(fā)射子程序、查蟓接收子程序、定時子程序、顯示子程序等模塊組成。該系統(tǒng)的主程序處于鍵控循環(huán)工作方式,當按下測量鍵時,主程序開始調用發(fā)射子程序、查詢接收子程序、定時子程序,并把測量結果用顯示子程序在液晶屏上顯示出來。
由于液晶要使用同一P3口,所以必須使用位操作,否則將導致LCD不能正常顯示。在系統(tǒng)還可以加入
溫度傳感器來監(jiān)測環(huán)境溫度,可進行溫度被償。為了增強系統(tǒng)的可靠性,應在軟硬件上采用抗干擾措施。
下面是AT89C2051超聲波測距程序,僅供大家參考:
# pragma DB OE CD OT(5,SPEED) ROM(LARGE)IV
/*連接所需要的庫*/
#i nclude
#i nclude
#i nclude
/*定義數據類型*/
typedef unsingned char byte;
typedef unsigned int word
#define uchar unsigned char
#define unint unsigned int
#define ulong unsigned long
/*定義系統(tǒng)常數*/
#define TRUE 1
#define FALSE 0
#define C=340 /*聲速*/
/*定義功能位*/
sbit bflag=ACC7;
sbit VOLCK=P1^5;
sbit MING=P3^5;
sbit QUIET=P1^3;
sbit BACK=P1^2;
/*定義顯示緩沖區(qū)*/
uchar idata ON[16]={’,’L’,’E’,’N’,’G’,’T’,’H’,’=’,’8’,’.’,’8
’8’,’m’,’’,’’,’’};
/*主程序用延時子程序*/
woid main-delay(void)
{
register i;
TRO=1;
&
nbsp; for(i=0;i<15;i++)
{
TH0=0;
TL0=0;
Do{}while(!TF0);
TF0=0;
}
TR0=0;
}
*/通用延時子程序*/
void delay(void)
{
unint i;
for(i=0;i<200;i++){;}
}
/*鍵盤延時子程序*/
void key-delay(void)
{
unint i;
for(i=0;i<200;i++){;}
}
/*初始化程序*/
void start_main()
{
tegister i;
uchar a[16]={’’,’L’,’E’,’N’,’G’,’T’,’H’,’=,’8’,’.’,’8’,’8
’,’m’,’’,’’,’’};
for(i=0;<16;i++)
{ON[i]=a[i];}
nitlcd();/*初始化液晶*/
display(ON);/*更新顯示*/
}
/*主程序*/
void main()
{
register s,keycode;
long idata t;
start-main();/*初始化*/
main-delay();/*延時*/;
if(keycoed= =true)
{
keycode=key-scan-wait();
/*判斷是否有測量鍵按下*/
t=measure();*/測量*/
S=0.5*t*C;*/換算*/
Decode-bcd(s.0x09);
/*把測量結果置換入顯示緩沖區(qū)*/
init-lcd();/*初始化液晶*/
display(ON);/*更新顯示*/
}
}
訂貨電話:13402168531(微信同),021-60512919
業(yè)務QQ: 2229069859
阿里旺旺: seaine168
淘寶企業(yè)店鋪: https://shop512779345.taobao.com
公司官網:http://www.ecsealant.com
現貨特價產品:
Brand Product Product name
CAPTRON 100189
CAA-550-H18G4T-PS6/CP174
CAPTRON 100225 CAA-180-H18G4T-PO6/CP174
CAPTRON 100252 ISM-2000/24VDC
CAPTRON 100271 OGR-10T-PU6
CAPTRON 100274 OGR-50T-PU6
CAPTRON 100275 OGR-80T-PU6
CAPTRON 100276 OGR-120T-PU6
CAPTRON 100277 OGR-20T-PU6
CAPTRON 100293 i20B-F56M-PS6
CAPTRON 100313 CHT1-559PRS-30
CAPTRON 100314 CHT1-1K9D-30
CAPTRON 100315 CHT12-T58P-205
CAPTRON 100318 CHT1-1K9B-30
CAPTRON 100319 CHT1-158D-19
CAPTRON 100321 CHT1-19XPRSS-H
CAPTRON 100325 CHT1-158B-30
CAPTRON 100329 CHT1-17XB-H
CAPTRON 100330 CHT1-17XB-10
CAPTRON 100331 CHT1-15XB-H
CAPTRON 100334 CHT1-55GP-30
CAPTRON 100335 CHT1-559P-29
CAPTRON 100336 CHT1-55GP-29
CAPTRON 100344 CHT1-559P-H
CAPTRON 100346 CHT1-198BRSO-30
CAPTRON 100349 CHT1-178P-H
CAPTRON 100350 CHT1-579P-H
CAPTRON 100364 CHT1-158B-371
CAPTRON 100368 CHT1-158B-368
CAPTRON 100401 CHT3-07XP-H/TG-SR/ST
CAPTRON 100418 CHT3-A71U-38/TG-SR/CP29
CAPTRON 100421 CHT32-170B-40/TG-SR
CAPTRON 100423 CHT3-476P-29/TG-SR
CAPTRON 100426 CHT3-185B-41/TG-YW
CAPTRON 100427 CHT3-456PV-H/TG-SR/ST
CAPTRON 100428 CHT3-15HB-30/TG-SR/ST
CAPTRON 100537 CTL1-158-30/RYG
CAPTRON 100582 CAA-60-H18G4T-PS6/CP174
主營產品類型:Sick傳感器,Sick激光掃描儀,Sick安全光柵,sick激光掃描儀,編碼器,安全光柵,安全繼電器,CAPTRON觸摸開關
主營產品品牌:
德國CAPTRON
,德國SICK
,威格勒Wenglor
,美國BANNER
,意大利DATALOGIC
,日本SMC
,德國IFM
,德國P+F
,費斯托FESTO
,施耐德Schneider Electric
,西門子SIEMENS
,歐姆龍OMRON
,圖爾克Turck
,諾冠NORGREN
訂貨電話:13402168531(微信)
業(yè)務QQ: 2229069859
阿里旺旺: seaine168
淘寶企業(yè)店鋪: https://shop512779345.taobao.com
公司官網:http://www.ecsealant.com
進入上海遠康自動化淘寶店鋪