导航:首页 > 制冷设备 > 超声波是怎么写

超声波是怎么写

发布时间: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
{

}

阅读全文

与超声波是怎么写相关的资料

热点内容
sks轴承怎么分 浏览:680
自动空气发生装置 浏览:686
喜利得电动工具直营店上海 浏览:559
全自动回流装置 浏览:416
廊坊宏兴五金制品 浏览:57
轴和轴承内圈为什么焊条焊接 浏览:338
君越仪表盘怎么看平均油耗 浏览:153
家庭组建无线网络需要什么设备 浏览:711
鸡喂食自动装置 浏览:202
不锈钢镀钛炉设备多少钱 浏览:366
电商工具箱如何开通 浏览:138
烟台电动工具批发市场在哪里 浏览:906
北京机械职称答辩通过率如何 浏览:859
山东机械设备论文在哪里发 浏览:365
海田五金机电市场招聘 浏览:10
上海红牛电动工具 浏览:625
下图是自动抽水装置模拟电路 浏览:640
机顶盒设备ip在哪里 浏览:801
空调手动模式怎么制冷 浏览:92
沈阳盛世高压阀门厂招聘 浏览:633