Ⅰ 超聲波模塊用什麼連接單片機
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 可以參考一下, 同時,這個博客上有大量的超聲波測距方面的程序資料。