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;                                                         //中断溢出标志
}
相关推荐
xxwxx__10 天前
51单片机 + ESP8266 TCP通信实战:从零实现WiFi远程控制
c语言·嵌入式硬件·tcp/ip·51单片机
智者知已应修善业11 天前
【51单片机串口通信甲机四个按键模拟四位二进制值发送乙机以十进制显示2位数码管】2024-6-14
c++·经验分享·笔记·算法·51单片机
深圳市晶科鑫实业有限公司12 天前
国产TCXO温补晶振是否可以完美替代欧美日系主流型号
人工智能·stm32·单片机·物联网·51单片机·信息与通信
xxwxx__12 天前
51单片机串口通信完全指南:从原理到实战(发送、接收、回环与控制)
c语言·单片机·嵌入式硬件·51单片机
智者知已应修善业13 天前
【51单片机2个外部中断显示中断历时,初始化8左移3位共阳数码管】2024-6-6
c++·经验分享·笔记·算法·51单片机
智者知已应修善业14 天前
【51单片机8位数码管同时倒计时从9999】2024-1-25
c++·经验分享·笔记·算法·51单片机
H__Rick14 天前
C51学习-DAY4
嵌入式硬件·学习·51单片机·硬件工程
H__Rick14 天前
C51学习-DAY7
单片机·嵌入式硬件·学习·51单片机