单片机超声波测距

本项目采用HC-SR04超声波模块配合STC89C52RC单片机实现20mm至4000mm的距离测量。通过C语言编程,利用定时器计算回声返回时间,结合声音传播速度,计算实际距离,并在LCD1602显示屏上实时显示。项目涉及硬件连接、软件编程及显示模块控制。

项目简介:
用HC-SR04超声波模块测量距离,并用单片机(STC89C52RC)接收信号,计算距离,并在LCD1602上实时显示当前距离。
测量距离范围为:20mm ~ 4000mm。
C语言代码如下:

/*-----------------------
FileName: Ultrasonic.h
Function: 头文件
Author: Zhang Kaizhou
Date: 2019-6-16 18:26:16
------------------------*/
#include <reg52.h>
#include <string.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define FOSC 11.0592 // 系统晶振频率11.0592MHz
#define FACTOR 0.1845 // (距离计算因子)[(12 / FOSC) * 10^-6] * 340 / 2
	
/*主模块端口定义*/
sbit trig = P2^1; // 电平触发输入引脚
sbit echo = P2^0; // 回声输出引脚

/*LCD1602显示模块端口定义*/
sbit lcdrs = P1^0;
sbit lcdrw = P1^1;
sbit lcden = P2^5;

/*主模块函数声明*/
void startUltra();
void timerInit();
void delayUs(uint xus);
void computeDis();

/*LCD1602显示模块函数声明*/
void delay(uint xms);
void writeCommand(uchar command);
void writeDataLCD(uchar dat);
void LCDInit();
void display(float dat);
/*--------------------------------------
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值