水箱水位控制系统设计_第1页
水箱水位控制系统设计_第2页
水箱水位控制系统设计_第3页
水箱水位控制系统设计_第4页
水箱水位控制系统设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、 辽辽 宁宁 工工 业业 大大 学学单片机原理及接口技术单片机原理及接口技术课程设计(论文)课程设计(论文)题目:题目:水箱水位控制系统设计院(系):院(系): 专业班级:专业班级: 学学 号:号: 学生姓名:学生姓名: 指导教师:指导教师: 起止时间:起止时间:2011-7-2011-7-至至2011-12-312011-12-31辽 宁 工 业 大 学 课 程 设 计 说 明 书 (论文)学 号姓名专业班级课程设计水箱水位控制系统设计课程设计(论文)任务课题完成的功能、设计任务及要求、技术参数课题完成的功能、设计任务及要求、技术参数实现功能实现功能设计任务及要求设计任务及要求1、分析系统功

2、能,确定系统硬件组成;2、设计系统的硬件电路图;3、编写相应的软件,完成控制系统的控制要求;4、上机调试、完善程序;5、按学校规定格式,撰写、打印设计说明书一份;设计说明书应在 4000字以上。技术参数技术参数水箱容量:600 立方米;水箱水位低于 50%时,两台水泵 M1、M2 同时供水,水位上升到 50%以上 70%以下时,停 M2, M1 继续运行到水位上升到 90%停止工作;低于低水位、高于高水位时声光报警;手动模式下,两台水泵的运行由人工操作,自动模式下,两台水泵的运行自动切换。进度计划1、布置任务,查阅资料,确定系统的组成(1 天)2、硬件设计(2 天)3、按系统的控制要求,完成软

3、件设计(2 天)4、上机调试、修改程序(2 天)5、撰写、打印设计说明书(2 天)6、答辩(1天)指导教师评语及成绩平时: 论文质量: 答辩: 总成绩: 指导教师签字: 年 月 日辽 宁 工 业 大 学 课 程 设 计 说 明 书 (论文)注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算本科生课程设计(论文)III摘 要本单片机系统设计的目的是应用单片机控制技术,以8051单片机为核心控制某电厂的600立方米的水箱的水位,并实现了报警和手动、自动切换功能。该系统操作方便、性能良好,比较符合电厂生产用水系统控制的需要。本文还详细的给出了相关的硬件框图和软件流程图,该系统主要由两台给

4、水水泵组、水箱和三只浮球及有关开关器件组成,并编制了C语言程序,通过LED和有关的显示部件显示出来。关键词:单片机;水箱水位;控制;报警本科生课程设计(论文)IV目 录第 1 章 绪论 .11.1 8051 单片机的简介.11.2 主要功能特性.21.3 时序.21.4 引脚及其功能.3第 2 章 内部单元 .62.1 运算器.62.2 控制器.72.2.1 复位电路.72.3 600立方米水箱给水设备系统的构成.92.3.1 本系统 8051 单片机控制部分结构.102.3.2 本系统的工作原理.11第 3 章 主程序框图 .123.1 主程序框图.123.2 自动模式子程序.123.3 手

5、动模式子程序.13第 4 章 本系统程序清单 .14第 5 章 模拟仿真图 .18第 6 章 结论 .19参考文献 .20本科生课程设计(论文)0第 1 章 绪论1.1 8051 单片机的简介目前,8051 单片机在工业检测领域中得到了广泛的应用,因此我们可以在许多单片机应用领域中,配接各种类型的语音接口,构成具有合成语音输出能力的综合应用系统,以增强人机对话的功能。89C51 是 Intel 公司生产的一种单片机,在一小块芯片上集成了一个微型计算机的各个组成部分。每一个单片机包括:一个 8 位的微型处理器 CPU;一个 256K 的片内数据存储器 RAM;片内程序存储器 ROM;四个 8 位

6、并行的 I/O 接口 P0-P3,每个接口既可以输入,也可以输出;两个定时器/记数器;五个中断源的中断控制系统;一个全双工 UART 的串行 I/O口;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率是 12MHZ。以上各个部分通过内部总线相连接。下面简单介绍下其各个部分的功能。中央处理器 CPU 是单片微型计算机的指挥、执行中心,由它读人用户程序,并逐条执行指令,它是由 8 位算术逻辑运算部件(简称 ALu)、定时控制部件,若干寄存器 A、B B5w、5P 以及 16 位程序计数器(Pc)和数据指针寄存器(DM)等主要部件组成。算术逻辑单元的硬件结构与典型微型机相似。

7、它具有对 8 位信息进行+、-、x、/ 四则运算和逻辑与、或、异或、取反、清“0”等运算,并具有判跳、转移、数据传送等功能,此外还提供存放中间结果及常用数据寄存器。控制器部件是由指令寄存器、程序计数器 Pc、定时与控制电路等组成的。指令寄存器中存放指令代码。枷执行指令时,从程序存储器中取来经译码器译码后,根据不同指令由定时与控制电路发出相应的控制信号,送到存储器、运算器或 Io 接口电路,完成指令功能。程序计数器 Pc 程序计数器 Pc 用来存放下一条将要执行的指令,共 16 位可对以 K 字节的程序存储器直接寻址 c 指令执行结束后,Pc 计数器自动增加,指向下一条要执行的指令地址。 CPU

8、 功能,总的来说是以不同的方式,执行各种指令。不同的指令其功自略异。有的指令涉及到枷各寄存器之间的关系;有的指令涉及到单片机核心电路内部各功能部件的关系;有的则与外部器件如外部程序存储器发生联系。事实上,cRJ 是通过复杂的时序电路完成不同的指令功能。所谓 cRJ 的时序是指控制器控照指今功能发出一系列在时间上有一定次序的信号,控制和启动一部分逻辑本科生课程设计(论文)1电路,完成某种操作。1.2 主要功能特性 表 1.1 C51 单片机的主要功能1.3 时序 (1)时钟电路 M 田51 片内设有一个由反向放大器所构成的振荡电路,XTALI 和 XTAL2 分别为振荡电路的输入端和输出端。时钟

9、可以由内部方式产生或外部方式产生。采用内部方式时,在 C1 和 C2 引脚上接石英晶体和微调电容可以构成振荡器, 振荡频率的选择范围为 1212MHZ 在使用外部时钟时,XTAL2 用来输入外部时钟信号,而 XTALI 接地。 (2)时序 MGL5l 单片机的一个执器周期由 6 个状态(s1s6)组成,每个状态又持续 2 个接荡周期,分为 P1 和 P2 两个节拍。这样,一个机器周期由 12个振荡周期组成。若采用 12MHz 的晶体振荡器,则每个机器周期为 1us,每个状态周期为 16us;在一数情况下,算术和逻辑操作发生在 N 期间,而内部寄存器到寄存器的传输发生在 P2 期间。对于单周期指

10、令,当指令操作码读人指令寄存器时,使从 S1P2 开始执行指令。如果是双字节指令,则在同一机器周期的 s4 读人第二字节。若为单字节指令,则在 51 期间仍进行读,但所读入的字节操作码被忽略,且程序计数据也不加 1。在加结束时完成指令操作。多数 Mcs51 指令周期为 12 个机器周期,只有乘法和除法指令需要两个以上机器周期的指令,兼容 MCS51 指令系统 4k 可反复擦写(1000 次)Flash ROM 32 个双向 I/O 口 可编程 UARL 通道 两个 16 位可编程定时/计数器 全静态操作 0-24MHz 1 个串行中断 128x8bit 内部 RAM 两个外部中断源 共 6 个

11、中断源 可直接驱动 LED 3 级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能本科生课程设计(论文)2它们需 4 个机器周期。 对于双字节单机器指令,通常是在一个机器周期内从程序存储器中读人两个字节,但 Movx 指令例外,Movx 指令是访问外部数据存储器的单字节双机器周期指令,在执行 Movx 指令期间,外部数据存储器被访问且被选通时跳过两次取指操作。下面是 51 单片机的振荡电路图:图 1.1 振荡电路1.4 引脚及其功能MCS51 系列单片机的 40 个引脚中有 2 个专用于主电源引脚,2 个外接晶振的引脚,4 个控制或与其它电源复用的引脚,以及 32 条输入输出 I/O 引脚

12、。下面按引脚功能分为 4 个部分叙述个引脚的功能。电源引脚 Vcc 和 VssVcc(40 脚):接+5V 电源正端;Vss(20 脚):接+5V 电源正端。外接晶振引脚 XTAL1 和 XTAL2XTAL1(19 脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成采用外部时钟时,对于 HMOS 单片机,该引脚接地;对于 CHOMS 单片机,该引脚作为外部振荡信号的输入端。XTAL2(18 脚):接外部晶体的另一端。在单片机内部,接至片内振荡器的反相放大器的输出端。当采用外部时钟时,对于 HMOS 单片机,该引脚作为外部振荡信号的输入端。对于 CHMOS 芯片

13、,该引脚悬空不接。控制信号或与其它电源复用引脚 控制信号或与其它电源复用引脚有RST/VPD、ALE/P、PSEN 和 EA/VPP等 4 种形式。 (A) RST/VPD(9 脚):RST即为 RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。本科生课程设计(论文)3当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机复位到初始状态。当 VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部 RAM 供电,以保证 RAM 中的数据不丢失。(B) ALE/ P (30 脚):当访问外部存储器时,ALE(允许

14、地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在 P0口的低位。(C) PSEN(29 脚):片外程序存储器读选通输出端,低电平有效。当从外部程序存储器读取指令或常数期间,每个机器周期 PESN 两次有效,以通过数据总线口读回指令或常数。当访问外部数据存储器期间,PESN 信号将不出现。(D) EA/Vpp(31 脚):EA 为访问外部程序储器控制信号,低电平有效。当 EA 端保持高电平时,单片机访问片内程序存储器 4KB(MS52 子系列为8KB) 。若超出该范围时,自动转去执行外部程序存储器的程序。当 EA 端保持低电平时,无论片内有无程序存储器,均只访问外部程序存储器。对于片内含

15、有 EPROM 的单片机,在 EPROM 编程期间,该引脚用于接 21V 的编程电源Vpp。4.输入/输出(I/O)引脚 P0 口、P1 口、P2 口及 P3 口.P0口(39 脚22 脚):P0.0P0.7统称为 P0口。当不接外部存储器与不扩展 I/O 接口时,它可作为准双向 8 位输入/输出接口。当接有外部程序存储器或扩展 I/O 口时,P0口为地址/数据分时复用口。它分时提供 8 位双向数据总线。对于片内含有 EPROM 的单片机,当 EPROM 编程时,从 P0口输入指令字节,而当检验程序时,则输出指令字节。.P1口(1 脚8 脚):P1.0P1.7统称为 P1口,可作为准双向 I/

16、O 接口使用。对于 MCS52 子系列单片机,P1.0和P1.1 还有第 2 功能:P1.0口用作定时器/计数器 2 的计数脉冲输入端 T2;P1.1用作定时器/计数器 2 的外部控制端 T2EX。对于 EPROM 编程和进行程序校验时,P0口接收输入的低 8 位地址。.P2口(21 脚28 脚):P2.0P2.7统称为 P2口,一般可作为准双向 I/O 接口。当接有外部程序存储器或扩展 I/O 接口且寻址范围超过 256 个字节时,P2口用于高 8 位地址总线送出高 8 位地址。对于 EPROM 编程和进行程序校验时,P2口接收输入的 8 位地址。.P3口(10 脚17 脚):P3.0P3.

17、7统称为 P3口。它为双功能口,可以作为一般的准双向 I/O 接口,也可以将每 1 位用于第 2 功能,而且 P3口的每一条引脚均可独立定义为第 1 功能的输入输出或第 2 功能。P3口的第 2 功能见下表。 表 1.2 p3.0 口- p3.7 口的具体的功能本科生课程设计(论文)4综上所述,MCS51 系列单片机的引脚作用可归纳为以下两点:.单片机功能多,引脚数少,因而许多引脚具有第 2 功能;.单片机对外呈 3 总线形式,由 P2、P0口组成 16 位地址总线;由 P0口分时复用作为数据总线。图 1.2 89C51 的引脚图引脚第 2 功能P3.0RXD(串行口输入端 0)P3.1TXD

18、(串行口输出端)P3.2INT0(部中断 0 请求输入端,低电平有效)P3.3INT1(中断 1 请求输入端,低电平有效)P3.4T0(时器/计数器 0 计数脉冲端)P3.5T1(时器/计数器 1 数脉冲端)P3.6WR(部数据存储器写选通信号输出端,低电平有效)P3.7RD(部数据存储器读选通信号输出端,低电平有效)本科生课程设计(论文)5第 2 章 内部单元2.1 运算器i)算术逻辑部件 ALU:用以完成+、-、*、/ 的算术运算及布尔代数的逻辑运算,并通过运算结果影响程序状态寄存器 PSW 的某些位,从而为判断、转移、十进制修正和出错等提供依据。ii) 累加器 A:在算术逻辑运算中存放一

19、个操作数或结果,在与外部存储器和 I/O。接口打交道时,进行数据传送都要经过 A 来完成。iii) 寄存器 B:在 *、/ 运算中要使用寄存器 B 。乘法时,B 用来存放乘数以及积的高字节;除法时,B 用来存放除数及余数。不作乘除时,B 可作通用寄存器使用。iv) 程序状态标志寄存器 PSW:用来存放当前指令执行后操作结果的某些特征,以便为下一条指令的执行提供依据。【PSW】 (D0H) D7 D6 D5 D4 D3 D2 D1 D0 Cy AC F0 RS1 RS0 OV PCy:进位标志。有进位或借位,则 Cy1,否则 Cy0 ;在布尔运算时,Cy(简称 C)作为布尔处理器。AC:辅助进位

20、标志位。F0:用户标志位:用户可用软件对 F0 置位“1”或清“0”,以决定程序的流向。OV:溢出标志位:当运算结果溢出时,OV 为“1”,否则为“0”。D.1:未定义。P: 奇偶校验位:当累加器 A 中的“1”的个数为奇数时,P 置“1”,否则 P 置“0”。RS1、RS0:工作寄存区选择位: 【片内工作寄存器组】RS1、RS0 与片内工作寄存器组的对应关系 RS1 RS0 寄存器区 片内 RAM 地址 通用寄存器名称 0 0 0 00H07H R0R7 0 1 1 08H0FH R0R7 1 0 2 10H17H R0R7 1 1 3 18H1FH R0R7本科生课程设计(论文)62.2

21、控制器1、指令寄存器 IR 和指令译码器。2、程序计数器:存放 CPU 执行下一条指令的地址。是一个 16 位寄存器,可寻址 64KB。 3、堆栈指针 SP:用于子程序调用和中断处理。 【机器复位后,SP#07H ,因此压栈的第一个数据在 08H 单元中。 4、数据指针寄存器 DPTR:16 位的寄存器,也可以作为两个 8 位寄存器DPH 和 DPL, DPTR 主要作外部数据指针,可对 64KB 外部 RAM 进行间接寻址。MCS-51 由包括 PC 在内的 22 个特殊功能寄存器,它们除有各自的名称外,还有唯一的地址离散的分布在片内 RAM 中的 80HFFH 共 128 个存储单元中。在

22、这128 个储存单元构成的电 SFR 块中,未被占用的单元不可使用! 输出型双向 I/O 端口。作为输 出型双向 I/O 端口。作为输出 P0 口:是一个8 位漏极开路端口时,每位能以吸收流的方式驱动 8 个 TTL 输入,对端口写 1时,又可作高阻抗输入端用。 在访外部程序或数据存储器时,它是时分多路转换的地址(低 8 位) 。 在稳定的状态条件下 Io 低被外部限制如下1、每个管脚的最大 IOL 15mA 注 85 规格2、每个 8 位口的最大 IOL 26 mA3、IOL 输出最大总和 71mA4、如果 IOL 超过测试条件 VOL 可能会超过相应规格不能保证超过测试电流2.2.1 复位

23、电路 图 2.1 上电复位图 图 2.2 手动复位图89C51 单片机是在一块芯片中集成了 CPU,RAM,ROM,定时器/计数器和多种本科生课程设计(论文)7功能的 I/O 线等一台计算机所需要的基本功能部件。89C51 单片机内包含下列几个部件:(一)一个 8 位 CPU;(二) 一个片内振荡器及时钟电路;(三) 4K 字节的 ROM 程序存储器;(四) 128 字节 RAM 数据存储器;(五) 两个 16 位定时器/计数器;(六) 可寻址 64K 外部数据存储器和 64K 外部程序存储器空间的控制电路;(七) 32 位可编程的 I/O 线(四个 8 位并行 I/O 端口) ;(八) 一个

24、可编程全双工串行口;(九) 具有五个中断源,两个优先级嵌套中断结构;89C51 单片机框图如下所示。各功能部件内部总线连接在一起。图 2.3 89C51 的内部总线本科生课程设计(论文)8图 2.4 89C51 的内部存储器2.3 600 立方米水箱给水设备系统的构成600 立方米由两台给水泵机组、水箱和三只浮球开关组成,其系统结构如图:图 2.5 系统结构图其中 M1、M2 为给水泵机组,LG、LD、LDD 分别为水位高、水位低、水位本科生课程设计(论文)9低低浮球开关,当水位高(大于 90 开度)时,LG 闭合,当水位低(小于 75 开度)时,LD 闭合,当水位低低(小于 50 开度)时,

25、LDD 闭合。 600 立方米水箱的控制器由 8051 系统构成。为避免电机的起停和电源波动时对电路的影响,输入输出均采用光电隔离。输出通过继电器,控制水泵机组的起停和报警,其电路图如下:图 2.6 控制电路图给水泵电机主控回路图如下:图 2.7 主控回路图2.3.1 本系统 8051 单片机控制部分结构本系统采用 8051 单片机,引脚具体控制如下:P1 口和 P3 口为输入输出检测信号和控制信号。下面是 8051 芯片引脚具体分配:P1.0:水位低低输入信号。 (低 0 高 1)P1.1:水位低输入信号。 (低 0 高 1)P1.2:水位高输入信号。 (低 0,高 1)本科生课程设计(论文

26、)10P1.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 输入信号,低电平有效动

27、作。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 闭合,系统

28、水位低报警。当水位低与 50 开度的时候,由传感器经变送器发送信号,LDD 闭合,系统水位低低报警。手动/自动模式转换控制如下:全自动模式下,系统自动判断水位的状况,选择不同的工作状态。在手动的模式下,两台给水泵的运行控制可由人工自己操作。本科生课程设计(论文)11第 3 章 主程序框图3.1 主程序框图图 3.1 主程序框图3.2 自动模式子程序图 3.2 自动模式子程序图本科生课程设计(论文)123.3 手动模式子程序图 3.3 手动模式子程序图本科生课程设计(论文)13第 4 章 本系统程序清单#include #define uchar unsigned char#define uin

29、t unsigned int/自动控制程序void autoplay(void) if(P1_0P1_1)=1) /低低水位处理数码显示“L”2 个 led 都亮 P1_6=0;P1_7=0;P1_4=0;P1_5=0;P0=0 xc7; if(P1_1P1_2)=1) /低水位处理数码显示“L”1 个 led 亮 TR0=0;P1_6=0;P1_7=1;P1_4=0;P1_5=1; P0=0 xc7; if(P1_2=0) /高水位处理数码显示“H”2 个 led 闪烁 P1_6=1;P1_7=1;P1_4=1;P1_5=1; P0=0 x89;本科生课程设计(论文)14 TR0=1; if

30、(P1_0&P1_1&P1_2) /其它情况处理数码显示“” TR0=0; P1_6=1;P1_7=1;P1_4=1;P1_5=1;P0=0 xff; /手动控制程序void play(void)P1_4=1;P1_5=1; if(P1_0P1_1)=1) /低低水位处理数码显示“L”2 个 led 都亮 P1_6=0;P1_7=0;P0=0 xc7; if(P1_1P1_2)=1); /低水位处理数码显示“L”1 个 led 亮 TR0=0;P1_6=0;P1_7=1; P0=0 xc7; 本科生课程设计(论文)15 if(P1_2=0) /高水位处理数码显示“H”2 个 l

31、ed 闪烁 P1_6=1;P1_7=1; P0=0 x89; TR0=1; if(P1_0&P1_1&P1_2) /其它状态处理数码显示“” TR0=0; P1_6=1;P1_7=1;P0=0 xff; /LED 灯闪烁程序void t0(void) interrupt 1 using 1 P1_6=P1_7; P1_7=P1_6;/主程序 void main(void) P1=0 xff; /初始化 P3=0 xff;TCON=0 x02;TH0=(256-50)/256;TL0=(256-50)%256;TR0=0;EA=1;本科生课程设计(论文)16ET0=1; while(1) if(P1_3=1) autoplay(); else play(); 本科生课程设计(论文)17第 5 章 模拟仿真图图 5.1 模拟仿真图本科生课程设计(论文)18

温馨提示

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

评论

0/150

提交评论