资源描述
单片机课程设计
题 目: 水塔水位控制设计
评语:
成绩
一 引言
本设计为一个实际应用系统的水塔水位控制部分。在此水塔水位控制系统中,检测信号来自插入水中的3个金属棒,以感知水位变化情况。工作正常情况下,应保持水位在某一范围内,当水位变化发生故障的时候,及时关断电机电源,发出声、光报警信号。
单片机自20世纪70年代问世以来,以其极高的性价比,受到人们的重视和关注的应用广、发展快。而MCS-51单片机是各单片机中最为典型和最具代表性的一种。
水塔供水的主要问题是塔内水位应始终保持在一定范围,避免“空塔”、“溢塔”现象发生。目前,控制水塔水位方法较多,其中较为常用的是由单片机控制实现自动运行,使水塔内水位保持恒定,以保证连续正常地供水。实际供水过程中要确保水位在允许的范围内浮动,应采用电压控制水位。首先通过实时检测电压,测量水位变化,从而控制电动机,保证水位正常。因此,这里给出以Atmel公司的80C5l单片机为核心器件的水塔水位检测控制系统仿真设计,实现水位的检测控制、电机故障检测、处理和报警等功能,并在Proteus软件环境下实际仿真。实验结果表明,该系统具有良好的检测控制功能,可移植性和扩展性强。
本次设计以8031芯片为核心,辅以必要的外围电路,设计了一个简易的水塔水位控制系统,它由5V直流电源供电。在硬件方面,除了CPU外,使用了2732芯片对8031的 ROM进行4K扩展,并且使用74LS07芯片对外部电路驱动。软件方面采用汇编语言编程,整个水塔水位控制系统能根据水塔水位的高低来决定水泵电机的运转状态,并且在发生故障时由外部电路的LED发光管点亮报警。
水塔水位控制系统是我国住宅小区广泛应用的供水系统,传统的控制方式存在控制精度低、能耗大的缺点,而自动控制原理,依据用水量的变化自动调节系统的运行参数,保持水压恒定以满足用水要求,从而提高了供水系统的质量。而且成本低,安装方便,经过多次实验证明,灵敏性好,是节约水源,方便家庭和单位控制水塔水位的理想装置。水塔水位控制系统采用交流电压检测水位,水位低于下限点水位时,水泵抽水,水位达到最高水位线时,水泵停止抽水,水位下降到最低水位线以下时,恢复运行抽水,从而实现自动控制。
本次课程设计由王红平同学负责搜集资料,葛满强同学负责整理排版,马海丽同学负责程序部分,张田和杨洁同学负责画图部分。
图中虚线表示允许水位变化的上下限。在正常情况下,应保持水位在虚线范围之内。为此,在水塔内的不同高度安装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”状态。这时,无论是电机已在带动水泵给水塔加水,水位在不断上升;或者是电机没有工作,用水使水位不断下降,都应该继续维持原有的工作状态。
图1 水塔水位控制原理图
三 硬件设计
由P1.3输出报警信号,驱动一只发光二极管进行光报警。
(6)水位检测接口电路为了便于实现水位检测功能,用一个两位的拨码开关模拟b、c端的状态(1、0),正电极接+5 V电源,每个负电极分别通过4.7 kQ的电阻(尺1,R2)接地。将单片机的P1.0端口接开关1,P1.1端口接开关2。假设被水淹没的负电极都为高电平,此时开关置1;露在水面的负电极都为低电平,开关此时置为0。单片机通过负电极重复采集检测水位,当缺水时(此时两个开关均置0),电机必须带动水泵抽水;若水位在正常范围内时,检测信号为高,低电平(此时开关1置1,开关2置0);当水位过高时,检测信号为高电平(此时开关l和2都置1),单片机检测到P1.0和P1.1为高电平后,立即停机。
(7)报警接口电路,为了避免系统发生故障时,水位失去控制造成严重后果,在超出、低于警戒界水位时,报警信号直接从高、低警界水位电极获得。单片机P1.7端口为启动电机命令输出端口,P1.7=0为低电平,经过非门后与电机的另一端接地导通,启动电机工作;P1.7=l为高电平,反之,电机停止工作。电机故障报警由单片机控制,电机故障报警信号由P1.0和P1.1输人。当P1.5为高电平时蜂鸣器报警。水位超过高警戒水位,单片机控制系统使电机停止转动,向水塔内供水工作也停止。
(8)存储器扩展接口电路,为了便于系统扩展,存放大容量应用程序,系统设计扩展一片程序存储器,用于存放源程序代码。74LS373用于锁存地址,单片机的P0.0~P0.7通过复用方式分别接锁存器74LS373的DO~D7和存储器2732的D0~D7端,地址锁存信号线ALE接锁存器的G端,通过软件设置实现地址和数据信息的传输,锁存器的输出端Q0~Q7与存储器地址线A0~A7相连,剩余的3根地址线A8~A11接P2.0~P2.2。
图2 水塔水位控制程序流程图
四 软件设计
水位控制系统主要由CPU(80C51)、水位检测接口电路、报警接口电路、存储器扩展接口电路、复位电路、时钟振荡等部分组成.
表2 真值表
该系统设计是基于在单片机嵌入式系统而设计的,充分利用单片机强大控制功能和方便通信接口,该检测控制系统在实验室某实验水冷却系统得到成功实践,实现水位检测、电机故障检测、处理和报警等功能,提高了实验的自动控制能力。进一步优化系统软硬件设计,可为实时实现远端控制,因此,该系统在农村水塔,城市水源检测控制等领域有着广阔的应用前景。
这次课程设计首先让我对于单片机有了更深一层的认识,对它的意义也有了一定的了解,单片机在数字产品中大放光彩,好多的核心技术都是建立在它的基础上的。其次对于单片机程序也有了进一步的掌握,在前面单片机课程的学习中编写程序是我的大难题,我总是将一些知识点混淆,而这次的课程设计将所学得知识都综合起来,因此我的编写程序的水平也比原来好一点了。同时我也熟悉了一些芯片的使用,很多芯片我在做单片机实验时也用到了,这次的设计让我对80c51芯片的使用有了更详细的了解。当然,在此期间我也遇到了许多困难,开始调试程序时出现了一大堆错误,有语法错误,也有逻辑错误。在老师的指导下,我们一起合作,耐心的排除了所有的错误,成功的调试出了结果。
六 参考文献
[1]李广弟,朱月秀,王秀山.单片机基础 北京:航空航天大学出版社,2000.147~156
[2]康华光,陈大钦.电子技术基础模拟部分 武汉:高等教育出版社,1998.57~116
[3]谢自美.电子线路设计·实验·测试(第二版)武汉:华中理工出版社,2000
[4]杨恢先,黄辉先.单片机原理及应用[M].人民邮电出版社,2006.
[5]曾一江.单片机微机原理与接口技术[M].科学出版社,2006.
附 录
附录一:水塔水位控制电路
附录二: 主程序
ORG 8000H
AJMP LOOP
LOOP: ORL P1,#03H ;为检查水位状态做准备
MOV A,P1
JNB ACC.0,ONE ;P1.0=0则跳至ONE
JB ACC.1,TWO ;P1.1=1则跳至TWO
BACK: ACALL D10S ;延时10S
AJMP LOOP
ONE: JNB ACC.1,THREE ;P1.1=0则跳至THREE
CLR 93H ;P1.3←0,启动报警装置
SETB 92H ;P1.2←1,停止电机工作
FOUR: SJMP FOUR
THREE: CLR 92H ;启动电机
AJMP BACK
TWO: SETB 92H ;停止电机工作
AJMP BACK
D10S: ORG 8030H ;延时子程序D10S(延时10秒)
MOV R3,#19H
LOOP3: MOV R1,#85H
LOOP1: MOV R2,#0FAH
LOOP2: DJNZ R2,LOOP2
DJNZ R1,LOOP1
DJNZ R3,LOOP3
RET
END
附录三:芯片介绍
图3 8031引脚图
单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。
<1>电源:
a.VCC - 芯片电源,接+5V;
b. VSS - 接地端;
<2>时钟:
XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。
<3> 控制线:控制线共有4根
a. ALE/PROG:地址锁存允许/片内EPROM编程脉冲
① ALE功能:用来锁存P0口送出的低8位地址
② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
b. PSEN:外ROM读选通信号。
c.RST/VPD:复位/备用电源。
① RST(Reset)功能:复位信号输入端。
② VPD功能:在Vcc掉电情况下,接备用电源。
d. EA/Vpp:内外ROM选择/片内EPROM编程电
① EA功能:内外ROM选择端。
② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
<4> I/O线
8031共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
展开阅读全文