智能太阳能热水器水温水位单片机控制仪设计_第1页
智能太阳能热水器水温水位单片机控制仪设计_第2页
智能太阳能热水器水温水位单片机控制仪设计_第3页
智能太阳能热水器水温水位单片机控制仪设计_第4页
智能太阳能热水器水温水位单片机控制仪设计_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业论文(设计)本科毕业论文(设计) 题 目 太阳能热水器控制器设计 学生姓名 专业名称 指导教师 I 太阳能热水器控制系统设计太阳能热水器控制系统设计 摘要摘要:该设计以单片机 AT89S52 为核心,结合单线数字温度传感器 DS18B20 与液晶显示器 12864,设计一种数字化、智能化的太阳能热水器控制系统。该 系统由主控芯片模块、DS18B20 温度检测模块、LCD 显示模块、水位检测模块、 键盘控制模块、报警模块和电磁阀控制模块组成。给出了各个模块地结构及其 工作原理、系统硬件原理图、程序流程图和部分源程序,并结合理论设计进行 实物制作。此系统解除了热水器上水时需人工守候和过量溢水的问题,达到了 省时、环保、节水的目的。该系统与传统的机械式控制系统相比较,具有结构 简单,抗干扰能力强,使用方便等特点。 关键词关键词:单片机 AT89S52; 温度传感器 DS18B20; 智能控制 Solar water heater control system Abstract:This design takes monolithic integrated circuit AT89S52 as the core, combining the single digital temperature sensor DS18B20 and LCD 12864, to design a kind of digital, intelligent control system of solar energy water heater.The system consists of main chip module, DS18B20 temperature detection module, LCD display module, the water level detection module, keyboard control module, alarm module and solenoid valve control module. Given to the structure of each module and its working principle, system hardware, schematics, process flow charts, and some source code, and theoretical design of physical production. The system needs to lift the water heater in Sheung Shui and excessive artificial overflow problem waiting to reach a time-saving, environmental protection, water conservation purposes. The system with the traditional mechanical control systems compared to simple structure, strong anti-interference ability, easy to use and so on. Keywords:Microcontroller AT89S52;Transducer DS18B20;Intelligence control II 目目 录录 1 引言引言.1 2 系统设计要求和方案论证系统设计要求和方案论证.1 2.1 系统的设计要求.2 2.2 系统设计方案与比较.2 3 系统硬件电路设计系统硬件电路设计.3 3.1 主控芯片 AT89S52 单片机.3 3.2 温度检测模块.7 3.3 LCD 液晶显示模块.11 3.4 水位检测模块.16 3.4.1 ADC0809 芯片 .16 3.4.2 水位接口电路.19 3.5 键盘控制模块.20 3.6 报警模块.20 3.7 电磁阀控制模块.21 3.8 整体电路图.22 4 系统软件设计系统软件设计.23 5 系统硬件调试系统硬件调试.24 5.1 自动与手动上水测试.25 5.2 水温和水位显示测试.25 6 结束语结束语.25 参考文献参考文献 .27 附附 录录.28 致致 谢谢.44 1 1 引言引言 由于近年来常规能源的紧缺,开发和利用太阳能这样的绿色能源有着重要 的意义,它既是可再生能源,也不会污染环境。太阳能热水器也是其中的一大 产业,太阳能热水器时存在的问题:不可缺水,空晒情况下上水会爆炸;春、 秋天,水温升高蒸发,造成热能损失;冬天水温不够,须用电等等。现在人们 对家用电器的要求越来 趋向数字化、自动化、智能化。采用太阳能热水器水温 水位测控系统,能解决上述问题。使用户省心,使用方便,智能操控,用户不 必作任何操作。 随着中国经济的快速发展,国内对能源的需求成几何倍数上升。从国际能 源环境来看,形式并不乐观,世界能源危机日趋严重,所以中国经济要想继续 高速、健康的发展,摆脱能源这一“瓶颈”已经变得刻不容缓。太阳能这一取 之不尽、用之不完的新型环保可再生能源必然会成为承担这一重任的首选,所 以我国太阳能热转换产业的发展前景是非常广阔的,绿色能源代替传统能源, 将成为建设和谐社会的必经之路! 本系统是针对上述问题设计的温度控制系统,由 AT89S52 单片机和一些外 围设备,充分运用软件和硬件结合的方法实现了当前水位高度显示、水箱温度 显示,以及当水位下降到最低刻度线时自动上水三种主要功能。本系统可使用 在水池,锅炉,水塔等装置上,当水位下降到一定刻度值且大于最低水位值时, 可由人工使用按键来控制水泵立即上水,直至水位到达最高刻度。当水位下降 到报警刻度时,系统可通过自动上水使水位保持在一定的水位高度。每次上水 的最大水位值也可根据环境需要由人工自由设置,上水过程的自动控制省去人 工守候环节,节省了大量的人力,带来了工作效益。 从未来的发展来看,以投资少、无污染、节约能源、多功能、智能化为设计 目标,将会带来客观的经济效益。 2 2 系统设计要求和方案论证系统设计要求和方案论证 设计要求是一个设计必须要求达到的目标或完成的目标,而设计方案是一 个设计实现的重要途径,同样必不可少。 2.1 系统的设计要求系统的设计要求 设计的系统可以实现当前水位高度、水箱温度的显示,以及当水位下降到 报警刻度时,系统可通过自动上水使水位保持在一定的水位高度。而且还可以 人工手动控制上水,每次上水的最大水位值也可根据环境需要由人工自由设置。 2.2 系统设计方案与比较系统设计方案与比较 方案一:采用半导体逻辑器件构成的控制器,主要应用定时器构成。在此 控制方案里,定时器和加减计数器共同构成水位显示器。由于水温的变化具有 未知性,在水温检测电路里,利用热敏电阻测量的水温信号是模拟量,需要经 过模/数转换成半导体逻辑器件能够识别的数字信号。这类控制电路过于庞大复 杂,操作也不方便,成本也较高。 方案二:采用可编程逻辑器件。结果简单的 PLC 控制成为首选。由于控制 电路简单,检测电路要求也不高,所以必然造成接口资源和内部资源的浪费, 显然不够经济。 方案三:采用单片机为核心控制器的电路。单片机电路结构简单、成本低 廉,可靠性高,便于实现各个控制功能。水位由设置在水箱内的四个浮子式微 动开关获得的电信号检测,通过单片机处理送达显示电路显示当前水位。由于 实际操作的原因,本设计水位检测用滑动变阻器来代替,通过组织的改变来实 现水位的改变。然后通过模/数转换把信号输入到单片机,获得当前水位显示。 水温检测由单片机根据温度传感器(DS18B20)的操作指令和时序,读取温度, 并送达显示电路显示当前水温。本设计用三个按键来控制上水的水量。 从结构、经济、可操作性等方面来看,方案三都是最佳选择。方案三以单 片机 AT89S52 为核心控制器件,结合单线数字温度传感器 DS18B20 与液晶显 3 示器 12864 和 DAC0809 等芯片,设计一种太阳能热水器智能控制系统。该系统 原理框图如图 1 所示。 单片机 AT89S52 键盘控制模块 快 LCD 显示模块 电磁阀控制模块 温度检测模块 水位检测模块 蜂鸣报警模块 图图 1 系统原理框图系统原理框图 用户在使用热水器后,当水箱中水位下降到一定刻度值时,可通过人工使 用按键方法来控制电磁阀立即上水,水位达到的最高刻度也可以由按键设定。 当水位下降到低于刻度线 5L 时,单片机接受此信号并开始执行指令,报警电路 工作,同时电磁阀打开,水位不断升高,当达到最高水位 30L 时便给单片机发 出中断请求,此时电磁阀关闭,停止工作。设置的三个按键也可以实现人工上 水的功能。 在上水过程中,显示器 LCD 既可以显示水箱的水位值又可显示水箱内水的 当前温度,不仅直观方便,而且精确度高,实用性强。此系统解决了热水器上 水时需人工守候和过量溢水的问题,达到了省时、环保、节水的目的。加设的 缺水报警系统和液晶显示部分,使整个系统更实用,更趋向数字化、智能化。 3 系统硬件电路设计系统硬件电路设计 该系统由主控芯片模块 AT89S52、DS18B20 温度检测模块、LCD 液晶显示 模块、水位检测模块、键盘控制模块、报警模块和电磁阀开关模块组成。下面 分别对各个模块作具体介绍。 4 3.1 主控芯片主控芯片 AT89S52 单片机单片机2 AT89S52 是一种低功耗、高性能 CMOS 8 位微控制器,具有 8K 在系统可 编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦 适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash, 使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52 具有以下标准功能:8K 字节 Flash,256 字节 RAM,32 位 I/O 口 线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级 中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 8Hz 静态逻辑操作,支持 2 种软件可选择节点模式。空闲模式下,CPU 停止工作, 允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内 容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位 为止。 AT89S52 单片机采用 40 条引脚,双列直排的封装形式。在单片机的 40 条 引脚中,有 2 条专用于主电源的引脚,2 条外接晶振的引脚,4 条控制和其它电 源复用的引脚,32 条 I/O 引脚。图 2 是 AT89S52 引脚图。 图图 2 AT89S52 单片机引脚图单片机引脚图 下面分别具体说明这些引脚的名称和功能。 (1) 主电源引脚 Vcc 和 GND Vcc:接+5V 电源。 GND:接地。 (2) 时钟电路引脚 XTAL1 和 XTAL2 5 XTAL1:接外部晶振的一端。在单片机内部,它是反相放大器的输入端。 该放大器构成了片内振荡器。 XTAL2:接外部晶振的另一端。在单片机内部,接至上述振荡器的反相放 大器的输出端,振荡器的频率是晶体振荡频率。 在本设计中,XTAL1 和 XTAL2 端外接石英晶体作为定时元件,内部反相 放大器自激振荡,产生时钟。石英晶体的振荡频率为 12MHz,其原理图如图 3 所示: 图图 3 晶体振荡电路晶体振荡电路 (3) 控制信号引脚 RST、/、和/VppALEPROGPSENEA RST:单片机上电后,只要在该引脚输入 24 个振荡周期宽度以上的高电平 就会使单片机复位。图 4 是复位电路图。在通电瞬间,电容 C 通过电阻 R 充电, RST 端出现正脉冲,用以复位。关于参数的选定,应保证复位高电平持续时间 大于 2 个机器周期。当采用晶振为 12MHz 时,可取 C=10uF,R=10K。 VCC C 10u R 10k 图图 4 复位电路图复位电路图 /:地址锁存使能输出/编程脉冲输入端。当 CPU 在访问外部程ALEPROG 序存储器时,ALE 的输出作为外部锁存地址的低位字节的控制信号;当不访问 外部存储器程序期间,ALE 端仍以 1/6 的时钟振荡频率固定地输出脉冲。因此, 6 它可用作对外输出地时钟或用于定时。 :外部程序存储器读选通信号。CPU 在访问外部程序存储器期间,PSEN 每个机器周期中,信号两次有效。但在此期间,每当访问外部数据存储PSEN 器时,这两次有效的信号不出现。端可以驱动 8 个负载 LSTTL。PSENPSEN /Vpp:外部访问允许/编程电源输入端。当输入高电平时,CPU 执EAEA 行程序,在低 4KB(0000H0FFFH)地址范围内,访问片内程序存储器;在 程序计数器 PC 的值超过 4KB 地址时,将自动转向执行片外程序存储器的程序。 当输入低电平时,CPU 仅访问片外程序存储器。EA (4) 输入/输出(I/O)引脚 P0、P1、P2 和 P3 P0.0P0.7:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位 能驱动 8 个 TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问 外部程序和数据存储器时,P0 口也被作为低 8 位地址/数据复用。在这种模式下, P0 具有内部上拉电阻。在 flash 编程时,P0 口也用来接收指令字节;在程序校 验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1.0P1.7:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出 缓冲器能驱动 4 个 TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口 拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内 部电阻的原因,将输出电流(IIL) 。此外,P1.0 和 P1.2 分别作定时器/计数器 2 的外部计数输入(P1.0/T2)和时器/计数器 2 的触发输入。在 flash 编程和校验 时,P1 口接收低 8 位地址字节。 P2.0P2.7:P2 口是一个 8 位准双向 I/O 口。在 CPU 访问外部存储器时, 它输出高 8 位地址。在对 EPROM 编程和程序验证时,它输入高 8 位地址。P2 口能驱动 4 个 LSTTL 负载。 P3.0P3.7:P3 口是一个 8 位准双向 I/O 口。它是一个复用功能口。作为 第一功能使用时,为普通 I/O 口,其功能和操作方法与 P1 口相同。作为第二功 能使用时,各引脚的定义如表 1 所示。P3 口的每一条引脚均可独立定义为第一 功能的输入输出或第二功能。实际在使用中,总是先按需要优先选用它的第二 功能,剩下不用的才作为第一功能口线使用。P3 口能驱动 4 个 LSTTL 负载。 7 表表 1 P3 各口线的第二功能表各口线的第二功能表 口线 第二功能 P3.0 RXD(串行输入) 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(外部数据存储器读选通道) 3.2 温度检测模块温度检测模块 传感器属于信息技术的前沿尖端产品,尤其是温度传感器被广泛用于工农 业生产、科学研究和生活等领域,数量高居各种传感器之首。近百年来,温度 传感器的发展大致经历了以下三个阶段:(1)传统的分立式温度传感器(含敏 感元件) ; (2)模拟集成温度传感器/控制器;(3)智能温度传感器。目前,国际上 新型温度传感器正从模拟式向数字式、由集成式向智能化、网络化的方向发展。 温度传感器的主要特点是功能单一、测温误差小、价格低廉、响应速度快、 传输距离远、体积小、微功耗等,适合远距离测温、控制,不需要进行非线性 校准,外围电路简单。太阳能热水器温度传感器有很多种,本设计可选用具有 负温度系数的热敏电阻来测水温,热敏电阻与普通电阻不同,它具有负的温度 特性,当温度升高时,电阻值减小,它的应用是为了感知温度。由于取材原因, 本设计选用了型号为 DS18B20 的温度传感器,因为它独特的单线接口,且具有 8 精准度高、抗干扰能力强等优点,实验中用它来代替温度传感器。 DS18B20 的简介1415 Dallas 半导体公司的数字化温度传感器 DS18B20 是世界上第一片支持“一 线总线”接口的温度传感器,在其内部使用了在板(ON-BOARD)专利技术。 全部传感元件及转换电路集成在形如一只三级管的集成电路内。DS18B20 具有 微型化、低功耗、高性能、抗干扰能力强、可组网等优点,测温分辨率高,为 912 位,精度为 0.5。DS18B20 可直接将温度转化成串行数字信号,因此特 别适合和单片机配合使用,直接读取温度数据。DS18B20 温度与数字对应表如 表 2 所示。目前 DS18B20 数字温度传感器已经广泛应用于恒温室、粮库、计算 机机房温度监控及其他各种温度测控系统中。 表表 2 DS18B20 温度与数字对应表温度与数字对应表 温度 数据输出(二进制) 数据输出(十六进制) +125 0000 0111 1101 0000 07D0h +85 0000 0101 0101 0000 0550h +25.0625 0000 0001 1001 0001 0191h +10.125 0000 0000 1010 0010 00A2h +0.5 0000 0000 0000 1000 0008h 0 0000 0000 0000 0000 0000h -0.5 1111 1111 1111 1000 FFF8h -10.125 1111 1111 0101 1110 FF5Eh -25.0625 1111 1110 0110 1111 FE6Eh -55 1111 1100 1001 0000 FC90h (1) DS18B20 的引脚图和封装如图 5 所示 9 图图 5 DS18B20 的引脚图和封装的引脚图和封装 (2) DS18B20 的引脚介绍 DQ 为数字信号输入/输入端 GND 为电源地 VDD 为外接供电电源输入端(在寄生电源接线方式时接地) (3) DS18B20 的主要特性 独特的单线接口仅需一个端口引脚 进行通讯 每个器件有唯一的 64 位的序列号存 储在内部存储器中 简单的多点分布式测温应用 可通过数据线供电。供电范围为 3.0V5.5V 测温范围为-55125(67257) ,在1085范围内精 确度为5 温度计分辨率可以被使用者选择为 912 位 最多在 750ms 内将温度转换为 12 位数字 用户可定义的非易失性温度报警设置 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统 (4) DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、温度传感 器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。DS18B20 的内部结构如 图 6 所示 10 图图 6 DS18B20 的内部结构框图的内部结构框图 DS18B20 使用一根单线端口进行通讯。在单线端口的条件下,要先建立 ROM 操作协议,才能进行存储和控制操作。光刻 ROM 中的 64 位序列号是出 厂前就被光刻好的,是 DS18B20 的地址序列号,使每个 DS18B20 都有各不相 同,这样就可以在一根总线上挂多个 DS18B20 了。其中的温度传感器完成对温 度的测量。内部的存储器,包括一个高速暂存 RAM 和一个非易失性的可电擦 除的 EEPRAM,后者存放高温度和低温度触发器 TH,TL 和结构寄存器。配置 存储器则主要用来设置它的工作模式和分辨率。 DS18B20 测温原理如图 7 所示。图中低温度系数晶振的振荡频率受温度影 响很小,用于产生固定频率的脉冲信号送给计数器 1。高温度系数晶振随温度 变化其振荡率明显改变,所产生的信号作为计数器 2 的脉冲输入。计数器 1 和 温度寄存器被预置在55所对应的一个基数值。计数器 1 对低温度系数晶振 产生的脉冲信号进行减法计数,当计数器 1 的预置值减到 0 时,温度寄存器的 值将加 1,计数器 1 的预置将重新被装入,计数器 1 重新开始对低温度系数晶 振产生的脉冲信号进行计数,如此循环直到计数器 2 计数到 0 时,停止温度寄 存器值的累加,此时温度寄存器中的数值即为所测温度。图 7 中的斜率累加器 用于补偿和修正测温过程中的非线性,其输出用于修正计数器 1 的预置值。 11 斜率累加器 预置比较 计数器 1低温度系数晶振预置 =0温度寄存器 计数器 2 =0 高温度系数晶振 图图 7 DS18B20 的工作原理的工作原理 DS18B20 工作主程序流程图如图 8 所示。 开始 DS18B20 复位 读取温度 数据转换 显示 结束 图图 8 DS18B20 主程序流程图主程序流程图 DS18B20 单线通信功能是分时完成的,它有严格的时隙概念。因此系统对 DS18B20 的各种操作必须按协议进行。操作协议为:初始化 DS18B20(发复位 脉冲)发 ROM 功能命令发存储器作命令处理数据。 DS18B20 可编程温度传感器采用 3 脚 PR-35 封装,其中 GND 为接地线, DQ 为数据输入输出接口,通过一个较小阻值的上拉电阻与单片机相连。VCC 为电源接口,既可由数据线提供电源,又可由外部提供电源,范围可为 12 3.05.5V,本系统使用外部电源供电。 3.3 LCD 液晶显示模块液晶显示模块9 液晶屏显示模块与数码管相比,它显得更为专业、漂亮。液晶显示屏以其 微功耗、体积小、显示内容丰富、超薄轻巧、使用方便等诸多优点,在通讯、 仪器仪表、电子设备、家用电器等低功耗应用系统中得到越来越广泛的应用, 使这些电子设备的人机界面变得越来越直观形象,目前已广泛应用于电子表、 计数器、IC 卡电话机、液晶电视机、便携式电脑、掌上型电子玩具、复印机、 传真机等许多方面。 12864 液晶是指这种液晶有 64 行,每行有 128 个点。要显示一个完整的汉 字,需要 16*16 的点阵,即要显示一个汉字需要 16 行,每行有 16 个点.而显示 一个字符只需要 8*8 点阵(或者 5*7 点阵)等。这样 12864 液晶可以显示 4 行 汉字,每行能显示 8 个汉字。如果显示字符的话,每行能显示 16 个字符。 本实验采用 TS12864-3 型液晶,这种液晶自带汉字库,可直接显示汉字, 采用的驱动电路是 ST7290。其管脚说明如表 3 所示。 表表 3 TS-12864-3管脚说明管脚说明 管脚号管脚符号管脚功能描述 1 2 3 16 18 4 5 6 7 8 9 10 11 GND VDD NC RS WR E DB0DB7 PSB RST LED+ LED- 电源地 电源电压+5V 无连接 高:数据/低:指令 高:读/低:写 使能端 数据线 控制模式 系统复位 背光电源,+5V 背光电源,0V 具体指令介绍: 13 1、清除显示 CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLLLLLLLLL 功能:清除显示屏幕,把 DDRAM 位址计数器调整为“00H”。 2、地址归位 CODE RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLLLLLLLHXL 功能:把 DDRAM 位址计数器调整为“00H”,游标回原点,该功能不影响显示 DDRAM。 3、地址归位 CODE RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLLLLLLHI/DS 功能:把 DDRAM 位址计数器调整为“00H”,游标回原点,该功能不影响显示 DDRAM 功能;执行该命令后,所设置的行将显示在屏幕的第一行。显示起始 行 是由 Z 地址计数器控制的,该命令自动将 A0-A5位地址送入 Z 地址计数器,起 始地址可以是0-63范围内任意一行。Z 地址计数器具有循环计数功能,用于显 示行扫描同步,当扫描完一行后自动加一。 4、显示状态 开/关 CODE RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLLLLLHDCB 功能:D=1:整体显示 ON C=1:游标 ON B=1:游标位置 ON 5、游标或显示移位控制 CODE RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLLLLHS/CR/LXX 功能:设定游标的移动与显示的移动控制位,这个指令并不改变 DDRAM 的内 容。 6、功能设定 CODE RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 14 LLLLHDLX0 RE XX 功能:DL=1(必须设为1) RE=1:扩充之立即加动作 RE=0:基本指令集动 作 7、设定 CGRAM 位址 CODE RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLLHAC5AC4AC3AC2AC1AC0 功能:设定 CGRAM 位址到位址计数器(AC). 8、设定 DDRAM 位址 CODE RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLHAC6AC5AC4AC3AC2AC1AC0 功能:设定 DDRAM 位址到位址计数器(AC). 9、读取忙碌状态(BF)和位址 CODE RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LHBFAC6AC5AC4AC3AC2AC1AC0 功能:读取忙碌状态(BF)可以确认内部动作是否完成,同时可以读出位址计 数器(AC)的值。 10、写资料到 RAM CODE RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 HLD7D6D5D4D3D2D1D0 功能:写入资料到内部的 RAM(DDRAM/CGRAM/TRAM/GDRAM) 。 11、读出 RAM 的值 CODE RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 HHD7D6D5D4D3D2D1D0 功能:从内部 RAM 读取资料(DDRAM/CGRAM/TRAM/GDRAM) 。 12、待命模式(12H) CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLLLLLLLLH 功能:进入待命模式,执行其他命令都可终止待命模式。 15 13、卷动位址或 IRAM 位址选择(13H) CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLLLLLLLHSR 功能:SR=1:允许输入卷动位址 SR=0:允许输入 IRAM 位址 14、反白选择(14H) CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLLLLLLHR1R0 功能:选择4行中的任一行作反白显示,并可决定反白与否。 15、睡眠模式(015H) CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLLLLLHSLXX 功能:SL=1:脱离睡眠模式 SL=0:进入睡眠模式 16、扩充功能设定(016H) CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLLLHHX1 RE GL 功能:RE=1:扩充指令集动作 RE=0:基本指令集动作 G=1:绘图显示 ON G=0:绘图显示 OFF 17、设定 IRAM 位址或卷动位址(017H) CODE RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLLHAC5AC4AC3AC2AC1AC0 功能:SR=1:AC5-AC0为垂直卷动地址 SR=0:AC3-AC0为 ICON IRAM 地 址 18、设定绘图 RAM 位址(018H) CODE RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLHAC6AC5AC4AC3AC2AC1AC0 功能:设定 CGRAM 地址到地址计数器(AC) 。 液晶显示模块与单片机连接主要考虑以下三点: 1. 单片机若为 CMOS 芯片,则不用加总线驱动器等电平转换电路;若为 16 TTL 芯片则必须配电平转换电路。 2. 模块读/写控制线为单选,对读、写控制线分开的单片机,必须加读、 写信号转换电路。 3. 根据对模块确定的编码地址,选择对应的译码电路。 本系统的显示电路如图 9 所示: 图图 9 显示电路显示电路 3.4 水位检测模块水位检测模块 水位检测模块中需要水位传感器将水位的变化信号传递给单片机,通过单 片机来控制电磁阀上水还是不上水。由于各种原因,本设计用滑动变阻器来代 替水位检测器,通过阻值的变化来形象的代替水位的变化。因为阻值的变化是 模拟信号,而输入单片机的信号是数字信号,因此就要用到 A/D 转换,将模拟 信号转换为数字信号输入到单片机中,实现水位的控制。 3.4.1 ADC0809 芯片芯片 本设计用到的 A/D 转换芯片是 ADC0809。ADC0809 是采样分辨率为 8 位的、以逐次逼近原理进行模 /数转换的器件。其内部有一个 8 通道多路开 17 关,它可以根据地址码锁存译码后的信号,只选通8 路模拟输入信号中的 一个进行 A/D 转换。图 10 为 ADC0809 的引脚图。 图图 10 ADC0809 的引脚图的引脚图 ADC0809 的内部逻辑结构如图 11 所示。由图可见,ADC0809 由 8 位模拟 开关、SAR8 位逐次逼近式 A/D 转换器、地址锁存器、控制和时序电路及输出 锁存器组成。 图图 11 ADC0809 的结构框图的结构框图 对 ADC0809 主要信号引脚的功能说明如下: IN7IN0:模拟量输入通道。 ALE:地址锁存允许信号。对应 ALE 上跳沿,A、B、C 地址状态送入地 18 址锁存器中。 START:转换启动信号。START 上升沿时,复位 ADC0809;START 下降 沿时启动芯片,开始进行 A/D 转换;在 A/D 转换期间,START 应保持 低电平。 本信号有时简写为 ST。 A、B、C:地址线。 通道端口选择线,A 为低地址,C 为高地址,引脚图 中为 ADDA,ADDB 和 ADDC。 CLK:时钟信号。ADC0809 的内部没有时钟电路,所需时钟信号由外界提 供,因此有时钟信号引脚。通常使用频率为 500KHz 的时钟信号 EOC:转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该 状态信号即可作为查询的状态标志,又可作为中断请求信号使用。 D7D0:数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接 相连。D0 为最低位,D7 为最高 OE:输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数 据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。 Vcc:+5V 电源。 Vref参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼 近的基准。其典型值为+5V(Vref(+)=+5V, Vref(-)=-5V). A/D 转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问 题是如何确认 A/D 转换的完成,因为只有确认完成后,才能进行传送。为此可 采用下述三种方式。 (1)定时传送方式 对于一种 A/D 转换来说,转换时间作为一项技术指标是已知的和固定的。 例如 ADC0809 转换时间为 128s,相当于 6MHz 的 MCS-51 单片机共 64 个机 器周期。可据此设计一个延时子程序,A/D 转换启动后即调用此子程序,延迟 时间一到,转换肯定已经完成了,接着就可进行数据传送。 (2)查询方式 A/D 转换芯片由表明转换完成的状态信号,例如 ADC0809 的 EOC 端。因 此可以用查询方式,测试 EOC 的状态,即可确认转换是否完成,并接着进行数 据传送。 19 (3)中断方式 把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行 数据传送。 3.4.2 水位接口电路水位接口电路 由于在仿真软件中无法对真实水位进行仿真。所以本设计用一个滑动变阻 器来代替水位传感器,阻值的变化代表水位的变化。水位接口电路如图 12 所示。 20 图图 12 ADC0809 和单片机的连接图和单片机的连接图 3.5 键盘控制模块键盘控制模块 在单片机应用系统中,通常应具有人机对话功能,能随时发出各种控制命 令和数据输入以及报告应用系统的运行状态与运行结果。键盘是操作人员可以 通过按键输入数据和命令进行功能设置,它是本系统中不可缺少的输入设备。 21 键盘由一组按键开关所组成。按键开关所组成的键盘可以分为两种形式:独立 式按键和矩阵式按键。本设计由于按键较少,使用的是独立式按键。独立式按 键电路配置灵活,软件结构简单。当功能键不是很多时,采用该种方式比较合 适。独立式按键是指直接用 I/O 口线构成的单个按键电路。每个独立式按键单 独占有一根 I/O 口线。每根 I/O 口线的工作状态不会影响其他 I/O 口线的工作状 态。 本系统设计了 3 个键,所用的 3 个键采用直接式接法。3 个按键可设置 3 个不同档的水位刻度:按键 K1 为 10L 水位,当按下 K1 时,电磁阀开始工作, 水箱开始上水,直至水位达到 10L 时,电磁阀关闭,停止上水;按键 K2 为 20L 水位,当按下 K2 时,电磁阀开始工作,水箱开始上水,直至水位达到 20L 时,电磁阀关闭,停止上水;按键 K3 为 30L 水位,当按下 K3 时,电磁阀开始 工作,水箱开始上水,直至水位达到 30L 时,电磁阀关闭,停止上水。 3.6 报警模块报警模块 本设计的报警模块是由单片机 I/O 口 P2.6 口输出低电平驱动蜂鸣器报警。 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算 机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等 电子产品中作发声器件。蜂鸣器主要分压电式和电磁式两种类型,本设计中用 到的就是电磁式蜂鸣器。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片 以及外壳等组成,接通电源后,振荡膜片在电磁线圈和磁铁的相互作用下,周 期性地振动发声。由于蜂鸣器通常工作电流比较大,而单片机 I/O 口输出地电 流很小,基本上驱动不了蜂鸣器,所以选用的 NPN 型三极管 9013 来驱动蜂鸣 器。蜂鸣器报警电路如图 13 所示: 图图 13 蜂鸣器报警电路图蜂鸣器报警电路图 22 3.7 电磁阀控制模块电磁阀控制模块 电磁阀是用来控制流体的自动化基础元件,属于执行器;并不限于液压, 气动。 电磁阀包括:线圈、磁铁和顶杆 当线圈通电时,便产生磁性,跟磁铁相互吸引,磁铁就会拉动顶杆。关闭 电源,磁铁和顶杆就复位了,这样电磁阀就完成了作功过程。这就是电磁阀的 工作原理。 电磁阀一般用于液压系统,来关闭和开通油路。实际上,根据流过介质的 温度,压力等情况,比如管道有压力和自流状态无压力。电磁阀的工作原理是 不同的。 比如在自流状态下需要零压启动的,就是通电后,线圈整个把闸体吸起来。 而有压力状态的电磁阀,则是线圈通电后吸出插在闸体上的一个销子,用流体 自身的压力把闸体顶起来。 这两种方式的不同之处是,自流状态的电磁阀,因为线圈要吸起整个闸体, 所以体积较大,而带压状态的电磁阀,只需要吸起销子,所以体积可以做得比 较小。 本设计的电磁阀起控制是否上水,其电路如图 14 所示。在系统中用晶体管 来驱动电磁阀,当晶体管基极输入高电平时,晶体管饱和导通,集电极变为低 电平,因此电磁阀闭合,开始工作;当晶体管基极输入低电平时,晶体管截止, 电磁阀断开,停止工作。其中二极管并联在线圈的两端,起保护作用。后接发 光二极管,显示电磁阀是否工作。 由于实际做实物中的各种原因,本设计用发光二极管来代替电磁阀的工作 状态,灯亮就表明电磁阀打开,水箱上水中;灯灭就表明电磁阀关闭,水箱停 止上水。 23 图图 14 电磁阀控制电路电磁阀控制电路 3.8 整体电路图整体电路图 根据系统的各模块电路而设计的整体电路如图 15 所示: 24 图图 15 系统整体电路图系统整体电路图 4 系统软件设计系统软件设计 主程序设计思想:软件采用模块化设计方式,将各个功能分成独立模块, 有系统和监控程序一起管理执行。本设计的软件包括主程序,键盘扫描子程序, 显示子程序,水位值设定子程序以及有关的 DS1

温馨提示

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

评论

0/150

提交评论