单片机水位检测

上传人:s9****2 文档编号:564763201 上传时间:2022-11-26 格式:DOCX 页数:11 大小:580.33KB
返回 下载 相关 举报
单片机水位检测_第1页
第1页 / 共11页
单片机水位检测_第2页
第2页 / 共11页
单片机水位检测_第3页
第3页 / 共11页
单片机水位检测_第4页
第4页 / 共11页
单片机水位检测_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《单片机水位检测》由会员分享,可在线阅读,更多相关《单片机水位检测(11页珍藏版)》请在金锄头文库上搜索。

1、单 片 机 水 位 检 测 ( 总 9 页 )-本页仅作为文档封面,使用时请直接删除即可- -内页可以根据需求调整合适字体及大小-目录1 引言 12 设计方案及原理 1设计原理 1设计方案 23 硬件设计 2时钟电路和手动复位电路 3水位检测接口电路、故障报警电路 3存储器扩展接口电路 44 软件设计 4程序流程图 4运行结果 55 总结 76 参考文献 77 附录 71 引言随着社会的发展,科技的进步以及人们生活水平的逐步提高,各种方便与生 活的自动控制系统开始进入了我们的生活,单片机作为微型计算机发展的一个重 要分支,具有高可靠性、高性能价格比、低电压、低功耗等优势,以其为核心的 自动控制

2、系统赢得了广泛的应用。该课程设计的题目是基于单片机的水塔水位控制,在此水塔水位控制系统 中,检测信号来自插入水中的 3 个金属棒,以感知水位变化情况。工作正常情况 下,应保持水位在某一范围内,当水位变化发生故障的时候,及时关断电机电 源,发出声、光报警信号。其目的在于对单片机技术的应用,由单片机实现自动 运行,使水塔内水位始终保持在一定范围,以保证连续正常地供水。该课程设计 给出以AT89C51单片机为核心器件的水塔水位检测控制系统仿真设计,实现水位 的检测控制、处理和报警等功能,并在 Proteus 软件环境下模拟仿真。实验结果 表明,该系统具有良好的检测控制功能,可移植性和扩展性好。2 设

3、计方案及原理设计原理单片机水塔水位控制原理如图 1 所示,图中虚线表示容许水位变化的上下 线,在正常情况下,应保持水位在虚线范围之内。其中A棒处于下限水位,C棒 处于上限水位,B棒在上下水位之间。A棒接+5V电源,B棒、C棒各通过一电 阻与地相连。图 1 水塔水位控制原理图 水塔由电机带动水泵供水,单片机控制电机转动以达到对水位控制之目的。 供水时,水位上升,当达到上限时,由于水的导电作用,B、C棒连通+5V。因 此,b,c两端均为1状态,这时应停止电机和水泵的工作,不再给水塔供水。 当水位处于上下限之间时,B棒与A棒导通。因C棒不能与A棒导通,b端 为1状态,c端为0状态。这时,无论是电机已

4、在带动水泵给水塔加水,水位在 不断上升;或者是电机没有工作,用水使水位在不断下降。都应继续维持原有的 作状态。当水位降到下限时,B, C棒都不能与A棒导电,因此,b, c两端均为0状 态。这时应启动电机,带动水泵工作,给水塔供水。设计方案 本设计为一个实际应用系统的水塔水位控制部分。在此水塔水位控制系统 中,检测信号来自插入水中的 3 个金属棒,以感知水位变化情况。工作正常情况 下,应保持水位在某一范围内,当水位变化发生故障的时候,及时关断电机电 源,发出声、光报警信号。水塔水位的硬件原理图如图 2 所示。图 2 硬件原理图图 2 中的硬件和主要控制信号分析如下:使用8031单片机。由于803

5、1没有内部ROM,因此需外扩展ROM,作为程 序存储器。本系统采用2732构成4KB的外扩展程序存储器。74LS373作为地址锁 存器。 两个水位信号由和输入,这两个信号共有四种组合状态,如图710,其 中10状态正常情况下是不可能发生的,但在设计中应该考虑到,并作为一种故 障状态。 控制信号由输出,去控制电机,并串联一个发光二极管,用来显示电机 的运转与否。 由输出报警信号,驱动一支发光二极管和一只蜂鸣器进行声光报警。3 硬件设计水塔水位控制系统主要有CPU (AT89C51)、水位检测接口电路、报警接口电 路、存储器扩展接口电路、复位电路、时钟振荡等部分组成。时钟电路和手动复位电路时钟电路

6、和手动复位电路如图 3 所示。A :-lh-.rnC2I rl; 1时钟电踣XTAL2尺ST1-nF. 电容O O1 C3手动臭位*路j/卜:I . p. |1 XI 丄 C1图 3 时钟电路和外部手动复位电路图3中,在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电 容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路。晶体振荡频率 高,则系统的时钟频率也高,单片机运行速度就快,同时对存储器的速度也高。 复位电路的成功与否,关系到一个单片机系统能否正常运行,本设计采用按键电 平复位方式,是通过使复位端经电阻与 Vcc 电源接通而实现的。水位检测接口电路、故障报警电路水位检测接

7、口电路、故障报警电路如图 4 所示。口.1.2启冲石启.7 ILlLlILlLlllLlL图4 水位检测接口电路、故障声光报警电路图 4 中,为了便于水位检测,在实际仿真过程中用一个两位的拨码开关模拟b、c端的状态,从而实现水位状态的四种组合,如图所示710。正电极接和 口,每个负电极分别通过的电阻接地,将单片机的口接开关1,口接开关2。单 片机通过负电极重复采集检测水位,当缺水时(此时两个开关均置 0),电机必 须带动水泵抽水;若水位在正常范围内,检测信号为高电平,此时开关1 置1, 开关2置0;当水位过高时,检测信号为高电平,此时开关1 和开关2都置1, 单片机检测到和为高电平后,立即停机

8、。为了避免系统发生故障时,水位失去控制造成严重后果,在超出和低于警戒 线水位时,报警电路产生光电报警。单片机为启动电机命令输出端口,通过反相器与电机相连,为低电平时电机运转,否则,电机停转;电机故障报警由单片机 的和口控制,当为高电平,为低电平时,表示产生故障,则为低电平,报警灯 亮,同时蜂鸣器响。出现故障时,电机也停止转动。存储器扩展接口电路存储器扩展接口电路如图5所示。 IjSiKB 的外 3HIOM -FO.OjW DC FO.1ZAD1 FD.2/AD2 FO.3/AD3 FO.4JAD 斗 FO.C/ADfl FO.OZADQ FD.7/AD7Pa.DM 田.T仙 PE.ZfAl 口

9、 曲勺如4 P2.4/A12 Pi.SfAia ps.zrAic383E:373O3-A3S32是T比:z-qL二匚:DDQDD1Q1D22D3Q3D44&5Q5DDQDD77DELEF P0123430 7DDDDDDDDFS.1/TD 图5扩展4KB外部ROM电路图图 5 中,为了便于系统扩展,存放大容量应用程序,系统设计扩展一片程序 存储器 2732,用于存放源程序代码,因只扩展一片存储器,片选端 OE 接地。 74LS373用于地址锁存,地址锁存信号ALE接锁存器的LE端,通过软件设置实现 地址和数据信息的传输。4 软件设计程序流程图程序流程图如图 6 所示。图 6 中,由于水位状态有

10、四种组合,而水位一直在变化,所以一种水位状态 在持续一定时间后要再次判断新的水位,在本设计中,设延时时间为10S,程序 的流程用到了循环结构。运行结果根据硬件原理图,在 Proteus 环境下做出水塔水位控制的仿真图,并在 Proteus 和 Keilc 的联合调试下,进行模拟仿真,仿真结果如图 710 所示。-I_L.一 器席6?辛Thx珞r图 7 电机运转 其中,和均为低电平,即水位处于 00 态,也为低电平,电机运行的指示灯 亮;为高电平,报警指示灯不亮,蜂鸣器不响。图 8 维持原状 其中,为低电平,为高电平,即水位处于 01 态,为低电平,电机运行的指 示灯亮;为高电平,报警指示灯不亮

11、,蜂鸣器不响。STThLI囂,hLGPJCTIWFp inP3DW4F 1 1 4 VIZJFIZi二nI iJ口 arrr iFarrar uFojmp uspa amF 1 TpaTiWlf图 9 电机停转其中,和为高电平,即水位处于 11 态,也为高电平,电机运行的指示灯不 亮;为高电平,报警指示灯不亮,蜂鸣器不响。图 10 故障声光报警其中,为高电平,为低电平,即水位处于10态,为高电平,电机运行的指 示灯不亮;为低电平,报警指示灯亮,蜂鸣器响。5总结通过这次课程设计,实现了基于单片机的水塔水位控制系统的设计和模拟 仿真,完成了此课程设计的全部要求,即硬软件设计,口接线、存储器扩展、设

12、 计报告等。在课程设计过程中,遇到了好多问题,例如,虽然说上学期认真地学 习了单片机课程,熟悉了 Proteus和Keilc的使用,但由于很长时间的不用,变 得有些生疏,通过跟老师和同学请教自己不懂的技巧,再加上这次做课程设计对 Proteus和Keilc的进一步使用,使我对上述两种软件更加熟悉,用起来更得心 应手,在此,感谢老师和同学们的帮助。另外,此课程设计用到了好多单片机的 知识,遇到一些不懂的问题,通过查资料和跟老师和同学讨论,都一一解决了。 通过这次课程设计,使我更加坚信“千里之行,始于足下”这句话,刚开始拿到 题目,觉得很难,只要你勇于思考,勇于探索,最终顺利地完成了此题课程设 计

13、,使我的动手实践能力也得到很大的提高。6参考文献1 李华,王思明,张金敏单片机原理及应用M.兰州:兰州大学出版社,2001.2 张金敏,董海棠,高博.单片机原理与应用系统设计M.成都:西南交通大学 出版社,2010.3 杜树春.基于Proteus和Keilc51的单片机设计与仿真M.北京:电子工业 出版社,2012.7附录基于单片机的水塔水位控制系统程序如下,用汇编语言编写,实现单片机的 自动运行控制。/主程序/0000HORGLOOP:ORLP1,#03HAJMPLOOPORG0100H;为检查水位状态做准备MOVA,P1JNB,ONE;=0则转移JB,TWO;=1则转移BACK:LCALLDELAY;延时AJMPLOOPONE:JNB,THREE;=0转移CLR93H;=0,启动报警装置SETB92H;=1,停止电机工作FOUR:SJMPFOURTHREE:CLR92HAJMP BACKTWO:SETB 92HAJMP BACK/延时子程序D10 (延时10秒)/ORG8030HDELAY:MOV R3,#19HLOOP3: MOVR1,#85HLOOP1:MOV R2,#0FAHLOOP2:DJNZ R2,LOOP2DJNZ R1,LOOP1DJNZ R3,LOOP3RET;启动电机;停止电机;延 时10秒END

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号