51单片机超声波测距_液位检测_温度检测原理图PCB仿真代码

目录

实物图:

PCB

​原理图​

仿真图

[​编辑 程序](#编辑 程序)

资料下载地址:51单片机超声波测距-液位检测-温度检测原理图PCB仿真代码

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 主控为stc89c52,通过ds18b20进行温度采集,超声波测距,距离不可以超过1m,通过按键可以设置距离上下限阈值 ## 实物图: |

PCB

原理图

仿真图

程序

cpp 复制代码
#define uchar unsigned char
#define uint unsigned int
#define ULint unsigned long int
//温度零上与零下的标志位
char flag=0;
//超声波
char flags=0;
//超声波距离
char flag1s=0;
//计算定时间
uint time=0;
//计算距离
ULint L_=0;
//温度
uint t_=0;
//显示模式  0正常  1最大值调整  2最小值调整
uchar mode=0;

uint Max=490;
uint Min=30;
//按键标志
uchar k=0;
//数值有误
uchar FW=0;
//头函数
#include <reg52.h>
#include <intrins.h>
#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_<Min)
                        {
                                Feng_Start();
                        }
                        else
                        {
                                if(FW!=1)
                                Feng_Stop();
                        }
                        Display_1602(t_/10,L_);
                }
                //调整显示
                else if(mode!=0)
                {
                        //最大最小值
                        Init_MaxMin();
                        while(mode!=0)
                        {
                               
                                Key();
                                if(k==1&&mode==1)
                                {
                                        Init_MaxMin();       
                                   write_com(0x8d);//设置位置                                       
                                }
                                else if(k==1&&mode==2)
                                {
                                        Init_MaxMin();       
                                   write_com(0x8d+0x40);//设置位置       
                                }
                                k=0;
                        }
                        //界面初始化
                        Init1602();
                }
        }
}

void delayms(uint ms)
{
        uchar i=100,j;
        for(;ms;ms--)
        {
                while(--i)
                {
                        j=10;
                        while(--j);
                }
        }
}


//T0中断用来计数器溢出,超过测距范围
void CJ_T0() interrupt 1
{
    flags=1;                                                         //中断溢出标志
}
相关推荐
机器视觉知识推荐、就业指导12 小时前
STC89C52系列单片机简介
单片机·嵌入式硬件·51单片机
沧海一笑-dj13 小时前
【嵌入式】51单片机学习笔记-Keil5软件安装教程
51单片机·嵌入式·keil·keil5·51·keil安装·keil5软件
1+2单片机电子设计14 小时前
STM32 单片机的停车场管理系统设计与实现
stm32·单片机·嵌入式硬件·51单片机
机器视觉知识推荐、就业指导1 天前
51单片机基础知识讲解
嵌入式硬件·mongodb·51单片机
WD137298015571 天前
WD5018 同步整流降压转换器核心特性与应用,电压12V降5V,2A电流输出
stm32·单片机·嵌入式硬件·51单片机
学不动CV了2 天前
基于按键开源MultiButton框架深入理解代码框架(一)(指针的深入理解与应用)
c语言·arm开发·stm32·单片机·开源·51单片机
薄情书生3 天前
基于51单片机的贪吃蛇游戏Protues仿真设计
c语言·嵌入式硬件·51单片机·protues
学不动CV了6 天前
ARM单片机OTA解析(一)
c语言·arm开发·stm32·单片机·嵌入式硬件·51单片机
F133168929577 天前
WD0407 40V 7A 超级肖特基二极管,应用于开关汽车工业控制
stm32·单片机·嵌入式硬件·汽车·51单片机