新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用AT89C2051設(shè)計(jì)超聲波測(cè)距儀

用AT89C2051設(shè)計(jì)超聲波測(cè)距儀

作者: 時(shí)間:2012-03-13 來源:網(wǎng)絡(luò) 收藏


/*主程序用延時(shí)子程序*/
woid main-delay(void)
{
register i;
TRO=1;
for(i=0;i15;i++)
{
TH0=0;
TL0=0;
Do{}while(!TF0);
TF0=0;
}
TR0=0;
}
*/通用延時(shí)子程序*/
void delay(void)
{
unint i;
for(i=0;i200;i++){;}
}
/*鍵盤延時(shí)子程序*/
void key-delay(void)
{
unint i;
for(i=0;i200;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();/*延時(shí)*/;
if(keycoed= =true)
{
keycode=key-scan-wait();
/*判斷是否有測(cè)量鍵按下*/
t=measure();*/測(cè)量*/
S=0.5*t*C;*/換算*/
Decode-bcd(s.0x09);
/*把測(cè)量結(jié)果置換入顯示緩沖區(qū)*/
init-lcd();/*初始化液晶*/
display(ON);/*更新顯示*/
}
}

5 結(jié)束語

雖然用一個(gè)單獨(dú)計(jì)時(shí)器電路也可以測(cè)量超聲波的傳輸時(shí)間,但利用AT89C2051單片機(jī)可以簡(jiǎn)化設(shè)計(jì),便于操作和直觀讀數(shù)。該系統(tǒng)經(jīng)實(shí)際測(cè)試證明,可以滿足大多數(shù)場(chǎng)合的測(cè)距要求。


上一頁 1 2 3 4 下一頁

關(guān)鍵詞: 元器件 電子 國(guó)外

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉