电子产业一站式赋能平台

PCB联盟网

搜索
查看: 366|回复: 2
收起左侧

超声波测距

[复制链接]

585

主题

910

帖子

4977

积分

四级会员

Rank: 4

积分
4977
发表于 2024-4-8 14:39:16 | 显示全部楼层 |阅读模式
写了一个关于超声波测距的程序,但是程序烧录到单片机里面后,一直没反应,有哪位大神知道原因的啊!
#include<reg52.h>
sbit Trig = P1^6;
sbit Echo = P1^7;
sbit LED = P2^0;
#define LED_PORT P0
typedef unsigned short int u8;
int Distance;
void inti_time()
{
TMOD = 0x20;//采用定时器1定时方式
TH1 = 0;
TL1 = 0;
}
void delay_us(u8* temp_data)
{
for(;*temp_data > 0; *temp_data- -);
}
void ultrasonic ()
{
u8 time = 5;
inti_time();
Trig = 1;
delay_us(&time);
Trig = 0;
while (!Echo);
TR1 = 1;
while (Echo)
{
TR1 = 0;
if (TH1 > 0x80)
break;
}
Distance = ((TH1 << 8) | TL1); // 计算脉冲的高电平时间,然后换算成距离
Distance = Distance * 1.72;
if (Distance < 400) // 假设400是一个合理的距离阈值
LED = 1; // 点亮LED指示灯
else
LED = 0;
}
void main ()
{
while(1)
{
void ultrasonic ();
}
}
回复

使用道具 举报

2

主题

849

帖子

722

积分

二级会员

Rank: 2

积分
722
发表于 2024-4-8 14:39:46 | 显示全部楼层
有大神会的么
回复 支持 反对

使用道具 举报

0

主题

875

帖子

675

积分

二级会员

Rank: 2

积分
675
发表于 2024-4-8 14:40:00 | 显示全部楼层
你应该是用的新版的超声波模块吧  那个模块有点问题 你可以购买旧版的试试
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表