目 录
摘 要 . .............................................................................................................. 1
第1章 引 言 . .............................................................................................. 2
第2章 单片机水箱水位控制器的原理 . ...................................................... 3
2.1 单片机概述 ........................................................................................... 3
2.2 水箱给水设备原理 ............................................................................... 3
2.3 80C51单片机控制系统原理................................................................ 4
2.3.1 80C51单片机控制部分结构说明 ............................................... 4
2.3.2 单片机水箱控制系统工作原理 . .................................................. 5
第3章 单片机水箱水位控制器硬件设计 . .................................................. 6
3.1 单片机水箱水位控制器系统硬件简介 ............................................... 6
3.1.1 数据采集及处理模块 . .................................................................. 6
3.1.2 光电隔离简介 . ............................................................................ 12
3.1.3 给水泵电机主控回路介绍 . ........................................................ 13
3.2 80C51水箱控制系统主控硬件部署方案.......................................... 13
3.2.1 80C51单片机实现控制功能说明 ............................................. 13
3.2.2 74LS373芯片实现系统功能说明 ............................................. 13
3.2.3 EPROM2764芯片实现系统功能说明 ...................................... 15
第4章 单片机水箱水位控制器程序设计 . ................................................ 18
4.1 程序概要设计 ..................................................................................... 18
4.2 控制器程序原理 ................................................................................. 18
4.2.1 系统主程序原理以及流程框图 . ................................................ 18
4.2.2 自动模式子程序原理以及流程框图 . ........................................ 19
4.2.3 手动模式子程序原理框图以及流程框图 . ................................ 20
结束语 . ............................................................................................................ 23
致 谢 . ............................................................................................................ 24
参考文献 . ........................................................................................................ 25
摘 要
大型水箱是很多公司生产过程中必不可少的部件,它的性能和工作质量的优良不仅仅对生产有着巨大的影响,而且也关系着生产的安全。在过去,大量的对水箱操作是由相应的人员进行操作的,这样的人工方式带来了很大的弊端,比如水位的控制,时刻监控水箱的环境,夜间的监控等等,操作员稍有疏忽,或者简易的监则器件损坏,将带来无法弥补的损失,更严重的会危机到生产人员的人身安全等。所以,对水箱控制,如果能够使用精密的而且完全会严格按照生产规定运行的自动化系统,可以最大限度的避免事故的几率,同时也能节省资源并能有效提高生产的效率。
本单片机系统设计的目的是应用单片机控制技术,以单片机为核心控制水箱的水位,并实现了报警和手动、自动切换功能。该系统操作方便、性能良好,比较符合电厂生产用水系统控制的需要。
关键词:单片机;水位;控制;报警
第1章 引 言
水箱水位控制系统是我国广泛应用的供水系统,传统的控制方式存在控制精度低、能耗大的缺点,而自动控制的原理,一句用水量的变化自动调节协同的运行参数,保持水压恒定以满足用水要求,从而提高了供水系统的质量。而且成本低,安装方便,经过多次的实验证明,灵敏性好,是节约水源,方便家庭和单位控制水位的理想装置。该系统采用单片机实现了水位的自动控制,设计出一种成本低、高实用价值的水位控制器。它能自动完成上水停水的全部循环,保证液面高度处于较理想的范围内,它结构简单,制造成本低,灵敏度高,节约能源显著,适用于各种高层液体储存的理想设备。
不论社会经济如何飞速,水在人们正常生活和生产中起着重要的作用。一旦断了水,轻则给人民生活带来极大的不便,重则可能造成严重的生产事故及损失,从而对供水系统提出了更高的要求,满足及时、准确、安全充足的供水。如果仍然使用人工方式,劳动强度大,工作效率低,安全性难以保障,由此必须进行自动化控制系统的改造。从而实现提供足够的水量、平稳的水压、水位的自动控制有设计成本低、高实用价值的控制器。
单片机,一小块芯片上集成了一个微型计算机的各个组成部分,它的诞生使众多自动化控制系统得以实现。单片机以它功能强大,设计简单,制造廉价,支持指令集较多。所以应用到众多系统开发中。
因此,基于单片机的水箱水位控制器研究有着重要的意义。
第2章 单片机水箱水位控制器的原理
2.1 单片机概述
单片微型计算机(Single Chip Microcomputer,SCM )简称单片机,是把微型计算机的基本功能部件(中央处理器CPU 、数据存储器RAM 、程序存储器ROM 、定时/计数器以及I/O接口等)集成在一块芯片上的一种微型计算机。随着SCM 在架构上的不断发展,新一代单片机不断涌现,这些单片机的控制功能被不断扩充,许多外围功能部件被内装化,如A/D、PWM 、WDT 等,所以已不能用SCM 来准确表达其内涵了。目前国际上统一称单片机为MCU 。在国内,因单片机一词已约定俗成而继续沿用,但其内涵应该对应MCU 。由于单片机主要是面向控制的,因此又称其为微控制器。
2.2 水箱给水设备原理
水箱给水设备系统由两台给水泵机组、水箱和三只浮球开关组成,其系统结构如图2-1;系统框图2-2;
图2-1 水箱给水控制器结构图
2-2 系统总体图
其中M1、M2为给水泵机组,LG 、LD 、LDD 分别为水位高、水位低、水位低低浮球开关,当水位高(大于90开度)时,LG 闭合,当水位低(小于75开度)时,LD 闭合,当水位低低(小于50开度)时,LDD 闭合。
2.3 80C51单片机控制系统原理
2.3.1 80C51单片机控制部分结构说明
本系统采用的单片机引脚具体控制如下:
P1口和P3口为输入输出检则信号和控制信号。
下面是芯片引脚具体分配:
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.3.2 单片机水箱控制系统工作原理
当水箱水位低时,起动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 闭合,系统水位低低报警。
手动/自动模式转换控制如下:
全自动模式下,系统自动判断水位的状况,选择不同的工作状态。 手动的模式下,两台给水泵的运行控制可由人工自己操作。
第3章 单片机水箱水位控制器硬件设计
3.1 单片机水箱水位控制器系统硬件简介
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 、B5w 、5P 以及16位程序计数器(Pc)和数据指针寄存器(DM)等主要部件组成。算术逻辑单元的硬件结构与典型微型机相似。它具有对8位信息进行+、-、x 、/ 四则运算和逻辑与、或、异或、取反、清“0”等运算,并具有判跳、转移、数据传送等功能,此外还提供存放中间结果及常用数据寄存器。控制器部件是由指令寄存器、程序计数器Pc 、定时与控制电路等组成的。指令寄存器中存放指令代码。枷执行指令时,从程序存储器中取来经译码器译码后,根据不同指令由定时与控制电路发出相应的控制信号,送到存储器、运算器或I /o 接口电路,完成指令功能。程序计数器Pc 程序计数器Pc 用来存放下一条将要执行的指令,共16位.可对以K
字节的程序存储器直接寻址c 指令执行结束后,Pc 计数器自动增加,指向下一条要执行的指令地址。
数据存储器,RAM ,片内为128B, 片外最多可外扩64KB 。数据存储器来存储单片机运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等。片内的128B 的RAM ,以高速RAM 的形式集成在单片机内,可以加快单片机运行的速度,而且这种结构的RAM 还可以降低功耗。
程序存储器,ROM ,用来存储程序,80C51为4KB ROM。如果片内只读存储器的容量不够,则需要用扩展片只读存储器,片外最多可以扩展到64KB 。
中断系统,具有5个中断源,2级中断优先权。
定时器/计数器,片内有2个16位的定时器/计数器,具有4种工作方式。在单片机的应用中,往往需要精确的定时,或对外部事件进行计数,因而需在单片机内部设置定时器/计数器部件。
串行口,1个全双工的串行口,具有4中工作方式。可用来进行串行通信,扩展并行I/O口,甚至与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更广。
特殊功能寄存器,SFR ,共有21个,用于CPU 对片内各功能部件进行管理、控制、监视。
单片机的时序功能:
时钟电路:80C51片内设有一个由反向放大器所构成的振荡电路,XTALI 和XTAL2分别为振荡电路的输入端和输出端。
时钟可以由内部方式产生或外部方式产生。采用内部方式时,在C1和C2引脚上接石英晶体和微调电容可以构成振荡器, 振荡频率的选择范围为
1.2—12MHZ 在使用外部时钟时,XTAL2用来输入外部时钟信号,而XTALI 接地。
时序:80C51单片机的一个执器周期由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 指令期间,外部数据存储器被访问且被选通时跳过两次取指操作。下面是80C51单片机的振荡电路。图如3-1:
图3-1 80C51震荡电路原理图 [8]
引脚及其功能说明:
80C51单片机的40个引脚[7]中有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 ,V PD 为备用电源,所以该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机复位到初始状态。
当V CC 发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源V PD (+5V)为内部RAM 供电,以保证RAM 中的数据不丢失。
(2)ALE/ P (30脚):当访问外部存储器时,ALE (允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P 0口的低
(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脚):P 0.0~P 0.7统称为P 0口。当不接外部存储器与不扩展I/O接口时,它可作为准双向8位输入/输出接口。当接有外部程序存储器或扩展I/O口时,P 0口为地址/数据分时复用口。它分时提供8位双向数据总线。
对于片内含有EPROM 的单片机,当EPROM 编程时,从P 0口输入指令字节,而当检验程序时,则输出指令字节。
(2)P1口(1脚~8脚):P 1. 0~P 1. 7统称为P 1口,可作为准双向I/O接口使用。对于MCS —52子系列单片机,P 1.0和P1.1还有第2功能:P 1.0口用作定时器/计数器2的计数脉冲输入端T2;P 1.1用作定时器/计数器2的外部控制端T2EX 。对于EPROM 编程和进行程序校验时,P 0口接收输入的低8位地址。
(3)P2口(21脚~28脚):P 2. 0~P 2.7统称为P 2口,一般可作为准双向I/O接口。当接有外部程序存储器或扩展I/O接口且寻址范围超过256个字节时,P 2口用于高8位地址总线送出高8位地址。对于EPROM 编程和进行程序校验时,P 2口接收输入的8位地址。
(4)P3口(10脚~17脚):P 3.0~P 3.7统称为P 3口。它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P 3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。
P 3口的第2功能见下表3-1:
单片机P3.0管脚含义
表1-1单片机P3.0管脚含义
表3-1 P 3口的第2功能表
综上所述,MCS —51系列单片机的引脚作用可归纳为以下两点:
(1)单片机功能多,引脚数少,因而许多引脚具有第2功能;
(2)单片机对外呈3总线形式,由P 2、P 0口组成16位地址总线;由P 0口分时复用作为数据总线。
80C51结构图如图3-2下:
图3-2 80C51结构图
3.1.2 光电隔离简介
水箱的控制器由8051系统构成。为避免电机的起停和电源波动时对电路的影响,输入输出均采用光电隔离。
光电隔离是半导体管敏感器件和发光二极管组成的一种新器件,它主要功能是实现电信号的传送。输入与输出绝缘隔离,信号单向传输,无反馈影响。抗干扰性强,响应速度快。
工作时,把输入信号加到输入端,使发光管发光,光敏器件在磁光辐射下输出光电流,从而实现电光点的两次转换。
继电器隔离是用电信号控制继电器的机械触电来实现隔离控制。
输出通过继电器,控制水泵机组的起停和报警,其电路图如图3-3:
图3-3 系统控制电路原理图
3.1.3 给水泵电机主控回路介绍
给水泵电机主控回路,图3-4如下:
图3-4 水泵电机控制电路原理图
3.2 80C51水箱控制系统主控硬件部署方案
3.2.1 80C51单片机实现控制功能说明
80C51为数据采集及处理模块核心,它主要完成系统对水位高低信号是否满足指标的信息采集,对采集到的水位信号通过系统程序进行对信号的判断等处理,根据采集信号的不同,驱动相应信号对应功能的引脚来实现对水箱水位的控制。
3.2.2 74LS373芯片实现系统功能说明
74LS373是一种带输出三态门的8D 锁存器,其结构如图3-6所示。
图3-6 74LS373结构示意图
引脚功能介绍:
D0~D7为8个输入端;
Q0~Q7为8个输出端;
G 为数据锁存控制端;
当G 为“1”时,锁存器输出端同输入端;当G 由“1”变“0”时,数据输入锁存器中。
OE 为输出允许端;
当OE 为“0”时,三态门打开;
当OE 为“1”时,三态门关闭,输出呈高阻状态。
在该基于80C51单片机水箱控制统中,采用74LS373作为I/O接口驱动使用,具体引脚连接如下:
其与80C51连接方法如下:
80C51----------74LS373
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)
/OE(1)、GND(10)接地
VCC(20)接+5V
注:括号内位引脚编号
实际连接请参考图3-8所示。
其中输入端D0~D7接至单片机的P0口,输出端提供的是低8位地址,G 端接至单片机的地址锁存允许信号ALE 。输出允许端OE 接地,表示输出三态门一直打开。
3.2.3 EPROM2764芯片实现系统功能说明
EPROM2764芯片是8K*8字节的紫外线擦出、可编程只读存储器,单一+5V供电,工作电流为75mA ,维持为35mA, 读出时间最大为250nS, 封装为28引脚的双列直插式封装。如图3-7所示:
图3-7 2764结构图
各引脚含义为:
A0-A12为13根地址线,可寻址8K 字节;
D0-D7 为数据输出线;
CE 为片选线;
OE 为数据输出通线;
PGM 为编程脉冲输入端;
Vpp 是编程电影院;
Vcc 是住电源。
正常工作(只读) 时,Vpp=Vcc=+5V,/PGM=+5V。
编程时,Vpp=+25V(高压),/PGM端加入宽度为50ms 的负脉冲。 在本系统中,EPROM2764芯片实现的是可编程I/O接口电路的扩展功能,具体引脚连接如下:
2764与80C51引脚连线如下:
80C51----------2764
P0.0(32)--------D0·(11)
P0.1(33)--------D1·(12)
P0.2(34)--------D2·(13)
P0.3(35)--------D3·(15)
P0.4(36)--------D4·(16)
P0.5(37)--------D5·(17)
P0.6(38)--------D6·(18)
P0.7(39)--------D7·(19)
P2.0(21)--------A8·(25)
P2.1(22)--------A9·(24)
P2.2(23)--------A10·(21)
P2.3(24)--------A11·(23)
P2.4(25)--------A12·(2)
/PSEN(29)-----/OE·(22)
/CE(20)接地
VCC 、PGM 、VPP 接+5V
74LS373与2764引脚连接如下:
74LS373--------2764
Q0(2)----------A0·(10)
Q1(5)----------A1·(9)
Q2(6)----------A2·(8)
Q3(9)----------A3·(7)
Q4(12)---------A4·(6)
Q5(15)---------A5·(5)
Q6(14)---------A6·(4)
Q7(19)---------A7·(3)
注:括号内位引脚编号
实际电路连接图如图3-8所示:
图3-8 基于80C51单片机的水箱控制系统电路图
第4章 单片机水箱水位控制器程序设计
4.1 程序概要设计
本系统程序开发,使用的语言给汇编语言。程序实现当水位处于LH(高) 、LD(低) 或LDD(低低) 时,报警信号输出,判断泵水方式(自动或手动) 。当水位到达规定容量时,停止泵水。在次程序中,低电平为有效(即0为有效), 高电平为无效(即1为无效) 。
4.2 控制器程序原理
4.2.1 系统主程序原理以及流程框图
主程序要实现的是,对数据的初始化,并且判断用户是使用自动模式还是手动模式,根据用户的具体需求:
若用户选择自动模式,则程序调用自动化子程序;
若用户选择手动模式,则程序调用手动子程序。
主程序原理框图如下图4-1
图4-1 主程序原理框图
4.2.2 自动模式子程序原理以及流程框图
自动模式子程序运行的前置条件是,系统开始运行,并且用户选择使用自动化控制模式。
自动模式子程序首先判断水位是否高LG ,若水位高于指标,则运行“水位高报警”程序,并返回主程序。若水位不高,则判断水位是否低LD ,若水位低,则试运行“水位低报警”程序。然后判断水位是否低低LDD :
若水位没有达到LDD 的指标,则试判断“M1是否开启”,若没有开启,则开启M1;若“M1开启”则判断“M2是否开启”,若“M2开启”,则程序运行“停止M2”程序;若“M2没有开启”,则试程序运行“延迟1分钟”, 一分钟后程序“返回主程序”。
若水位达到水位LDD 的指标,则运行“水位低低报警”,然后程序判断“M1是否开启”,若“M1未开启”则运行“M1开启”程序;若“M1开启”则程序判断“M2是否开启”,若“M2未开启”则运行“M2开启”程序,若“M2开启”,则运行“延迟一分钟”,一分钟后程序“返回主程序”。
自动模式子程序原理框图如图4-2:
图4-2 自动模式子程序原理框图
4.2.3 手动模式子程序原理框图以及流程框图
手动模式子程序运行的前置条件是,系统开始运行,并且用户选择使用自手动控制模式。
手动模式子程序中判断语句的条件是依据用户的具体操作。
手动模式子程序首先判断“水位是否LG ” ,若水位LG 达到指标,则程序返回主程序;若水位LG 未达到指标,则程序运行“判断有无键合”:
若“判断没有键合”则子程序进行循环;
若“判断键合”,则程序判断“M1是否键合”。
若用户操作“M1键合”,则程序运行“判断M1是否开启”:
若“M1开启”则子程序进行循环;
若“判断M1未开启”,则程序运行“开启M1”。
若用户操作“M1不键合”,则程序判断“M2是否键合”:
若用户操作“M2键合”,则程序运行“判断M2是否开启”;
若“M2开启”则子程序进行循环;
若“判断M2未开启”,则程序运行“开启M2”。
若程序判断用户均未进行“M1、M2键合”,则程序要判断“是否停止M1键合”:若用户操作“M1停止键合”,则程序判断“M1是否停止”;
若“M1停止”,则子程序循环;
若“M1没有停止”,则程序运行“停止M1”。
若用户不操作“M1停止键合”,则程序判断“是否停止M2键合”:
若用户操作“M2停止键合”,则程序判断“M2是否停止”,若“M2停止”,则子程序循环;
若“M2没有停止”,则程序运行“停止M2”。
手动模式子程序原理框图如图4-3:
图4-3 手动模式子程序原理框
结束语
纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC 卡、电子宠物等,这些都离不开单片机。以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了。所以,它的魔力不仅是在现在,在将来将会有更多的 人来接受它、使用它。据统计,我国的单片机年容量已达3亿片,且每年以大约20%的速度增长,但相对于世界市场我国的占有率还不到1%。特别是沿海地区的玩具厂等生产产品多数用到单片机,并不断地辐射向内地。所以,学习单片机在我国是有着广阔前景的。
而在本次的毕业论是基于单片机的水箱控制系统,主要核心就是80C51单片机。通过这次设计,我综合运用大学四年所学知识去分析和解决问题,我深刻的了解和掌握了单片机的控制原理和设计方法。不仅加深和回顾了但单片机等专业知识而且积累到单片机控制技术在实际中的经验。
由于自身缺少在实践设计的经验,所以在这次的设计中我自身也发现了很多不足的方面,从论文的本身的方面的结构到具体设计中硬件设计知识和经验的不足使得设计和论文存在的很多的问题,但是我的导师程老师的细心指导下,经过前后多次的修改和完善,最终完成了毕业设计的任务。单片机控制技术领域是一个有着非常潜力和前景的专业技术,我相信通过这次毕业论文的设计,不仅加深和掌握了这一专业技术,而且也提高了自己的专业能力和综合素质,为我的大学生涯画下一个完整的句号。
致 谢
在这次毕业设计的过程中,我的指导老师徐志刚老师给予了我很大的帮助,提供了相关的资料,对我的毕设作品给予了指导和支持。使我顺利圆满的完成了此次毕业设计。在此,向徐志刚老师表示衷心的感谢!
大学三年是我一生的重要阶段,是学习专业知识及提高各方面能力为以谋生发展的重要阶段。从跨入大学的校门的那一刻起我就把这一信念作为人生的又一座右铭。
徐志刚老师的亲切关怀和精心指导,虽然有繁忙的工作,但仍抽出大量时间给予我学术上的指导和帮助,从设计草案的确定和修改,开题报告,中期检查,后期详细设计,每一步都是在老师的帮助下完成的,从这个过程中获益不浅。徐老师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。通过该次论文设计使我掌握了基本的研究方法,树立了远大的学术目标。在此,向老师致以深深的敬意和由衷的感谢。
最后,再次感谢学校及领导的大力支持,以及电气工程系的各位老师和许多的朋友、同学在各个方面给予了我很多的帮助和支持,让我坚持到了最后,谢谢你们!
参考文献
[1] 黄仁欣. 单片机原理及应用技术. 清华大学出版社.2005
[2] 李广弟. 单片机基础. 北京航天大学出版社.2001
[3] 胡文金. 单片机应用技术实训教程. 重庆大学出版社.2005
[4] 刘文涛. 单片机开发实例. 清华大学出版社.2005
[5] 王义方. 微型计算机原理及应用. 机械工业出版社.1997
[6] 王治刚. 单片机应用技术与实训. 清华大学出版社.2004
[7] 张毅坤. 单片微型计算机原理及应用. 西安电子科技大学出版社.1998
[8] 任为民. 电子技术基础课程设计. 中央广播电视大学出版社.1997
[9] 朱月秀. 单片机原理与应用. 科学出版社.2004
[10] 李世馨. 模拟电子技术基础. 高等教育出版社.2001
目 录
摘 要 . .............................................................................................................. 1
第1章 引 言 . .............................................................................................. 2
第2章 单片机水箱水位控制器的原理 . ...................................................... 3
2.1 单片机概述 ........................................................................................... 3
2.2 水箱给水设备原理 ............................................................................... 3
2.3 80C51单片机控制系统原理................................................................ 4
2.3.1 80C51单片机控制部分结构说明 ............................................... 4
2.3.2 单片机水箱控制系统工作原理 . .................................................. 5
第3章 单片机水箱水位控制器硬件设计 . .................................................. 6
3.1 单片机水箱水位控制器系统硬件简介 ............................................... 6
3.1.1 数据采集及处理模块 . .................................................................. 6
3.1.2 光电隔离简介 . ............................................................................ 12
3.1.3 给水泵电机主控回路介绍 . ........................................................ 13
3.2 80C51水箱控制系统主控硬件部署方案.......................................... 13
3.2.1 80C51单片机实现控制功能说明 ............................................. 13
3.2.2 74LS373芯片实现系统功能说明 ............................................. 13
3.2.3 EPROM2764芯片实现系统功能说明 ...................................... 15
第4章 单片机水箱水位控制器程序设计 . ................................................ 18
4.1 程序概要设计 ..................................................................................... 18
4.2 控制器程序原理 ................................................................................. 18
4.2.1 系统主程序原理以及流程框图 . ................................................ 18
4.2.2 自动模式子程序原理以及流程框图 . ........................................ 19
4.2.3 手动模式子程序原理框图以及流程框图 . ................................ 20
结束语 . ............................................................................................................ 23
致 谢 . ............................................................................................................ 24
参考文献 . ........................................................................................................ 25
摘 要
大型水箱是很多公司生产过程中必不可少的部件,它的性能和工作质量的优良不仅仅对生产有着巨大的影响,而且也关系着生产的安全。在过去,大量的对水箱操作是由相应的人员进行操作的,这样的人工方式带来了很大的弊端,比如水位的控制,时刻监控水箱的环境,夜间的监控等等,操作员稍有疏忽,或者简易的监则器件损坏,将带来无法弥补的损失,更严重的会危机到生产人员的人身安全等。所以,对水箱控制,如果能够使用精密的而且完全会严格按照生产规定运行的自动化系统,可以最大限度的避免事故的几率,同时也能节省资源并能有效提高生产的效率。
本单片机系统设计的目的是应用单片机控制技术,以单片机为核心控制水箱的水位,并实现了报警和手动、自动切换功能。该系统操作方便、性能良好,比较符合电厂生产用水系统控制的需要。
关键词:单片机;水位;控制;报警
第1章 引 言
水箱水位控制系统是我国广泛应用的供水系统,传统的控制方式存在控制精度低、能耗大的缺点,而自动控制的原理,一句用水量的变化自动调节协同的运行参数,保持水压恒定以满足用水要求,从而提高了供水系统的质量。而且成本低,安装方便,经过多次的实验证明,灵敏性好,是节约水源,方便家庭和单位控制水位的理想装置。该系统采用单片机实现了水位的自动控制,设计出一种成本低、高实用价值的水位控制器。它能自动完成上水停水的全部循环,保证液面高度处于较理想的范围内,它结构简单,制造成本低,灵敏度高,节约能源显著,适用于各种高层液体储存的理想设备。
不论社会经济如何飞速,水在人们正常生活和生产中起着重要的作用。一旦断了水,轻则给人民生活带来极大的不便,重则可能造成严重的生产事故及损失,从而对供水系统提出了更高的要求,满足及时、准确、安全充足的供水。如果仍然使用人工方式,劳动强度大,工作效率低,安全性难以保障,由此必须进行自动化控制系统的改造。从而实现提供足够的水量、平稳的水压、水位的自动控制有设计成本低、高实用价值的控制器。
单片机,一小块芯片上集成了一个微型计算机的各个组成部分,它的诞生使众多自动化控制系统得以实现。单片机以它功能强大,设计简单,制造廉价,支持指令集较多。所以应用到众多系统开发中。
因此,基于单片机的水箱水位控制器研究有着重要的意义。
第2章 单片机水箱水位控制器的原理
2.1 单片机概述
单片微型计算机(Single Chip Microcomputer,SCM )简称单片机,是把微型计算机的基本功能部件(中央处理器CPU 、数据存储器RAM 、程序存储器ROM 、定时/计数器以及I/O接口等)集成在一块芯片上的一种微型计算机。随着SCM 在架构上的不断发展,新一代单片机不断涌现,这些单片机的控制功能被不断扩充,许多外围功能部件被内装化,如A/D、PWM 、WDT 等,所以已不能用SCM 来准确表达其内涵了。目前国际上统一称单片机为MCU 。在国内,因单片机一词已约定俗成而继续沿用,但其内涵应该对应MCU 。由于单片机主要是面向控制的,因此又称其为微控制器。
2.2 水箱给水设备原理
水箱给水设备系统由两台给水泵机组、水箱和三只浮球开关组成,其系统结构如图2-1;系统框图2-2;
图2-1 水箱给水控制器结构图
2-2 系统总体图
其中M1、M2为给水泵机组,LG 、LD 、LDD 分别为水位高、水位低、水位低低浮球开关,当水位高(大于90开度)时,LG 闭合,当水位低(小于75开度)时,LD 闭合,当水位低低(小于50开度)时,LDD 闭合。
2.3 80C51单片机控制系统原理
2.3.1 80C51单片机控制部分结构说明
本系统采用的单片机引脚具体控制如下:
P1口和P3口为输入输出检则信号和控制信号。
下面是芯片引脚具体分配:
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.3.2 单片机水箱控制系统工作原理
当水箱水位低时,起动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 闭合,系统水位低低报警。
手动/自动模式转换控制如下:
全自动模式下,系统自动判断水位的状况,选择不同的工作状态。 手动的模式下,两台给水泵的运行控制可由人工自己操作。
第3章 单片机水箱水位控制器硬件设计
3.1 单片机水箱水位控制器系统硬件简介
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 、B5w 、5P 以及16位程序计数器(Pc)和数据指针寄存器(DM)等主要部件组成。算术逻辑单元的硬件结构与典型微型机相似。它具有对8位信息进行+、-、x 、/ 四则运算和逻辑与、或、异或、取反、清“0”等运算,并具有判跳、转移、数据传送等功能,此外还提供存放中间结果及常用数据寄存器。控制器部件是由指令寄存器、程序计数器Pc 、定时与控制电路等组成的。指令寄存器中存放指令代码。枷执行指令时,从程序存储器中取来经译码器译码后,根据不同指令由定时与控制电路发出相应的控制信号,送到存储器、运算器或I /o 接口电路,完成指令功能。程序计数器Pc 程序计数器Pc 用来存放下一条将要执行的指令,共16位.可对以K
字节的程序存储器直接寻址c 指令执行结束后,Pc 计数器自动增加,指向下一条要执行的指令地址。
数据存储器,RAM ,片内为128B, 片外最多可外扩64KB 。数据存储器来存储单片机运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等。片内的128B 的RAM ,以高速RAM 的形式集成在单片机内,可以加快单片机运行的速度,而且这种结构的RAM 还可以降低功耗。
程序存储器,ROM ,用来存储程序,80C51为4KB ROM。如果片内只读存储器的容量不够,则需要用扩展片只读存储器,片外最多可以扩展到64KB 。
中断系统,具有5个中断源,2级中断优先权。
定时器/计数器,片内有2个16位的定时器/计数器,具有4种工作方式。在单片机的应用中,往往需要精确的定时,或对外部事件进行计数,因而需在单片机内部设置定时器/计数器部件。
串行口,1个全双工的串行口,具有4中工作方式。可用来进行串行通信,扩展并行I/O口,甚至与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更广。
特殊功能寄存器,SFR ,共有21个,用于CPU 对片内各功能部件进行管理、控制、监视。
单片机的时序功能:
时钟电路:80C51片内设有一个由反向放大器所构成的振荡电路,XTALI 和XTAL2分别为振荡电路的输入端和输出端。
时钟可以由内部方式产生或外部方式产生。采用内部方式时,在C1和C2引脚上接石英晶体和微调电容可以构成振荡器, 振荡频率的选择范围为
1.2—12MHZ 在使用外部时钟时,XTAL2用来输入外部时钟信号,而XTALI 接地。
时序:80C51单片机的一个执器周期由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 指令期间,外部数据存储器被访问且被选通时跳过两次取指操作。下面是80C51单片机的振荡电路。图如3-1:
图3-1 80C51震荡电路原理图 [8]
引脚及其功能说明:
80C51单片机的40个引脚[7]中有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 ,V PD 为备用电源,所以该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机复位到初始状态。
当V CC 发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源V PD (+5V)为内部RAM 供电,以保证RAM 中的数据不丢失。
(2)ALE/ P (30脚):当访问外部存储器时,ALE (允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P 0口的低
(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脚):P 0.0~P 0.7统称为P 0口。当不接外部存储器与不扩展I/O接口时,它可作为准双向8位输入/输出接口。当接有外部程序存储器或扩展I/O口时,P 0口为地址/数据分时复用口。它分时提供8位双向数据总线。
对于片内含有EPROM 的单片机,当EPROM 编程时,从P 0口输入指令字节,而当检验程序时,则输出指令字节。
(2)P1口(1脚~8脚):P 1. 0~P 1. 7统称为P 1口,可作为准双向I/O接口使用。对于MCS —52子系列单片机,P 1.0和P1.1还有第2功能:P 1.0口用作定时器/计数器2的计数脉冲输入端T2;P 1.1用作定时器/计数器2的外部控制端T2EX 。对于EPROM 编程和进行程序校验时,P 0口接收输入的低8位地址。
(3)P2口(21脚~28脚):P 2. 0~P 2.7统称为P 2口,一般可作为准双向I/O接口。当接有外部程序存储器或扩展I/O接口且寻址范围超过256个字节时,P 2口用于高8位地址总线送出高8位地址。对于EPROM 编程和进行程序校验时,P 2口接收输入的8位地址。
(4)P3口(10脚~17脚):P 3.0~P 3.7统称为P 3口。它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P 3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。
P 3口的第2功能见下表3-1:
单片机P3.0管脚含义
表1-1单片机P3.0管脚含义
表3-1 P 3口的第2功能表
综上所述,MCS —51系列单片机的引脚作用可归纳为以下两点:
(1)单片机功能多,引脚数少,因而许多引脚具有第2功能;
(2)单片机对外呈3总线形式,由P 2、P 0口组成16位地址总线;由P 0口分时复用作为数据总线。
80C51结构图如图3-2下:
图3-2 80C51结构图
3.1.2 光电隔离简介
水箱的控制器由8051系统构成。为避免电机的起停和电源波动时对电路的影响,输入输出均采用光电隔离。
光电隔离是半导体管敏感器件和发光二极管组成的一种新器件,它主要功能是实现电信号的传送。输入与输出绝缘隔离,信号单向传输,无反馈影响。抗干扰性强,响应速度快。
工作时,把输入信号加到输入端,使发光管发光,光敏器件在磁光辐射下输出光电流,从而实现电光点的两次转换。
继电器隔离是用电信号控制继电器的机械触电来实现隔离控制。
输出通过继电器,控制水泵机组的起停和报警,其电路图如图3-3:
图3-3 系统控制电路原理图
3.1.3 给水泵电机主控回路介绍
给水泵电机主控回路,图3-4如下:
图3-4 水泵电机控制电路原理图
3.2 80C51水箱控制系统主控硬件部署方案
3.2.1 80C51单片机实现控制功能说明
80C51为数据采集及处理模块核心,它主要完成系统对水位高低信号是否满足指标的信息采集,对采集到的水位信号通过系统程序进行对信号的判断等处理,根据采集信号的不同,驱动相应信号对应功能的引脚来实现对水箱水位的控制。
3.2.2 74LS373芯片实现系统功能说明
74LS373是一种带输出三态门的8D 锁存器,其结构如图3-6所示。
图3-6 74LS373结构示意图
引脚功能介绍:
D0~D7为8个输入端;
Q0~Q7为8个输出端;
G 为数据锁存控制端;
当G 为“1”时,锁存器输出端同输入端;当G 由“1”变“0”时,数据输入锁存器中。
OE 为输出允许端;
当OE 为“0”时,三态门打开;
当OE 为“1”时,三态门关闭,输出呈高阻状态。
在该基于80C51单片机水箱控制统中,采用74LS373作为I/O接口驱动使用,具体引脚连接如下:
其与80C51连接方法如下:
80C51----------74LS373
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)
/OE(1)、GND(10)接地
VCC(20)接+5V
注:括号内位引脚编号
实际连接请参考图3-8所示。
其中输入端D0~D7接至单片机的P0口,输出端提供的是低8位地址,G 端接至单片机的地址锁存允许信号ALE 。输出允许端OE 接地,表示输出三态门一直打开。
3.2.3 EPROM2764芯片实现系统功能说明
EPROM2764芯片是8K*8字节的紫外线擦出、可编程只读存储器,单一+5V供电,工作电流为75mA ,维持为35mA, 读出时间最大为250nS, 封装为28引脚的双列直插式封装。如图3-7所示:
图3-7 2764结构图
各引脚含义为:
A0-A12为13根地址线,可寻址8K 字节;
D0-D7 为数据输出线;
CE 为片选线;
OE 为数据输出通线;
PGM 为编程脉冲输入端;
Vpp 是编程电影院;
Vcc 是住电源。
正常工作(只读) 时,Vpp=Vcc=+5V,/PGM=+5V。
编程时,Vpp=+25V(高压),/PGM端加入宽度为50ms 的负脉冲。 在本系统中,EPROM2764芯片实现的是可编程I/O接口电路的扩展功能,具体引脚连接如下:
2764与80C51引脚连线如下:
80C51----------2764
P0.0(32)--------D0·(11)
P0.1(33)--------D1·(12)
P0.2(34)--------D2·(13)
P0.3(35)--------D3·(15)
P0.4(36)--------D4·(16)
P0.5(37)--------D5·(17)
P0.6(38)--------D6·(18)
P0.7(39)--------D7·(19)
P2.0(21)--------A8·(25)
P2.1(22)--------A9·(24)
P2.2(23)--------A10·(21)
P2.3(24)--------A11·(23)
P2.4(25)--------A12·(2)
/PSEN(29)-----/OE·(22)
/CE(20)接地
VCC 、PGM 、VPP 接+5V
74LS373与2764引脚连接如下:
74LS373--------2764
Q0(2)----------A0·(10)
Q1(5)----------A1·(9)
Q2(6)----------A2·(8)
Q3(9)----------A3·(7)
Q4(12)---------A4·(6)
Q5(15)---------A5·(5)
Q6(14)---------A6·(4)
Q7(19)---------A7·(3)
注:括号内位引脚编号
实际电路连接图如图3-8所示:
图3-8 基于80C51单片机的水箱控制系统电路图
第4章 单片机水箱水位控制器程序设计
4.1 程序概要设计
本系统程序开发,使用的语言给汇编语言。程序实现当水位处于LH(高) 、LD(低) 或LDD(低低) 时,报警信号输出,判断泵水方式(自动或手动) 。当水位到达规定容量时,停止泵水。在次程序中,低电平为有效(即0为有效), 高电平为无效(即1为无效) 。
4.2 控制器程序原理
4.2.1 系统主程序原理以及流程框图
主程序要实现的是,对数据的初始化,并且判断用户是使用自动模式还是手动模式,根据用户的具体需求:
若用户选择自动模式,则程序调用自动化子程序;
若用户选择手动模式,则程序调用手动子程序。
主程序原理框图如下图4-1
图4-1 主程序原理框图
4.2.2 自动模式子程序原理以及流程框图
自动模式子程序运行的前置条件是,系统开始运行,并且用户选择使用自动化控制模式。
自动模式子程序首先判断水位是否高LG ,若水位高于指标,则运行“水位高报警”程序,并返回主程序。若水位不高,则判断水位是否低LD ,若水位低,则试运行“水位低报警”程序。然后判断水位是否低低LDD :
若水位没有达到LDD 的指标,则试判断“M1是否开启”,若没有开启,则开启M1;若“M1开启”则判断“M2是否开启”,若“M2开启”,则程序运行“停止M2”程序;若“M2没有开启”,则试程序运行“延迟1分钟”, 一分钟后程序“返回主程序”。
若水位达到水位LDD 的指标,则运行“水位低低报警”,然后程序判断“M1是否开启”,若“M1未开启”则运行“M1开启”程序;若“M1开启”则程序判断“M2是否开启”,若“M2未开启”则运行“M2开启”程序,若“M2开启”,则运行“延迟一分钟”,一分钟后程序“返回主程序”。
自动模式子程序原理框图如图4-2:
图4-2 自动模式子程序原理框图
4.2.3 手动模式子程序原理框图以及流程框图
手动模式子程序运行的前置条件是,系统开始运行,并且用户选择使用自手动控制模式。
手动模式子程序中判断语句的条件是依据用户的具体操作。
手动模式子程序首先判断“水位是否LG ” ,若水位LG 达到指标,则程序返回主程序;若水位LG 未达到指标,则程序运行“判断有无键合”:
若“判断没有键合”则子程序进行循环;
若“判断键合”,则程序判断“M1是否键合”。
若用户操作“M1键合”,则程序运行“判断M1是否开启”:
若“M1开启”则子程序进行循环;
若“判断M1未开启”,则程序运行“开启M1”。
若用户操作“M1不键合”,则程序判断“M2是否键合”:
若用户操作“M2键合”,则程序运行“判断M2是否开启”;
若“M2开启”则子程序进行循环;
若“判断M2未开启”,则程序运行“开启M2”。
若程序判断用户均未进行“M1、M2键合”,则程序要判断“是否停止M1键合”:若用户操作“M1停止键合”,则程序判断“M1是否停止”;
若“M1停止”,则子程序循环;
若“M1没有停止”,则程序运行“停止M1”。
若用户不操作“M1停止键合”,则程序判断“是否停止M2键合”:
若用户操作“M2停止键合”,则程序判断“M2是否停止”,若“M2停止”,则子程序循环;
若“M2没有停止”,则程序运行“停止M2”。
手动模式子程序原理框图如图4-3:
图4-3 手动模式子程序原理框
结束语
纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC 卡、电子宠物等,这些都离不开单片机。以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了。所以,它的魔力不仅是在现在,在将来将会有更多的 人来接受它、使用它。据统计,我国的单片机年容量已达3亿片,且每年以大约20%的速度增长,但相对于世界市场我国的占有率还不到1%。特别是沿海地区的玩具厂等生产产品多数用到单片机,并不断地辐射向内地。所以,学习单片机在我国是有着广阔前景的。
而在本次的毕业论是基于单片机的水箱控制系统,主要核心就是80C51单片机。通过这次设计,我综合运用大学四年所学知识去分析和解决问题,我深刻的了解和掌握了单片机的控制原理和设计方法。不仅加深和回顾了但单片机等专业知识而且积累到单片机控制技术在实际中的经验。
由于自身缺少在实践设计的经验,所以在这次的设计中我自身也发现了很多不足的方面,从论文的本身的方面的结构到具体设计中硬件设计知识和经验的不足使得设计和论文存在的很多的问题,但是我的导师程老师的细心指导下,经过前后多次的修改和完善,最终完成了毕业设计的任务。单片机控制技术领域是一个有着非常潜力和前景的专业技术,我相信通过这次毕业论文的设计,不仅加深和掌握了这一专业技术,而且也提高了自己的专业能力和综合素质,为我的大学生涯画下一个完整的句号。
致 谢
在这次毕业设计的过程中,我的指导老师徐志刚老师给予了我很大的帮助,提供了相关的资料,对我的毕设作品给予了指导和支持。使我顺利圆满的完成了此次毕业设计。在此,向徐志刚老师表示衷心的感谢!
大学三年是我一生的重要阶段,是学习专业知识及提高各方面能力为以谋生发展的重要阶段。从跨入大学的校门的那一刻起我就把这一信念作为人生的又一座右铭。
徐志刚老师的亲切关怀和精心指导,虽然有繁忙的工作,但仍抽出大量时间给予我学术上的指导和帮助,从设计草案的确定和修改,开题报告,中期检查,后期详细设计,每一步都是在老师的帮助下完成的,从这个过程中获益不浅。徐老师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。通过该次论文设计使我掌握了基本的研究方法,树立了远大的学术目标。在此,向老师致以深深的敬意和由衷的感谢。
最后,再次感谢学校及领导的大力支持,以及电气工程系的各位老师和许多的朋友、同学在各个方面给予了我很多的帮助和支持,让我坚持到了最后,谢谢你们!
参考文献
[1] 黄仁欣. 单片机原理及应用技术. 清华大学出版社.2005
[2] 李广弟. 单片机基础. 北京航天大学出版社.2001
[3] 胡文金. 单片机应用技术实训教程. 重庆大学出版社.2005
[4] 刘文涛. 单片机开发实例. 清华大学出版社.2005
[5] 王义方. 微型计算机原理及应用. 机械工业出版社.1997
[6] 王治刚. 单片机应用技术与实训. 清华大学出版社.2004
[7] 张毅坤. 单片微型计算机原理及应用. 西安电子科技大学出版社.1998
[8] 任为民. 电子技术基础课程设计. 中央广播电视大学出版社.1997
[9] 朱月秀. 单片机原理与应用. 科学出版社.2004
[10] 李世馨. 模拟电子技术基础. 高等教育出版社.2001