一、电路设计
超声波测距的基本原理和系统框图,给出了超声波发射和接收电路,通过盲区的消除以及环境温度的采样,提高了测距的精确度。利用超声波传输中距离与时间的关系,采用8051单片机进行控制及数据处理,设计出了能精确测量两点间距离的超声波液位检测系统。系统主要由超声波发射器电路、超声波接收器电路、单片机控制电路、环境温度检测电路及显示电路构成。利用所设计出的超声波液位检测系统,对液面进行了测试,采集当时的环境温度获得精确的速度,计算出液面距离。此系统具有易控制、工作可靠、测量精度高的优点,可实时检测液位。
二、运行效果图
三、部分代码
include
#include
#include "BJ_Key.h" //±¨¾¯°´¼ü
#include "display.h" //ÏÔʾͷº¯Êý
#include "ultrasonic_wave.h"//³¬Éù²¨Í·º¯Êý
#include "DS18B20.h" //ζȴ«¸ÐÆ÷Í·º¯Êý
//º¯ÊýÉùÃ÷
void delayms(uint ms);
//Ö÷º¯Êý
void main()
{
Init_ultrasonic_wave();
//ÆÁÄ»³õʼ»¯
Init1602();
//ζȳõʼ»¯
tmpchange();
t_=tmp();
tmpchange();
t_=tmp();
tmpchange();
t_=tmp();
//Ñ»·ÏÔʾ
while(1)
{
Key();
//Õý³£ÏÔʾ
if(mode==0)
{
StartModule();//Æô¶¯³¬Éù²¨
while(!RX); //µ±RXΪÁãʱµÈ´ý
TR0=1; //¿ªÆô¼ÆÊý
while(RX); //µ±RXΪ1¼ÆÊý²¢µÈ´ý
TR0=0; //¹Ø±Õ¼ÆÊý
delayms(20); //20MS
tmpchange(); //ζÈת»»
t_=tmp(); //¶ÈζÈ
Conut(t_/10); //¼ÆËã¾àÀë
if(L_>Max||L_
🔥 项目分享:
https://gitee.com/feifei1122/simulation-project