基于单片机的水箱水位控制系统设计
发布时间:2024-08-30
发布时间:2024-08-30
计算机控制技术 课 程 设 计
成绩评定表
设计课题 基于单片机的水箱水位控制系统设计 学院名称 : 电气工程学院 专业班级 : 自动F0901 学生姓名 : 张航 学 号 : 200948280106 指导教师 : 臧海河 设计地点 : 31-503 设计时间 : 2012-06-11~2011-06-15
计算机控制技术 课 程 设 计
课程设计名称:专 业 班 级 : 自动F0901 学 生 姓 名 : 张航 学 号 : 200948280106 指 导 教 师 : 臧海河 课程设计地点: 31-503 课程设计时间: 2011-06-11~2011-06-15
课程设计
计算机控制技术学生姓名 题 目 工程设计 张航 专业班级
课程设计任务书自动 F0901 学号 200948280106
基于单片机的水箱水位控制系统设计 课题来源 臧海河 1、当水箱水位低时,启动 M1、M2 给水,水位上升到 90%,停 M1.当水箱 水位低于 50%时,同时启动 M1、M2,当水位上升到 50%以上 70%以下时,停 M2,M1 继续运行到水位上升到 90%才停止工作 2、当水位高于 90%的时候,由传感器经变送器发送信号,LG 闭合,系统 自拟
课题性质 指导教师
主要内容 (参数)
水位高报警。当水位低于 70%的时候,由传感器经变送器发送信号, LD 闭合,系统水位低报警。当水位低与 50%的时候,由传感器经变送 器发送信号,LDD 闭合,系统水位低低报警。 3、手动/自动模式转换控制如下:全自动模式下,系统自动判断水位的状 况,选择不同的工作状态。在手动的模式下,两台给水泵的运行控制可 由人工自己操作。
第 1 天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。 第 2 天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元 任务要求 (进度) 件参数选择要有依据,各单元电路的设计要有详细论述。 第 3 天:软件设计,编写程序。 第 4-5 天:撰写课程设计报告。要求内容完整、图表清晰、语言流畅、格 式规范、方案合理、设计正确,篇幅不少于 6000 字。
2
课程设计
1、 李丹,王新第,杜维.光电耦合器的实用技巧(J).自动化仪表,2003,6
主要参考 资料
2、陈有卿,谢刚.新颖电子模块应用手册(M).机械工业出版社,2003 3、武庆生,仇梅.单片机原理与应用(M).电子科技大学出版,1998,12 4、 朱定华.单片机原理与接口技术(M).电子工业出版社,2001,4
审查意见 系(教研室)主任签字: 年 月 日
3
目 录
一、 引 言..........................................................................................................5
1.1 水箱水位单片机控制系统概述........................................................5 1.2 本设计任务和主要内容.........................................................................6
二、 系统主要硬件电路设计.....................................................................7
2.1 单片机控制系统原理...............................................................................7 2.2 单片机主机系统电路..............................................................................10
2.2.1 时序.........................................................................................................10 2.2.2 80C51引脚电路及其功能.................................................................11
三、 系统的程序设计......................................................................................12
3.1 系统主程序设计........................................................................................12 3.2 自动模式子程序设计..............................................................................14 3.3 手动模式子程序设计..............................................................................17 3.4 延时1S子程序设计..............................................................................20 3.5 延时6S子程序设计...............................................................................20 3.6 有无键合子程序设计.............................................................................20
四、 结束语............................................................................................................21
参考文献........................................................................................................22
基于单片机的水箱水位控制系统
(1)、 引言
在人们的日常生活中,房顶水箱水位大都未能实现自动控制,水箱中水位的高低一般由水电管理人员进行控制。不仅浪费人力还造成不必要的资源浪费。这在电厂中等大型厂房显得更加突出。为了解决经常停水和有效的避免水资源的浪费,节约能源。设计了一个适用于电厂用水系统的水箱水位控制器。
本系统以8051单片机为核心控制,以电厂600立方米的水箱为例,实现了报警和手动、自动切换功能。该系统操作方便、性能良好,比较符合电厂生产用水系统控制的需要。
1)1)水箱水位单片机控制系统概述
水是动植物体内和人的身体中不可缺少的物质,可以说,没有水就没有生命的存在。工农业生产中也不能离开水,水是工农业生产的重要原料。在自然界中淡水量不到水总量的1%。据21世纪城市水资源国际学术研讨会透露,联合国已经把我国列为世界上13个最缺水的国家之一,目前我国人均用水量是世界人均用水量的30%左右。人类现在用水量越来越大,且污染也越来越严重,这就要求我们要保护水资源。
但是人民并没有意识到该问题的严重性,浪费水资源的现象在现实生活中还时有发生。例如居民生活区楼层顶楼的水箱的浪费问题就很严重。不仅要安排人力去人为的检测水位,而且还测不准。不仅造成水资源的浪费还造成财力的浪费。
所以我们何不设计一个自动检测水位的系统呢,这样既不需要安排人力去检测,减少了财力的开支。又加强了测量的精度,减少了水资源的浪费。
1)2)本设计任务和主要内容
本论文主要研究水箱水位控制器系统。实现了水位报警和手动、自动切换功能。操作方便、性能良好。
主要内容如下:
① 当水箱水位低时,启动M1、M2给水,水位上升到90%,停M1.当水箱水位低于50%时,同时启动M1、M2,当水位上升到50%以上70%以下时,停M2,M1继续运行到水位上升到90%才停止工作
②当水位高与90%的时候,由传感器经变送器发送信号,LG闭合,系统水
位高报警。当水位低于70%的时候,由传感器经变送器发送信号,LD闭合,系统水位低报警。当水位低与50%的时候,由传感器经变送器发送信号,LDD闭合,系统水位低低报警。
③手动/自动模式转换控制如下:全自动模式下,系统自动判断水位的状况,选择不同的工作状态。在手动的模式下,两台给水泵的运行控制可由人工自己操作。
(2)系统主要硬件电路设计 2)1)单片机控制系统原理
系统电路示意图
图(1)电路示意图(protel)
系统结构设计图如下:
图(2)单片机控制系统结构图
其中M1、M2为给水泵机组,LG、LD、LDD分别为水位高、水位低、水位低低浮球开关,当水位高(大于90开度)时,LG闭合,当水位低(小于70开度)时,LD闭合,当水位低低(小于50开度)时,LDD闭合。
600立方米水箱的控制器由89c51系统构成。为避免电机的起停和电源波动时对电路的影响,输入输出均采用光电隔离。输出通过继电器,控制水泵机组的起停和报警,其电路图如下:
图(3)单片机控制水泵起停报警图
给水泵电机主控回路图如下:
图(4)给水泵电机主控回路图
2)2)单片机主机系统电路
目前,8051单片机在工业检测领域中得到了广泛的应用,因此我们可以在许多单片机应用领域中,配接各种类型的语音接口,构成具有合成语音输出能力的综合应用系统,以增强人机对话的功能。
CPU功能,总的来说是以不同的方式,执行各种指令。不同的指令其功自略异。有的指令涉及到枷各寄存器之间的关系;有的指令涉及到单片机核心电路内部各功能部件的关系;有的则与外部器件如外部程序存储器发生联系。事实上,cRJ是通过复杂的时序电路完成不同的指令功能。所谓cRJ的时序是指控制器控照指今功能发出一系列在时间上有一定次序的信号,控制和启动一部分逻辑电路,完成某种操作。
2)2)1) 时序
时序 MGL5l单片机的一个执器周期由6个状态(s1—s6)组成,每个状态又持续2个接荡周期,分为P1和P2两个节拍。这样,一个机器周期由12个振荡周期组成。若采用12MHz的晶体振荡器,则每个机器周期为1us,每个状态周期为1/6us;在一数情况下,算术和逻辑操作发生在N期间,而内部寄存器到寄存器的传输发生在P2期间。对于单周期指令,当指令操作码读人指令寄存器时,使从S1P2开始执行指令。如果是双字节指令,则在同一机器周期的s4读人第二字节。若为单字节指令,则在51期间仍进行读,但所读入的字节操作码被忽略,且程序计数据也不加1。在加结束时完成指令操作。多数Mcs—51指令周期为1—2个机器周期,只有乘法和除法指令需要两个以上机器周期的指令,它们需4个机器周期。 对于双字节单机器指令,通常是在一个机器周期内从程序存储器中读人两个字节,但Movx指令例外,Movx指令是访问外部数据存储器的单字节双机器周期指令,在执行Movx指令期间,外部数据存储器被访问且被选通时跳过两次取指操作。
2)2)2) 80C51引脚电路及其功能
下面按引脚功能分为4个部分叙述个引脚的功能。 ①电源引脚Vcc和Vss
Vcc(40脚):接+5V电源正端; Vss(20脚):接+5V电源正端。 ②外接晶振引脚XTAL1和XTAL2
XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHOMS单片机,该引脚作为外部振荡信号的输入端。
XTAL2(18脚):接外部晶体的另一端。在单片机内部,接至片内振荡器的反相放大器的输出端。当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端。对于CHMOS芯片,该引脚悬空不接。
③控制信号或与其它电源复用引脚
控制信号或与其它电源复用引脚有RST/VPD、ALE/P、PSEN和EA/VPP等4种形式。
④输入/输出(I/O)引脚P0口、P1口、P2口及P3口
(A).P0口(39脚~22脚):P0.0~P0.7统称为P0口。当不接外部存储器与不扩展I/O接口时,它可作为准双向8位输入/输出接口。当接有外部程序存储器或扩展I/O口时,P0口为地址/数据分时复用口。它分时提供8位双向数据总线。
对于片内含有EPROM的单片机,当EPROM编程时,从P0口输入指令字节,而当检验程序时,则输出指令字节。
(B).P1口(1脚~8脚):P1.0~P1.7统称为P1口,可作为准双向I/O接口使用。对于MCS—52子系列单片机,P1.0和P1.1还有第2功能:P1.0口用作定时器/计数器2的计数脉冲输入端T2;P1.1用作定时器/计数器2的外部控制端T2EX。对于EPROM编程和进行程序校验时,P0口接收输入的低8位地址。
(C).P2口(21脚~28脚):P2.0~P2.7统称为P2口,一般可作为准双向I/O接口。当接有外部程序存储器或扩展I/O接口且寻址范围超过256个字节时,P2口用于高8位地址总线送出高8位地址。对于EPROM编程和进行程序校验时,P2口接收输入的8位地址。
(D).P3口(10脚~17脚):P3.0~P3.7统称为P3口。它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。 附:89C51的引脚图
图(5) 51单片机引脚分布
三、系统的程序设计
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
;否则转到手动模式子程序
主程序框架图如下:
图(6)主程序流程图
3)2)自动模式子程序设计
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 AJMP AUT LDD: JNB P1.6 ,Y3 CLR P1.4 Y3: JB P1.7 Y2
SETB P1.5 AJMP Y2
LG: CLR P3.2 LD: AJMP MAIN
1分钟
M1(LDD〈水位〈LD)
;延时;返回自动模式;单独运行;水位高报警;返回主程序