基于MCS8051单片机水箱控制系统.docx
《基于MCS8051单片机水箱控制系统.docx》由会员分享,可在线阅读,更多相关《基于MCS8051单片机水箱控制系统.docx(30页珍藏版)》请在冰豆网上搜索。
基于MCS8051单片机水箱控制系统
摘要
大型水箱是很多公司生产过程中必不可少的部件,它的性能和工作质量的优良不仅仅对生产有着巨大的影响,而且也关系着生产的安全。
在过去,大量的对水箱操作是由相应的人员进行操作的,这样的人工方式带来了很大的弊端,比如水位的控制,时刻监控水箱的环境,夜间的监控等等,操作员稍有疏忽,或者简易的监测器件损坏,将带来无法弥补的损失,更严重的会威胁到生产人员的人身安全等。
所以对水箱控制,如果能够使用精密的而且完全会严格按照生产规定运行的自动化系统,可以最大限度的避免事故的几率,同时也能节省资源并能有效提高生产的效率。
本单片机系统设计的目的是应用单片机控制技术,以8051单片机为核心控制水箱的水位,并实现了报警和手动、自动切换功能。
该系统操作方便、性能良好,比较符合电厂生产用水系统控制的需要。
关键词:
MCS-8051单片机;水位;控制;报警
ABSTRACT
Largewatertanksarealotofcompaniesessentialtotheproductionprocessofparts,itsperformanceandthequalityofworknotonlyonproductionofthefinehasenormousinfluence,butalsothesafetyofproduction.Inthepast,manyofthetanksareoperatedbythestafftooperate,sothatartificialmeansalotofdrawbacks,suchasthewaterlevelcontrol,watertanksatalltimestomonitortheenvironment,andsoonthenightofmonitoring,theoperatorslightlynegligence,ordamagetotheSummaryofthemonitoringdevicewillbringirreparabledamagewillbeevenmoreseriouscrisisinproduction,suchasthepersonalsafetyofstaff.Therefore,controlofwatertanks,iftheuseofsophisticatedandcantotallyberuninstrictaccordancewiththeprovisionsoftheautomatedproductionsystemthatcanmaximizethechancesofavoidingaccidents,butalsosaveresourcesandcaneffectivelyimprovetheefficiencyofproduction.
Thepurposeofsingle-chipsystemdesignistheapplicationofsingle-chipcontroltechnology,to8051asthecoretocontrolthewaterlevelinwatertanks,andimplementationofthealarmandmanual,automaticswitchingfunction.Thesystemiseasytooperate,goodperformance,moreinlinewiththepowertocontroltheproductionofthenecessarywatersystem.
Keywords:
MCS-8051Single-chip;Level;Control;Alarm
目 录
1绪论1
1.1水箱控制系统的研究意义1
1.2水箱控制系统发展现状1
2单片机水箱控制系统原理2
2.1水箱给水设备系统原理2
2.2单片机控制系统原理2
2.2.180C51单片机控制部分结构说明2
2.2.280C51单片机水箱控制系统工作原理3
3单片机水箱控制系统硬件设计4
3.180C51单片机水箱控制系统硬件简介4
3.1.1数据采集及处理模块4
3.1.2光电隔离简介8
3.1.3给水泵电机主控回路介绍9
3.280C51水箱控制系统主控硬件部署方案9
3.2.180C51单片机实现系统功能说明10
3.2.274LS373芯片实现系统功能说明10
3.2.3EPROM2764芯片实现系统功能说明12
4单片机水箱控制系统程序设计14
4.1程序概要设计14
4.2系统程序原理14
4.2.1系统主程序原理以及流程框图14
4.2.2自动模式子程序原理以及流程框图14
4.2.3手动模式子程序原理框图以及流程框图17
5总结与展望21
参考文献22
致谢23
1绪论
1.1水箱控制系统的研究意义
大型水箱是很多公司生产过程中必不可少的部件,它的性能和工作质量的优良不仅仅对生产有着巨大的影响,而且也关系着生产的安全。
在过去,大量的对水箱操作是由相应的人员进行操作的,这样的人工方式带来了很大的弊端,比如水位的控制,时刻监控水箱的环境,夜间的监控等等,操作员稍有疏忽,或者简易的监测器件损坏,将带来无法弥补的损失,更严重的会危机到生产人员的人身安全等。
所以对水箱控制,如果能够使用精密的而且完全会严格按照生产规定运行的自动化系统,可以最大限度的避免事故的几率,同时也能节省资源并能有效提高生产的效率。
从水资源节约方面考虑,以往的人工控制在很多情况下,造成资源不必要的浪费,大部分原因是水箱内部水位没有及时的反馈信息到操作员,从而使控制上有一定的延迟,从而造成了水量过多或者没能及时补水而导致资源的浪费或生产出现异常。
而对水箱水位的监控以及自动化的引入可以很好的改善补水过多和及时补水的情况,可以很好的节约资源有效的降低成本。
单片机,一小块芯片上集成了一个微型计算机的各个组成部分,它的诞生使众多自动化控制系统得以实现。
80C51以它功能强大,设计简单,制造廉价,支持指令集较多。
所以应用到众多嵌入式系统开发中。
因此,基于80C51单片机的水箱控制系统研究有着重要的意义。
1.2水箱控制系统发展现状
目前,水箱控制系统已不仅仅局限于大型的电厂、煤炭、钢铁等大型企业领域,它以自身的自动化控制系统的安全优势,已经慢慢深入到一些民用水箱产品。
但是目前阶段,它的成本还很高。
比如把一台纯手工家用水箱设计成自动化控制的水箱,从硬件的设计和铺设,对于民用化产品实施的性价比较高。
因此大规模的使用仍受到经济上的限制。
但是,从长远来看,随着自动化技术的改进和硬件成本的降低,以及人们对资源浪费的重视。
水箱控制系统仍然有大规模推广的前景。
我国仍然处于生产型发展中国家,所有几乎在能源相关的所有领域中,水箱是比不可少的部件,即使是发达国家也不例外。
它性能的优良与否关系直接关系到企业的生产安全和效益。
随着我国嵌入式技术的发展,我国控制系统技术已经达到国际水平,但是在中小型企业以及民用产品,大量的水箱控制仍然通过专职的人员进行控制。
随着我国单片机开发技术的逐渐成熟,以及单片机生产成本的下降,基于单片机的水箱控制系统应用到中小型以及民用产品有着较大的发展空间。
而且越来越多的水箱生产厂商开始聘用单片机开发人员和电路设计人员,将控制系统成为水箱设计的一部分,以提高自身产品的安全性能和科技含量来提高产品在市场中的竞争力。
2单片机水箱控制系统原理
2.1水箱给水设备系统原理
水箱给水设备系统由两台给水泵机组、水箱和三只浮球开关组成,其系统结构如图2-1:
图2-1水箱给水系统结构
其中M1、M2为给水泵机组,LG、LD、LDD分别为水位高、水位低、水位低低浮球开关,当水位高(大于90开度)时,LG闭合,当水位低(小于75开度)时,LD闭合,当水位低低(小于50开度)时,LDD闭合。
2.280C51单片机控制系统原理
2.2.180C51单片机控制部分结构说明
本系统采用8051单片机,引脚具体控制如下:
P1口和P3口为输入输出检则信号和控制信号。
下面是8051芯片引脚具体分配:
P1.0:
水位低低输入信号。
(低0,高1)
P1.1:
水位低输入信号。
(低0,高1)
P1.2:
水位高输入信号。
(高1,低0)
P1.3:
手动与自动转换输入信号。
(手动1,自动0)
P1.4:
M1起动KM1控制输出信号。
(手动1,自动0)
P1.5:
M2起动KM1控制输出信号。
(手动1,自动0)
P1.6:
M1开关状态输入信号。
(开0,关1)
P1.7:
M2开关状态输入信号。
(开0,关1)
P3.0:
水位低低报警输出信号。
P3.1:
水位低报警输出信号。
P3.2:
水位高报警输出信号。
P3.4:
手动起动M1输入信号,低电频有效动作。
P3.5:
手动起动M2输入信号,低电频有效动作。
P3.6:
手动停M1输入信号,低电频有效动作。
P3.7:
手动停M2输入信号,低电频有效动作。
2.2.280C51单片机水箱控制系统工作原理
当水箱水位低时,起动M1、M2给水,水位上升到90%,停M1;
当水箱水位低低(小于50%)时,同时起动M1、M2;
当水位上升到50%以上70%以下时,停M2,M1继续运行到水位上升到90%以上才停止工作。
经过数据统计[2],得到以下数据:
水位从50%--70%,两台泵运行需要约10分钟;
水位从70%--90%,一台泵运行需要约15分钟。
水箱的水位一般保持在70%--90%。
报警控制如下:
当水位高于90开度的时候,由传感器经变送器发送信号,LG闭合,系统水位高报警。
当水位低于75开度的时候,由传感器经变送器发送信号,LD闭合,系统水位低报警。
当水位低于50开度的时候,由传感器经变送器发送信号,LDD闭合,系统水位低低报警。
手动/自动模式转换控制如下:
全自动模式下,系统自动判断水位的状况,选择不同的工作状态。
手动的模式下,两台给水泵的运行控制可由人工自己操作。
3单片机水箱控制系统硬件设计
3.180C51单片机水箱控制系统硬件简介
3.1.1数据采集及处理模块
单片机是测量系统数据交换的中心,该系统采用的是80C51单片机,全静态工作时振荡器频率为0~12MHz。
目前,8051单片机在工业检测控制领域中得到了广泛的应用,因此我们可以在许多单片机应用领域中,配接各种外部设备,完成工业自动化的实现。
89C51是Intel公司生产的一种单片机,在一小块芯片上集成了一个微型计算机的各个组成部分。
每一个单片机包括:
一个8位的微型处理器CPU;一个256K的片内数据存储器RAM;片内程序存储器ROM;四个8位并行的I/O接口P0-P3;两个定时器/记数器;五个中断源的中断控制系统;一个全双工UART的串行I/O口;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。
最高允许振荡频率是12MHZ。
以上各个部分通过内部总线相连接。
下面简单介绍下其各个部分的功能。
中央处理器CPU是单片微型计算机的指挥、执行中心,由它读入用户程序,并逐条执行指令,它是由8位算术/逻辑运算部件(简称ALU)、定时/控制部件,若干寄存器A、B、SP以及16位程序计数器(PC)和数据指针寄存器(DM)等主要部件组成。
算术逻辑单元的硬件结构与典型微型机相似。
它具有对8位信息进行+、-、x、/四则运算和逻辑与、或、异或、取反、清“0”等运算,并具有判跳、转移、数据传送等功能,此外还提供存放中间结果及常用数据寄存器。
控制器部件是由指令寄存器、程序计数器PC、定时与控制电路等组成的。
指令寄存器中存放指令代码。
当执行指令时,从程序存储器中取来经译码器译码后,根据不同指令由定时与控制电路发出相应的控制信号,送到存储器、运算器或I/O接口电路,完成指令功能。
程序计数器PC程序计数器PC用来存放下一条将要执行的指令,共16位.可对以K字节的程序存储器直接寻址C指令执行结束后,PC计数器自动增加,指向下一条要执行的指令地址。
数据存储器,RAM,片内为128B,片外最多可外扩64KB。
数据存储器来存储单片机运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等。
片内的128B的RAM,以高速RAM的形式集成在单片机内,可以加快单片机运行的速度,而且这种结构的RAM还可以降低功耗。
图3-1单片机8051的内部结构
程序存储器,ROM,用来存储程序,80C51为4KBROM。
如果片内只读存储器的容量不够,则需要用扩展片只读存储器,片外最多可以扩展到64KB。
定时器/计数器,片内有2个16位的定时器/计数器,具有4种工作方式。
在单片机的应用中,往往需要精确的定时,或对外部事件进行计数,因而需在单片机内部设置定时器/计数器部件。
串行口,1个全双工的串行口,具有4中工作方式。
可用来进行串行通信,扩展并行I/O口,甚至与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更广。
特殊功能寄存器,SFR,共有21个,用于CPU对片内各功能部件进行管理、控制、监视。
单片机的时序功能:
时钟电路80C51片内设有一个由反向放大器所构成的振荡电路,XTALI和XTAL2分别为振荡电路的输入端和输出端。
时钟可以由内部方式产生或外部方式产生。
采用内部方式时,在C1和C2引脚上接石英晶体和微调电容可以构成振荡器,振荡频率的选择范围为1.2-12MHZ在使用外部时钟时,XTAL2用来输入外部时钟信号,而XTALI接地
对于单周期指令,当指令操作码读人指令寄存器时,使从S1P2开始执行指令。
如果是双字节指令,则在同一机器周期的S4读入第二字节。
若为单字节指令,则在51期间仍进行读,但所读入的字节操作码被忽略,且程序计数据也不加1,在加结束时完成指令操作。
多数MCS—51指令周期为1—2个机器周期,只有乘法和除法指令需要两个以上机器周期的指令,它们需4个机器周期。
对于双字节单机器指令,通常是在一个机器周期内从程序存储器中读入两个字节,但MOVX指令例外,MOVX指令是访问外部数据存储器的单字节双机器周期指令,在执行MOVX指令期间,外部数据存储器被访问且被选通时跳过两次取指操作。
下面是80C51单片机的振荡电路如图3-2:
图3-280C51震荡电路原理图
引脚及其功能说明:
80C51单片机的40个引脚中有2个专用于主电源引脚,2个外接晶振的引脚,4个控制或与其它电源复用的引脚,以及32条输入输出I/O引脚。
下面按引脚功能分为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种形式
(1).RST/VPD(9脚):
RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。
当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机复位到初始状态。
当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。
(2).ALE/P(30脚):
当访问外部存储器时,ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0口的低
(3).PSEN(29脚):
片外程序存储器读选通输出端,低电平有效。
当从外部程序存储器读取指令或常数期间,每个机器周期PESN两次有效,以通过数据总线口读回指令或常数。
当访问外部数据存储器期间,PESN信号将不出现。
(4).EA/Vpp(31脚):
EA为访问外部程序储器控制信号,低电平有效。
当EA端保持高电平时,单片机访问片内程序存储器4KB(MS—52子系列为8KB)。
若超出该范围时,自动转去执行外部程序存储器的程序。
当EA端保持低电平时,无论片内有无程序存储器,均只访问外部程序存储器。
对于片内含有EPROM的单片机,在EPROM编程期间,该引脚用于接21V的编程电源Vpp。
输入/输出(I/O)引脚P0口、P1口、P2口及P3口:
(1).P0口(39脚~22脚):
P0.0~P0.7统称为P0口。
当不接外部存储器与不扩展I/O接口时,它可作为准双向8位输入/输出接口。
当接有外部程序存储器或扩展I/O口时,P0口为地址/数据分时复用口。
它分时提供8位双向数据总线。
对于片内含有EPROM的单片机,当EPROM编程时,从P0口输入指令字节,而当检验程序时,则输出指令字节。
(2).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位地址。
(3).P2口(21脚~28脚):
P2.0~P2.7统称为P2口,一般可作为准双向I/O接口。
当接有外部程序存储器或扩展I/O接口且寻址范围超过256个字节时,P2口用于高8位地址总线送出高8位地址。
对于EPROM编程和进行程序校验时,P2口接收输入的8位地址。
(4).P3口(10脚~17脚):
P3.0~P3.7统称为P3口。
它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。
P3口的第2功能见下表1:
表1单片机P3.0管脚含义
引脚
第2功能
P3.0
RXD(串行口输入端0)
P3.1
TXD(串行口输出端)
P3.2
INT0(中断0请求输入端,低电平有效)
P3.3
INT1(中断1请求输入端,低电平有效)
P3.4
T0(时器/计数器0计数脉冲端)
P3.5
T1(时器/计数器1数脉冲端)
P3.6
WR(数据存储器写选通信号输出端,低电平有效)
P3.7
RD(数据存储器读选通信号输出端,低电平有效)
综上所述,MCS—51系列单片机的引脚作用可归纳为以下两点:
(1).单片机功能多,引脚数少,因而许多引脚具有第2功能;
(2).单片机对外呈3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用作为数据总线。
80C51结构图如图3-3:
图3-380C51结构图
3.1.2光电隔离简介
水箱的控制器由8051系统构成。
为避免电机的起停和电源波动时对电路的影响,输入输出均采用光电隔离。
光电隔离是半导体管敏感器件和发光二极管组成的一种新器件,它主要功能是实现电信号的传送。
输入与输出绝缘隔离,信号单向传输,无反馈影响。
抗干扰性强,响应速度快。
工作时,把输入信号加到输入端,使发光管发光,光敏器件在磁光辐射下输出光电流,从而实现电光点的两次转换。
输出通过继电器,控制水泵机组的起停和报警,其电路图如图3-4:
图3-4系统控制电路原理图
3.1.3给水泵电机主控回路介绍
给水泵电机主控回路图3-5如下:
图3-5水泵电机控制电路原理图
3.280C51水箱控制系统主控硬件部署方案
该系统硬件主要由一个80C51单片机,一个74LS373和一个EPROM2764芯片构成。
其原理图如下图3-6:
图3-6基于80C51单片机的水箱控制系统原理图
3.2.180C51单片机实现系统功能说明
80C51为数据采集及处理模块核心,它主要完成系统对水位高低信号是否满足指标的信息采集,对采集到的水位信号通过系统程序进行对信号的判断等处理,根据采集信号的不同,驱动相应信号对应功能的引脚来实现对水箱水位的控制。
3.2.274LS373芯片实现系统功能说明
74LS373是一种带输出三态门的8D锁存器,其结构如图3-7所示。
图3-774LS373结构示意图
引脚功能介绍:
D0~D7为8个输入端;
Q0~Q7为8个输出端;
G为数据锁存控制端;
当G为“1”时,锁存器输出端同输入端;当G由“1”变“0”时,数据输入锁存器中。
OE为输出允许端;
当OE为“0”时,三态门打开;
当OE为“1”时,三态门关闭,输出呈高阻状态。
在该基于80C51单片机水箱控制统中,采用74LS373作为I/O接口驱动使用,具体引脚连接如下:
其与80C51连接方法如下
80C5174LS373
P0.0(32)--------D0(3)
P0.1(33)--------D1(4)
P0.2(34)--------D2(7)
P0.3(35)--------D3(8)
P0.4(36)--------D4(13)
P0.5(37)--------D5(14)
P0.6(38)--------D6(17)
P0.7(39)--------D7(18)
ALE(30)-------LE(11)
其中输入端D0~D7接至单片机的P0口,输出端提供的是低8位地址,G端接至单片机的地址锁存允许信号ALE。
输出允许端OE接地,表示输出三态门一直打开。
3.2.3EPROM2764芯片实现系统功能说明
EPROM2764芯片是8K*8字节的紫外线擦出、可编程只读存储器,单一+5V供电,工作电流为75mA,维持为35mA,读出时间最大为250nS,封装为28引脚的双列直插式封装。
如图3-8所示:
图3-82764结构图
各引脚含义为:
A0-A12为13根地址线,可寻址8K字节;
D0-D7为数据输出线;
CE为片选线;
OE为数据输出通线;
PGM为编程脉冲输入端;
Vcc是电源;
正常工作(只读)时,Vpp=Vcc=+5V,/PGM=+5V。
编程时,Vpp=+25V(高压),/PGM端加入宽度为50ms的负脉冲。
在本系统中,EPROM2764芯片实现的是可编程I/O接口电路的扩展功能,具体引脚连接如下:
2764与80C51引脚连线如下:
80C512764
P0.0(32)--------D0(11)
P0.1(33)--------D1(12)
P0.2(34)--------D2(13)
P0.3(35)--------D3(15)
P0.4(36)---