基于51单片机的三路超声波测距系统(定时器方式测距)

本文介绍了一款基于STC89C51/STC89C52单片机的项目,通过LCD1602显示屏实时显示三路超声波传感器HCSR04和US100的测量结果,同时预留按键接口,便于用户操作。详细讲解了LCD1602初始化、按键扫描和超声波测距的代码实现。
摘要由CSDN通过智能技术生成

功能说明:
基于51单片机的三路(可更多)HCSR04、US100(io模式)超声波测距代码

注意事项:

处理器:STC89C51/STC89C52

显示屏:LCD1602

超声波:HCSR04、US100(io模式)

预留按键任务接口方便用户使用

相关引脚连线中文注释:

#include<reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
//---定义lcd1602使用的IO口---//
#define LCD_DATA P0
sbit RS=P2^7;
sbit RW=P2^6;
sbit EN=P2^5;
//---定义 按键 使用的IO口---//
sbit key1=P1^5; 
sbit key2=P1^6; 
sbit key3=P1^7;
//---定义 led 使用的IO口---//
sbit led=P2^1;
//HCSR04/US100超声波接口
sbit Trig1 = P2^0;  
sbit Echo1 = P2^1;

sbit Trig2 = P2^2;  
sbit Echo2 = P2^3;

sbit Trig3 = P3^7;  
sbit Echo3 = P3^6;

主函数程序:

void 
main()
{
    lcd_init(); 									//1602初始化
	Timer_Init();	 								//初始化定时器
    while(1)										//循环读取 并更新数据显示
    {
  		key_scan();	  								//扫描按键(预留)
		get_distance(1);							//计算超声波1距离
		dis_str(0,0,"US1:");dis_shu(4,0,distance1);	//超声波1距离显示
		get_distance(2);							//计算超声波2距离
	    dis_str(0,1,"US2:");dis_shu(4,1,distance2);	//超声波2距离显示
		get_distance(3);							//计算超声波3距离
	    dis_str(9,1,"US3:");dis_shu(13,1,distance3);//超声波3距离显示		
    }
}

全部资料链接见评论区,有问题请留言~
作者:amusen
时间:2022.4
祝好!
资料下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

amusen.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值