智能水箱控制器文档格式.docx
《智能水箱控制器文档格式.docx》由会员分享,可在线阅读,更多相关《智能水箱控制器文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
2、单片机的时序·
4
3、引脚极其功能·
5
二、
水箱给水设备系统的构成·
9
三、
本系统8051单片机控制部分·
.10
四、
本系统的工作原理·
11
五、
主程序框图·
六、
本系统程序清单·
13
七、
附录:
本系统电路图·
17
一.绪论
为了解决人工控制的控制准度低、控制速度慢、灵敏度低等一系列问题。
从而我们现在就引入了工业生产的自动化控制。
在自动化控制的工业生产过程中,尤其是在石油﹑化工﹑环保﹑水处理﹑冶金等行业,液位是过程控制系统的重要被控量,在实际工业生产过程中,常常需要对某些设备和容器的液位进行测量和控制。
通过检测与控制,了解容器中的原料﹑半成品或成品的数量,以便调节容器内的输入输出物料的平衡,保证生产过程中各环节的物料搭配得当。
通过控制计算机可以不断监控生产的运行过程,即时地监视或控制容器液位,保证产品的质量和数量。
如果控制系统设计欠妥,系统的液位是否稳定,会造成生产中对液位控制的不合理,导致原料的浪费﹑产品的不合格,影响工业生产的安全与否、生产效率的高低、能源是否能够得到合理的利用等一系列重要的问题。
随着现在工业控制的要求越来越高,甚至造成生产事故,所以设计一个良好的控制系统在工业生产中有着重要的实际意义。
水箱控制实验系统是一个研究和开发先进的控制方法、策略的平台,它具有体积小、功耗小、灵活安全等诸多优点,它不仅能够完成控制系统的设计,还可以通过大量的实验来对系统进行优化。
它是专门针对于过程控制中液位控制研究的实验研究系统,它包含有温度、压力、液位等多种被控变量,通过PLC上位机软件设计控制器,可实现多种控制方式。
同时也可以对控制系统的控制策略进行设计、验证与研究。
水箱液位控制系统的研究与设计为解决实际工程应用提供了良好的研发平台。
单片机系统说明
1.单片机简介
目前,8052单片机在工业检测领域中得到了广泛的应用,因此我们可以在许多单片机应用领域中,配接各种类型的语音接口,构成具有合成语音输出能力的综合应用系统,以增强人机对话的功能。
89C52是Intel公司生产的一种单片机,在一小块芯片上集成了一个微型计算机的各个组成部分。
每一个单片机包括:
一个8位的微型处理器CPU;
一个256K的片内数据存储器RAM;
片内程序存储器ROM;
四个8位并行的I/O接口P0-P3,每个接口既可以输入,也可以输出;
两个定时器/记数器;
五个中断源的中断控制系统;
一个全双工UART的串行I/O口;
片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。
最高允许振荡频率是12MHZ。
以上各个部分通过内部总线相连接。
下面简单介绍下其各个部分的功能。
中央处理器CPU是单片微型计算机的指挥、执行中心,由它读人用户程序,并逐条执
行指令,它是由8位算术/逻辑运算部件(简称ALu)、定时/控制部件,若干寄存器A、B、
B5w、5P以及16位程序计数器(Pc)和数据指针寄存器(DM)等主要部件组成。
算术逻辑单元的硬件结构与典型微型机相似。
它具有对8位信息进行+、-、x、/四则运算和逻辑与、或、异或、取反、清“0”等运算,并具有判跳、转移、数据传送等功能,此外还提供存放中间结果及常用数据寄存器。
控制器部件是由指令寄存器、程序计数器Pc、定时与控制电路等组成的。
指令寄存器中存放指令代码。
枷执行指令时,从程序存储器中取来经译码器译码后,根据不同指令由定时与控制电路发出相应的控制信号,送到存储器、运算器或I/o接口电路,完成指令功能。
程序计数器Pc程序计数器Pc用来存放下一条将要执行的指令,共16位.可对以K字节的程序存储器直接寻址c指令执行结束后,Pc计数器自动增加,指向下一条要执行的指令地址。
CPU功能,总的来说是以不同的方式,执行各种指令。
不同的指令其功自略异。
有的指令涉及到枷各寄存器之间的关系;
有的指令涉及到单片机核心电路内部各功能部件的关
系;
有的则与外部器件如外部程序存储器发生联系。
事实上,cRJ是通过复杂的时序电路完
成不同的指令功能。
所谓cRJ的时序是指控制器控照指今功能发出一系列在时间上有一定
次序的信号,控制和启动一部分逻辑电路,完成某种操作。
2.时序
1.时钟电路M田—52片内设有一个由反向放大器所构成的振荡电路,XTALI和XTAL2分别为振荡电路的输入端和输出端。
时钟可以由内部方式产生或外部方式产生。
采用内部方式时,在C1和C2引脚上接石英晶体和微调电容可以构成振荡器,振荡频率的选择范围为1.2—12MHZ在使用外部时钟时,XTAL2用来输入外部时钟信号,而XTALI接地。
2.时序MGL52单片机的一个执器周期由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单片机的振荡电路图:
3.引脚极其功能
MCS—52系列单片机的40个引脚中有2个专用于主电源引脚,2个外接晶振的引脚,4个控制或与其它电源复用的引脚,以及32条输入输出I/O引脚。
下面按引脚功能分为4个部分叙述个引脚的功能。
1、电源引脚Vcc和Vss
Vcc(40脚):
接+5V电源正端;
Vss(20脚):
接+5V电源正端。
2、外接晶振引脚XTAL1和XTAL2
XTAL1(19脚):
接外部石英晶体的一端。
在单片机内部,它是一个反相放大器的输入端,这个放大器构成采用外部时钟时,对于HMOS单片机,该引脚接地;
对于CHOMS单片机,该引脚作为外部振荡信号的输入端。
XTAL2(18脚):
接外部晶体的另一端。
在单片机内部,接至片内振荡器的反相放大器的输出端。
当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端。
对于CHMOS芯片,该引脚悬空不接。
3、控制信号或与其它电源复用引脚
控制信号或与其它电源复用引脚有RST/VPD、ALE/P、PSEN和EA/VPP等4种形式。
(A).RST/VPD(9脚):
RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。
当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机复位到初始状态。
当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端保持低电平时,无论片内有无程序存储器,均只访问外部程序存储器。
对于片内含有EPROM的单片机,在EPROM编程期间,该引脚用于接21V的编程电源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功能。
P3口的第2功能见下表
单片机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—52系列单片机的引脚作用可归纳为以下两点:
1).单片机功能多,引脚数少,因而许多引脚具有第2功能;
2).单片机对外呈3总线形式,由P2、P0口组成16位地址总线;
由P0口分时复用作为数据总线。
附:
89C52的管脚如
二.水箱给水设备系统的构成
水箱和三只浮球开关组成,其中M1、M2为给水泵机组,LG、LD、LDD分别为水位高、水位低、水位低低浮球开关,当水位高(大于90开度)时,LG闭合,当水位低(小于75开度)时,LD闭合,当水位低低(小于50开度)时,LDD闭合。
为避免电机的起停和电源波动时对电路的影响,输入输出均采用光电隔离。
输出通过继电器,控制水泵机组的起停和报警,其电路图如下
三本系统8052单片机控制部分结构
本系统采用8052单片机,引脚具体控制如下:
P1口和P3口为输入输出检测信号和控制信号。
下面是8052芯片引脚具体分配:
P1.0:
水位低低输入信号。
(低0高1)
P1.1:
水位低输入信号。
P1.2:
水位高输入信号。
(高1,低0)
P1.3:
手动与自动转换输入信号。
(手动1,自动0)
P1.4:
M1起动KM1控制输出信号。
P1.5:
M2起动KM1控制输出信号。
P1.6:
M1开关状态输入信号。
(开0,关1)
P1.7:
M2开关状态输入信号。
P3.0:
水位低低报警输出信号。
P3.1:
水位低报警输出信号。
P3.2:
水位高报警输出信号。
P3.4:
手动起动M1输入信号,低电频有效动作。
P3.5:
手动起动M2输入信号,低电频有效动作。
P3.6:
手动停M1输入信号,低电频有效动作。
P3.7:
手动停M2输入信号,低电频有效动作。
四本系统的工作原理
当水箱水位低时,起动M1、M2给水,水位上升到90%,停M1。
当水箱水位低低(小于50%)时,同时起动M1、M2,当水位上升到50%以上70%以下时,停M2,M1继续运行到水位上升到90%以上才停止工作。
经过调试系统,测得以下数据:
水位从50%--70%,两台泵运行需要约10分钟;
水位从70%--90%,一台泵运行需要约15分钟。
水箱的水位一般保持在70%--90%。
报警控制如下:
当水位高与90开度的时候,由传感器经变送器发送信号,LG闭合,系统水位高报警。
当水位低于75开度的时候,由传感器经变送器发送信号,LD闭合,系统水位低报警。
当水位低与50开度的时候,由传感器经变送器发送信号,LDD闭合,系统水位低低报警。
手动/自动模式转换控制如下:
全自动模式下,系统自动判断水位的状况,选择不同的工作状态。
在手动的模式下,两台给水泵的运行控制可由人工自己操作。
五主程序框图
1主程序框图
2自动模式子程序:
六本系统程序清单
主程序:
ORG0000H
AJMPMAIN
ORG0060H
MAIN:
MOVP1,#FFH;
P1P3口初始化置1
MOVP3,#FFH
JNBP1.3,AVT;
若手动在自动位置,跳到自动模式子程序
AJMPMEN;
否则转到手动模式子程序
END
AUT:
NOP(空命令)
JNBP1.2,LG;
水位高—LG
JBP1.1LD,;
水位没低---LD
CLRP3.1;
水位低报警
JBP1.0,LDD;
水位未低低---LDD
CLRP3.0;
水位低低报警
JNB3.1P1.6,Y1;
M1已启动—Y1
CLRP1.4;
否则启动M1
Y1:
JNBP1.7,Y2;
M2已启动---Y2
CLRP1.5;
否则启动M2
Y2:
ACALLDELAY;
延时1分钟
AJMPAUT;
返回自动模式
LDD:
JNBP1.6,Y3;
单独运行M1(LDD〈水位〈LD)
CLRP1.4
Y3:
JBP1.7Y2
SETBP1.5
AJMPY2
LG:
CLRP3.2;
水位高报警
LD:
AJMPMAIN;
返回主程序
手动控制子程序
MEN:
NOP
JNBP1.1,MAIN;
ACALLKEY
CJNEA,#FOH,NN;
AJMPMEN
NN:
JNBACC.4,HM1
JNBACC.5,HM2
JNBACC.6,DM1
JNBACC.7,DM2
HM1:
JNBP1.6,MEN
HM2:
JNBP1.7,MEN
CLRP1.5
DM1:
JBP1.6,MEN
SETBP1.4
DM2:
JBP1.7,MEN
SETBP1.5
RET
延时1S主程序
T1M1:
MOVR1,#F0H
L4:
MOVR2,#08H
L1:
MOVR3,#FAH
L2:
MOVR4,#FAH
DJNZR4,L1
DJNZR3,L2
DJNZR2,L3
DJNZR1,L4
延时6ms子程序
T1M3:
MOVR4,#12
MM:
MOVR5,#248
DJN2R5,$
DJN2R4,D3
有无键合子程序:
KEY:
ACALLKS1;
有无闭合
JNZLK1
ACALLTIM
AJMPKEY;
无键闭合返回
LK1:
ACALLKS1
JNZLK2
AJMPKEY
LK2:
KS1:
MOVA,P3;
扫描
ANLA,#FOH;
屏蔽低4位
RET
七系统电路示意图