基于单片机的水箱水位控制系统浙江师范大学0831230130.docx
《基于单片机的水箱水位控制系统浙江师范大学0831230130.docx》由会员分享,可在线阅读,更多相关《基于单片机的水箱水位控制系统浙江师范大学0831230130.docx(20页珍藏版)》请在冰豆网上搜索。
![基于单片机的水箱水位控制系统浙江师范大学0831230130.docx](https://file1.bdocx.com/fileroot1/2023-7/6/0fe50720-d978-4b17-b0a7-7de37a677b83/0fe50720-d978-4b17-b0a7-7de37a677b831.gif)
基于单片机的水箱水位控制系统浙江师范大学0831230130
数理与信息工程学院
《单片机原理及应用》期末课程设计
题
目:
水箱水位单片机控制系统
专
业:
计算机科学与技术(专升本)
班
级:
计算机071班
姓
名:
李宜桥
学
号:
07191111
指导老师:
余水宝
成
绩:
(2008.6)
第1节引言2
1.1水箱水位单片机控制系统概述2
1.2本设计任务和主要内容2
第2节系统主要硬件电路设计4
2.1单片机控制系统原理4
2.2单片机主机系统电路5
2.2.1时序6
2.2.289C51引脚电路及其功能7
第3节系统的软件设计10
3.1系统主程序设计10
3.2自动模式子程序设计10
3.3手动模式子程序设计12
3.4延时1S子程序设计14
3.5延时6S子程序设计14
3.6有无键合子程序设计14
第4节结束语16
参考文献17
基于单片机的水箱水位控制系统
数理与信息工程学院07计算机专升本李宜桥
指导教师:
余水宝
第1节引言
在人们的日常生活中,房顶水箱水位大都未能实现自动控制,水箱中水位的高低常由水电管理人员进行控制。
不仅浪费人力又会造成不必要的资源浪费。
这在电厂中等大型厂房显得尤为突出。
为了解决经常停水和有效的避免水资源的浪费,节约能源。
设计了一个适用于电厂用水系统的水箱水位控制器。
本系统以8051单片机为核心控制,以电厂600立方米的水箱为例,实现了报警和手动、自动切换功能。
该系统操作方便、性能良好,比较符合电厂生产用水系统控制的需要。
本文还详细地给出了相关的硬件框架和软件流程图,并编制了相应的汇编语言程序。
1.1水箱水位单片机控制系统概述
水是动植物体内和人的身体中不可缺少的物质,可以说,没有水就没有生命的存在。
工农业生产中也不能离开水,水是工农业生产的重要原料。
在农业生产中消耗的淡水量占人类消耗淡水总量的60%—80%,工业上也要用大量的水进行生产。
在自然界中淡水量不到水总量的1%。
据21世纪城市水资源国际学术研讨会透露,联合国已经把我国列为世界上13个最缺水的国家之一,目前我国人均用水量是世界人均用水量的30%左右。
人类现在用水量越来越大,且污染也越来越严重,这就要求我们要保护水资源。
但是人民并没有意识到该问题的严重性,浪费水资源的现象在现实生活中还时有发生。
例如居民生活区楼层顶楼的水箱的浪费问题就很严重。
不仅要安排人力去人为的检测水位,而且还测不准。
不仅造成水资源的浪费还造成财力的浪费。
所以我们何不设计一个自动检测水位的系统呢,这样既不需要安排人力去检测,减少了财力的开支。
又加强了测量的精度,减少了水资源的浪费。
1.2本设计任务和主要内容
本论文主要研究水箱水位控制器系统。
实现了水位报警和手动、自动切换功能。
操作方便、性能良好。
主要内容如下:
1当水箱水位低时,启动M1、M2给水,水位上升到90%,挺M1.当水箱水位低于50%时,同时启动M1、M2,当水位上升到50%以上70%以下时,停M2,M1继续运行到水位上升到90%才停止工作
2当水位高与90开度的时候,由传感器经变送器发送信号,LG闭合,系统水位
高报警。
当水位低于75开度的时候,由传感器经变送器发送信号,LD闭合,系统水位低报警。
当水位低与50开度的时候,由传感器经变送器发送信号,LDD闭合,系统水位低低报警。
3手动/自动模式转换控制如下:
全自动模式下,系统自动判断水位的状况,选择不同的工作状态。
在手动的模式下,两台给水泵的运行控制可由人工自己操作。
第2节系统主要硬件电路设计
2.1单片机控制系统原理
系统电路示意图如下:
图2-1系统电路示意图
MljEihMia
KW1
KM2
系统结构设计图如下
90%
T5%
50%
H2
水泵
图2-2单片机控制系统结构图
其中M1、M2为给水泵机组,LGLDLDD分别为水位高、水位低、水位低低浮球开关,当水位高(大于90开度)时,LG闭合,当水位低(小于75开度)时,LD闭合,当水位低低(小于50开度)时,LDD闭合。
800立方米水箱的控制器由8051系统构成。
为避免电机的起停和电源波动时对电路的影响,输入输出均采用光电隔离。
输出通过继电器,控制水泵机组的起停和报警,其电路图如下:
图2-3单片机控制水泵起停报警图
给水泵电机主控回路图如下
图2-4给水泵电机主控回路图
2.2单片机主机系统电路
目前,8051单片机在工业检测领域中得到了广泛的应用,因此我们可以在许多单片机应用领域中,配接各种类型的语音接口,构成具有合成语音输出能力的综合应用系统,以增强人机对话的功能。
89C51是Intel公司生产的一种单片机,在一小块
芯片上集成了一个微型计算机的各个组成部分。
每一个单片机包括:
一个8位的微型处理器CPU一个256K的片内数据存储器RAM片内程序存储器ROM四个8位并行的I/O接口P0-P3,每个接口既可以输入,也可以输出;两个定时器/记数器;五个中断源的中断控制系统;一个全双工UART勺串行I/O口;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。
最高允许振荡频率是12MHZ以上各个部分通
过内部总线相连接。
下面简单介绍下其各个部分的功能。
中央处理器CPU是单片微型计算机的指挥、执行中心,由它读人用户程序,并逐条执行指令,它是由8位算术/逻辑运算部件(简称ALu)、定时/控制部件,若干寄存器ABB5w5P以及16位程序计数器(Pc)和数据指针寄存器(DM)等主要部件组成。
算术逻辑单元的硬件结构与典型微型机相似。
它具有对8位信息进行+、-、x、/
四则运算和逻辑与、或、异或、取反、清“0”等运算,并具有判跳、转移、数据传送等功能,此外还提供存放中间结果及常用数据寄存器。
控制器部件是由指令寄存器、程序计数器Pc、定时与控制电路等组成的。
指令寄存器中存放指令代码。
枷执行指令时,从程序存储器中取来经译码器译码后,根据不同指令由定时与控制电路发出相应的控制信号,送到存储器、运算器或I/o接口电路,完成指令功能。
程序计数器Pc程序计数器Pc用来存放下一条将要执行的指令,共16位•可对以K字节的程序存储器直接寻址c指令执行结束后,Pc计数器自动增加,指向下一条要执行的指令地址。
CPU功能,总的来说是以不同的方式,执行各种指令。
不同的指令其功自略异。
有的指令涉及到枷各寄存器之间的关系;有的指令涉及到单片机核心电路内部各功能部件的关系;有的则与外部器件如外部程序存储器发生联系。
事实上,cRJ是通过复
杂的时序电路完成不同的指令功能。
所谓cRJ的时序是指控制器控照指今功能发出一系列在时间上有一定次序的信号,控制和启动一部分逻辑电路,完成某种操作。
2.2.1时序
1时钟电路M田—51片内设有一个由反向放大器所构成的振荡电路,XTALI和XTAL2分别为振荡电路的输入端和输出端。
时钟可以由内部方式产生或外部方式产生。
采用内部方式时,在C1和C2引脚上接石英晶体和微调电容可以构成振荡器,振
荡频率的选择范围为1.2—12MHZS使用外部时钟时,XTAL2用来输入外部时钟信号,而XTALI接地。
2时序MGL5I单片机的一个执器周期由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指令期间,外部
数据存储器被访问且被选通时跳过两次取指操作。
下面是51单片机的振荡电路图:
2.2.289C51引脚电路及其功能
MCS-51系列单片机的40个引脚中有2个专用于主电源引脚,2个外接晶振的引脚,4个控制或与其它电源复用的引脚,以及32条输入输出I/O引脚。
下面按引脚功能分为4个部分叙述个引脚的功能。
①电源引脚Vcc和Vss
Vcc(40脚):
接+5V电源正端;
Vss(20脚):
接+5V电源正端。
2外接晶振引脚XTAL1和XTAL2
XTAL1(19脚):
接外部石英晶体的一端。
在单片机内部,它是一个反相放大器的输入端,这个放大器构成采用外部时钟时,对于HMO单片机,该引脚接地;对于
CHOM单片机,该引脚作为外部振荡信号的输入端。
XTAL2(18脚):
接外部晶体的另一端。
在单片机内部,接至片内振荡器的反相放大器的输出端。
当采用外部时钟时,对于HMO单片机,该引脚作为外部振荡信号
的输入端。
对于CHMO芯片,该引脚悬空不接。
3控制信号或与其它电源复用引脚
控制信号或与其它电源复用引脚有RST/VPDALE/P、PSEh和EA/VPP等4种形式。
(A).RST/VPD(9脚):
RST即为RESETVPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。
当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机复位到初始状态。
当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD
(+5V)为内部RAM供电,以保证RAM中的数据不丢失。
(B).ALE/P(30脚):
当访问外部存储器时,ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0口的低
(C).PSEN(29脚):
片外程序存储器读选通输出端,低电平有效。
当从外部程序存储器读取指令或常数期间,每个机器周期PESN两次有效,以通过数据总线口读回指令或常数。
当访问外部数据存储器期间,PESN言号将不出现。
(D).EA/Vpp(31脚):
EA为访问外部程序储器控制信号,低电平有效。
当EA
端保持高电平时,单片机访问片内程序存储器4KB(MS-52子系列为8KB。
若超出
该范围时,自动转去执行外部程序存储器的程序。
当EA端保持低电平时,无论片内
有无程序存储器,均只访问外部程序存储器。
对于片内含有EPROI的单片机,在EPROM编程期间,该引脚用于接21V的编程电源Vppo
4输入/输出(I/O。
引脚P0口、P1口、P2口及P3口
(A).PO口(39脚〜22脚):
P0.0〜P0.7统称为P0口。
当不接外部存储器与不扩展I/O接口时,它可作为准双向8位输入/输出接口。
当接有外部程序存储器或扩展
I/O口时,P0口为地址/数据分时复用口。
它分时提供8位双向数据总线。
对于片内含有EPROM的单片机,当EPRO编程时,从P0口输入指令字节,而当检验程序时,则输出指令字节。
(B).P1口(1脚〜8脚):
P1.0〜P1.7统称为P1口,可作为准双向I/O接口使用。
对于MC—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位地址。
对于EPROMS程和进行程序校验时,P2口接收输入的8位地址。
(D).P3口(10脚〜17脚):
P3.0〜P3.7统称为P3口。
它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。
附:
89C51的引脚如图
PDIP/Cerdip
VCC
PO.C(AXj
PC1(ADI)
PO2{AO打
P0.3㈣"
FD^网巧
PD.5盟的
PQ.6(AC9J
PD.7也眄
ET^vpf
百L三==二&
□P2.7^15)
□32e
□P2.5怡R)
二£AT
n弋,3(AT
□P2.2im
□P2.1(AO)
□P:
.C>B:
图2-651单片机引脚分布
第3节系统的软件设计
3.1系统主程序设计
ORG0000H
AJMPMAIN
ORG0060H
;P1P3口初始化置1
;若手动在自动位置,跳到自动模式子程序
;否则转到手动模式子程序
MAIN:
MOVP1,#FFH
MOVP3,#FFH
JNBP1.3,AUT
AJMPMEN
END
主程序框架图如下:
图3-1
主程序流程图
3.2自动模式子程序设计
AUTNOP
JNBP1.2,LG
;水位低报警
;水位未低低---LDD
;水位低低报警
;M1已启动一丫1
;否则启动M1
;M2已启动---Y2
;否则启动M2
;延时1分钟
;返回自动模式
;单独运行M1(LDD〈水位〈LD)
;水位高报警
;返回主程序
CLRP3.1
JBP1.0,LDD
CLRP3.0
JNB3.1P1.6,Y1
CLRP1.4
Y1:
JNBP1.7,Y2
CLRP1.5
Y2:
ACALLDELAY
AJMPAUT
LDD:
JNBP1.6,Y3
CLRP1.4
Y3:
JBP1.7Y2
SETBP1.5
AJMPY2
LG:
CLRP3.2
LD:
AJMPMAIN
自动模式子程序流程图如下
图3-2自动模式子程序流程图
3.3手动模式子程序设计
MENNOP
;水位高返回主程序
;有无键合
JNBP1.1,MAIN
ACALLKEY
CJNEA,#FOH,NN
AJMPMEN
NN:
JNBACC.4,HM1
JNBACC.5,HM2
JNBACC.6,DM1
JNBACC.7,DM2
AJMPMEN
HM1:
JNBP1.6,MEN
CLRP1.4
AJMPMEN
HM2:
JNBP1.7,MEN
CLRP1.5
AJMPMEN
DM1:
JBP1.6,MEN
SETBP1.4
AJMPMEN
DM2:
JBP1.7,MEN
SETBP1.5
AJMPMEN
RET
手动模式子程序流程图如下:
;1\1?
图3-3手动模式子程序流程图
3.4延时1S子程序设计
延时1S主程序:
T1M1:
MOVR1,#F0H
L4:
MOV
R2,
#08H
L1:
MOV
R3,
#FAH
L2:
MOV
R4,
#FAH
L1:
DJNZ
R4,
L1
DJNZR3,L2
DJNZR2,L3
DJNZR1,L4
RET
3.5延时6S子程序设计
延时6ms子程序:
T1M3:
MOVR4,#12
MM:
MOVR5,#248
DJN2R5,$
DJN2R4,D3
RET
3.6有无键合子程序设计
有无键合子程序:
;有无闭合
KEY:
ACALLKS1
JNZLK1
ACALLTIM
AJMPKEY;无键闭合返回
LK1:
ACALLTIM
ACALLTIM
ACALLKS1
JNZLK2
第4节结束语
通过这次单片机的课程设计,使我认识到单片机的应用领域确实很广泛,不仅培养了我自己的独立思考能力,还加深了对单片机应用的认识。
但我也仅仅是掌握了其中的一小部分而已。
所以设计过程中难免出现差错,以后我会继续学习,不断完善自己。
我所设计的这个系统主要是为了减少人员开支和节约水资源,采用了自动化的结构形式,实现对水箱水位的自动控制。
系统以单片机89C51为核心部件,单片机系统完成对水箱水位信号的采集、处理、等功能;运行程序该系统的主要特点是:
1)工作运行稳定,抗干扰能力强。
能在多种不同环境中运行。
保证了该系统的可靠性。
2)在无需人工干预的情况下,能有效地进行水箱水位自动控制,减少了劳动力,减少了用电量,降低了成本。
3)该控制器具有小巧、经济、可靠、实用和节能降耗的特点。
虽然这次的单片机课程设计已经过去了,但接下来还有一次培养我们自己动手能力的更具挑战性的电子钟课程设计。
我会按时参加本次设计安排的课程、认真查阅相关书籍、努力学习相关方面的知识,争取完成自己的第一个动手能力的课程设计,并努力将其完善。
参考文献
[1]李丹,王新第,杜维.光电耦合器的实用技巧(J).自动化仪表,2003,6[2」陈有卿,谢刚.新颖电子模块应用手册(M).机械工业出版社,2003
[3]姚勇,李忠勤.水箱水位的模拟控制装置(J).煤炭技术,2004,12
[4]刘瑞新.单片机原理及应用教程(M).机械工业出版社,2003,7
[5」汤光华,宋涛.电子技术(M).化学工业出版社,2005
[6]武庆生,仇梅.单片机原理与应用(M).电子科技大学出版,1998,12
[7]朱定华.单片机原理与接口技术(M).电子工业出版社,2001,4