单片机水位测量系统.doc_第1页
单片机水位测量系统.doc_第2页
单片机水位测量系统.doc_第3页
单片机水位测量系统.doc_第4页
单片机水位测量系统.doc_第5页
免费预览已结束,剩余22页可下载查看

下载本文档

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

文档简介

目录 中文摘要.1 英文摘要.2 1 引言.3 1.1 MCS-51 单片机介绍 .3 1.1.1 时钟电路引脚 .4 1.1.2 控制信号引脚 .4 1.1.3 并行口引脚.5 1.1.4 MCS-51 单片机的存储器组织.6 1.1.5 复位状态.7 1.2 可编程键盘、显示器接口芯片 INTEL 8279 .8 1.2.1 8279 简介.8 1.2.2 8279 管脚与引线功能.10 2 系统硬件设计.13 2.1 设计总体方案 .13 2.2 水位测量电路 .14 2.3 体积换算 .15 2.4 A/D 转换电路 .15 2.5 工作电源模块 .17 2.6 看门狗电路的设计.18 2.7 LED 显示器 .18 2.8 键盘设计.19 3 软件设计.22 3.1 主程序.22 3.2 LED 显示程序.23 3. 3 键盘程序流程图 .24 结 论.25 谢 辞.26 参考文献.26 1 基于压力传感器的水位测量系统 摘要: : 本文提出了一种用压力传感器对水位进行精密测量的方法,改善了以往 用位移方式测量水位的一些弊端。本设计采用 MPX2050 压力传感器为核心 检测单元对最大深度不超过 5M 的容器进行水位测量,并采用 MCS51 单片机 构成水位检测装置。具有精度高,易维护,实用性好的优点,并与容器的 几何尺寸无关的优点。首先在引言中介绍了此系统的研究意义背景以及对 MCS51 单片机和可编程键盘、显示器接口芯片 INTEL 8279 做了简单介绍。 在第二章叙述系统硬件设计,使用的芯片功能和总体设计方案。第三章为 软件设计的流程。 关键词 :MCS-51 单片机,水位测量,压力传感器 2 Abstract: In this paper, a method for the water level of precision measurement with pressure sensor is proposed, improving the shortcomings of previous water level measured by displacement method. This design uses MPX2050 pressure sensor as the core detection unit for water level measurement of the greatest depth of not more than 5 M containers and a microcontroller MCS51 to form the water level detection device is used with high precision, easy to maintain, practical advantages, and the geometric containers unrelated to the merits of size. First,the background and significance of the system is introduced and also the MCS51 SCM and programmable keyboard, monitor interface chip INTEL 8279 are introduced. In the second chapter,the system hardware design, function of the chip used and the overall design programme are explained. Chapter III are the software design process. Key words: MCS-51 microcontroller; water level measurement; pressure sensor; 3 1 引言 水位检测在石油化工、水电水利、农田灌溉、环境监测、以及自来水厂、 污水处理厂等众多领域,水位是一个重要的技术参数。对于诸如农田灌溉、环 境监测、污水处理等公益部门,除测量精度、可靠性、可维护、易安装等技术 性能要求外,价格也是一个重要的因素。所以本系统具有价格低的优点,同时 也易于检测与控制,大大降低成本后,可广泛用于水电水利、环保和农业灌溉 等场合。 本系统介绍了以 MCS-51 单片机为核心的水位检测和控制系统的工作原理 和设计方法.本系统用到的器件有:MCS-51 单片机、模数转换器、显示器 LED 数码管以及键盘等。 本系统采用压力传感器检测的方法对水位进行检测,检测系统中的门限值 可以通过键盘改变。 键盘和显示器是单片机系统中人机对话不可缺少的一部分。在许多智能仪 表的设计中,多用 LED 数码管来显示。这是因为 LED 数码管驱动简单,成本较 低并且能适应恶劣的环境。用于数码管显示驱动的芯片有很多种。本设计中采 用循环扫描的方式,充分利用单片机快速的处理能力,只需普通的串行移位芯 片,就可以达到显示驱动的目的。 1.1 MCS-51 单片机介绍 MCS-51 是英特尔公司生产的 8 位单片机。它是在 MCS-48 系列的基础上 发展的高性能的 8 位单片机。所出的系列产品有 8051、8031、8751。其代表就 是 8051。其他系列的单片机都以它为核心,所以本设计采用的核心芯片是 8051 单片机。CPU 是它的核心设备,从功能上看,CPU 包括两个部分:运算器和控制器, 它执行对输入信号的分析和处理。 整个系统电控部分以 ATMEL 公司的 8051 为核心芯片,控制信号采集、处 理、输出三个过程。这种芯片内置 4KEPROM,因为系统要求控制线较多,如 果采用 8031 外置 EPROM 程序控制结构,则造成控制线不够;而 8051 却可以 利用 P0、P2 口作控制总线,大大简化了硬件结构,并可以直接控制键盘参数输 入、LED 数据显示,方便现场调试和维护,使整个系统的通用性和智能化得到 了很大的提高。 4 MCS-51 引脚图如下图 1.1 所示: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 21 23 24 25 26 27 28 29 30 32 31 33 34 35 36 37 38 39 40 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RSD/VPD RXD/p3.0 TXD/p3.1 /INT0/p3.2 /INT1/p3.3 T0p3.4 T1p3.5 /WR/p3.6 /RD/p3.7 XTAL2 XTAL1 Vss Vcc P0.0/A0 P0.1/A1 P0.2/A2 P0.3/A3 P0.4/A4 P0.5/A5 P0.6/A6 P0.7/A7 /EA ALE /PSEN P2.7/A15 P2.6/A14 P2.5/A13 P2.4/A12 P2.3/A11 P2.2/A10 P2.1/A9 P2.0/A8 8051 图 1.1 8051 的引脚 1.1.1 时钟电路引脚 XTAL1: 接外部晶体的一端。在单片机内部,它是反相放大器的输入端, 该放大器构成了片内振荡器。在采用外部时钟电路时,对于 HMOS 单片机,此 引脚必须接地;对 CHMOS 单片机,此引脚作为驱动端。 XTAL2:接外部晶体的另一端。在单片机内部,它是反相放大器的输出端。 若采用外部时钟电路时,对于 HMOS 单片机,该引脚输入外部时钟脉冲:对于 CHMOS 单片机,此引脚应悬空。 1.1.2 控制信号引脚 RST/VPD:复位/备用电源输入端。单片机上电后,只要在该输入 24 个振 荡周期(两个机器周期)宽度以上的高电平就会使单片机复位。RSDT/VPD 具 有复用功能,可接上+5V 备用电源。当 Vcc 下掉到低于规定的电平,而 VPD 在起其规定的电压范围内时,VPD 就向片内 RAM 提供备用电源,以保持片内 RAM 中的信息不丢失。 ALE(Address Latch Enable):低 8 位地址锁存使能输出端。当 CPU 访问外 5 部存储器时,ALE 可向低 8 位地址锁存器输出锁存控制信号;当不访问外部存 储器时,ALE 端仍以时钟振荡频率的 1/6 固定地输出正脉冲。因此,它可用外 部定时或其他需要。但要注意的是:每当访问外部数据存储器时会丢失一个脉 冲。ALE 端可驱动 8 个 LSTTL 负载。 PSEN(Problem Store Enable):外部程序存储器选通信号。CPU 在访问外 部程序存储器期间,每个机器周期。PSEN 信号两次有效。当访问外部数据存 储器时,则不会出现 PSEN 信号。PSEN 端可以驱动 8 个 LSTTL 负载。 EA(Enable Address):外部程序存储器地址允许使能端。当 EA 端输入高电 平时,CPU 从片内程序存储器开始执行程序,当程序计数器 PC 的值超过内部 程序存储器的最高地址(对于 8051 为 0FFFH)时,将自动转向片外程序存储 器取指令并执行。当 EA 输入低电平时,CPU 仅访问片外程序存储器。对于 8031 来说,由于片内无程序存储器,所以 EA 端必须接低电平。 1.1.3 并行口引脚 P0.0P0.7:P0 口是一个漏极开路的 8 位准双向复用 I/O 端口。 P1.0P1.7:P1 口是一个内部带上拉电阻的 8 位准双向 I/O 端口。 P2.0P2.7:P2 口是一个内部带上拉电阻的 8 位准双向复用 I/O 端口。 P3.0P3.7:P3 口是一个内部带上拉电阻的 8 位多功能双向 I/O 端口。 表 1.1 P3 口线的第二功能 口线第二功能第二功能名称 P3.0RXD串行数据接收端 P3.1TXD串行数据发送端 P3.2 0 INT 外部中断请求输入端 0 P3.3 1 INT 外部中断请求输入端 1 P3.4T0定时/计数器 0 计数输入 P3.5T1定时/计数器 1 计数输入 P3.6WR外部数据存储器写选通 P3.7 RD 外部数据存储器读选通 6 P0 口:P0 口是一组漏极开路型双向 I/O 口,也即地址/数据总线复用口 作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对 口“1”可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位) 和数据总线复用,在访问期间激活内部上拉电阻。 在 FLASH 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节, 校验时,要求外接上拉电阻。 P1 口:P1 是一个带内部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲级 驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1” ,通过内 的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因 内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。 P2 口:P2 是一个带有内部上拉电阻锝位双向 I/O 口,P2 的输出缓冲级 驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1” ,通过内 的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因 内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。 在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 MOVX DPTR 指令)时,P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存 储器(如执行 MOVX RI 指令)时,P2 口线上的内容(也即特殊功能寄存器 (SFR)区中 R2 寄存器的内容) ,在整个访问期间不改变。 P3 口:P3 口是一组带有上拉电阻的 8 位双向 I/O 口。P3 口输出缓冲级可 驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对 P3 口写入“1”时,它们被 内部上拉电阻高并可作为输入端口。作输入端时被外部拉低的 P3 口 将用上拉电阻输电流。 1.1.4 MCS-51 单片机的存储器组织 MCS51 单片机的存储器结构有二个特点:第一个特点是程序存储器 (ROM)和数据存储器(RAM) 之分,这二个地址空间独立,程序存储器存放程序 指令、常数、表格等;数据存储器则存放数据。第二个特点是片内存储器和片 外存储器之分。 CPU 在访问三个不同的逻辑空间时,通过采用不同形式的指令,访问程序 存储器使用 MOVC 指令、访问片内数据存储器使用 MOV 指令、访问片外数据 存储器使用 MOVX 指令,来产生相应的存储器选通信号。 7 片内数据存储器 数据存储器用于存放各种运算的中间结果,用作缓存和数据暂存,以及设 置特征标志等。 8051 的片内数据存储空间较小,仅用 8 位地址寻址,最大寻址范围为 256(00HFFH)的单元,按使用情况不同可分为低 128 单元(00H7FH)和高 128 单元(80HFFH)。其中低 128 单元为真正的 RAM 存储器,高 128 单元为 特殊功能寄存器(SFR)区。 1.1.5 复位状态 复位操作是单片机的初始化操作。其主要功能是把 PC 初始化为 0000H, 使单片机从 0000H 单元开始执行程序。除了进入系统的正常初始化之外,当由 于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复 位键以从新启动。 单片机在 RESET 引脚有效电平作用下,自动进行复位操作。复位后各专用 寄存器复位值为: PC0000H,所以复位后程序入口地址是 0000H。 PSW00H,用户设定标志位为 0 状态(F0=0)。 SP07H,设定堆栈栈底为 07H。 TH1、TL1、TH0、TL0 全为 00H,表明定时/计数器复位后皆清零。 TMOD=00H,表明定时/计数器都处于方式 0 工作状态,并设定内部定时方 式,定时器不受外部引脚控制。 TCON=00H,禁止计数器计数,并表明定时/计数器无溢出;对中断系统则表 明 C/T 无溢出中断,无外部中断请求,外部中断源为电平触发方式。 SCON=00H,使串行口工作在移位寄存器方式即方式 0,并且设定允许串 行移位接收或发送。 IP 的有效位皆为 0,使中断系统的 5 个中断源设置为低优先级中断状态。 P0、P1、P2、P3 口锁存器全为 1 状态,使这些准双向口皆处于输入状态。 复位电路和复位信号的产生 复位电路是靠外部电路实现的,RST 为外部复位信号的输入引脚。在振荡 器运行下,RST 引脚上出现至少两个机器周期的高电平信号,单片机就会完成 复位操作。 复位操作有上电自动复位和按键手工复位两种方式。上电复位电路图如图 8 1.2 所示,手工复位电路图 1.3 所示。 Vcc C 22uF R 1K RST Vss Vcc a) Vcc C 22uF R1 1K RST Vss Vcc b) K R2 200 图 1.2 上电复位电路图 图 1.3手工复位电路图 1.2 可编程键盘、显示器接口芯片 Intel 8279 把键盘与显示器接口做在一起的方法,常常直接采用可编程键盘、显示器 并行接口芯片 Intel 8279 来完成。8279 是一种通用可编程序的键盘、显示器 接口,使用它可简化系统的软硬件设计,充分提高 CPU 的工作效率。 1.2.1 8279 简介 1.2.1.1 8279 电路工作原理 8279 的内部结构主要包括键盘输入和显示输出两个部分以及相应的寄存器 和控制电路。 键盘部分提供的扫描方式,可以和具有 64 个按键或传感器的阵列相连。能 自动消除开头抖动并能对多键同时按下提供保护。 显示部分按扫描方式工作,它为 LED 等显示块提供多路复用信号,可以显 示多达 16 位的字符和数字。 8279 的内部结构具体来说,可划分为以下几个部分,下面分别介绍各部分 电路的作用及原理。 1. I/O 控制及数据缓冲器 数据缓冲器是双向缓冲器,连接内、外总线,用于传送 CPU 和 8279 之间的 命令或数据。 I/O 控制线是 CPU 对 8279 进行控制的引线。是 8279 的片选信号,当CS =0 时,8279 才被允许读出或写入信息。、为来自 CPU 的读、写控CSWRRD 9 制信号。 Ao 用于区别信息特性:Ao=1 时,表示数据缓冲器输入为指令,输出为状 态字;Ao=0 时,输入、输出皆为数据。 2. 控制与定时寄存器及定时控制 控制与定时寄存器用来寄存键盘及显示的工作方式,以及由 CPU 编程的其它 操作方式。 这些寄存器一旦接收并锁存送来的命令,就通过译码产生相应的信号,从而 完成相应的控制功能。 定时控制包含个基本计数器。其中第一个计数器是一个可编程的级计数 器。可在 231 之间由软件编程,以便从外界时钟 CLK 分频得到内部所需要 的 100kHz 时钟。然后再经过其它计数器分频,为键盘扫描提供适当的逐行扫 描频率和显示器扫描时间。 3. 扫描计数器 扫描计数器有编码和译码两种工作方式。按编码方式工作时,计数器作二进 制计数。 位计数状态从扫描线 SloSL3 输出,经外部译码器译码后,为键盘和显示 器提供扫描线。按译码方式工作时,扫描计数器的最低位被译码后,从 SloSL3 输出,因此 SloSL3 提供了中选的扫描译码。 4. 回复缓冲器、键盘去抖动及控制 来自 RL0RL7 的根回复线的回复信号,由回复缓冲器缓冲并锁存。 在键盘工作方式中,回复线作为行列式键盘的行列输入线。在逐行列扫描时, 回复线用来搜寻每一行列中闭合的键。当某一键闭合时,去抖动电路被置位, 延时等待 10ms 后,再检查该键是否继续闭合,并将该键的地址和附加的移位、 控制状态一起形成键盘数据被送入 8279 内部 FIFO(先进先出)存储器。键盘 数据格式如下: D7 D6 D5D4D3 D2D1D0 控制 移位 扫描 回复 控制和移位(D6、D7)的状态由两个独立的附加开关决定,而扫描位 (D5、D4、D3)和回复位(D2、D1、D0)则是被按键的行列位置数据。 D5、D4、D3 来自扫描计数器,是按下键的行编码,而 D2、D1、D0 则来自列计 数器,它们是根据回复信号而确定的列编码。 在传感器开关状态矩阵方式中,回复线的内容被直接送往相应的传感器 10 RAM(即 FIFO 存储器) 。在选通输入方式中,回复线的内容在控制锁存线的上 升沿送入 FIFO 存储器。 5. FIFO传感器 RAM 及其状态寄存器 FIFO传感器 RAM 是一个双重功能的 88RAM。 在键盘选通方式工作时,它是 FIFO 存储器,其输入或读出遵循先入先出的 FIFO 原则。 此时,FIFO 状态寄存器用来存放 FIFO 的工作状态。例如,RAM 是满还是空; 其中存有多少数据;操作是否出错等。当 FIFO 存储器中有数据时,状态逻辑将 使 IRQ=1,向 CPU 申请中断。 在传感器矩阵方式工作时,这个存储器用作传感器存储器。它存放着传感 器矩阵中的每一个传感器状态。在此方式中,若检索出传感器的变化,IRQ 信 号变为高电平,向 CPU 申请中断。 6. 显示 RAM 和显示地址寄存器 显示 RAM 用来存储显示数据,容量为 168 位。在显示过程中,存储的显 示数据轮流从显示寄存器输出。显示寄存器分为、两组,即 OUTA03 和 OUTB03,它们可以单独送数,也可以组成一个 8 位的字。显示寄存器的输出 与显示扫描配合,不断从显示 RAM 中读出显示数据,同时轮流驱动被选中的显 示器件,以达到多路复用的目的,使显示器件呈现稳定的显示状态。 显示地址寄存器用来寄存由 CPU 进行读写显示 RAM 的地址,它可以由命 令设定,也可以设置成每次读出或写入之后自动递增。 1.2.2 8279 管脚与引线功能 8279 采用 40 引脚封装,其管脚配置如图 1.4 所示,其引脚功能分述如下: 11 RL2 1 40 Vcc RL3 2 39 RL1 CLK 3 38 RL0 IRQ 4 37 CNTL/STB RL4 5 36 SHIFT RL5 6 35 SL3 RL6 7 34 SL 2 RL7 8 33 SL1 RESET 9 32 SL0 RD 10 8279 31 OUTB0 WR 11 30 OUTB1 D0 12 29 OUTB2 D1 13 28 OUTB3 D2 14 27 OUTA0 D3 15 26 OUTA1 D4 16 25 OUTA2 D5 17 24 OUTA3 D6 18 23 BD D7 19 22 CS GND 20 21 A0 图 1.4 8279 管脚配置 () D0D7(数据总线):双向、三态总线,与系统数据总线相连; 用于 CPU 和 8279 间的数据命令传送。 () CLK(系统时钟):输入线,为 8279 提供内部时钟的输入端。 () RESET(复位):输入线,当 RESET=1 时,8279 复位,其复位状 态为:16 个字符显示;编码扫描键盘双键锁定;程序时钟编程为 31。 ()(片选):输入线,当=0 时,8279 被选中,允许 CPU 对其CSCS 读、写,否则被禁止。 () A0(数据选择):输入线,当 A0=1 时,CPU 写入数据为命令字,读 出数据为状态字;A0=0 时,CPU 读写的字节均为数据。 () IRQ(中断请求):输出线,高电平有效。在键盘工作方式中,当 FIFO传感器 RAM 存有数据时,IRQ 为高电平。CPU 每次从 RAM 中读出数 据时,IRQ 变为低电平。若 RAM 中仍有数据,则 IRQ 再次恢复为高电平。在 传感器工作方式中,每当检测到传感器状态变化时,IRQ 就出现高电平。 12 () SL0SL3(扫描线):输出线,用来扫描键盘和显示器。它们可以 编程设定为编码(中取)或译码输出(16 取) 。 () RL0RL7(回复线):输入线,它们是键盘矩阵或传感器矩阵的 列(或行)信号输入线。 () SHIFT(移位信号):输入线,高电平有效。该输入信号是 8279 键 盘数据的次高位(D6) ,通常用来扩充键开关的功能,可以用作键盘上、下挡 功能键。在传感器方式和选通方式中,SHIFT 无效。 ()CNTL/STB(控制选通):输入线,高电平有效。在键盘工 作方式时,该输入信号是键盘数据的最高位(D7) ,通常用来扩充键开关的控 制功能,作为控制功能键用。在选通输入方式时,该信号的上升沿可把来自 RL0RL7 的数据存入 FIFO RAM 中。在传感器方式下,该信号无效。 ()OUTA0 OUTA3:A 组显示信号,输出线。 ()OUTB0 OUTB3:B 组显示信号,输出线。 这两组引线都是显示数据输出线,与多位数字显示的扫描线 SL0SL3 同 步。两组可以独立使用,也可以合并使用。 ()、(读写信号):输入线,低电平有效。来自 CPU 的RDWR 控制信号,控制 8279 的读、写操作。 ()(显示消隐):输出线,低电平有效。该信号在数字切换显BD 示或使用消隐命令时,将显示消隐。 13 2 系统硬件设计 2.1 设计总体方案 本系统主要是实现水塔水位的测量和报警功能。系统的原理是采用压力传 感器 MPX2050 对水位进行测量, MPX2050 输出的电压信号经过放大后通过模 数转换器 ADC0809 进行 A/D 转换,然后传到单片机进行处理;再通过 LED 显 示器显示出水位高度,用 LED 显示是因为它具有显示清晰、亮度高、使用电压 低、光电转换效能高、寿命长等特点;同时把检测到的数据与已经设定好的上 限值和下限值进行比较,得相应的数字量进行判断和运算,当液位低于下限值 时, 发出报警安全提示信号。当液位高于上限值时,发出报警安全提示信号。 下图2.1为水塔水位测量系统的结构图 MCS-51 单片机 A/D 转换 电源电路 看门狗 LED 显示 键盘 报警 水位 测量 图2.1 水塔水位测量系统的结构图 由上图可观察到传感器通过对水塔水位进行测量,输出模拟信号,再通过 模数转换器把输入的模拟信号转换成数字信号,通过 8051 单片机的运算控制, 在通过 LED 进行显示,通过报警装置进行报警。 2.2 水位测量电路 14 2.2.1 首先介绍一下水位测量的原理: 用容器盛水时,由于水有重量,就有相当于那么多重量的压力,向容器的 壁及底面作用。盛在容器中的液体,对侧面及底面都有压力作用,对任何方向 的面,压力总是垂直于接触面的。而且深度相同时,压强也相同;水位越深, 则压强也越大。根据公式:P= gh,可知 H=P/ g。 上式中 p 表示压强,单位帕斯卡(简称帕,符号 Pa) ; 表示水的密度,单 位千克米 3;H 表示液体的深度,单位为米; g 为当地的重力加速度。 在本设计方案中,在容器的底部安装法兰,又叫法兰盘或突缘。使管子与 管子相互连接的零件。连接于管端。法兰上有孔眼,可穿螺栓,使两法兰紧连。 法兰间用衬垫密封。)并连接一根细的弯管,在弯管的顶部安装 MPX2050 压力 传感器。在细的弯管中存在空气,当水池中有水时,被压缩的空气作用到 MPX2050 压力传感器上,他的输出端就有电压输出。 2.2.2 MPX2050 压力传感器的特点: 在本系统中采用的MPX2050 压力传感器,提供了精确的与外界压力成正比的 线性电压输出,它的线性度达到0.25%/VFSS,并且具有0-85的温度补偿。因此,在 0-5M 的测量范围内,仅仅产生1.25CM 的误差。它的输出电压通过电压跟随器的 隔离,使得后级电路的工作对它不产生影响,增加了测量系统的稳定性和准确性。 MPX2050 压力传感器的外形如下图2.2所示: 2.2.3 水位测量的电路原理图 图 2.3 水位测量的电路原理图 如图 2.3 所示:其中 R1=2K R2=50K R3=2K R4=10K MPX2050 压力传感器根据水位的高低,输出0-40mV 的电压,A1A3 是 高性能OP07 运算放大器。由运算放大器A1 构成电压跟随器,以提高电路的输 入阻抗,再由A2、A3 构成二级反相放大,A2 的放大倍数为25,A3 的放大倍 15 数为5,共放大125 倍,输出0-5V 的水位测量电压。 本系统中采用传统的 A/D 转换电路,0-5000 mV 输出电压的相对 0-5M 的 水位,转换精度达到 1mm/ mV。 当水位测量范围变化时,摩托罗拉公司提供了一系列的硅压力传感器,只需要 采用相应量程的压力传感器即可达到检测的目的。所以说本设计具有很好的可 移植性。 2.3 体积换算 该设计不但可以对水位进行检测同时也可以对体积进行检测,这里只需要 通过换算即可。例如正方形、圆柱体、圆锥体、球体和椭圆形容器等。根据该 装置把液体的高度检测出来,然后在进行乘法运算就可以得到液体的体积。下 面就以正方形、圆柱体、圆锥体为例进行说明: V1(正方体)=abh=h3; V2(圆柱体)=r2h; V3(圆锥体)=1/3r2h。 2.4 A/D 转换电路 本开发系统的 AD 转换实验硬件主要是由 ADC0809 转换芯片和四个可变 电位器组成的。ADC0809 是 8 位 8 通路逐次逼近式 AD 转换器,输入电压在 (O5)V,最大不可调误差小1LSB,它具有高速、高精度、温度依赖度低以及 在长期工作条件下能耗小、重复性好等优点。ADC0809 芯片的引脚图如图 2-6 所示。由图 2-6 可看芯片主要是由一个 8 位 AD 转换器、8 路模拟输入选通开 关、地址锁存及译码电路工作和三态数据输出锁存器组成。为实现 8 路模拟通 道能有条不紊地工作,首先通过地址译码锁存器选通所要开通的 8 路模拟通道 中的一路开关,将模拟信号送入 A/D 转换器中实现 A/D 的转换,转换后的数据 放到三态数据锁存器中等待 CPU 来取,取后由 CPU 启动新一次的地址译码, 重复以上完成新一次的 A/D 转换。ADC0809 芯片提供了高转换速度、高精密度、 环境影响小和低功耗等优点,被广泛应用于各种控制领域。下图 2.4 为 ADC0809 芯片的引脚图。 16 图 2.4 ADC0809 芯片的引脚图 ADC0809 是带有 8 位 A/D 转换器、8 路多路开关以及与微型计算机兼容的 控制逻辑的 CMOS 组件,其转换方法为逐次逼近型。在 A/D 转换器内部含有一 个高阻抗斩波稳定比较器,一个带有模拟开关树组的 256 电阻分压器,以及一 个逐次逼近型寄存器。8 路的模拟开关由地址锁存器和译码器控制,可以在 8 个通道中任意访问一个通道的模拟信号。由于多路开关的地址输入部分能够进 行锁存和译码,而且三态 TTL 输出也可以锁存,所以它易于与微型计算机接口。 2.5 工作电源模块 在本系统中压力传感器 MPX2050 需要+10V 的工作电压,其他电路的工作 电压都是+5V,包括 MCS-51 系列单片机也需要+5V 的工作电压。 目前有三种常用的电源变换器:AC/DC 稳压电源、DC/DC 变换器和 DC/AC 逆变器。每种变换器都有很广的应用范围,其中 AC/DC 稳压电源和 DC/DC 变 换器应用最广。由于 220V 交流电应用广泛,本文采用 AC/DC 稳压电源装置。 AC/DC 稳压电源具有以下几个重要功能:1.电压数值变换,2.整流,3.滤波,4. 稳压,5.隔离。 理想的 AC/DC 稳压电源应当具有以下几个重要特性: 1.输出电压与市电 电压,负载电流,环境温度和工作时间无关;2.在整个工作频率范围内,输出 1234 A B C D 4321 D C B A Title NumberRevisionSize Letter Date:19-Jun-2007Sheet of File:E:享享享22BACKUP11111.BkpDrawn By: IN-0 26 msb2-1 21 2-2 20 IN-1 27 2-3 19 2-4 18 IN-2 28 2-5 8 2-6 15 IN-3 1 2-7 14 lsb2-8 17 IN-4 2 EOC 7 IN-5 3 ADD-A 25 IN-6 4 ADD-B 24 ADD-C 23 IN-7 5 ALE 22 ref(-) 16 ENABLE 9 START 6 ref(+) 12 CLOCK 10 ADC0809 17 阻抗为 0;3.变换效率较高;4.输出电压中不含有纹波和噪声。 AC/DC 稳压电源的+5V 电压实现电路如图 2.5 所示。在整流中,用 4 只整 流管,滤波电容采用容量为 1000uf 的电解电容器和 0.01uf 的瓷介电容。7805 输出直流+5V 电压,用以提供其他模块偏置电源,同时也为 MCS-8051 单片机、 复位芯片 MAX705 等提供电源。 图 2.5 +5V 工作电源原理图 同理,AC/DC 稳压电源的+10V 电压实现电路如图 2.6 所示: 图 2.6 +10V 工作电源原理图 2.6 看门狗电路的设计 有硬件组成的“看门狗”电路可以有效的克服主程序或中断服务程序因陷 入死循环而带来的不良后果。可以是系统工作更安全。 123456 A B C D 654321 D C B A Title NumberRevisionSize B Date:14-Jun-2005Sheet of File:D:Program Files享享享享享享享designMyDesign1.ddbDrawn By: VCC 2 MR 1 WDO 8 PFO 5 GND 3 PFI 4 WDI 6 RST 7 U12 MAX705 R1 4K7 S1 VCC 12 U13A 74F04 RESET T0 18 图 2.7 看门狗电路 “看门狗”电路图见图 2.7。它由 MAX705 芯片构成,主要用于监控 MPU/MCU 的活动。其工作原理为:如果在 1.6s 内 WDI 端没有收到来自 MPU/MCU 的触发信号,并且 WDI 处于非高阻态,则 WDO 输出变低。只要复 位信号有效或 WDI 输入高阻,则看门狗定时器功能就被禁止,且保持清零和不 计时状态。复位信号的产生会被禁止定时器,可一旦复位信号撤消并且 WDI 输 入端检测到短至 50ns 的低电平或高电平跳变,定时器将开始 1.6s 的计时。即 WDI 端的跳变会清零定时器并启动一次新的计时周期。 2.7 LED 显示器 本系统中采用的是静态显示。主要用开显示所测水位高度,经过换算后也 可以显示水的体积。 所谓显示方式,就是从什么样的形式来显示多个字符,本系统使用的显示 方式是静态显示方式。所谓静态显示方式,就是在任意时刻,所有显示器都按 照各自的字形码同时显示对应的字符。静态显示方式要求每位 LED 显示器的公 共端必须接地(对共阴极 LED)或接高电平(对共阳极 LED) ,而每位 LED 都 有一个锁存功能的 8 位端口去控制,这里所指的 8 位端口可以直接采用并行 I/O 接口(如单片机的 POP3、8115 的 PA 与 PB、8255 的 PAPC 等)也可以采用 扩展的串行输入/并行输出移位寄存。 显然要显示某字符,首先要把这个字符转换为相应的字形代码,然后再通 过串行口发送到串行移位寄存器 74LS164。74LS164 把从串行口接到的数据变 为并行数据加到数码管的字段端。 首先建立一个字形表 TAB,把表格的起始地址 TAB 送入基址寄存器 DPTR,要显示的数作为偏移量送入变址寄存器 A,通过 MOVC 指令就可从表 格中取出相应数字的字形码。 其次要建立一个显示缓冲区 DIS0DIS7,缓冲区各单元分别对应各个数码 管 LED0LED3。显示子程序的功能就是把显示缓冲区中的一位十六进制数据 取出,查表后转换成相应的显示字形码,然后送到数码管中。所以,需要执行 和更新显示时,必须先向显示缓冲区送数,然后再调用显示子程序。 2.8 键盘设计 19 2.8.1 键盘接口技术 计算机所用的键盘按其结构可分为编码键盘和非编码键盘两种,非编码键 盘有两种形式:简单键盘和矩阵式键盘。本系统采用的是 43 矩阵键盘。本系 统中的键盘主要功能:第一,可以从键盘输入所测水位的上下限值。 键盘就是一组按键的集合,它是最常用的输出设备。操作员通过键盘可以 输入数据或命令,实现简单的人机通信。 计算机所用的键盘按其结构形式可分为编码键盘和非编码键盘两种: 编码键盘本身除了按键意外,还包括产生键码的硬件电路。该电路还具有 去抖动和多键,窜键保护功能。这种键盘使用方便,但电路复杂,价格较高, 在单片机应用系统中较少使用。 非键盘码则用软件来识别键盘上的闭合键,并由此计算出键码。非键盘码 结构简单(几乎不需要附加硬件逻辑) ,成本低廉,在单片机应用系统中被普通 采用。 2.8.2 按键去抖动处理 按键实际就是一种常用的按钮开关,平时键的两个触电处于断开状态,按 键被按下时,两个触电闭合。由于键盘上的按键都是利用机械触点来实现键的 闭合与释放。由于弹性作用的影响,机械触点在闭合及断开瞬间均有抖动过程, 从而使键输入电压信号也出现抖动,抖动时间 t1 与 t3 长短与按键的机械特性有 关,一般为 510ms。 按键的稳定闭合时间 t2 由操作人员的按键动作锁确定,一般为几百毫秒至 几秒。为了保证系统对键的一次闭合作一次键输入处理,必需消抖处理。一般 可以用硬件或软件的办法来消抖,具体有如下方式: (1)滤波消抖电路 当按键抖动信号通过滤波电路以后,只要选择适当的时间常数,便可消除 抖动的影响。 (2)软件消抖 所谓软件消抖,就是在第一次检测到有键按下时先不动作,延时一段时间 (一般为 10um),再次检测按键的状态,如果仍保持闭合状态,则确认真正有键 按下.当检测按键释放后,也要给 5ms10ns 的延时,待后沿抖动消失后才能转 入按键的处理程序。 对于两个或多个按键同时按下的重键问题,可以采用先入后出或后留有效 20 的原则加以处理。所谓先入有效,是指多个按键同时按下时,只有第一个按下 的键有效,其它键无效。所谓后留有效,是指当多个按键同时按下时,只有最 后松开的按键有效,其它键均无效。 矩阵式键盘的工作过程包括如下环节: (1)测试有无键按下 CPU 通过读取 PC0PC3 的状态确知有无键按下。当键盘上没有键闭合时, 行,列线之间是断开的 ,所有行线 PC0PC3 输入全部为高电平。当键盘上某 个键按下闭合时,则对应的行线和列线短路,行线输入即为列线输出。此时, 若将所有列线输出初始化为低电平,则通过行线输入值是否为全 1,即可判断 有无键按下。 (2)确定被按键的物理位置 键盘中究竟哪一个键被按下,是通过列线逐列置低电平 0,PA1PA3 全部输入 高电平 1,读行线 PC0PC3 的状态。如果读得某行线为 0 电平,则可确确认对 应于该行线与列线 PA0 相交处的键被按下,否则说明 PA0 列上无键按下。如果 PA0 列上无键按下,接着令 PA1 输出低电平 0,其余为高电平 1,再读 PC0PC3,判断其是否全为 1,若是,表示被按键也不在此列,依次类推直至 列线 PA3。这种逐列检查键盘状态的过程称为键盘扫描。 键闭合一次应仅进行一次键功能操作。计算键码之后,再以延时和扫描的 方法等待并列定键释放,键释放后去除键的抖动再将键值送入累加器 A 中,然 后执行键功能操作。 21 3 软件设计 3.1 主程序 整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软 件的功能也就基本定了下来。从软件的功能不同可分为两大类:一是监控软件 (主程序) ,它是整个控制系统的核心,专门用来协调各执行模块和操作者的关 系。二是执行软件(子程序) ,它是用来完成各种实质性的功能如测量

温馨提示

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

评论

0/150

提交评论