導航:首頁 > 製冷設備 > 超聲波是怎麼寫

超聲波是怎麼寫

發布時間:2024-04-20 18:22:46

① 超音波用英語怎麼說

超音波
[詞典]
ultrasonic(台語詞,等於普通話中的超聲波);
[例句]在對膽囊癌的診斷中常常要對腹部做超音波檢查。
An
abdominal
ultrasound
is
done
to
diagnose
gallbladder
cancer.

② 超聲波的超怎麼寫告訴我。

超聲波的超這么寫;

③ HC-SR04超聲波測距 程序怎麼寫啊!! 輸出代碼 和輸入定時器計數高電平時間代碼~ MSP430F149單片機

給你個at89c51的程序,自己稍微改一下就可以了。這個是用數碼管顯示的。
#include <REG52.h>
#include<stdio.h>

#define uchar unsigned char
#define uint unsigned int
extern char *itoa(int i);

uint code SEG7[16]={0x28,0x7e,0xa2,0x62,0x74,0x61,0x21,0x7a,0x20,0x60,
0x30,0x25,0xa9,0x26,0xa1,0xb1};//0 1 2 3 4 5 6 7 8 9 A-E

uchar code ACT[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //數碼管顯示位置

uchar dis[4];
sbit trig=P1^0;
sbit echo=P1^1;

void delay(uint k)
{
uint i,j;
for(i=0;i<k;i++)
{
for(j=0;j<121;j++)
{;}
}
}

void display(uint dis)
{
P0=SEG7[dis%10];
P2=ACT[3];
delay(1);

P0=SEG7[(dis/10)%10];
P2=ACT[2];
delay(1);

P0=SEG7[(dis/100)%10];
P2=ACT[1];
delay(1);

P0=SEG7[dis/1000];
P2=ACT[0];
delay(1);
}

void display2(uint Hi,uint Low)
{
P0=SEG7[Hi%10];
P2=ACT[3];
delay(1);

P0=SEG7[(Hi/10)%10];
P2=ACT[2];
delay(1);

P0=SEG7[(Hi/100)%10];
P2=ACT[1];
delay(1);

/* P0=SEG7[Hi/1000];
P2=ACT[0];
delay(1);
*/
//Low
P0=SEG7[Low%10];
P2=ACT[7];
delay(1);

P0=SEG7[(Low/10)%10];
P2=ACT[6];
delay(1);

P0=SEG7[(Low/100)%10];
P2=ACT[5];
delay(1);

/* P0=SEG7[Low/1000];
P2=ACT[4];
delay(1); */
}

void delay10us()
{
uchar i;
for(i=11;i>0;i--);
}

void init()
{
TMOD=0x21;//模式1
TH1=0xf3;//4800bps fosc=12M
TL1=0xf3;
TR0=0;
trig=0;
echo=0;
TH0=0;
TL0=0;
TCON=0x00;
SCON=0x50;//SM0=0 SM1=1 SM2=0 REN=1 TB8=0 R8=0 TI=0 RI=0
PCON=0x80;//SMOD=1
TR1=1;
ES=1;
EA=1;
}

uint getDistance()
{
uint i=29412;//5m來回需要的時間(us) (5*2/340)*1000000
TR0=0;
TH0=0;
TL0=0;
//接收信號端置0
echo=0;
//開始觸發
trig=1;
//延時10微秒
delay10us();
//停止觸發
trig=0;
//沒有信號返回並且在5米障礙物信號返回需要的時間前則等待 (無信號即時返回,防止死循環,阻礙其它程序的執行)
while(!echo&&i>0)
{
i--;
}

if(i>0)//小於5米,說明有信號返回
{
TR0=1;//開始計時
while(echo); //持續高電平則計時,轉為低電平則退出
TR0=0;//停止計時
return (uint)((TH0*256+TL0)*0.170); //單位:mm //340000/1000000/2=0.17 mm/us
}
//display2(TH0,TL0);
return 0; //大於5米則返回0
}

void SendChar(uchar ch)
{
SBUF=ch;
while(!TI);
TI=0;
}
void SendCmd(uchar *cmd,uchar sz)
{
uchar i=0;
SendChar('$');
for(i=0;i<sz;i++)
{
SendChar(*(cmd+i));
}
SendChar('@');
}

void main()
{
uint distance=0;
init();
while(1)
{
//測距
distance=getDistance();
//sprintf(dis,"%4d",distance);
//SendCmd(dis,4);
display(distance);
/* if(TF0)
{
TF0=0;
TH0=0;
TL0=0;
} */
}
}

void serial_serve(void) interrupt 4
{

}

閱讀全文

與超聲波是怎麼寫相關的資料

熱點內容
悅動儀表台開膠怎麼快速修復 瀏覽:225
儀表顯示70kmh怎麼回事 瀏覽:498
修理儀表屬什麼行業 瀏覽:966
英朗儀表盤燈怎麼取消 瀏覽:698
使用時打開煤氣閥門 瀏覽:263
三菱機床面板怎麼打出百分號 瀏覽:420
壁掛爐怎麼調節閥門開度 瀏覽:62
燃氣閥門去掉 瀏覽:146
電公用儀器儀表有哪些 瀏覽:455
軸承鋼怎麼製作的 瀏覽:685
起重設備安裝工程有哪些 瀏覽:179
石家莊長虹五金機電 瀏覽:769
電轎車左前輪軸承為什麼經常壞 瀏覽:499
東莞銘誠五金製品有限公司招聘 瀏覽:689
托里拆利實驗裝置原理 瀏覽:61
電動工具無 瀏覽:413
激光儀器還叫什麼 瀏覽:165
充氣閥門原理 瀏覽:561
中山市宏拓五金製品有限公司 瀏覽:5
寶馬排氣閥門壞了一直開著 瀏覽:307