液位系统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的 步骤都是一样的,假设安装的过程中遇到什么问题,能够留言,我会尽快回复! 系统环境的…

string中c_str()、data()、copy(p,n)函数的用法

转载:http://www.cnblogs.com/qlwy/archive/2012/03/25/2416937.html 标准库的string类提供了3个成员函数来从一个string得到c类型的字符数组:c_str()、data()、copy(p,n)。 1. c_str():生成一个const char*指针,指向以空字符终止…

POJ2402 Palindrome Numbers 回文数

题目链接: http://poj.org/problem?id2402 题目大意就是让你找到第n个回文数是什么. 第一个思路当然是一个一个地构造回文数直到找到第n个回文数为止(也许大部分人一开始都是这样的思路). 很明显找到第n个之前的所有操作都是浪费, 这也是这个方法的最大弱点. 抱着侥幸心理(谁知…

离散卷积的c语言编程实验,数字信号处理实验一离散卷积c语言编程.ppt

数字信号处理实验一离散卷积c语言编程实验一 离散卷积的C语言编程实验 DSP实验室 2005 实验性质 综合设计性实验 实验目的 1 了解和认识常用的各种信号; 2 掌握卷积的定义和计算方法; 3 掌握在计算机中生成以及绘制信号序列图的方法。 实验原理 离散时间…

async-await原理解析

在用async包裹的方法体中,可以使用await关键字以同步的方式编写异步调用的代码。那么它的内部实现原理是什么样的呢?我们是否可以自定义await以实现定制性的需求呢?先来看一个简单的例子: 1 class Test {2 public sta…

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 …

c语言生命游戏代码大全,c++生命游戏源码

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼glViewport( 0, 0, width, height );glMatrixMode( GL_PROJECTION );glLoadIdentity( );}//程序入口int main(int argc, char *argv[]){//随机生成细胞的状态MapRand();std::cout<//SDL初始化const SDL_VideoInfo* info NULL;i…

初学React,setState后获取到的thisstate没变,还是初始state?

问题&#xff1a;(javascript)初学React&#xff0c;setState后获取到的thisstate没变&#xff0c;还是初始state&#xff1f;描述: getInitialState(){return {data:[]};},componentDidMount(){var data [ { author: "Pete Hunt", text: "This is one comment…

sizeof(数组名)和sizeof(指针)

转载&#xff1a;http://blog.csdn.net/kangroger/article/details/20653255 在做这道题时&#xff1a; 32位环境下&#xff0c;int *pnew int[10];请问sizeof(p)的值为&#xff08;&#xff09; A、4 B、10 C、40 D、8 我以为正确答…

工作中的问题

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

数组的sizeof

转载&#xff1a;http://blog.163.com/chen_xinghuan/blog/static/17220158220112182838196/ 数组的sizeof值等于数组所占用的内存字节数&#xff0c;如&#xff1a;   char a1[] “abc”;   int a2[3];   sizeof( a1 ); // 结果为4&#xff0c;字符 末尾还存在一个…

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

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

卓同学的 Swift 面试题

我觉得应该掌握的知识点&#xff0c;没有实际意义。 class 和 struct 的区别不通过继承&#xff0c;代码复用&#xff08;共享&#xff09;的方式有哪些Set 独有的方法有哪些&#xff1f;实现一个 min 函数&#xff0c;返回两个元素较小的元素map、filter、reduce 的作用map 与…

使用CImage双缓冲

一普通显示&#xff1a;现在的VC显示图片非常方便&#xff0c;远不是VC6.0那个年代的技术可比&#xff0c;而且支持多种格式的如JPG&#xff0c;PNG。 CImage _img; 初始化&#xff1a; _img.Load(L"map.png"); 显示&#xff1a;OnPaint事件中 CRect rect; this…

汇编语言学习系列 for循环实现

假如汇编语言要实现如下C语言的功能&#xff0c;编译环境Ubuntu14.04&#xff08;32位&#xff09;。 #include<stdio.h> int fact_for(int n) {int i;int result 1;for(i 2; i < n; i)result * i;return result; }int main(){printf("%d\n", fact_for(3)…

川大锦城c语言期末考试答案,四川大学《计算机组成原理》2018期末考试B卷答案及评分标准.doc...

四川大学期末考试试题(闭卷)答案及评分标准(2017——2018学年第 2 学期) B卷课程号&#xff1a;304036030 课程名称&#xff1a;计算机组成原理填空题(本大题共15空&#xff0c;每空2分&#xff0c;共30分)在评价计算机性能时用 响应时间 表示计算机完成某任务所需时间;用 吞吐…

2014届华为校园招聘机试题2

第一题、输入一个正整数&#xff0c;并编码为字符串进行输出 描述: 1、输入一个正整数&#xff0c;并编码为字符串进行输出。 编码规则为&#xff1a;数字0-9分别编码为字符a-j 2、输入肯定是正整数&#xff0c;不用做错误较验 运行时间限制: 无限制 内存限制: 无限制 输…

图解phpstorm常用快捷键

查询快捷键 CTRLN 查找类 CTRLSHIFTN 全局搜索文件 ,优先文件名匹配的文件 CTRLSHIFTALTN 查找php类名/变量名 ,js方法名/变量名, css 选择器 CIRLB 找变量的来源&#xff0c;跳到变量申明处 (CTRL 鼠标单击 也可以) CTRLALTB 找到继承该接口或者父级 的所有子类, 统计所有子类…

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…

二分查找法的循环与递归实现及时间复杂度分析

转载&#xff1a;http://baike.baidu.com/link?url3aEK-qcVbYi6ioJOsf-dFmvFQ6WQgzTwnE9JkmlHBc88qk-D00SambfrSl3hVh_UyqyxF8QEUosfq20IQQW5z_ 和http://hi.baidu.com/networkor/item/80d817f8331d8e08a7298834 设数组为整数数组&#xff0c;从小到大排序。二分法强调一定是…