毕业设计(论文)-基于MCS-8051单片机水箱控制系统.doc_第1页
毕业设计(论文)-基于MCS-8051单片机水箱控制系统.doc_第2页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于 mcs-8051 单片机水箱控制系统 i 2009届届 朝阳师范高等专科学校 高职专业学生毕业设计论文 论文题目: 基于 mcs-8051 单片机水箱控制系统 系 别: 信息工程系 专 业: 应用电子 年 级: 2009 级 姓 名: 指导教师: 基于 mcs-8051 单片机水箱控制系统 1 摘摘 要要 大型水箱是很多公司生产过程中必不可少的部件,它的性能和工作质量的优良不 仅仅对生产有着巨大的影响,而且也关系着生产的安全。在过去,大量的对水箱操作 是由相应的人员进行操作的,这样的人工方式带来了很大的弊端,比如水位的控制, 时刻监控水箱的环境,夜间的监控等等,操作员稍有疏忽,或者简易的监测器件损坏, 将带来无法弥补的损失,更严重的会威胁到生产人员的人身安全等。所以对水箱控制, 如果能够使用精密的而且完全会严格按照生产规定运行的自动化系统,可以最大限度 的避免事故的几率,同时也能节省资源并能有效提高生产的效率。 本单片机系统设计的目的是应用单片机控制技术,以 8051 单片机为核心控制水箱 的水位,并实现了报警和手动、自动切换功能。该系统操作方便、性能良好,比较符 合电厂生产用水系统控制的需要。 关键词:mcs-8051 单片机; 水位;控制; 报警 abstract 基于 mcs-8051 单片机水箱控制系统 2 large water tanks are a lot of companies essential to the production process of parts, its performance and the quality of work not only on production of the fine has enormous influence, but also the safety of production. in the past, many of the tanks are operated by the staff to operate, so that artificial means a lot of drawbacks, such as the water level control, water tanks at all times to monitor the environment, and so on the night of monitoring, the operator slightly negligence, or damage to the summary of the monitoring device will bring irreparable damage will be even more serious crisis in production, such as the personal safety of staff. therefore, control of water tanks, if the use of sophisticated and can totally be run in strict accordance with the provisions of the automated production system that can maximize the chances of avoiding accidents, but also save resources and can effectively improve the efficiency of production. the purpose of single-chip system design is the application of single-chip control technology, to 8051 as the core to control the water level in water tanks, and implementation of the alarm and manual, automatic switching function. the system is easy to operate, good performance, more in line with the power to control the production of the necessary water system. keywords: mcs-8051 single-chip;level;control;alarm 基于 mcs-8051 单片机水箱控制系统 3 目 录 1 1 绪论绪论1 1.1 水箱控制系统的研究意义1 1.2 水箱控制系统发展现状.1 2 2 单片机水箱控制系统原理单片机水箱控制系统原理2 2.1 水箱给水设备系统原理.2 2.2 单片机控制系统原理.2 2.2.1 80c51 单片机控制部分结构说明2 2.2.2 80c51 单片机水箱控制系统工作原理.3 3 3 单片机水箱控制系统硬件设计单片机水箱控制系统硬件设计4 3.1 80c51 单片机水箱控制系统硬件简介.4 3.1.1 数据采集及处理模块4 3.1.2 光电隔离简介.8 3.1.3 给水泵电机主控回路介绍 .9 3.2 80c51 水箱控制系统主控硬件部署方案.9 3.2.1 80c51 单片机实现系统功能说明.10 3.2.2 74ls373 芯片实现系统功能说明.10 3.2.3 eprom2764 芯片实现系统功能说明 12 4 4 单片机水箱控制系统程序设计单片机水箱控制系统程序设计14 4.1 程序概要设计.14 4.2 系统程序原理14 4.2.1 系统主程序原理以及流程框图.14 4.2.2 自动模式子程序原理以及流程框图14 4.2.3 手动模式子程序原理框图以及流程框图17 5 5 总结与展望总结与展望21 参考文献参考文献22 致致 谢谢 23 基于 mcs-8051 单片机水箱控制系统 1 1 绪论 1.1 水箱控制系统的研究意义 大型水箱是很多公司生产过程中必不可少的部件,它的性能和工作质量的 优良不仅仅对生产有着巨大的影响,而且也关系着生产的安全。在过去,大量 的对水箱操作是由相应的人员进行操作的,这样的人工方式带来了很大的弊端, 比如水位的控制,时刻监控水箱的环境,夜间的监控等等,操作员稍有疏忽, 或者简易的监测器件损坏,将带来无法弥补的损失,更严重的会危机到生产人 员的人身安全等。所以对水箱控制,如果能够使用精密的而且完全会严格按照 生产规定运行的自动化系统,可以最大限度的避免事故的几率,同时也能节省 资源并能有效提高生产的效率。 从水资源节约方面考虑,以往的人工控制在很多情况下,造成资源不必要 的浪费,大部分原因是水箱内部水位没有及时的反馈信息到操作员,从而使控 制上有一定的延迟,从而造成了水量过多或者没能及时补水而导致资源的浪费 或生产出现异常。而对水箱水位的监控以及自动化的引入可以很好的改善补水 过多和及时补水的情况,可以很好的节约资源有效的降低成本。 单片机,一小块芯片上集成了一个微型计算机的各个组成部分,它的诞生 使众多自动化控制系统得以实现。80c51 以它功能强大,设计简单,制造廉价, 支持指令集较多。所以应用到众多嵌入式系统开发中。 因此,基于 80c51 单片机的水箱控制系统研究有着重要的意义。 1.2 水箱控制系统发展现状 目前,水箱控制系统已不仅仅局限于大型的电厂、煤炭、钢铁等大型企业 领域,它以自身的自动化控制系统的安全优势,已经慢慢深入到一些民用水箱 产品。但是目前阶段,它的成本还很高。比如把一台纯手工家用水箱设计成自 动化控制的水箱,从硬件的设计和铺设,对于民用化产品实施的性价比较高。 因此大规模的使用仍受到经济上的限制。 但是,从长远来看,随着自动化技术的改进和硬件成本的降低,以及人们 对资源浪费的重视。水箱控制系统仍然有大规模推广的前景。 我国仍然处于生产型发展中国家,所有几乎在能源相关的所有领域中,水 箱是比不可少的部件,即使是发达国家也不例外。它性能的优良与否关系直接 关系到企业的生产安全和效益。随着我国嵌入式技术的发展,我国控制系统技 基于 mcs-8051 单片机水箱控制系统 2 术已经达到国际水平,但是在中小型企业以及民用产品,大量的水箱控制仍然 通过专职的人员进行控制。随着我国单片机开发技术的逐渐成熟,以及单片机 生产成本的下降,基于单片机的水箱控制系统应用到中小型以及民用产品有着 较大的发展空间。而且越来越多的水箱生产厂商开始聘用单片机开发人员和电 路设计人员,将控制系统成为水箱设计的一部分,以提高自身产品的安全性能 和科技含量来提高产品在市场中的竞争力。 2 单片机水箱控制系统原理 2.1 水箱给水设备系统原理 水箱给水设备系统由两台给水泵机组、水箱和三只浮球开关组成,其系统 结构如图 2-1: 图 2-1 水箱给水系统结构 其中 m1、m2 为给水泵机组,lg、ld、ldd 分别为水位高、水位低、水 位低低浮球开关,当水位高(大于 90 开度)时,lg 闭合,当水位低(小于 75 开度)时,ld 闭合,当水位低低(小于 50 开度)时,ldd 闭合。 2.2 80c51 单片机控制系统原理 2.2.12.2.1 80c5180c51 单片机控制部分结构说明单片机控制部分结构说明 本系统采用 8051 单片机,引脚具体控制如下: p1 口和 p3 口为输入输出检则信号和控制信号。 下面是 8051 芯片引脚具体分配: 基于 mcs-8051 单片机水箱控制系统 3 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.22.2.2 80c5180c51 单片机水箱控制系统工作原理单片机水箱控制系统工作原理 当水箱水位低时,起动 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 闭合,系统 水位低低报警。 手动/自动模式转换控制如下: 全自动模式下,系统自动判断水位的状况,选择不同的工作状态。 基于 mcs-8051 单片机水箱控制系统 4 手动的模式下,两台给水泵的运行控制可由人工自己操作。 3 3 单片机水箱控制系统硬件设计 3.1 80c51 单片机水箱控制系统硬件简介 3.1.13.1.1 数据采集及处理模块数据采集及处理模块 单片机是测量系统数据交换的中心,该系统采用的是 80c51 单片机,全静 态工作时振荡器频率为 012mhz。 目前,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 还可以降低功耗。 基于 mcs-8051 单片机水箱控制系统 5 图 3-1 单片机 8051 的内部结构 程序存储器,rom,用来存储程序,80c51 为 4kb rom。如果片内只读存储 器的容量不够,则需要用扩展片只读存储器,片外最多可以扩展到 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,在加结束时完成指令操作。 多数 mcs51 指令周期为 12 个机器周期,只有乘法和除法指令需要两个 以上机器周期的指令,它们需 4 个机器周期。 对于双字节单机器指令,通常是 在一个机器周期内从程序存储器中读入两个字节,但 movx 指令例外,movx 指 令是访问外部数据存储器的单字节双机器周期指令,在执行 movx 指令期间,外 基于 mcs-8051 单片机水箱控制系统 6 部数据存储器被访问且被选通时跳过两次取指操作。下面是 80c51 单片机的振 荡电路如图 3-2: 图 3-2 80c51 震荡电路原理图 引脚及其功能说明: 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为备用电源,所以该引脚 基于 mcs-8051 单片机水箱控制系统 7 为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持 续两个机器周期的高电平,就可实现复位操作,使单片机复位到初始状态。 当 vcc发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源 vpd(+5v)为内部 ram 供电,以保证 ram 中的数据不丢失。 (2) al e/ p (30 脚):当访问外部存储器时,ale(允许地址锁存信 号)以每机器周期两次的信号输出,用于锁存出现在 p0口的低 (3) psen(29 脚):片外程序存储器读选通输出端,低电平有效。当从外部 程序存储器读取指令或常数期间,每个机器周期 pesn 两次有效,以通过数据 总线口读回指令或常数。当访问外部数据存储器期间,pesn 信号将不出现。 (4) ea/vpp(31 脚): ea 为访问外部程序储器控制信号,低电平有效。 当 ea 端保持高电平时,单片机访问片内程序存储器 4kb(ms52 子系 列为 8kb) 。若超出该范围时,自动转去执行外部程序存储器的程序。 当 ea 端保持低电平时,无论片内有无程序存储器,均只访问外部程序存 储器。对于片内含有 eprom 的单片机,在 eprom 编程期间,该引脚用于接 21v 的编程电源 vpp。 输入/输出(i/o)引脚 p0 口、p1 口、p2 口及 p3 口: (1).p0口(39 脚22 脚):p0.0p0.7统称为 p0口。当不接外部存储器与不 扩展 i/o 接口时,它可作为准双向 8 位输入/输出接口。当接有外部程序存储器 或扩展 i/o 口时,p0口为地址/数据分时复用口。它分时提供 8 位双向数据总线。 对于片内含有 eprom 的单片机,当 eprom 编程时,从 p0口输入指令字 节,而当检验程序时,则输出指令字节。 (2).p1口(1 脚8 脚):p1.0p1.7统称为 p1口,可作为准双向 i/o 接口使 用。对于 mcs52 子系列单片机,p1.0和 p1.1 还有第 2 功能:p1.0口用作定时 器/计数器 2 的计数脉冲输入端 t2;p1.1用作定时器/计数器 2 的外部控制端 t2ex。对于 eprom 编程和进行程序校验时,p0口接收输入的低 8 位地址。 (3).p2口(21 脚28 脚):p2.0p2.7统称为 p2口,一般可作为准双向 i/o 接口。当接有外部程序存储器或扩展 i/o 接口且寻址范围超过 256 个字节时, p2口用于高 8 位地址总线送出高 8 位地址。对于 eprom 编程和进行程序校验 时,p2口接收输入的 8 位地址。 (4).p3口(10 脚17 脚):p3.0p3.7统称为 p3口。它为双功能口,可以作 为一般的准双向 i/o 接口,也可以将每 1 位用于第 2 功能,而且 p3口的每一条 基于 mcs-8051 单片机水箱控制系统 8 引脚均可独立定义为第 1 功能的输入输出或第 2 功能。 p3口的第 2 功能见下表 1: 表表 1 1 单片机单片机 p3.0p3.0 管脚含义管脚含义 综上所述,mcs51 系列单片机的引脚作用可归纳为以下两点: (1).单片机功能多,引脚数少,因而许多引脚具有第 2 功能; (2).单片机对外呈 3 总线形式,由 p2、p0口组成 16 位地址总线;由 p0口分时复 用作为数据总线。 80c51 结构图如图 3-3: 图 3-3 80c51 结构图 3.1.23.1.2 光电隔离简介光电隔离简介 水箱的控制器由 8051 系统构成。为避免电机的起停和电源波动时对电路的 引脚第 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-8051 单片机水箱控制系统 9 影响,输入输出均采用光电隔离。 光电隔离是半导体管敏感器件和发光二极管组成的一种新器件,它主要功 能是实现电信号的传送。输入与输出绝缘隔离,信号单向传输,无反馈影响。 抗干扰性强,响应速度快。 工作时,把输入信号加到输入端,使发光管发光,光敏器件在磁光辐射下 输出光电流,从而实现电光点的两次转换。 输出通过继电器,控制水泵机组的起停和报警,其电路图如图 3-4: 图 3-4 系统控制电路原理图 3.1.33.1.3 给水泵电机主控回路介绍给水泵电机主控回路介绍 给水泵电机主控回路图 3-5 如下: 图 3-5 水泵电机控制电路原理图 3.2 80c51 水箱控制系统主控硬件部署方案 该系统硬件主要由一个 80c51 单片机,一个 74ls373 和一个 eprom2764 芯 片构成。其原理图如下图 3-6: 基于 mcs-8051 单片机水箱控制系统 10 图 3-6 基于 80c51 单片机的水箱控制系统原理图 3.2.13.2.1 80c5180c51 单片机实现系统功能说明单片机实现系统功能说明 80c51 为数据采集及处理模块核心,它主要完成系统对水位高低信号是否 满足指标的信息采集,对采集到的水位信号通过系统程序进行对信号的判断等 处理,根据采集信号的不同,驱动相应信号对应功能的引脚来实现对水箱水位 的控制。 3.2.23.2.2 74ls37374ls373 芯片实现系统功能说明芯片实现系统功能说明 74ls373 是一种带输出三态门的 8d 锁存器,其结构如图 3-7 所示。 基于 mcs-8051 单片机水箱控制系统 11 图 3-7 74ls373 结构示意图 引脚功能介绍: d0d7 为 8 个输入端; q0q7 为 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) 基于 mcs-8051 单片机水箱控制系统 12 其中输入端 d0d7 接至单片机的 p0 口,输出端提供的是低 8 位地址,g 端接至单片机的地址锁存允许信号 ale。输出允许端 oe 接地,表示输出三态 门一直打开。 3.2.33.2.3 epromeprom27642764 芯片实现系统功能说明芯片实现系统功能说明 eprom2764 芯片是 8k*8 字节的紫外线擦出、可编程只读存储器,单一+5v 供电,工作电流为 75ma,维持为 35ma,读出时间最大为 250ns,封装为 28 引脚 的双列直插式封装。如图 3-8 所示: 图 3-8 2764 结构图 各引脚含义为: a0-a12 为 13 根地址线,可寻址 8k 字节; d0-d7 为数据输出线; ce 为片选线; oe 为数据输出通线; pgm 为编程脉冲输入端; vcc 是电源; 正常工作(只读)时,vpp=vcc=+5v,/pgm=+5v。 编程时,vpp=+25v(高压),/pgm 端加入宽度为 50ms 的负脉冲。 在本系统中,eprom2764 芯片实现的是可编程 i/o 接口电路的扩展功能, 具体引脚连接如下: 基于 mcs-8051 单片机水箱控制系统 13 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) 注:括号内位引脚编号 基于 mcs-8051 单片机水箱控制系统 14 初始化 自动? 转自动 转手动 开始 4 单片机水箱控制系统程序设计 4.1 程序概要设计 本系统程序开发,使用的语言给汇编语言。程序实现当水位处 lg(高)、 ld(低)或 ldd(低低)时,报警信号输出,判断泵水方式(自动或手动)。当水位 到达规定容量时,停止泵水。在次程序中,低电平为有效(即 0 为有效),高电平 为无效(即 1 为无效)。 4.2 系统程序原理 4.2.14.2.1 系统主程序原理以及流程框图系统主程序原理以及流程框图 主程序要实现的是,对数据的初始化,并且判断用户是使用自动模式还是 手动模式,根据用户的具体需求: 若用户选择自动模式,则程序调用自动化子程序; 若用户选择手动模式,则程序调用手动子程序。 主程序原理框图如下图 4-1: 图 4-1 主程序原理框图 4.2.24.2.2 自动模式子程序原理以及流程框图自动模式子程序原理以及流程框图 自动模式子程序运行的前置条件是,系统开始运行,并且用户选择使用自 动化控制模式。 基于 mcs-8051 单片机水箱控制系统 15 自动模式子程序首先判断水位是否高 lg,若水位高于指标,则运行“水位 高报警”程序,并返回主程序。若水位不高,则判断水位是否低 ld,若水位低, 则试运行“水位低报警”程序。然后判断水位是否低低 ldd: 若水位没有达到 ldd 的指标,则试判断“m1 是否开启” ,若没有开启, 则开启 m1;若“m1 开启”则判断“m2 是否开启” ,若“m2 开启” ,则程序运 行“停止 m2”程序;若“m2 没有开启” ,则试程序运行“延迟 1 分钟” , 一 分钟后程序“返回主程序” 。 若水位达到水位 ldd 的指标,则运行“水位低低报警” ,然后程序判断 “m1 是否开启” ,若“m1 未开启”则运行“m1 开启”程序;若“m1 开启” 则程序判断“m2 是否开启” ,若“m2 未开启”则运行“m2 开启”程序,若 “m2 开启” ,则运行“延迟一分钟” ,一分钟后程序“返回主程序” 。 其程序控制如下所示: org 0000h ajmp main org 0060h main: mov p1, #ffh ;p1 p3 口初始化置 1 mov p3,#ffh jnb p1.3 , aut ;若手动在自动位置,跳到自动模式子程序 ajmp men ;否则转到手动模式子程序 end aut: nop ;空命令 jnb p1.2 ,lg ;水位高-lg jb p1.1,ld ;水位没低-ld clr p3.1 ;水位低报警 jb p1.0, ldd ;水位未低低-ldd clr p3.0 ;水位低低报警 jnb p1.6, y1 ;m1 已启动-y1 clr p1.4 ;否则启动 m1 y1: jnb p1.7 ,y2 ;m2 已启动-y2 clr p1.5 ;否则启动 m2 y2: acall delay ;延时 1 分钟 ajmp aut ;返回自动模式 ldd: jnb p1.6 ,y3 ;单独运行 m1(ldd水位ld) 基于 mcs-8051 单片机水箱控制系统 16 clr p1.4 y3: jb p1.7, y2 setb p1.5 ajmp y2 lg: clr p3.2 ;水位高报警 ld: ajmp main ;返回主程序 自动模式子程序原理框图如图 4-2: 图 4-2 自动模式子程序原理框图 基于 mcs-8051 单片机水箱控制系统 17 4.2.34.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: 基于 mcs-8051 单片机水箱控制系统 18 开始 水位高? 有无键合? m1 键合? m2 键合? n n n y 开 m2 y n n n 停 m1 键合? 停 m2 键合? y m1 开着? 开 m1 n m1 开着? n 开 m2 n y m1 停着? n y y y m2 停着? y 停 m2 n y返回主程序 y 图 4-3 手动模式子程序原理框图 手动控制子程序 men:nop jnb p1.1 , main acall key cjne a ,#f0h,nn ajmp men 基于 mcs-8051 单片机水箱控制系统 19 nn: jnb acc.4 ,hm1 jnb acc.5, hm2 jnb acc.6, dm1 jnb acc.7, dm2 ajmp men hm1: jnb p1.6, men clr p1.4 ajmp men hm2: jnb p1.7, men clr p1.5 ajmp men dm1: jb p1.6, men setb p1.4 ajmp men dm2: jb p1.7, men setb p1.5 ajmp men ret 延时 30s 主程序 t1m1:mov r1, #f0h l4: mov r2, #08h l1: mov r3, #fah l2: mov r4, #fah l1: djnz r4, l1 djnz r3, l2 djnz r2, l3 djnz r1, l4 ret 延时 6ms 子程序 t1m3:mov r4, #12 mm: mov r5, #248 djnz r5, $ djnz r4, d3 基于 mcs-8051 单片机水箱控制系统 20 ret 有无键合子程序: key:acall ks1 ;有无闭合 jnz lk1 acall tim3 ajmp key ;无键闭合返回 lk1:acall tim1 acall tim1 acall ks1 jnz lk2 acall tim3 ajmp key lk2:ret ks1:mov a, p3 ;扫描 anl a, #f0h ;屏蔽低 4 位 ret 将编制的程序录入伟福软件,对程序进行调试、修改、完善。对相关功能 进行可行性论证,达到较满意效果。 基于 mcs-8051 单片机水箱控制系统 21 5 总结与展望 纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的 控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据 处理,以及我们生活中广泛使用的各种智能 ic 卡、电子宠物等,这些都离不开 单片机。以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路, 然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件 不断老化,控制的精度自然也会达不到标准。在单片机产生后,我们就将控制 这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核 心部分只是由人为的写入程序来完成。这样产品的体积变小了,成本也降低了, 长期使用也不会担心精度达不到了。所以,它的魔力不仅是在现在,在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论