基于单片机的液位控制器课程设计(B5)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子信息工程专业课程设计任务书
题目:水位自动控制设计
目录
一、总体设计方案 (2)
1.1 设计功能及要求 (2)
1.2 设计方案 (6)
二、硬件设计 (10)
2.1 液位检测电路 (10)
2.2 单片机最小系统 (11)
2.3 LED显示电路 (11)
2.4 按键电路 (12)
2.5 报警电路 (13)
三、软件设计 (15)
3.1 主程序设计 (15)
3.2 子程序设计 (17)
四、结论 (20)
五、设计体会 (21)
参考文献 (22)
一、总体设计方案
本设计从分析水塔水位报警器的原理和设计方法入手,主要基于单片机的硬件电路和语言程序设计,实现一种能够实现水位自动控制、具有自动保护、自动声光报警功能的控制系统。本控制系统由A/D转换部分、单片机控制部分、数码显示部分、电机驱动部分、电机控制部分等构成。同时对各个部分进行了详细的论述,并给出了主要的流程图和软件设计程序。
1.1 设计功能及要求
1、利用单片机和传感器构建一套完整的水位自动控制系统。
功能:1、当水位低于最低点时,电路能自动加水。
2、当高于最高点时,电路能自动停水。
3、该电路的直流电源自行设计。(可采用W78×
×系列)
要求既能实现水位自动控制,又能显示实际水位,便于用户监视。在水塔中经常要根据水面的高低进行水位的自动控制,同时进行水位压力的检测和控制。本液位器具有水位检测、报警、自动上水和排水(上水用电机正转模拟,下水用电机反转模拟)、压力检测功能。
2、该系统以89S52单片机
为水塔水位控制系统的核心,用
传感器采集水压模拟信号,然后
将模拟信号送入A/D转换器,
换算出某一时刻水塔水位的实
际高度,然后拿它与标定水位进行比较,要求实时检测水箱的液位高度,并与开始预设定值做比较,由单片机控制开关的开断进行液位的调整,最终达到液位的预设定值。检测值若高于上限设
定值时,要求报警,断开继电器,控制水泵停止上水;检测值若低于下限设定值,要求报警,开启继电器,控制水泵开始上水。现场实时显示测量值,从而实现对水箱液位的监控。如此重复“测量、比较、开启”这三步,直至实测水位与标定水位的偏差落入给定的精度范围之内。落入给定精度范围之后,将两个水泵同时关停。
电路焊接好后,接通电源,改变液位使检测点变化,当液位在A点以下时红灯连续亮并且发出频率较高的报警声,显示00,电机正转;当A≤液位
3、控制系统中标定水位用键盘输入,用十进制数码显示。本液位器具有水位检测、报警、自动上水和排水、压力检测功能。该控制器主要由89S52单片机,0809A/D转换器,A、B、C三
点水位检测电路,压力检测电路、数码显示电路、键盘和电源电路组成。
4、可根据需要设定液位控制高度,同时具备报警、高度显示等功能,
液位自动控制系统工作流程如下:将压力传感器传送来的电流信号经过前级放大和A/D转换进入单片机,经单片机计算处理(与用户的设定值作比较)。将输出数字量进行D/A转换送给电动执行机构。
5、基于单片机的水位自动控制系统的软件
设计
本论文是以单片机为核心设计水塔水位控制系统,包括硬件电路的设计和控制系统程序的设计。通过此系统使水塔水位保持在要求的高度
1.2 设计方案
1.2.1硬件设计方案
(1)基于单片机的通用水位自动控制系统的硬件设计系统硬件部分的设计采用模块化的设计方法,根据功能的不同,把系统划分为如下模块(图2)。
图2 系统模块图
(1)硬件设计
液位控制器的硬件主要包括由单片机、传感器(带变送器)、键盘电路、数码显示电路、A/D转换器和输出控制电路等。
工作原理:基于单片机实现的液位控制器是以AT89C51芯片为核心,由键盘、数码显示、A/D转换、传感器,电源和控制部分等组成。工作过程如下:水箱(水塔)液位发生变化时,引起连接在水箱(水塔)底部的压力传感器,压力传感器
的压力受到水的压力,即把变化量转化成电压信
号;该信号经过运算放大电路放大后变成幅度为0~5 V标准信号,送入A/D转换器,A/D转换器把模拟信号变成数字信号量,由单片机进行实时数据采集,并进行处理,根据设定要求控制输出,同时数码管显示液位高度。通过键盘设置液位高、低和限定值以及强制报警值。该系统控制器特点是直观地显示水位高度,可任意控制水位高度。
1.2.2软件设计方案
(1)设计框图
(2)原理:通过软件设计将将模拟信号送入A/D转换器,换算出某一时刻水塔水位的实际高度,然后拿它与标定水位进行比较,要求实时检测水箱的液位高度,并与开始预设定值做比较,由单片机控制开关的开断进行液位的调整,最终达到液位的预设定值。检测值若高于上限设定值时,要求报警,断开继电器,控制水泵停止上水;检测值若低于下限设定值,要求报警,开启继
电器,控制水泵开始上水。现场实时显示测量值,从而实现对水
箱液位的监控。
二、硬件设计
2.1 液位检测电路
2.2 单片机最小系统
2.3 LED显示电路
2.4 按键电路
2.5 报警电路
2.6 电源电路
我们组做的是按键电路、报警电路和电源电路PCB板图如下
三、软件设计
3.1 主程序设计
系统主程序设计:
ORG 0000H
AJMP MAIN
ORG 0060H
MAIN: MOV P1, #FFH ;P1 P3口初始化置1
MOV P3,#FFH
JNB P1.3 ,AUT ;若手动在自动位置,跳到自动模式子程序AJMP MEN ;否则转到手动模式子程序
END
自动模式子程序设计
AUT:NOP ;空命令
JNB P1.2 , LG ;水位高—LG
JB P1.1 LD ,;水位没低---LD
CLR P3.1 ;水位低报警
JB P1.0, LDD ;水位未低低---LDD
CLR P3.0 ;水位低低报警
JNB 3.1 P1.6, Y1 ;M1已启动—Y1
CLR P1.4 ;否则启动M1
Y1: JNB P1.7 ,Y2 ;M2已启动---Y2
CLR P1.5 ;否则启动M2
Y2: ACALL DELAY ;延时1分钟
AJMP AUT ;返回自动模式
LDD: JNB P1.6 ,Y3 ;单独运行M1(LDD〈水位〈LD)CLR P1.4
Y3: JB P1.7 Y2
SETB P1.5
AJMP Y2
LG: CLR P3.2 ;水位高报警
LD: AJMP MAIN ;返回主程序
手动模式子程序设计
MEN:NOP