项目简介:
用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);
/*--------------------------------------

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





