液位系统c语言程序,超声波自动测量物体液位系统的设计

超声波自动测量物体液位系统的设计(任务书,毕业论文15000字)

摘要

本系统以STC89C52单片机为核心,通过硬件电路连接和软件程序的编写实现通用型超声波自动测量物体液位系统的设计。其主要原理是由单片机控制超声波发射电路发射超声波,超声波接收电路接收遇到液面后反射回来的超声波回波,单片机计时所用时间, 将测得时间带入相应公式,即可求得当前液位;利用按键可以手动设置容器深度,也可以在容器为空时自动测量出容器深度,达到通用型液位检测仪的设计;DS18B20测温模块实现当前空气温度的测量;最后通过LCD12864液晶不断更新显示当液位与温度。若液位超出预设的最高值,同时LED亮起报警。

硬件部分包括STC89C52单片机,超声波测距部分, LCD12864液晶显示部分,DS18B20测温部分,按键部分和LED报警部分。软件设计分为两块,主程序和中断子程序。主程序完成初始化、超声波发射和接收,距离计算、时间值的读取,结果显示等工作,中断服务子程序主要完成报警工作。

关键词:超声波测距;单片机;液位测量;温度补偿;通用型测液位系统

Abstract

This system use STC89C52 microcontroller as the core, through a combination of hardware and written of software program, achieve the design of general type liquid level measurement system. The main principle is controlled by the microcontroller ultrasonic transmitter circuit launch ultrasound and receives the echo reflected surface encountered while recording the time used microcontroller. Take the measured time into the appropriate formula to obtain the current level. We can set the depth of the container by keys. It is also very convenient to automatically measure the depth of containers by pressing a key when the containers are empty. So that, we can achieve a general type liquid level measurement system. The DS18B20 module can test the current temperature, and put the measured temperature into the temperature compensation formula can making the measurement more accurate results. Last updated through the LCD liquid crystal display the current level and the temperature. If the level exceeds the preset maximum value, LED display a warning red light alarm.

STC89C52 microcontroller hardware including, ultrasonic distance measuring module, LCD12864 module, DS18B20 temperature test module, keys module and the LED alarm module. Software design is divided into two parts, the main program and interrupt service routine. Main program to initialize, transmit and receive ultrasound, distance calculation, get the time and the results display most of the major work. Interrupt service routine mainly finish the work of alrm.

Key words: Ultrasonic distance measurement; SCM; liquid level measurement; Temperature Compensation; Universal liquid level measurement system

2bcc362f0038c8d04f8399eba78646e1.png

5edb8957ef609e43030f66dacfe30d3d.png

目录

第一章  绪论1

1.1 课题的意义和背景1

1.2 液位测量系统的现状1

1.3 国内外液位监测技术的发展方向和发展现状2

1.4 本章小结3

第二章  超声波测液位系统4

2.1 超声波与超声波传感器4

2.2 超声波测液位原理4

2.2.1 超声波测距原理4

2.2.2 超声波测液位原理5

2.3 总体方案设计6

2.4 本章小结6

第三章  硬件系统设计7

3.1 单片机系统7

3.1.1 单片机系统概述7

3.1.2 STC89C52单片机7

3.2 发射电路比较10

3.3 接收电路比较11

3.4 超声波模块13

3.4.1 超声波模块工作原理与特点13

3.4.2 超声波模块内部结构与工作时序14

3.5 LCD12864液晶显示模块16

3.6 温度测量模块17

3.7 报警模块18

3.8 按键设置模块19

3.9 系统电路连接19

3.10 本章小结20

第四章  软件系统设计21

4.1 总体设计思想21

4.2 系统主程序22

4.3 温度补偿子程序22

4.4 基于LCD12864的显示子程序23

4.5 按键设置子程序24

4.6 基于DS18B20的测温子程序26

4.7 报警子程序27

4.8 本章小结27

第五章  系统调试分析28

5.1 硬件调试28

5.2 故障问题解决28

5.3 实验数据29

5.4 误差分析30

结论31

参考文献32

致谢33

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android-sdk-windows版本号下载

Android SDK 4.0.3 开发环境配置及执行 近期又装了一次最新版本号的ADK环境 眼下最新版是Android SDK 4.0.3 本文的插图和文本尽管是Android2.2的 步骤都是一样的,假设安装的过程中遇到什么问题,能够留言,我会尽快回复! 系统环境的…

emacs-w3m查看html帮助手册

<?xml version"1.0" encoding"utf-8"?> emacs-w3m查看html帮助手册emacs-w3m查看html帮助手册 Table of Contents 1. 使用效果2. 为什么要用emacs-w3m来查看html的帮助手册&#xff1f;3. 什么是w3m?4. 配置5. 额外资源1 使用效果 使用快捷键C-c …

工作中的问题

今天写一专题页面&#xff0c;写出的结果在各个浏览器下都不同&#xff0c;心情不好。。。 就是红线的地方老对不齐。。。 在朋友指导下改了下样式好了 右边代码结构 1 <div class"fr Img"> 2 <h3>相关专题</h3> 3 <a href"#"…

数据结构行编辑成簇 c语言,索引的数据结构及底层存储

索引是帮助数据库高效获取数据的数据结构索引的数据结构1.hash表a.利用hash存储的话需要将所有的数据文件添加到内存&#xff0c;比较耗费内存空间b.hash表存储的是无序数据&#xff0c;范围查找的时候需要挨个进行遍历&#xff0c;比较耗费时间。2.二叉树二叉树规定左子树必须…

The C Programming Language--可变参数的函数

函数 printf的正确声明形式为&#xff1a;int printf(char *fmt, ...) void va_start (va list ap, last-required) type va_arg (va list ap, type) void va_end (va list ap) 其中&#xff0c;省略号表示参数表中参数的数量和类型是可变的。 va_list 类型用于声明一个变量&am…

cifar10 c语言,Python3读取深度学习CIFAR-10数据集出现的若干问题解决

今天在看网上的视频学习深度学习的时候&#xff0c;用到了CIFAR-10数据集。当我兴高采烈的运行代码时&#xff0c;却发现了一些错误&#xff1a;# -*- coding: utf-8 -*-import pickle as pimport numpy as np import os def load_CIFAR_batch(filename): """ 载…

各种排序算法总结

转载&#xff1a;http://blog.csdn.net/warringah1/article/details/8951220 明天就要去参加阿里巴巴的实习生笔试了&#xff0c;虽然没想着能进去&#xff0c;但是态度还是要端正的&#xff0c;也没什么可以准备的&#xff0c;复习复习排序吧。 1 插入排序 void InsertSort(in…

CentOS7 上安装 Zookeeper-3.4.9 服务

在 CentOS7 上安装 zookeeper-3.4.9 服务1、创建 /usr/local/services/zookeeper 文件夹&#xff1a; mkdir -p /usr/local/services/zookeeper 2、进入到 /usr/local/services/zookeeper 目录中&#xff1a; cd /usr/local/services/zookeeper 3、下载 zookeeper-3.4.9.…

HTTP响应报文与工作原理详解

HTTP 是一种请求/响应式的协议&#xff0c;即一个客户端与服务器建立连接后&#xff0c;向服务器发送一个请求;服务器接到请求后&#xff0c;给予相应的响应信息。 超文本传输协议(Hypertext Transfer Protocol&#xff0c;简称HTTP)是应用层协议。HTTP 是一种请求/响应式的协议…

android自定义画板,android 自定义控件 -- 画板

如图&#xff1a;package com.example.myview;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Path;import android.graphics.Paint.Style;import android.util.Attrib…

postgreSQl pathman 用法语句总结

2019独角兽企业重金招聘Python工程师标准>>> --新建主表 create table part_test(id int, info text, crt_time timestamp not null); --插入测试数据 insert into part_test select id,md5(random()::text),clock_timestamp() (id|| hour)::interval from generat…

C#-面向对象的多态思想 ---ShinePans

总结: 多态是面向对象的核心.---------能够理解为一个方法,多种实现, 在这里能够用虚方法,抽象类,接口能够实现多态 1.首先利用接口来实现多态: 接口相当于"功能,"接口能够实现多继承,分为 显式实现接口和隐式实现接口 keyword为interface格式: interface 接口名 { …

android jar导出,Android项目导出jar包的小技巧

我们知道&#xff0c;可以通过如下设置将一个普通的Android工程转换成Android Library工程设置前后工程变化如下使用Ant编译时(通过android.bat update project 命令生成 build.xml)&#xff0c;普通的Android工程会生成apk文件&#xff0c;而Android Library工程只生成jar文件…

(五十九)iOS网络基础之UIWebView简易浏览器实现

【UIWebView网络浏览器】 通过webView的loadRequest方法可以发送请求显示相应的网站&#xff0c;例如&#xff1a; NSURL *url [NSURL URLWithString:"http://m.baidu.com"];// 创建请求数据NSURLRequest *request [NSURLRequest requestWithURL:url];// 向服务器发…

无心插柳OR志在必得?阿里推“来往”的意图

近年来&#xff0c;阿里巴巴在外围的动作确实不少&#xff0c;投资新浪微博、投资陌陌&#xff0c;配合阿里自身的一些战略调整&#xff0c;让人觉得这家公司似乎正在经历一场前所未有的“蜕变”。其实这也不难理解&#xff0c;在BAT三国演义中&#xff0c;任何一方都不能对其他…

wampserver的mysql启动与环境变量设置

安装好wampserver以后&#xff0c;mysql服务默认已经启动了。但是直接在命令行里输入"mysql"&#xff0c;系统会提示说 mysql 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。 这是因为没有增加“mysql”环境变量,请跳到第3步阅读。 如果之前已经安…

华为mate30怎么申请鸿蒙内测,华为新系统启动内测,mate30系列尝鲜,网友:羡慕...

原标题&#xff1a;华为新系统启动内测&#xff0c;mate30系列尝鲜&#xff0c;网友&#xff1a;羡慕一款手机是否好用&#xff0c;其实取决于两个方面&#xff0c;一个是硬件&#xff0c;另一个则是软件&#xff0c;大家在购机的时候往往最关注的就是硬件配置&#xff0c;因为…

VMware 11完全安装Mac OS X 10.10

----------------------------------------- 引用原文如下&#xff1a; VMware 11安装Mac OS X 10.10_百度经验 http://jingyan.baidu.com/article/ff411625b9011212e48237b4.html VM11安装Mac OS X 10.10 工具/原料 1.VMware Workstation 11 2.unlocker 203&#xff08;for OS…

用C语言写解释器(一)——我们的目标

声明为提高教学质量&#xff0c;我所在的学院正在筹划编写C语言教材。《用C语言写解释器》系列文章经整理后将收入书中“综合实验”一章。因此该系列的文章主要阅读对象定为刚学完C语言的学生&#xff08;不要求有数据结构等其它知识&#xff09;&#xff0c;所以行文比較罗嗦&…

1_MVC+EF+Autofac(dbfirst)轻型项目框架_core层(以登陆为例)

前言 在上一篇0_MVCEFAutofac(dbfirst)轻型项目框架_基本框架中&#xff0c;我已经介绍了这个轻型框架的层次结构&#xff0c;在下面的这篇文章中&#xff0c;我将以教师登陆功能为例&#xff0c;具体来扩充下我的core层的代码。 在这之前&#xff0c;我想先补充讨论下是否有必…