单片机课设水塔水位控制
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计题目:水塔水位控制设计
班级:电气073班
姓名:赵鑫
学号:200708934
指导教师:苟军年
设计时间:2009.12.31
评语:
成绩
一、中文摘要:
单片机自20世纪70年代问世以来,以其极高的性价比,受到人们的重视和关注,应用广、发展快。而MCS-51单片机是各单片机中最为典型和最具代表性的一种。
本次设计以80C51芯片为核心,辅以必要的外围电路,设计了一个简易的水塔水位控制系统,它由5V直流电源供电。在硬件方面,除了CPU外,使用了2732芯片对80C51的 ROM进行4K扩展,并且使用74LS07芯片对外部电路驱动。软件方面采用汇编语言编程,整个水塔水位控制系统能根据水塔水位的高低来决定水泵电机的运转状态,并且在发生故障时由外部电路的LED发光管点亮报警。通过这次设计让我更深入了解单片机基本电路和汇编语言编程的基本方法,从而锻炼了我学习、设计和开发软、硬件的能力。
二、引言:
实验证明,纯净水几乎是不导电的,但自然界存在的以及人们日常使用的水都会含有一定的Mg2+、Ca2+等离子,它们的存在使水导电。本控制装置就是利用水的导电性完成的。
三、设计方案及原理:
如图1所示,虚线表示允许水位变化的上下限。在正常情况下,应保持水位在虚线范围之内。为此,在水塔的不同高度安装了3根金属棒,以感知水位变化情况。
图1 水塔水位控制原理图
图中虚线表示允许水位变化的上下限。在正常情况下,应保持水位在虚线范围之内。为此,在水塔内的不同高度安装3根金属棒,以感知水位的变化情况。其中A棒处于水塔底部,C棒处于上限水位上,B棒处于下限水位上。A棒接+5V 电源,B棒、C棒各通过一个电阻与地相连。水塔由电机带动水泵供水,单片机
控制电机转动以达到对水位控制的目的。
供水时,水位上升,当达到上限时,由于水的导电作用,B 、C 棒连通+5V ,因此,b 、c 两端均为“1”态,这时应停止电机和水泵的工作,不再给水塔供水。
当水位降到下限时,B 、C 棒都不能与A 棒导通,因此b 、c 两端均为“0”状态。这时应启动电机,带动水泵工作,给水塔供水。
当水位处于上下限之间时,B 棒与A 棒导通,因C 棒不能与A 棒导通,b 端为“1”状态,c 端为“0”状态。这时,无论是电机已在带动水泵给水塔加水,水位在不断上升;或者是电机没有工作,用水使水位不断下降,都应该继续维持原有的工作状态。
四、硬件设计:
74LS373
P0.0
P0.1
P0.2
P0.3P0.4P0.5
P0.6P0.7
ALE D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7 G CB
A0A1A2A3A4A5A6A7
O0O1O2O3O4O5O6O7A8A9A10A11
2732
OE CS
80C51
P2.0P2.1P2.2
P2.3
PSEN
P1.2
P1.3XTAL1
XTAL2P1.0P1.1J
+5V
4.7K Ω
4.7K Ω
+5V
+12V 300Ω
+5V 300Ω
LED
74072MHz
5pF 20pF
+5V
INT0 图2 水塔水位控制电路
由于所采用的信号是频率随水位变化而变的脉冲信号(开关量),因此电路设计中省去了A/D
转换部分,这不仅降低了硬件电路的成本,而且由于采用数
字脉冲信号通信,提高了系统的抗干扰能力、稳定性和精度。输入的可变脉冲信
号送到8031的P10和P11脚电平,当接收到信号时,输入脉冲使其输出高电平,而无信号输入时,无触发脉冲,此时翻转为低电平。程序控制8031周期性地对P11和P10脚电平进行采样,达到控制的目的。
1.接受电路得到的是频率随水位变化的调频脉冲,它反映了贮水池水位的高度,对其进行信号处理,便能实现对水位的控制及故障报警等功能。要完成此一工作,最佳的选择是采用微机控制,实验中是以MCS—51系列弹片机8031作CPU。其中8031的时钟频率为6MHz。由于8031没有内部ROM,因此需外扩展程序存储器。本系统采用2732EPROM扩展4K程序存储器,对应地址空间为0000H~0FFFH。
2.74LS373作为地址锁存器。74LS373片内是8个输出带三态门的D锁存器,其结构示意图见图4所示。当使能端G呈高点平时锁存器中的内容可更新,而在返回低电平瞬间实现锁存。如此时芯片的输出控制端为低,也即输出三态门打开,锁存器中的地址信息便可经由三态门输出。
3.两个水位信号由P10和P11输入,这两个信号共有四种组合状态。如表3—1所示。其中第三种组合(b=1、c=0)正常情况下是不能发生的,但在设计中还是应该考虑到,并作为一种故障状态。
c(P1.1)b(P1.0)操作
0 0 电机运转
0 1 维持原状
1 0 故障报警
1 1 电机停转
表1 水位信号状态表
4.控制信号由P12端输出,去控制电机。为了提高控制的可靠性,使用了光电耦合。
5.由P1.3输出报警信号,驱动一只发光二极管进行光报警。
五、软件设计:
一个应用系统,要完成各项功能,首先必须有较完善的硬件作保证。同时还必须得到相应设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编程有时会变得很简单,如数字滤波,信号处理等。因此充分利用其内部丰富的硬件资源和软件资源,采用MCS—51汇编语言和结构化程序设计方法进行软件编程。这个系统程序由主控程序、延时子程序组成。其中主控程序是核心。由它控制着整个系统程序的运行和跳转。流程图如图3所