单片机水位检测.docx
- 文档编号:7393627
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:9
- 大小:1.31MB
单片机水位检测.docx
《单片机水位检测.docx》由会员分享,可在线阅读,更多相关《单片机水位检测.docx(9页珍藏版)》请在冰豆网上搜索。
单片机水位检测
1引言1
2设计方案及原理1
设计原理1
设计方案2
3硬件设计2
时钟电路和手动复位电路3
水位检测接口电路、故障报警电路3
存储器扩展接口电路4
4软件设计4
程序流程图4
运行结果5
5总结7
6参考文献7
7附录7
1引言
随着社会的发展,科技的进步以及人们生活水平的逐步提高,各种方便与生活的自动控制系统开始进入了我们的生活,单片机作为微型计算机发展的一个重要分支,具有高可靠性、高性能价格比、低电压、低功耗等优势,以其为核心的自动控制系统赢得了广泛的应用。
该课程设计的题目是基于单片机的水塔水位控制,在此水塔水位控制系统中,检测信号来自插入水中的3个金属棒,以感知水位变化情况。
工作正常情况下,应保持水位在某一范围内,当水位变化发生故障的时候,及时关断电机电源,发出声、光报警信号。
其目的在于对单片机技术的应用,由单片机实现自动运行,使水塔内水位始终保持在一定范围,以保证连续正常地供水。
该课程设计给出以AT89C51单片机为核心器件的水塔水位检测控制系统仿真设计,实现水位的检测控制、处理和报警等功能,并在Proteus软件环境下模拟仿真。
实验结果表明,该系统具有良好的检测控制功能,可移植性和扩展性好。
2设计方案及原理
设计原理
单片机水塔水位控制原理如图1所示,图中虚线表示容许水位变化的上下线,在正常情况下,应保持水位在虚线范围之内。
其中A棒处于下限水位,C棒处于上限水位,B棒在上下水位之间。
A棒接+5V电源,B棒、C棒各通过一个电阻与地相连。
水塔由电机带动水泵供水,单片机控制电机转动以达到对水位控制之目的。
供水时,水位上升,当达到上限时,由于水的导电作用,BC棒连通+5V。
因此,
b,c两端均为1状态,这时应停止电机和水泵的工作,不再给水塔供水。
当水位处于上下限之间时,B棒与A棒导通。
因C棒不能与A棒导通,b端为1状态,c端为0状态。
这时,无论是电机已在带动水泵给水塔加水,水位在不断上升;或者是电机没有工作,用水使水位在不断下降。
都应继续维持原有的作
状态
当水位降到下限时,B,C棒都不能与A棒导电,因此,b,c两端均为0状态。
这时应启动电机,带动水泵工作,给水塔供水。
设计方案
本设计为一个实际应用系统的水塔水位控制部分。
在此水塔水位控制系统中,检测信号来自插入水中的3个金属棒,以感知水位变化情况。
工作正常情况下,应保持水位在某一范围内,当水位变化发生故障的时候,及时关断电机电源,发出声、光报警信号。
水塔水位的硬件原理图如图2所示。
图2硬件原理图
图2中的硬件和主要控制信号分析如下:
⑴使用8031单片机。
由于8031没有内部ROM,因此需外扩展ROM,作为程序存储器。
本系统采用2732构成4KB的外扩展程序存储器。
74LS373作为地址锁存器。
⑵两个水位信号由和输入,这两个信号共有四种组合状态,如图7—10,其
中10状态正常情况下是不可能发生的,但在设计中应该考虑到,并作为一种故障状态。
⑶控制信号由输出,去控制电机,并串联一个发光二极管,用来显示电机的运转与否。
⑷由输出报警信号,驱动一支发光二极管和一只蜂鸣器进行声光报警。
3硬件设计
水塔水位控制系统主要有CPU(AT89C5)水位检测接口电路、报警接口电路、存储器扩展接口电路、复位电路、时钟振荡等部分组成。
时钟电路和手动复位电路
时钟电路和手动复位电路如图3所示。
图3时钟电路和外部手动复位电路
图3中,在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路。
晶体振荡频率高,则系统的时钟频率也高,单片机运行速度就快,同时对存储器的速度也高。
复位电路的成功与否,关系到一个单片机系统能否正常运行,本设计采用按键电平复位方式,是通过使复位端经电阻与Vcc电源接通而实现的。
水位检测接口电路、故障报警电路
水位检测接口电路、故障报警电路如图4所示。
图4水位检测接口电路、故障声光报警电路
图4中,为了便于水位检测,在实际仿真过程中用一个两位的拨码开关模拟b、c端的状态,从而实现水位状态的四种组合,如图所示7—10。
正电极接和口,每个负电极分别通过的电阻接地,将单片机的口接开关1,口接开关2。
单片机通过负电极重复采集检测水位,当缺水时(此时两个开关均置0),电机必须带动水泵抽水;若水位在正常范围内,检测信号为高电平,此时开关1置1,开关2置0;当水位过高时,检测信号为高电平,此时开关1和开关2都置1,单片机检测到和为高电平后,立即停机。
为了避免系统发生故障时,水位失去控制造成严重后果,在超出和低于警戒线水位时,报警电路产生光电报警。
单片机为启动电机命令输出端口,通过反相器与电机相连,为低电平时电机运转,否则,电机停转;电机故障报警由单片机的和口控制,当为高电平,为低电平时,表示产生故障,贝以低电平,报警灯亮,
同时蜂鸣器响。
出现故障时,电机也停止转动
存储器扩展接口电路
存储器扩展接口电路如图5所示。
FO.O/^ECIFC」朋DdFD.2j(AD^
FO4j'AE4PO.*5^E€FO.HWEflFD.I/AD7
Pi-Di'^eP2JMPS.Zi'AtC]PS.Si'AriP2.4/AT2MjsrAiaPl.OfAMF■仝.TTAfB
P3.C1/R.XDPl.r/T>£-
DE1
Z3
图5扩展4KB外部ROM电路图
图5中,为了便于系统扩展,存放大容量应用程序,系统设计扩展一片程序存储器2732,用于存放源程序代码,因只扩展一片存储器,片选端0E接地074LS373用于地址锁存,地址锁存信号ALE接锁存器的LE端,通过软件设置实现地址和数据信息的传输。
4软件设计
程序流程图
程序流程图如图6所示。
图6中,由于水位状态有四种组合,而水位一直在变化,所以一种水位状态在持续一定时间后要再次判断新的水位,在本设计中,设延时时间为10S,程序的
流程用到了循环结构。
运行结果
图7电机运转
其中,和均为低电平,即水位处于00态,也为低电平,电机运行的指示灯亮;
为高电平,报警指示灯不亮,蜂鸣器不响
图8维持原状
其中,为低电平,为高电平,即水位处于01态,为低电平,电机运行的指示灯亮;为高电平,报警指示灯不亮,蜂鸣器不响。
灯不亮;为低电平,报警指示灯亮,蜂鸣器响
5总结通过这次课程设计,实现了基于单片机的水塔水位控制系统的设计和模拟仿真,完成了此课程设计的全部要求,即硬软件设计,口接线、存储器扩展、设计报告等。
在课程设计过程中,遇到了好多问题,例如,虽然说上学期认真地学习了单片机课程,熟悉了Proteus和Keilc的使用,但由于很长时间的不用,变得有些生疏,通过跟老师和同学请教自己不懂的技巧,再加上这次做课程设计对Proteus和Keilc的进一步使用,使我对上述两种软件更加熟悉,用起来更得心应手,在此,感谢老师和同学们的帮助。
另外,此课程设计用到了好多单片机的知识,遇到一些不懂的问题,通过查资料和跟老师和同学讨论,都一一解决了。
通过这次课程设计,使我更加坚信“千里之行,始于足下”这句话,刚开始拿到题目,觉得很难,只要你勇于思考,勇于探索,最终顺利地完成了此题课程设计,使我的动手实践能力也得到很大的提高。
6参考文献
[1]
[2]
[3]
李华,王思明,张金敏.单片机原理及应用[M].兰州:
兰州大学出版社,2001.
张金敏,董海棠,高博.单片机原理与应用系统设计[M].成都:
西南交通大学出版社,2010.杜树春.基于Proteus和Keilc51的单片机设计与仿真[M].北京:
电子工业出版社,2012.
附录
基于单片机的水塔水位控制系统程序如下,用汇编语言编写,实现单片机的自动运行控制。
ORG
0000H
LOOP:
ORL
P1,#03H
AJMP
LOOP
ORG
0100H
;为检查水位状态做准备
MOV
A,P1
JNB
ONE
;=0则转移
JB
TWO
;=1则转移
BACK:
LCALL
DELAY
;延时
AJMP
LOOP
ONE:
JNB
THREE
;=0转移
CLR
93H
;=0,启动报警装置
SETB
92H
;=1,停止电机工作
FOUR:
SJMP
FOUR
THREE:
CLR
92H
;启动电机
AJMP
BACK
TWO:
SETB
92H
;停止电机
AJMP
BACK
//延时子程序D10(延时10秒)//
//主程序//
ORG
8030H
;延时10秒
DELAY:
MOV
LOOP3:
MOVLOOP1:
MOVLOOP2:
DJNZ
DJNZ
DJNZ
R3,#19H
R1,#85H
R2,#0FAH
R2,LOOP2
R1,LOOP1
R3,LOOP3
RETEND
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 水位 检测