[信息与通信]基于单片机的室内电热水器控制系统设计_第1页
[信息与通信]基于单片机的室内电热水器控制系统设计_第2页
[信息与通信]基于单片机的室内电热水器控制系统设计_第3页
[信息与通信]基于单片机的室内电热水器控制系统设计_第4页
[信息与通信]基于单片机的室内电热水器控制系统设计_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

1、成都理工大学工程技术学院毕业论文 基于单片机的室内电热水器控制系基于单片机的室内电热水器控制系 统设计统设计 专业名称: 作者姓名: 指导老师: 基于单片机的室内热水器控制系统设计 i 摘要摘要 电热水器是一种可供浴室、洗手间及厨房使用的家用电器,市场 上传统的机械式电热水器控制精度低、可靠性差,随着人们生活质量 的提高,人们对电热水器的要求越来越趋向于智能化和数字化。传统 的大容量电热水器的加热时间一般都比较长,如果热水器一直开着, 则会一直耗能耗电,而定时开关控制器则可有效解决这些问题,使电 热水器使用起来更加舒适省电。本设计采用 at89s51 单片机作为控制 器设计了一款智能家用电热水

2、器,通过外围电路来控制热水器的电源, 以达到定时开关机的目的,基本实现了智能控制功能。 本系统用一种新型的可编程温度传感器(ds18b20) ,不需复杂的信 号调理电路和 ad 转换电路能直接与单片机完成温度数据采集和处 理,与传统的热电偶、热电阻或 pn 结测温电路相比可编程温度传感 器更加方便且精度高,可根据不同需要用于各种场合。 关键词:关键词: 单片机 智能控制 温度采集 可编程温度传感器 基于单片机的室内热水器控制系统设计 ii abstractabstract electric water heater is used in a bathroom, toilet and kitch

3、en appliances. in the market,the traditional mechanical-type electric water heater is in low control accuracy, reliability, poor, with the improvement of the quality of peoples lives, there is growing demand electric water heater tend to be intelligent and digital. traditional large-capacity electri

4、c water heater of the heating time is normally longer than if the water heater has been open, it will have energy consumption, and the timer switch controller can be an effective solution to these problems, so that electric water heaters use energy more comfortable. the design uses a single-chip mic

5、rocomputer as a controller at89s51 designed for a smart home electric water heater, through the external circuit to control the heater power in order to achieve the purpose of regularly switching machines, the basic realization of the intelligent control functions. the system use a new type of progr

6、ammable temperature sensor (ds18b20), without the complexity of the signal conditioning circuitry and a / d converter circuit can be completed directly with the single-chip temperature data acquisition and processing, with the traditional thermocouples, heat or pn junction temperature resistance com

7、pared to a programmable temperature sensor circuit is more convenient and high accuracy, according to the different needs for various occasions. key words: single-chip microcomputer intelligent control temperature acquisition programmable temperature sensor 基于单片机的室内热水器控制系统设计 iii 目录目录 摘要.1 abstract.2

8、 目录.3 前言.4 1 硬件元器件介绍 .5 1.1、单片机最小系统 .5 1.1.1、引脚功能说明.6 1.1.2、功能特性概述.8 1.2、温度传感器 ds18b20 .9 1.2.1、ds18b20 介绍 .9 1.2.2、ds18b20 引脚及原理图 .10 1.2.3、功能原理解说.10 1.3、led 数码显示管 .13 1.3.1、led 数码显示器的接口 .14 1.3.2、可编程 ram i/o 接口 8155 芯片介绍.14 1.3.3、led 显示方法 .17 1.4、加热控制器 moc3041 .18 1.4.1、moc3041 引脚图及说明.18 1.5、键盘控制电

9、路 .19 1.5.1、键盘工作原理.19 1.6、电子式水位开关 bz2401 .20 2 硬件电路设计.21 2.1、芯片处理电路 .22 2.2、温度采集电路 .22 2.3、温度显示电路 .23 2.4、加热控制电路 .23 2.5、键盘控制电路 .24 2.6、水位模块电路 .25 2.7、系统保护电路 .26 3 系统软件设计.28 基于单片机的室内热水器控制系统设计 iv 3.1、系统设计思路 .28 3.2、可编程温度传感器 ds18b20 的软件设计 .29 3.3、水位中断程序 .30 3.4、键盘设定程序 .31 3.5、定时子程序 .31 3.6、设温子程序流程 .32

10、 3.7、led 动态显示子程序 .33 4 总结.34 致谢.35 参考文献.36 5、附录.37 基于单片机的室内热水器控制系统设计 1 前言前言 热水器是一种可供浴室,洗手间及厨房使用的家用电器。目前市 场上热水器主要品种有电热水器、太阳能热水器、燃气热水器.就中国 的具体情况而言,由于太阳能热水器的使用受天气原因的限制,使用范围 狭窄;燃气热水器由于以石油、天然气为燃料,而燃料供应量又难以 满足人们日益增长的需求,且不利于环境,因此电热水器越来越受到 消费者的青睐。 根据中国商业联合会前不久的统计,电热水器的市场份额在销售 数量和销售收入两个方面都已经超过了长期以来占优势的燃气热水器。

11、 该中心预计,在城市电网更大范围改造和城市住房市场大规模启动的 带动下,今后几年我国电热水器市场将呈现强劲增长势头。 目前市场上的电热水器又连续水流式和贮水式,前者虽具有加热 速度快和体积小的优点,但需要的功率大,大多数家庭供电线路难以 承受。而市场上传统的机械式电热水器控制功能不完善,而且精度低、 可靠性差,生活质量的提高使得消费者对电热水器要求越来越趋向于 智能化和数字化,因此我们采用 atmel 生产的 t89s51 单片机作为控 制中心设计了这款智能家用电热水器。 基于单片机的室内热水器控制系统设计 2 1 1 硬件元器件介绍硬件元器件介绍 1.1、单片机最小系统、单片机最小系统 本电

12、路硬件的核心是 atmel 生产的 at89s51 单片机,它是一种 高性能、低功耗的 8 位单片机,片内带有一个 4k 字节的 flash 可编 程可擦除的存储器,它采用 cmos 工艺和 atmel 公司的高密度非易 失性存储技术,其引脚和指令系统与 msc-51 单片机兼容。它集 flash 程序存储器,既可在线编程(isp)也可用传统的方法进行编 程及通用 8 位微处理器与单片芯片中,功能强大的微型计算机的 at89s51 可为许多嵌入式控制应用系统提供高性价比的解决方案。 at89s51 的主要性能参数 与 mcs-51 产品指令系统完全兼容 4kb 在线系统编程(isp)flash

13、 闪速存储器 1000 次擦写周期 4.05.5v 的工作电压范围 全静态工作模式:0hz33hz 3 级程序加密锁 1288 字节内部 ram 32 个可编程 i/o 口线 2 个 16 位定时/计数器 6 个中断源 全双工串行 uart 通道 低功耗空闲和掉电模式 中断可从空闲模式唤醒系统 看门狗(wdt)及双数据指针 掉电标识和快速编程特性 灵活的在线系统编程(isp 字节或页写模式) at89s51 引脚图: 基于单片机的室内热水器控制系统设计 3 1.1.1、引脚功能说明、引脚功能说明 vcc:电源电压 gnd:地 p0 口:p0 口是一组 8 位漏极开路型双向 i/0 口,也即地址

14、/数据总 线复用口。作为输出口用时,每位能驱动 8 个 ttl 逻辑门电路,对端 口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储 器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激 活内部上拉电阻。在 f1ash 编程时,p0 口接收指令字节,而在程序校 验时,输出指令字节,校验时,要求外接上拉电阻。 p1 口:p1 是一个带内部上拉电阻的 8 位双向 i/o 口,p1 的输出 缓冲级可驱动(吸收或输出电流)4 个 ttl 逻辑门电路,对端口写“1” , 通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口 使用时,因为内部存在上拉电阻,某个引脚被外部

15、信号拉低时会输出 一个电流。flash 编程和程序校验期间,p1 接收低 8 位地址。 端口引脚 第二功能 p1.5 mosi(用于 isp 编程) 图 1.1 at89s51 引脚图 基于单片机的室内热水器控制系统设计 4 p1.6 miso(用于 isp 编程) p1.7 sck (用于 isp 编程) p2 口:p2 是一个带有内部上拉电阻的 8 位双向 i/o 口,p2 的输 出缓冲级可驱动(吸收或输出电流)4 个 ttl 逻辑门电路。对端口写 “1” ,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作 输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时 会输出一个电流

16、。在访问外部程序存储器或 16 位地址的外部数据存储 器(例如执行 movxdptr 指令)时,p2 口送出高 8 位地址数据。 在访问 8 位地址的外部数据存储器(如执行 movx ri 指令)时, p2 口线上的内容(也即特殊功能寄存器(sfr)区中 p2 寄存器的内容) ,在整个访问期间不改变。flash 编程或校验时,p2 亦接收高位地址 和其它控制信号。 p3 口:p3 口是一组带有内部上拉电阻的 8 位双向 i/0 口。p3 口输 出缓冲级可驱动(吸收或输出电流)4 个 ttl 逻辑门电路。对 p3 口写 入“1 ”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端 时,被外部拉

17、低的 p3 口将用上拉电阻输出电流。 p3 口除了作为一般的 i / 0 口线外,更重要的用途是它的第二功能, 如下表所示: 在 p3 口还接收一些用于 flash 闪速存储器编程和程序校验控制信 号。 rst:复位输入。当振荡器工作时,rst 引脚出现两个机器周期 以 上高电平将使单片机复位。wdt 溢出将使该引脚输出高电平,设 置 sfr auxr 的 disrt0 位(地址 8eh)可打开或关闭该功能。 图 1.2、p3 口第二功能图 基于单片机的室内热水器控制系统设计 5 disrt0 位缺省为 reset 输出高电平打开状态。 ale/prog:当访问外部程序存储器或数据存储器时,a

18、le(地 址锁存允许)输出脉冲用于锁存地址的低 8 位字节。即使不访问外部 存储器,ale 仍以时钟振荡频率的 1/6 输出固定的正脉冲信号,因此 它可对外输出时钟或用于定时目的。 psen:程序储存允许(psen)输出是外部程序存储器的读选通 信号,当 at89s51 由外部程序存储器取指令(或数据)时,每个机器 周期两次 psen 效,即输出两个脉冲。当访问外部数据存储器,没有两 次有效的 psen 信号。 ea/vpp:外部访问允许。欲使 cpu 仅访问外部程序存储器(地 址为 0000h-ffffh) ,ea 端必须保持低电平(接地) 。 xtall:振荡器反相放大器及内部时钟发生器的

19、输入端。 xtal2:振荡器反相放大器的输出端。 1.1.2、功能特性概述、功能特性概述 at89s51 提供以下标准功能:4k 字节 flash 闪速存储器,128 字 节内部 ram,32 个 i/o 口线,看门狗(wdt),两个数据指针,两个 16 位定时/计数器,一个 5 向量两级中断结构,一个全双工串行通信口, 片内振荡器及时钟电路。同时,at89s51 可降至 0hz 的静态逻辑操作, 并支持两种软件可选的节电工作模式。空闲方式停止 cpu 的工作,但 允许 ram,定时/计数器,串行通信口及中断系统继续工作。掉电方 式保存 ram 中的内容,但振荡器停止工作并禁止其它所有部件工作

20、 直到下一个硬件复位。 电源空闲标志: 电源空闲标志(pof)在特殊功能寄存器 sfr 中 pcon 的第 4 位 (pcon.4) ,电源打开时 pof 置“1” ,它可由软件设置睡眠状态并不 为复位所影响。 看门狗定时器(wdt): wdt 是为了解决 cpu 程序运行时可能进入混乱或死循环而设置, 它由一个 14bit 计数器和看门狗复位 sfr(wdtrst)构成。外部复位 时,wdt 默认为关闭状态,要打开 wdt,用户必须按顺序将 01eh 基于单片机的室内热水器控制系统设计 6 和 0e1h 写到 wdtrst 寄存器(sfr 地址为 0a6h) ,当启动了 wdt,它会随晶体振

21、荡器在每个机器周期计数,除硬件复位或 wdt 溢出复位外没有其它方法关闭 wdt,当 wdt 溢出,将使 rst 引脚输 出高电平的复位脉冲。 掉电模式: 在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一 条被执行的指令,片内 ram 和特殊功能寄存器的内容在终止掉电模 式前被冻结。退出掉电模式的方法是硬件复位或由处于使能状态的外 中断 int0 和 int1 激活。复位后将重新定义全部特殊功能寄存器但不 改变 ram 中的内容,在 vcc 恢复到正常工作电平前,复位应无效, 且必须保持一定时间以使振荡器重启动并稳定工作。 1.2、温度传感器、温度传感器 ds18b20 本系统用一种新

22、型的可编程温度传感器(ds18b20) ,不需复杂的 信号调理电路和 ad 转换电路能直接与单片机完成数据采集和处理, 实现方便、精度高,可根据不同需要用于各种场合。 ds18b20 数字温度计提供 9 位温度读数,指示器件的温度信息经 过单线接口送入 ds1820 或从 ds1820 送出,因此从中央处理器到 ds1820 仅需连接一条线和地。读、写和完成温度变换所需的电源可以 由数据线本身提供,而不需要外部电源。 1.2.1、ds18b20 介绍介绍 可编程温度传感器 ds18b20 的特性: 独特的单线接口方式,ds1820 在与微处理器连接时仅需要一条口 线即可实现微处理器与 ds18

23、20 的双向通讯。ds1820 支持多点组网功 能,多个 ds1820 可以并联在唯一的三线上,实现多点测温。 ds1820 在使用中可用数据线供电,不需要任何外围元件。 温范围55125,固有测温分辨率 0.5。 测量结果以 9 位数字量方式串行传送。 用户可定义的非易失性的温度告警设置。 在 1 秒(典型值)内把温度变换为数字。 基于单片机的室内热水器控制系统设计 7 1.2.2、ds18b20 引脚及原理图引脚及原理图 引脚说明: 1:gnd 为电源地 2:dq 为数字信号输入/输出端 3:vdd 为外接供电电源输入端(在寄生电源接线方式时接地) 。 1.2.3、功能原理解说、功能原理解

24、说 ds18b20 内部结构主要由四部分组成:64 位光刻 rom、温度传 感器、非挥发的温度报警触发器 th 和 tl、配置寄存器。每一 ds1820 包括一个唯一的 64 位长的 rom 编码,编码组成如下 图。 配置寄存器中 r1,r0 决定温度转换的精度位数:r1r000,9 位精度,最大转换时间为 93.75 ms;r1r0 = 01,10 位精度,最大转换 时间为 187.5 ms;r1r0 = 10,11 位精度,最大转换时间为 375 ms;r1r0 =11,12 位精度,最大转换时间为 750 ms;未编程时默认为 12 位精度。器件从单线的通信线取得其电源,在信号线为高电平

25、的时 图 1.3、ds18b20 引脚与原理图 基于单片机的室内热水器控制系统设计 8 间周期内把能量贮存在内部的电容器中,在单信号线为低电平的时间 期内断开此电源,直到信号线变为高电平重新接上寄生(电容)电源 为止。作为另一种可供选择的方法,ds1820 也可用外部 5v 电源供电。 与 ds1820 的通信经过一个单线接口。在单线接口情况下,在 rom 操作未定建立之前不能使用存贮器和控制操作。主机必须首先 提供五种 rom 操作命令: 1)read rom(读 rom,33h) 2)match rom(匹配 rom,55h) 3)skip rom(跳过 rom,cch) 4)search

26、 rom(搜索 rom,f0h) 5)alarm search(告警搜索,ech) 这些命令对每一器件的 64 位激光 rom 部分进行操作。 一个控制操作命令指示 ds18b20 完成温度测量。该测量的结果将 放入 ds18b20 的高速暂存(便笺式)存贮器(scratchpad memory) , 通过发出读暂存存储器内容的存储器操作命令可以读出此结果。每一 温度告警触发器 th 和 tl 构成一个字节的 eeprom。 如果不对 ds18b20 施加告警搜索命令,这些寄存器可用作通用用户存储器。使 用存储器操作命令可以写 th 和 tl 。对这些寄存器的读访问通过便 笺存储器。所有数据均

27、以最低有效位在前的方式被读写。 ds18b20 测温原理如图 1.4 所示: 图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定 频率的脉冲信号送给计数器 1。高温度系数晶振随温度变化其振荡率 明显改变,所产生的信号作为计数器 2 的脉冲输入。计数器 1 和温度 寄存器被预置在55所对应的一个基数值。计数器 1 对低温度系数 晶振产生的脉冲信号进行减法计数,当计数器 1 的预置值减到 0 时, 温度寄存器的值将加 1 ,计数器 1 的预置将重新被装入,计数器 1 重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计 数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄

28、存器中的 数值即为所测温度。图中的斜率累加器用于补偿和修正测温过程中的 非线性,其输出用于修正计数器 1 的预置值。 基于单片机的室内热水器控制系统设计 9 在正常测温情况下,ds18b20 的测温分辩率为 0.5以 9 位数据格 式表示,其中最低有效位(lsb)由比较器进行 0.25比较,当计数 器 1 中的余值转化成温度后低于 0.25时,清除温度寄存器的最低位 (lsb) ,当计数器 1 中的余值转化成温度后高于 0.25,置位温度寄 存器的最低位(lsb) 。 ds18b20 的核心功能部件是它的数字温度传感器,它的分辨率可 配置为 9、10、11 或 12 位,出厂默认设置是 12

29、位的分辨率,它们对 应的温度值分辨率分别为 0.5、0.25、0.125和 0.0625。实测温 度与数字输出的对应关系如下图 1.5: 图 1.5、数字温度传感器输出温度/数据关系 图 1.4、温度测量原理 基于单片机的室内热水器控制系统设计 10 在 ds18b20 完成温度变换之后,温度值与存在 th 和 tl 内的告 警触发值相比较。由于这些是 8 位寄存器,所以 912 位在比较时忽 略。th 或 tl 的最高位直接对应于 16 位温度寄存器的符号位。如果 温度测量的结果高于 th 或低于 tl,那么器件内告警标志将置位,每 次温度测量都会更新此标志。只要告警标志置位,ds18b20

30、 就将响应 告警搜索命令,这也就允许单线上多个 ds18b20 同时进行温度测量, 即使某处温度越限,也可以识别正在告警的器件。 1.3、led 数码显示管数码显示管 在本电路中采用的 led 数码显示管优点是工作电压较低、体积小、 寿命长、工作可靠性高、响应速度快、亮度高、显示清晰。led 数码 管有共阴极和共阳极之分,这里采用的是共阴极接法。单片机与 led 数码显示器有以硬件为主和以软件为主的接口方式。这里用软件查表, 把机器运行的二-十进制 bcd 码转化成十进制的代码,并通过显示器 显示出来。下图为 led 模型图以及其接法。 图 1.6、led 原理图及段码 值 基于单片机的室内热

31、水器控制系统设计 11 1.3.1、led 数码显示器的接口数码显示器的接口 在本设计中采用了以软件为主的接口方法。 这种接口方法是以软件查表代替硬件译码的方式,来实现显示, 不但省去了译码器,而且还能显示更多的字符。在电路里,驱动器是 必不可少的,因为仅靠接口是提供不了较大的电流供 led 显示器使用。 下面的电路就是以软件为主的 led 显示接口电路。 1.3.2、可编程、可编程 ram i/o 接口接口 8155 芯片介绍芯片介绍 8155 是 intel 公司生产的可编程多功能接口芯片。它内部有两个可 编程的 8 位并行 i/o 口、一个 6 位并行 i/o 口、一个定时/计数器以及

32、256 字节的 ram 存储器。8155 可以直接跟 51 系列单片机连接,不需 要郑家硬件电路,使单片机应用系统中的最常用的一种接口芯片。 1、8155 的结构与引脚 8155 的内部结构如图所示: 图 1.7、led 接口电路 图 1.7、以软件为主的 led 显示接口电路 图 1.8、8155 芯片引脚及原理 图 基于单片机的室内热水器控制系统设计 12 它含有 1 个 256 字节的 ram、一个 14 位的定时/计数器以及 3 个 并行 i/o 口,其中 a 口、b 口均为 8 位,c 口为 6 位。a 口、b 口既 可以作为基本 i/o 口,也可以作为宣统 i/o 口;c 口除了可

33、以作为基本 i/o 口外,还可以用作 a 口、b 口的应答控制联络信号。此外,8155 内部还有一个控制寄存器组,用来存放控制命令字。 8155 的引脚介绍: rst:复位信号输入端,高电平有效。复位后,3 个 i/o 口均为输 入方式。 ad0ad7:三态的地址/数据总线。与单片机的低 8 位地址/数据 总线(p0 口)相连。单片机与 8155 之间的地址、数据、命令与状态 信息都是通过这个总线口传送的。 :读选通信号,控制对 8155 的读操作,低电平有效。 rd :写选通信号,控制对 8155 的写操作,低电平有效。 wr :片选信号线,低电平有效。 ce io/:8155 的 ram

34、存储器或 i/o 口选择线。当 io/0 时, mm 则选择 8155 的片内 ram,ad0ad7 上地址为 8155 中 ram 单元的 地址(00hffh) ;当 io/1 时,选择 8155 的 i/o 口, m ad0ad7 上的地址为 8155 i/o 口的地址。 ale:地址锁存信号。8155 内部设有地址锁存器,在 ale 的下降 沿将单片机 p0 口输出的低 8 位地址信息及,io/的状态都锁存 cem 到 8155 内部锁存器。因此,p0 口输出的低 8 位地址信号不需外接锁 存器。 pa0pa7:8 位通用 i/o 口,其输入、输出的流向可由程序控制。 pb0pb7:8

35、位通用 i/o 口,功能同 a 口。 pc0pc5:有两个作用,既可作为通用的 i/o 口,也可作为 pa 口和 pb 口的控制信号线,这些可通过程序控制。 timer in:定时/计数器脉冲输入端。 timer out:定时/计数器输出端。 vcc:5v 电源。 2、8155 的地址编码及工作方式 在单片机应用系统中,8155 是按外部数据存储器统一编址的,为 基于单片机的室内热水器控制系统设计 13 16 位地址,其高 8 位由片选线提供,0,选中该片。当 cece 0,io/0 时,选中 8155 片内 ram,这时 8155 只能作片外 cem ram 使用,其 ram 的低 8 位编

36、址为 00hffh;当 0,io/1 时,选中 8155 的 i/o 口,其端口地址的低 8 位由 cem ad7ad0 确定,如表 1 所示。这时,a、b、c 口的口地址低 8 位分 别为 01h、02h、03h(设地址无关位为 0) 。 表 1 8155 芯片的 i/o 口地址 ad7ad0 a7a6a5a4a3a2a1a0 选择 i/o 口 命令/状态寄存器 a 口 b 口 c 口 定时器低 8 位 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1定时器高 6 位及方式 8155 的 i/o 工作方式选择是通过对 8155 内部命令寄存器设定控制 字实现的。命令寄存

37、器只能写入,不能读出,命令寄存器的格式如图 1.9 所示。 在 alt1alt4 的不同方式下,a 口、b 口及 c 口的各位工作方 式如下: alt1:a 口,b 口为基本输入/输出,c 口为输入方式。 alt2:a 口,b 口为基本输入/输出,c 口为输出方式。 alt3:a 口为选通输入/输出,b 口为基本输入/输出。pc0 为 aintr,pc1 为 abf,pc2 为,pc3pc5 为输出。 astb alt4:a 口、b 口为选通输入/输出。pc0 为 aintr,pc1 为 abf,pc2 为,pc3 为 bintr,pc4 为 bbf,pc5 为。 astbbstb 基于单片机

38、的室内热水器控制系统设计 14 1.3.3、led 显示方法显示方法 通常 led 显示器的显示方法有静态显示和动态显示方法。在实际 中,为了简化电路、降低成本,大多采用以软件为主的接口方法。为 了实现 led 显示器的动态扫描显示,除了要给显示器提供显示段码之 外,还要对显示器进行位的控制,即通常所说的“段控”和“位控” 。 “位控”实际上就是对 led 显示器的公共端进行控制,位控信号的数 目与显示器的位数相同,如下图。 在进行动态扫描时,一般不知道要显示什么内容,这样也就无从 图 1.9、8155 命令字格式图 图 1.10、led 扫描原理图 基于单片机的室内热水器控制系统设计 15

39、选择被显示字符的显示段码。为此,一般在程序里用查表的方法,来 读取要显示的字符段码。 1.4、加热控制器、加热控制器 moc3041 该部分采用了 motorola 公司推出的单片集成可控硅驱动器件 moc3041,作为对加热器的驱动和控制。moc3041 芯片是一种集成 的带有光耦合的双向可控硅驱动电路,它由输入和输出两部分组成, 其内部集成了发光二极管、双向可控硅和过零触发电路等器件。 1.4.1、moc3041 引脚图及说明引脚图及说明 1:此脚为阳极,输入 vcc 图 1.12、moc3041 引脚图 图 1.11、加热原理图 基于单片机的室内热水器控制系统设计 16 2:此脚为阴极

40、3:nc 4:主终端 5:子端口,此脚不接 6:主终端 1.5、键盘控制电路、键盘控制电路 用 at89s51 的并行口 p1 接 44 矩阵键盘,以 p1.0p1.3 作输入 线,以 p1.4p1.7 作输出线;在数码管上显示每个按键的“09”序号 以及两个功能键“*” (设温键) 、 “#” (定时键) 。 1.5.1、键盘工作原理、键盘工作原理 键盘实际上是由排列成矩阵的一系列按键开关组成,它是单片机 系统中最常见的地人机联系的一种输入设备。用户通过键盘可以向 cpu 输入数据、地址和命令。 单片机系统中普遍使用非编码式键盘,这类键盘的使用主要需解 决以下几个问题: 键的识别 如何消除键

41、的抖动 键的保护 非编码式键盘的工作原理: 非编码式键盘识别闭合键通常有两种方法:一种称为行扫描法, 另一种称为线反转法。这里采用的是线反转法。 以下为线反转法的原理概述。 首先将行线作为输出线,列线作为输入线。先通过行线输出全 0 信号,读入列线的值。如列线某一键被按下,则该列线值为 0。然后 将行线和列线的输入输出关系互换(重新设置输入输出口的状态) ,并 将刚才读到的列线值从列线所接的并行口输出,再读入行线的输入值。 那么闭合键所在的行线上的值必定为 0。这样一个键被按下时,必定 得到一对唯一的行值和列值。将行值和列值合并起来就得到一个特征 基于单片机的室内热水器控制系统设计 17 值,

42、用此特征值对应查表就可以得到我们设定的按键值。 为了防止双键或多键同时按下,往往从第 0 行一直扫描到最后一 行,若只发现 1 个闭合键;若发现两个或两个以上的闭合键,则全部 作废。 消除键的抖动 可采用软件方法来消除键抖动问题。软件方法则是采用时间延迟 以避开抖动,待信号稳定之后,在进行键扫描。一般情况下,延迟消 抖的时间约为 1020ms。 1.6、电子式水位开关电子式水位开关 bz2401 应用电子式水位开关(bz2401) 电子式水位开关原理: 电子式水位开关 bz2401(如右 图)通过内置电子探头对水位进行检 测,再由芯片对检测到的信号进行处 理,当被测液体的液位到达动作点时, 芯

43、片输出高电平或低电平信号,与外 置控制电路配合使用,从而实现对液 位的控制。不需浮球,无需干簧管,外部无机械动作,寿命长,性能 稳定,一经安装无需调试、维护,即使外表积有污垢,它也表现出色。 可配合单片机或小功率的负载直接工作,可根据客户提出的使用条件 设计。 电子式水位开关特点如下: 1、特性:耐污、耐倾摇、耐颠簸、抗摔性强、耐盐雾、耐酸碱, 外部无可动部件,不怕固体漂浮物的影响等 2、适用范围:清水、污水、酸碱盐水、海水、水处理药剂、河涌 水、纺织印染水、各种工业废水等 3、安装方法:同一水位开关,可以横装、竖装、斜装等方式自由 安装,灵活方便 4、固定方法:螺纹接口(m20)固定或管夹固

44、定 基于单片机的室内热水器控制系统设计 18 5、任意延长:根据自己的需要把水位开关加接材料任意延长或改 变方向,而不会影响其功能,而材料只是普通而廉价的自来水 pvc 管 和内牙接口、弯头,一经安装,无需调试,维护简单。 6、工作电压:5v(可根据客户要求定制)等,功耗小于 0.5w、 判断有水时绿线输出 5v,无水时 0v。 2 2 硬件电路设计硬件电路设计 本设计核心器件是采用单片机和单线数字温度传感器,单线器件 和单片机的接口只需要一根信号线,所以硬件电路简化得十分简单。 通过用数字温度传感器 ds18b20 采集温度至单片机 at89s51 进行处 理,使系统可以控制对热水器的加热和

45、保温,通过 led 来实时显示温 度;同时通过水位采集系统来实时监控水箱水位并显示,当水位过低 时采取报警灯提示,干烧时警铃报警。本设计可以通过键盘方式来实 现人机对话,实现设定温度和定时开机功能。本系统还设有保护功能, 包括漏电保护,掉电保护及高温保护。硬件电路主框图见图 2.1。 在本系统中,p口用于七段码 led 指示灯显示,p口用于按键 设计,p.2 用于跟 ds18b20 通信进行水温测量,p2.4 控制电加热管, p2.5 控制扬声器用于报警和指示,p3.2 用于水位监控,p3.3 用于漏电 检测。本系统的硬件电路见附录 1。 图 2.1、系统原理框 图 基于单片机的室内热水器控制

46、系统设计 19 2.1、芯片处理电路、芯片处理电路 单片机的最小系统图: 2.2、温度采集电路、温度采集电路 ds18b20 与 at89s51 的接口电路 图 2.2、芯片处理电路 图 2.3、温度采集原理图 基于单片机的室内热水器控制系统设计 20 温度采集原理图见图 2.3。此电路中用到 at89s51 单片机、温度 测试器 ds18b20 器件。其中,ds18b20 与单片机通过一线总线相连接, 89s51 通过通用 i/o 口 p2.2 对 ds18b20 进行控制,读取 ds18b20 所 测得的温度;再用 2 个字节数码管连接至单片机的通用 i/o 口进行显 示,一个数码管显示采

47、集温度的个位,另一个显示采集温度的十位。 显示电路图参见显示电路模块。 2.3、温度显示电路、温度显示电路 led 显示接口的电路 led 数码管通过 8155 驱动芯片与 at89s51 的通用 i/o 口 p0 口 相连接,两个数码管分别显示温度的十位和个位。8155 使用线选法来 与单片机相连,其 ram 编码地址为:p2.1=0,p2.0=0,地址范围为: 0000h-00ffh。i/o 口编址:p2.1=0,p2.0=1,口地址范围是:0100h- 0105h。8155 的命令口地址:0100h,a 口地址:0101h,b 口地址: 0102h。led 显示管的接口电路见下图。 2.

48、4、加热控制电路、加热控制电路 图 2.4、水温显示电路 基于单片机的室内热水器控制系统设计 21 该部分采用了 motorola 公司推出的单片集成可控硅驱动器件 moc3041,作为对加热器的驱动和控制。其工作过程是:当单片机的 p3.1 口输出低电平时,moc3041 输入部分的发光二极管导通,发出 足够强度的红外光去触发输出部分,即控制可控硅的导通,从而打开 加热器;同理,当 p2.4 输出为高电平时,moc3041 输入部分的发光 二极管截止,可控硅断开,关闭加热器。moc3041 与 89s51 的接口图 如下: 2.5、键盘控制电路、键盘控制电路 1、键盘按钮电路 本键盘设计为

49、44 矩阵键盘,有 16 个按键。 图 2.5、加热控制电路 图 2.6、键盘按钮图 基于单片机的室内热水器控制系统设计 22 2、键盘的接口电路 用 at89s51 的并行口 p1 接 44 矩阵键盘,以 p1.0p1.3 作输入 线,以 p1.4p1.7 作输出线;在数码管上显示每个按键的“09”数字 号以及两个功能键“a” (设温键) 、 “b” (定时键) 。 其中 12 个键有定义,其余 4 个按键无定义。 2.6、水位模块电路、水位模块电路 电子式水位开关 bz2401 接至 p3.2 口,当水位低于设置的低位水 温时,水位仪产生一个低电平信号,p3.2 产生外部中断,来控制加热

50、系统,以防热水器干烧。水位采集电路与单片机的接口电路如下: 图 1.5.2、键盘按钮电 路 图 2.7、键盘接口电路 基于单片机的室内热水器控制系统设计 23 2.7、系统保护电路、系统保护电路 1、漏电保护 漏电检测原理分析部分,其输出信号接入单片机的外部中断,并 将其设置为下降沿触发,在中断子程序中,切断电源,进行报警。 漏电检测原理分析将火线和中线同时穿过一个环形磁芯,作为漏 电互感器的初级线圈,次级线圈数百匝输出漏电信号。当系统没有漏 电时,电源输入线中的火线电流与中线电流完全平衡,次级漏电信号 为零。 当系统发生漏电现象时,火线电流与中线电流将失去平衡,其合 成电流就是漏电电流,次级

51、漏电信号的大小和漏电程度成正比。 图 2.8、水位检测电路 a b 基于单片机的室内热水器控制系统设计 24 漏电检测电路设计使用一片 324 (四运放)中的两个运放,第一 个作放大器,第二个作比较器。为了在 5v 电源下正常工作,将比较 器的参考电平 d 点选定为 2.5v 左右,运放的参考电平 b 点选定为 3v 左右,这可以通过 r2=3.9k,r3=1k,r4=5.1k 来实现。漏电互感器输 出的信号加在 a 和 b 两点。当没有漏电时,abc 三点电位相同(3v 左右) ,比较器输出高电平。当有漏电现象时,c 点出现放大的漏电信 号,信号的负半波将 c 点的电位从 3v 向下拉低,只

52、要漏电到达一定 的程度,就可以使 c 点的电位在某时刻低于 d 点的电位,使比较器输 出低电平,其下降沿就可以作为单片机的外部中断信号,使系统及时 作出反映切断电源避免出现严重后果。 2、断电保护 atmel 生产的 at89s51 单片机自身具有掉电保护和看门狗 (wdt)技术。在掉电模式下,振荡器停止工作,进入掉电模式的指 令是最后一条被执行的指令,片内 ram 和特殊功能寄存器的内容在 终止掉电模式前被冻结。 图 2.9、漏电检测原理 基于单片机的室内热水器控制系统设计 25 3 3 系统软件设计系统软件设计 3.1、系统设计思路、系统设计思路 系统使用单片机从温度传感器 ds18b20

53、 采集水箱水温,通过对水 温信号进行处理,单片机用 p0 口控制 led 数码显示管来显示水温, 同时把采集的温度与系统设定的水温值进行比较,如果水温低于设定 温度就开加热器,高于设定温度,就关闭加热器。 系统还可以通过键盘来设定系统水温值和设定定时开机时间。键 盘设定两个功能键,如果按下的是功能键,则进入设定程序来进行相 应的设置,完成后返回主程序继续执行。如果按下的不是功能键,则 按键是无效的。 系统的保护功能也由单片机处理。漏电保护功能是通过外部中断 连接至单片机,但漏电信号产生时,会给单片机的 p3.3(外部中断 1)输入一个低电平,引起中断,程序转至中断程序,停止加热,并产 生报警信

54、号。低水位保护,水位由水位开关检测,当水位低于规定水 位值时,水位开关产生一个信号输入至单片机的 p3.2(外部中断 0) , 单片机检测到信号就产生中断并进入中断子程序,关闭加热器,产生 报警信号。主程序流程图见下图。 基于单片机的室内热水器控制系统设计 26 3.2、可编程温度传感器、可编程温度传感器 ds18b20 的软件设计的软件设计 由于 ds18b20 是 1wire 单线器件,它在一根数据线上实现数据 的双向传输,这就需要按照 ds18b20 的通信协议进行通信,对程序员 来说,ds18b20 的数据读取和写入需要用移位的方式来进行。 本设计将在与单片机与 ds18b20 之间进

55、行应答来采集温度参数, 单片机先将与 ds18b20 的连线电平拉低 500ms 以上,将 ds18b20 复 位,在进行操作。先向 ds18b20 发送指令,跳过 rom 后发出转换温 度的指令,然后初始化后读取温度,将读到的温度在 2kb 的数码管上 显示出来。程序处理的大致流程: 1、初始化 3、内存操作命令 2、rom 操作命令 4、数据处理 水温采集程序流程: 图 3.1、系统程序流程 基于单片机的室内热水器控制系统设计 27 3.3、水位中断程序、水位中断程序 低水位保护,水位由水位开关检测,当水位低于规定水位值时, 水位开关产生一个信号输入至单片机的 p3.2(外部中断 0) ,

56、单片机检 测到信号就产生中断并进入中断子程序,关闭加热器,产生报警信号。 图 3.2、ds18b20 程序 图 3.3、水位中断程序 基于单片机的室内热水器控制系统设计 28 3.4、键盘设定程序、键盘设定程序 主程序扫描是否有按键按下,有则判断是定时还是设温,再进入 相应的子程序,进行设置。无则返回主程序。 3.5、定时子程序、定时子程序 定时程序从键盘输入,程序可以定时最多 24 小时,输入定时时间, 检测输入是否合法,合法则判断用户确认否,确认则返回。 图 3.4、键盘扫描程序 基于单片机的室内热水器控制系统设计 29 3.6、设温子程序流程、设温子程序流程 设温程序从键盘输入,程序可以

57、设定最大温度 99 度,输入设定温 度,检测输入是否合法,合法则判断用户确认否,确认则返回。 图 3.6、设温程序 图 3.5、定时程序 基于单片机的室内热水器控制系统设计 30 3.7、led 动态显示子程序动态显示子程序 程序用的是线反转法,用动态扫描显示方法。通过取段码,查表 再输出显示段码至段码口,再通过控制位控端口来控制数据动态显示。 再取下一显示段码,位控移位显示,判断位控是否到最高位?否继续 控制显示,是则返回。 系统源程序参见附录 图 3.7、led 显示程序 基于单片机的室内热水器控制系统设计 31 4 4 总结总结 通过本次热水器控制系统的毕业设计,我重新学会了很多的知识。

58、 在历时两个月多的时间里,我把大学四年所学的东西应用于自己的新 作品。可以做出一个简单的嵌入式控制系统,我感到非常兴奋。 在此次设计中我曾遇到非常多的困难,通过在老师的帮助下,我 查阅资料,找到了很多有帮助的文献。通过自己对基础知识系统的复 习,从而设计出相应的硬件系统。本设计以单片机为核心,通过外围 扩展电路来设计基于单片机的热水器控制系统,在反复参阅单片微 型计算机原理与应用的情况下,充分掌握了单片机的工作原理,以 及通过接口电路来扩充单片机系统的功能。本次设计还涉及到传感器 的工作原理。本设计采用了一种新型数字温度传感器,不仅简化了硬 件电路,还省去复杂的数模转换计算。新型的数字温度传感

59、器能直接 把采集的温度转化为数字信号,然后交于单片机处理。本智能热水器 控制系统的实现得益于强大的单片机中断系统的应用。通过外部中断 来实现了对水位监控和漏电保护,通过定时中断实现了系统时钟和定 时启动加热的功能。通过对单片机 i/o 口的充分利用,我还实现了水 温实时显示,键盘控制,以及报警系统等。当然还可以通过其他端口 实现其他的功能。 由于本人时间有限,水平有限设计出来的东西不算完善。不过本 设计在熊斌老师的精心指导下,完成了核心部分的设计。在此过程中 也感觉到了自己的很多不足。在老师精心诚恳的帮助下,顺利完成了 此次毕业设计。 基于单片机的室内热水器控制系统设计 32 致谢致谢 首先感

60、谢父母多年来对我的培养、关心和支持! 感谢自动化工程系的所有老师,正是他们的精心培育让我学会了 很多有趣的知识。感谢陪我度过四年美好时光所有同学,正是他们使 我的大学生活快乐而又充实! 本次毕业设计是在 xx 老师的悉心指导下完成的,x 老师不仅治学 严谨,而且待人诚恳、诲人不倦,他对科学研究的认真态度是我永远 学习的榜样。衷心感谢 x 老师整个毕业设计过程中对我的关心和指导! 感谢本文所列参考文献的所有作者们! 感谢所有关心、支持和帮助过其他朋友! 基于单片机的室内热水器控制系统设计 33 参考文献参考文献 1 张毅坤.单片微型计算机原理及应用m.西安电子科技大学出版社, 2006 2 王为

温馨提示

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

评论

0/150

提交评论