Ⅰ 超声波模块用什么连接单片机
IO口连接单片机,超声波模块也就是几个输出口直接连接到单片机的IO口就行了!
Ⅱ 超声波探头怎么连接单片机
另外两个引脚,一个是触发控制信号输入TRIG ,另一个是回响信号输出ECHO,只要你的单片机有两个引脚可以通过软件控制,可以输入输出,就可以接上,没有强制要接到哪两个引脚上。
Ⅲ 超声波模块如何把数据传输给单片机
超声波与单片机之间的数据,并不是直接由超声波模块发送给单片机的,而是单片机通过超声波一个触发信号,从而得到超声波的响应,根据这个响应来计算距离。
可以给给你一个程序,这个程序同时测试了两个超声波,你可以根据情况选一个,删一个,显示采用的是数码管显示,可以根据自己情况改写。
#include <reg52.H> //器件配置文件
#include <intrins.h>
unsigned int time=0;
unsigned int times=0;
unsigned long S=0;
sbit la=P1^0;
sbit wela=P1^1;
sbit echo =P1^3; //echo
sbit tring =P1^2; //trig
sbit echo2 = P1^5;
sbit tring2 = P1^4;
sbit beep = P3^6;
bit stat = 1;
unsigned int beep_cnt = 0;
unsigned char flag = 0;
unsigned char qianwei1,wei1,shiwei1,gewei1;
unsigned char qianwei2,wei2,shiwei2,gewei2;
unsigned char aa = 0;
unsigned char leddata[]={
0x3F, //"0"
0x06, //"1"
0x5B, //"2"
0x4F, //"3"
0x66, //"4"
0x6D, //"5"
0x7D, //"6"
0x07, //"7"
0x7F, //"8"
0x6F, //"9"
};
unsigned char leddatadot[] = {
0xbf, //"0"
0x86, //"1"
0xdb, //"2"
0xcf, //"3"
0xef, //"4"
0xed, //"5"
0xfd, //"6"
0x87, //"7"
0xFF, //"8"
0xEF, //"9"
};
void Display(unsigned long num);
void Conut(void){
unsigned short aa;
aa = 65535;
time= aa * times + TH0 * 256 + TL0;
times = 0;
TH0=0;
TL0=0;
S = (time * 1.845) / 100;
}
void init(){
TMOD=0x11;
TH0=0;
TL0=0;
ET0=1;
TR0=0;
EA=1;
}
void delay(unsigned char z){
int i, j;
for(i = 0; i < z; i++)
for(j = 0; j < 210; j++)
;
}
void start(){
if(flag % 2){
TH0 = 0;
TL0 = 0;
tring = 1;
delay(10);
tring = 0;
}else{
TH0 = 0;
TL0 = 0;
tring2 = 1;
delay(10);
tring2 = 0;
}
}
void beep_act(unsigned int a){
unsigned char i;
if(a < 40){
for(i = 0; i < 30; i++){
beep = 1;
delay(1);
beep = 0;
delay(1);
}
}else
if(a < 140){
for(i = 0; i < 3; i++){
beep = 1;
delay(1);
beep = 0;
delay(1);
}
}
}
void main(void){
init();
while(1){
start();
if(flag % 2){
while(!echo);
TR0=1;
while(echo);
TR0=0;
}else{
while(!echo2);
TR0=1;
while(echo2);
TR0=0;
}
Conut();
Display(S);
if(flag % 2)
beep_act(S);
flag++;
}
}
void Display(unsigned long num){
if(!(flag % 2)){
qianwei1 = num / 1000;
wei1 = (num / 100) % 10;
shiwei1 = (num / 10) % 10;
gewei1 = num % 10;
}else{
qianwei2 = num / 1000;
wei2 = (num / 100) % 10;
shiwei2 = (num / 10) % 10;
gewei2 = num % 10;
}
for(aa = 0; aa < 20; aa++){
wela=1;
P2=0xfe;
wela=0;
la=1;
P0 = leddata[qianwei2];
la=0;
delay(1);
wela=1;
P2=0xfd;
wela=0;
la=1;
P0=leddatadot[wei2];
la=0;
delay(1);
wela=1;
P2=0xfb;
wela=0;
la=1;
P0 = leddata[shiwei2];
la=0;
delay(1);
wela=1;
P2=0xf7;
wela=0;
la=1;
P0=leddata[gewei2];
la=0;
delay(1);
//behind led
wela=1;
P2=0xef;
wela=0;
la=1;
P0 = leddata[qianwei1];
la=0;
delay(1);
wela=1;
P2=0xdf;
wela=0;
la=1;
P0=leddatadot[wei1];
la=0;
delay(1);
wela=1;
P2=0xbf;
wela=0;
la=1;
P0 = leddata[shiwei1];
la=0;
delay(1);
wela=1;
P2=0x7f;
wela=0;
la=1;
P0=leddata[gewei1];
la=0;
delay(1);
}
}
/********************************************************/
void zd0() interrupt 1 {
TH0 = 0;
TL0 = 0;
times++;
}
Ⅳ 关于超声波测速的单片机资料
超声波测速周期一般在50ms左右,在测量移动物体时还要考虑超声波的多普勒效应(如果速度不是太快另当别论)。
最好从理论上查一下资料,程序并不是太复杂,很多网站都有源码的。
Ⅳ 做一个51单片机超声波测距需要哪些器材
1、单片机最小系统
2、显示用液晶或数码管
3、超声波传感器
4、制作资料和程序我有
Ⅵ 这个51单片机和超声波模块怎么连接呢(有图)
看到你的板子上右下角没有,那里有一个电源跟GND,跟超声波相接就好
还有你这个是串口通信的,你接P2口是模拟串口通信吗?
Ⅶ 单片机问题,我要采样出一列超声波(假设200000hz)的包络线,AD转换芯片用微秒级的可以吗
上dsp或fpga吧,像51这种搞不了的,采样是200khz,需要1m左右的采样速率,然后滤波其实可以达到2m效果会更好
Ⅷ 超声波传感器是如何采集信号的
看什么类型传感器,不同类型的传感器,采集信号的方式肯定不尽相同。
Ⅸ 用51单片机做超声波测距都需要什么元件
用51单片机做超声波测距需要什么元件这里有介绍http://blog.sina.com.cn/s/blog_68541adc0100qg9v.html 可以参考一下, 同时,这个博客上有大量的超声波测距方面的程序资料。