基于51单片机的家用电热水器设计毕业论文.doc

上传人:小小飞 文档编号:3919505 上传时间:2019-10-10 格式:DOC 页数:32 大小:1.07MB
返回 下载 相关 举报
基于51单片机的家用电热水器设计毕业论文.doc_第1页
第1页 / 共32页
基于51单片机的家用电热水器设计毕业论文.doc_第2页
第2页 / 共32页
基于51单片机的家用电热水器设计毕业论文.doc_第3页
第3页 / 共32页
基于51单片机的家用电热水器设计毕业论文.doc_第4页
第4页 / 共32页
基于51单片机的家用电热水器设计毕业论文.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《基于51单片机的家用电热水器设计毕业论文.doc》由会员分享,可在线阅读,更多相关《基于51单片机的家用电热水器设计毕业论文.doc(32页珍藏版)》请在三一文库上搜索。

1、毕业设计基于 51 单片机的家用电热水器设计 本科毕业论文本科毕业论文( (设计设计) ) 基于基于 5151 单片机的家用电热水器设计单片机的家用电热水器设计 毕业设计基于 51 单片机的家用电热水器设计 基于基于 5151 单片机的家用电热水器设计单片机的家用电热水器设计 摘要摘要 市场上传统的机械式热水器控制精度低、可性靠差。随着社会的发展,人市场上传统的机械式热水器控制精度低、可性靠差。随着社会的发展,人 们对电热水器的要求越来越趋向于智能化和数字化,而智能化家用电热水器正们对电热水器的要求越来越趋向于智能化和数字化,而智能化家用电热水器正 是适应现代化智能家用电器趋势而出现。是适应现

2、代化智能家用电器趋势而出现。 本文主要设计了一种基于单片机的家用电热水器控制系统,它以本文主要设计了一种基于单片机的家用电热水器控制系统,它以 AT89C51AT89C51 单片机为核心控制器,单片机为核心控制器,使用阵型键盘输入温度,并使用使用阵型键盘输入温度,并使用 LEDLED 灯显示,能够精确灯显示,能够精确 提供用户所需温度的温水。同时采用提供用户所需温度的温水。同时采用 DS18B20DS18B20 进行温度采集,当所需温度高于进行温度采集,当所需温度高于 当前采集的水温时,使用当前采集的水温时,使用 MOC3041MOC3041 芯片触发加热,当所需温度低于当前采集的芯片触发加热

3、,当所需温度低于当前采集的 水温时,则停水温时,则停止加热。该设计简单易行,成本低,而且安全,具有推广价值。止加热。该设计简单易行,成本低,而且安全,具有推广价值。 关键字:关键字:AT89C51AT89C51 单片机,温度控制,传感器单片机,温度控制,传感器 毕业设计基于 51 单片机的家用电热水器设计 DESIGN OF HOUSEHOLD ELECTRIC WATER HEATER BASED ON THE 51-SERIES SINGLE-CHIP Abstract The market upload mechanical water heaters power system is o

4、f low control precision, poor reliability. With the development of the society, peoples demand for electric water heater is more and more tend to be intelligent and digital. While the intelligent home electric water heater is to adapt to the modern trend of intelligent household appliances. Designed

5、 in this paper is a smart home electric water heater, which AT89C51 as a controller, use array form keyboard input temperature, and use LED light display it, so it can accurately provide to the warm water of temperature that user needs. The system adopt DS18B20 to collect temperature, when the tempe

6、rature needed higher than to collect water temperature at present, it use the MOC3041 chip lead to heating , when the temperature needed is lower than the collect water temperature at present, it stop heating.The Smart electric water heater designed to achieve the program is simple,low cost, safe,an

7、d it has practical value. Key-words:AT89C51 single chip microcomputer, temperature control, temperature sensor. 毕业设计基于 51 单片机的家用电热水器设计 目录目录 1 引言.1 1.1 智能热水器的历史与发展1 1.2 本设计主要研究内容1 2 系统总体设计.1 2.1 单片机引脚功能说明.2 2.2 DS18B20 介绍4 2.2.1 DS18B20 引脚说明5 2.2.2 工作原理5 2.3 MOC3041 介绍.6 2.4 矩阵键盘的工作原理6 2.5 LED 数码显示管介

8、绍7 3 系统硬件模块介绍.8 3.1 单片机最小系统8 3.2 温度传感器模块8 3.3 加热控制器 MOC30419 3.4 键盘控制电路10 3.5 LED 数码显示管10 3.5.1 多位数码管的显示控制11 3.5.2 锁存器与数码管显示方法11 4 系统软件设计.12 4.1 主程序分析12 4.1.1 主程序流图12 4.1.2 主函数分析13 4.2 中断加热模块分析13 4.3 键盘输入设计14 4.3.1 键盘输入方法14 4.3.2 键盘输入的抖动与去抖动方法15 结论16 参考文献17 附录一18 附录二19 附录三20 附录四25 致谢26 毕业设计基于 51 单片机

9、的家用电热水器设计 1 1 引言引言 1.1 智能热水器的历史与发展智能热水器的历史与发展 我们的生活电热水器是一种可供浴室、洗手间及厨房使用,按照人们的需 要的温度,提供温水的家用电器。市场上传统的机械式电热水器控制精度低、 可靠性差,甚至存在一定的危险隐患。随着社会的发展、人们生活质量的提高, 人们对电热水器的要求越来越趋向于智能化和数字化,这种老式而简单的电热 水器已经不能够满足人们的需要了。而智能化家用电热水器正是适应现代化智 能家用电器趋势而出现。它能提供用户方便快捷的数字化输入方式,并且能精 确的采集和控制环境中的水温,将其提供给用户,因此备受人们的关注。 家用热水器在国外使用相当

10、广泛,尤其在欧美和东南亚地区。目前市场上 的电热水器分连续水流式和贮水式。前者虽具有加热速度快和体积小的优点, 但需要的功率大,大多数家庭供电线路难以承受。而市场上传统的机械式电热 水器控制功能不完善,而且精度低、可靠性差。生活质量的提高使得消费者对 电热水器功能提出延伸至全新的概念层面。此外,随着无线通信技术的发展, 无线远程控制也将是新一代电热水器的发展方向,用户可以通过任何一部双音 频固定电话或手机遥控热水器的开/关、温度设定等,并可查询热水器的工作状 态。现在市场上较为先进的储水式电热水器能实现上述等功能,但仍难以满足 人们对现代化家电的使用要求。在现如今众多的控制手段中,要满足低价格

11、、 高性能、尤其是智能化的要求,采用典型的嵌入式控制系统单片机为核心 的控制器应为首选。 1.2 本设计主要研究内容本设计主要研究内容 智能热水器具有以下功能:(1)使用高清晰度数码管显示水温,范围 0102(2)使用键盘方便的设定水温,并显示设定的温度;(3)按照设定 的温度加热到相应水温。 硬件设计主要有:单片机最小系统电路设计、温度传感器设计、水温加热 电路设计、键盘控制电路设计、LED数码管显示电路设计。软件设计主要有:主 程序模块、定时器中断程序模块、键盘扫描处理子程序模块、LED数码显示子 程序模块和延时子程序等模块。 毕业设计基于 51 单片机的家用电热水器设计 2 2 系统总体

12、设计系统总体设计 系统利用 DS18B20 将采集到的温度信号送到 AT89C51 单片机中,单片机 将采集到的温度值与通过键盘设定的温度进行比较,根据比较结果,控制加热 器的开关,同时将温度值实时显示在 LED 显示器上。 硬件系统组成部分主要有电源电路、单片机控制器、温度采集电路、按键 输入电路、LED 数码管显示电路、加热控制电路、MOC3041 双向可控硅驱动 电路。 AT89C51 单片机 键盘设定温度电路 加热控制电路 电源时钟复位电路 数字温度显示电路 温度采集电路 图图 2-1 系统硬件组成系统硬件组成 2.1 单片机引脚功能说明单片机引脚功能说明 图 2-2 为 DIP40

13、单片机电路符号的引脚分布,40 个引脚按功能分为 4 个部 分,即电源引脚(Vcc 和 Vss) 、时钟引脚(XTAL1 和 XTAL2) 、控制信号引脚 (RST、和 ALE)以及 I/O 口引脚(P0P3) 。EAPSEN XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.

14、6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 毕业设计基于 51 单片机的家用电热水器设计 3 图图 2-2 单片机引脚分布单片机引脚分布 40 脚 Vcc 为单片机电源正极引脚,20 脚 Vss 为单片机的接地引脚。在正 常

15、工作情况下,Vcc 接5V 电源,为了保证单片机运行的可靠性和稳定性,电 源电压误差不超过 0.5V。 9 脚 RST/VPD 为复位/备用电源引脚。此引脚上外加两个机器周期的高电 平就使单片机复位(Reset) 。单片机正常工作时,此引脚应为低电平。在单片 机掉电期间,此引脚可接备用电源(5V) 。在系统工作的过程中,如果 Vcc 低于规定的电压值,VPD 就向片内 RAM 提供电源,以保持 RAM 内的信息不 丢失。 30 脚为锁存信号输出/编程引脚,在扩展了外部存储器的单片PROGALE/ 机系统中,单片机访问外部存储器时,ALE 用于锁存低 8 位的地址信号。如果 系统没有扩展外部存储

16、器,ALE 端输出周期性的脉冲信号,频率为时钟振荡频 率的 1/6,可用于对外输出的时钟。对于 EPROM 型单片机,此引脚用于输入编 程脉冲。 29 脚脚为输出访问片外程序存储器的读选通信号引脚。在 CPU 从外PSEN 部程序存储器取指令期间,该信号每个机器周期两次有效。在访问片外数据存 储器期间,这两次信号将不出现。PSEN 31 脚用于区分片内外低 4KB 范围存储器空间。该引脚接高电平时, PP V/EA CPU 访问片内程序存储器 4KB 的地址范围。若 PC 值超过 4KB 的地址范围, CPU 将自动转向访问片外程序存储器;当此引脚接低电平时,则只访问片外程 序存储器,忽略片内

17、程序存储器。 单片机的 I/O 口是用来输入和控制输出的端口,DIP40 封装的 51 单片机共 有 P0、P1、P2、P3 四组端口,分别与单片机内部 P0、P1、P2、P3 四个寄存器 对应,每组端口有 8 位,因此 DIP40 封装的 51 单片机共有 32 个 I/O 端口。 P0 口分别占用 3239 脚,依次命名为 P0.0P0.7。与其他 I/O 口不同,P0 口是漏极开路型双向 I/O 口。在访问片外存储器时,P0 口分时作为低 8 位地址 线和 8 位双向数据总线用,此时不需外接上拉电阻。如果将 P0 口作为通用的 I/O 口使用,则要求外接上拉电阻或排阻,每位以吸收电流的方

18、式驱动 8 个 LSTTL 门电路或其他负载。 P1 口占用 18 脚,分别是 P1.0P1.7,P1 口是一个带内部上拉电阻的 8 位双向 I/O 口,每位能驱动 4 个 LSTTL 门负载。这种接口没有高阻状态,输入 不能锁存,因而不是真正的双向 I/O 口。 P2 口的 8 个引脚占用 2128 脚,分别是 P2.0P2.7。P2 口也是一个带内 部上拉电阻的 8 位双向 I/O 口。在访问外部存储器时,P2 口输出高 8 位地址, 毕业设计基于 51 单片机的家用电热水器设计 4 每位也可以驱动 4 个 LSTTL 负载。 P3 口的 8 个引脚占用 1017 脚,分别是 P3.0P3

19、.7。P3 是双功能端口, 作为普通 I/O 口使用时,同 P1、P2 口一样,作为第二功能使用时,引脚定义见 表 2-1。P3 口引脚具有的第二功能,能使硬件资源得到充分利用。 表表 2-1 P3 口的第二功能口的第二功能 I/O 口线第二功能定义功能说明 P3.0RXD串行输入口 P3.1TXD串行输出口 P3.2/INT0外部中断 0 输入端 P3.3/INT1外部中断 1 输入端 P3.4T0T0 外部计数脉冲输入端 P3.5T1T1 外部计数脉冲输入端 P3.6/WR外部 RAM 写选通脉冲输出端 P3.7/RD外部 RAM 读选通脉冲输出端 单片机有两个时钟引脚,分别是 19 脚

20、XTAL1 和 18 脚 XTAL2,用于提供 单片机的工作时钟信号。单片机是一个复杂的数字系统,内部 CPU 以及时序逻 辑电路都需要时钟脉冲,所以单片机需要有精确的时钟信号。 单片机内部含有振荡电路,19脚和18脚用来外接石英晶体和微调电容。在 使用外部时钟时,XTAL2则用来输入时钟脉冲。见图2-3所示,其中图2-3(a) 为晶体振荡电路,图2-3(b)为外部时钟输入电路。利用外部时钟输入时,要 根据单片机型号XTAL1接地或悬空,并考虑时钟电平的兼容性。 +5V CP输入 XTAL2 XTAL1 单片机 GND XTAL2 XTAL1 GND 单片机 C1 30P C2 30P CY

21、12MHZ 1K 图图 2-3(a) 图图 2-3(b) 晶体振荡电路晶体振荡电路 外部时钟输入电路外部时钟输入电路 2.2 DS18B20 介绍介绍 毕业设计基于 51 单片机的家用电热水器设计 5 温度采集电路中使用 DS18B20 芯片来完成温度采集。它是美国 DALLAS 半导体公司推出的第一片支持“一线总线”接口的温度传感器,具有微型化、低 功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串 行数字信号供单片机处理,可实现温度的精度测量与控制。DS18B20 性能特点 见表 2-2 所示。 表表 2-2 DS18B20 性能指标性能指标 性能参数备注 电源电压范围在

22、 3.05.5V,在寄生电源方式下可由数据线供 电 测温范围 -55+125,在-10+85时精度为0.5 分辨率912 位,分别有 0.5,0.25,0.125和 0.0625编程控制 转换速度在 9 位时,小于 93.75ms; 12 位分辨率时, 小于 750ms 总线连接点理论 248,实际视延时、距离和干扰限制,最多几十个 2.2.1 DS18B20 引脚说明 27.0 DQ 2 VCC 3 GND 1 U2 DS18B20 图图 2-4 DS18B20 引脚引脚 表 2-3 给出了各引脚功能,其中 DQ 引脚是该传感器的数据输入/输出端 (I/O),该引脚为漏极开路输出,常态下呈高

23、电平。DQ 引脚是该器件与单片 机连接进行数据传输单一总线,单总线技术是 DS18B20 的一个特点。 表表 2-3 DS18B20 引脚功能描述引脚功能描述 引脚序号名称描述 1GND地信号 2DQ数据输入输出(I/O)引脚 3Vdd电源输入引脚,当工作于寄生电源模式时,此引脚 必须接地 2.2.2 工作原理 DS18B20 的内部主要包括寄生电源、温度传感器、64 位激光 ROM 单线接 口、存放中间数据的高速贮存器、用于存储用户设定的温度上下限值、触发器 存储与控制逻辑、8 位循环冗余校验码发生器等 7 部分。 高速寄存器 RAM 由 9 个字节的存储器组成。见表 2-4 所示。其中,第

24、 0、1 字节是温度转换有效位,第 0 字节的低 3 位存放了温度的高位,高 5 位存 毕业设计基于 51 单片机的家用电热水器设计 6 放温度的正负值;第 1 字节的高 4 位存放温度的低位,后 4 位存放温度的小数 部分;第 2 和第 3 个字节是 DS18B20 的与内部 E2PROM 的有关的 TH 和 TL, 用来存储温度上限和下限,可以通过程序设计把温度的上下限从单片机中读到 TH 和 TL 中,并通过程序再复制到 DS18B20 内部 E2PROM 中,同时 TH 和 TL 在器件加电后复制 E2PROM 的内容;第 4 个字节是配置寄存器,第 4 个字节的 数字也可以更新;第

25、5,6,7 三个字节是保留的。 表表 2-4 高速寄存器高速寄存器 RAM 字节地址编号寄存器内容功能 0 温度值低位(LSB)高 5 位是温度的正正负号,低 3 位为温度的高位 1 温度值高位(MSB)高 4 位为温度的低位,低 4 位为温度小数部分 2 高温度值(TH)设置温度上限 3 低温度值(TL)设置温度下限 4 配置寄存器 5 保留 6 保留 7 保留 8 CRC 校验值 2.3 MOC3041 介绍介绍 MOC3041 芯片是一种集成的带有光耦合的双向可控硅驱动电路,它有输入 和输出两部分组成。内部集成了发光二极管、双向可控硅和过零触发器等器件。 其内部结构和外部引脚如图 2-5

26、 所示 654 321 MOC3041 图图 2-5 MOC3041 内部结构和外部引脚图内部结构和外部引脚图 其中: (1)此脚为阳极,输入 Vcc (2)此脚为阴极 (3)NC (4)主终端 毕业设计基于 51 单片机的家用电热水器设计 7 (5)子端口,此脚不接 (6)主终端 2.4 矩阵键盘的工作原理矩阵键盘的工作原理 矩阵键盘又称为行列式键盘,它是用 4 条 I/O 线作为行线,4 条 I/O 线作为 列线组成的键盘,行线和列线的每一个交叉点上设置一个按键,这样键盘中的 按键个数是 4*4 个。这种行列式键盘结构能够有效地提高单片机系统中 I/O 的 利用率。 图 2-6 为键盘按钮

27、电路图 P3.3 P3.2 P3.1 P3.0 P3.4P3.5P3.6P3.7 图图 2-6 矩阵键盘按钮电路图矩阵键盘按钮电路图 其中,行连接线为 P3.0P3.3,列连接线为 P3.4P3.7。 2.5 LED 数码显示管介绍数码显示管介绍 数字系统中使用数码管能够使得显示结果更为直观,所以本设计采用多位 的 LED 数码管来实时的来显示温度。单片机系统常用的数码管有共阳型和共阴 型两种类型,它是单片机常用的外围显示器件。两种类型的数码管外形和结构 类似,只是数码管内部组成数码段和标点的 LED 接法有区别,共阳型数码管的 内部所有 LED 的正极接在一起为公共极引脚,负极分别引出,依次

28、命名为 a、b、c、d、e、f、g、dot,使用时共阳型数码管的公共极接正极,其他引脚分 别接驱动电路,数码管显示时低电平有效。同理对于共阴型数码,由于共阴型 数码管内部所有 LED 的负极接在一起,所以数码管显示时驱动数据高电平有效。 各发光二极管的排列顺序为 g、f、e、d、b、c、a,与显示的各位一一对应。 7 段数码管的段位顺序如图 2-7 所示 a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp GND 9 DS1 DPY _9 毕业设计基于 51 单片机的家用电热水器设计 8 图图 2-7 7 段数码管的段位顺序段数码管的段位顺

29、序 3 系统硬件模块介绍系统硬件模块介绍 3.1 单片机最小系统单片机最小系统 如图 3-1 所示,图中单片机型号采用 STC8951RC,电路包括电源、振荡电 路、复位电路,单片机内部有 512B 的 RAM 和 4KB ROM 以及输入输出接口等。 VCC XTAL1 XTAL2 RESET PSEN ALE EA P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2

30、.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 18 19 9 29 30 31 1 2 3 4 5 6 7 8 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 C1 30P C2 30P CY 12MHZ R1 1K C3 10 图图 3-1 单片机最小系统单片机最小系统 单片机复位能使 CPU 和系统中的其他功能部件都处

31、在一个确定的初始状态, 并从这个状态开始工作。复位后 PC=0000H,单片机从第一个单元取指令。在 单片机的 RST 引脚上有持续两个机器周期(即 24 个振荡周期)的高电平即可 让单片机进行复位操作,完成对 CPU 的初始化处理。如果单片机的时钟频率为 12 MHz,每机器周期为 1s,则只需让 RST 引脚保持 2s 以上高电平的就能 复位。复位操作是单片机系统正常运行前必须进行的一个环节。但如果 RST 持 毕业设计基于 51 单片机的家用电热水器设计 9 续为高电平,单片机就处于循环复位状态,无法执行用户的控制程序。 复位操作通常有上电自动复位、手动复位和看门狗复位三种方式。在这里

32、使用的是上电自动复位方式。 3.2 温度传感器模块温度传感器模块 DS18B20 是单片机外设,单片机为主器件,DS18B20 为从器件。图 3-2 的接法是单片机与一个 DS18B20 通信,单片机只需要一个 I/O 口就可以控制 DS18B20,为了增加单片机 I/O 口驱动的可靠性,总线上接有上拉电阻。对如 果要控制多个 DS18B20 进行温度采集,只要将所有 DS18B20 的 DQ 全部连接 到总线上就可以了,在操作时,通过读取每个 DS18B20 内部芯片的序列号来识 别。 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0

33、 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4

34、/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 27.0 DQ 2 VCC 3 GND 1 U4 DS18B20 R1 4k7 图图 3-2 单片机与一个单片机与一个 DS18B20 通信通信 3.3 加热控制器加热控制器 MOC3041 加热控制原理如下图 毕业设计基于 51 单片机的家用电热水器设计 10 220v 0.01 uF 330 39 360 MOC3041 单片机 R1 Rg Rp Cp R P2.2 图图 3-3 加热控制电路加热控制电路 其中: R1,限流电阻,控制 LED 的触发电流; Rg,门极电阻,提高控制极的抗干扰能力; R,控

35、制回路限流电阻,保护 3041 中的双向可控硅; Cp,构成吸收回路,承受反向电压 该部分的工作过程是其工作过程是:当单片机的 P2.2 口输出低电平的时候, MOC3041 输入部分的发光二极管导通,发出足够强度的红外光去触发输出部分, 即可控硅的导通,从而打开加热器;同理,当 P2.2 口输出为高电平时, MOC3041 输入部分的发光二极管截止,可控硅断开,关闭加热器。 3.4 键盘控制电路键盘控制电路 系统中键盘的主要功能用于用户输入和修改设定的温度。键盘设计的 16 个按键,其中 12 个键有定义,其余 4 个按键无定义。其中 09 数字用于温度的 输入和修改。功能键一个(*号键)

36、,具有双重功能,第一次按为“设定”温度, 用于进入设定温度模式,第二次按为“确认”设定温度,用于设定温度输入后 的确认。#号键未定义,可用于其它扩展。其中 12 个键有定义,其余 4 个按键 无定义。 毕业设计基于 51 单片机的家用电热水器设计 11 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4

37、 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 图图 3-4 键盘接口电路键盘接口电路 3.5 LED 数码显示管数码显示管 3.5.1 多位数码管的显示控制 多位数码管的显示控制有两种方式,即静态显示

38、方式和动态显示方式。本 设计中采用数码管的动态显示方式。一般情况下把多位数码管的位段选线连接 在一起,用单片机的一个 PI/O 口来进行控制,再用另外一个 PI/O 口的数据线 作为选通信号,去分别选通 LED 显示器,采用分时方式,按顺序一一让 LED 显示,这样才两个 PI/O 口.它就是靠高速的扫描来保证显示。利用的是人眼的 暂留效应。 3.5.2 锁存器与数码管显示方法 在这里先介绍 74HC573 芯片,它一个锁存器芯片,连接方法见图 3-5 所示, P27、P26 分别控制位选和段选的 L 端,例如:当 P27(程序中的全局变量 wei)赋高电平时,74HC573 输入端口的值将直

39、接输送给 74HC573 芯片的输出 端,当输入端变化时,输出端也变化。P27 赋低电平时, 74HC573 芯片将记住 最近一次 L 端口是高电平时芯片输入端的 8 位,并将其输出,当输入端变化时, 输出端不变化。在这里就可以利用锁存器的特性使 P27 起到控制那个数码管亮 的作用,使 P26 控制数码管亮什么样的数字作用。 毕业设计基于 51 单片机的家用电热水器设计 12 图图 3-5 74HC573 芯片的连接芯片的连接 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0

40、.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 2

41、7 U1 AT89C51 D0 2 D1 3 D2 4 D3 5 D4 6 D5 7 D6 8 D7 9 Q0 19 Q1 18 Q2 17 Q3 16 Q4 15 Q5 14 Q6 13 Q7 12 LE 11 OE 1 U2 74HC573 D0 2 D1 3 D2 4 D3 5 D4 6 D5 7 D6 8 D7 9 Q0 19 Q1 18 Q2 17 Q3 16 Q4 15 Q5 14 Q6 13 Q7 12 LE 11 OE 1 U3 74HC573 图图 3-6 温度显示电路温度显示电路 4 系统软件设计系统软件设计 系统的软件设计主要包括有主程序分析、中断加热子函数分析、键盘输入

42、 程序分析、LED 数码显示函数分析等模块。 4.1 主程序分析主程序分析 4.1.1 主程序流图 首先系统进行初始化,清温度缓存区中的数据,然后启动 DS18B20 温度传 感器输入电信号,同时还要检测此时有无按键按下设定温度,如果有那么跳转 到键盘扫描处理子程序,如果没有那么将 DS18B20 结果读入累加器中,最后十 进制数据转换调整,输出到温度显示电路。主程序流图如图 4-1 毕业设计基于 51 单片机的家用电热水器设计 13 开始 有键按下? 十进制转换调整 输出显示温度 键盘扫描处理 启动DS18B20 初始化 清温度缓存区 Y N 图图 4-1 主程序流图主程序流图 4.1.2

43、主函数分析 void main() TMOD=0x01; TH0=(65536-30000)/256; TL0=(65536-30000)%256; EA=1; ET0=1; TR0=1; zd=0; num=16;aaa=0;bbb=0; 毕业设计基于 51 单片机的家用电热水器设计 14 num1=16;num2=16;num3=16; while(1) uint a; uchar b; changetemp(); a=gettemp(); b=scanff(); numy=gettemp(); display(a,b); 这里的 aaa 用于控制是否确定输入的一个数字是需要的数字,bbb

44、 用于标记 已经输入到了三个数字的第几个数字。 主函数首先将所用到的全局变量赋值,然后进入大循环首先进入温度转换 函数,使 DS18B20 启动温度转换,然后获取温度将两个字节的数值赋给 a,而 将输入的温度赋予 b ,再由 display(a,b)子函数输出所有的值。 4.2 中断加热模块分析中断加热模块分析 采用定时器 T0,定时器设定每 30ms 中断一次,判断输入的数值与采集的 数值之间的大小,如果前者较大就使 P3.1 变为低电平,从而使 MOC3041 启动 并引起加热。如果后者大于前者,则 P3.1 还是高电平并不引起加热。这样就达 到了控温的目的。程序流图如图 4-2 毕业设计

45、基于 51 单片机的家用电热水器设计 15 入口 保护现场 重设定时时间 当前温度小于设定温度 加热器工作 加热器停止 加热状态灯灭加热状态灯亮 恢复现场 返回 N Y 图图 4-2 中断加热程序流图中断加热程序流图 中断加热程序见附录 4.3 键盘输入设计键盘输入设计 4.3.1 键盘输入方法 键盘的引脚由上至下分别是 P30 到 P37,第一行暂时不用,从第二行开 毕业设计基于 51 单片机的家用电热水器设计 16 始使用,每一行如 P31 都与 P34、 P35、 P36 、P37,他们是线与的关系。 因此可以如此操作,对图中第二行、第三行、第四行诸行进行扫描。扫描第一 行时 P3 口赋

46、值为 0xfd,即为 P31 口赋“0”,P3 的其他口赋“1”,当第二行没有 按键按下时 P34、 P35、 P36 、P37 将都是高电平“1”,一旦有按键按下时, 由于线与关系,P34、 P35、 P36 、P37 必定有一个为“0”,它们之中那一 个为“0”依次代表哪个键被按下。依次循环扫描三行即可时时检测是否有键按下。 4.3.2 键盘输入的抖动与去抖动方法 按键按下都会发出一声响,虽然有的按键声音很轻微,但这都是金属导体 碰撞产生的震动,这种现象称为键盘抖动。如果不对键盘的抖动进行处理,按 键会对系统电路或程序产生意外的干扰。 在本设计中采用软件去抖的方法,原理是检测两次,第一次检

47、测到低电平 时延时一段时间,再检测一次,如果还能检测到低电平,则说明确实有键按下。 具体程序如下: while(temp!=0xf0) delay(5); P3=0xfd; temp=P3; temp=temp while(temp!=0xf0) 上述程序是两个 while 循环之间的嵌套,第一个 while()语句判断有键按 下后,延时一段时间再进行判断,如果第二次判断也认为有键按下,则可以确 认的确有键盘操作,并不是抖动。具体按下后的操作可以在后一个 while 循环 中书写。 毕业设计基于 51 单片机的家用电热水器设计 17 毕业设计基于 51 单片机的家用电热水器设计 16 结论结论

48、 本文对使用AT89C51单片机完成家用电热水器控制系统的设计进行完整阐 述。完成的功能主要有智能热水器具有以下几点:(1)使用高清晰度数码管显 示水温,范围0102。(2)使用键盘方便的设定水温,以及通过软件方法来 消除键盘抖动造成的误差。(3)按照设定的温度加热到相应水温,还有在测温 环节如何消除微小干扰的措施,如利用运算放大器接成电压跟随器的方式来稳 定有温度转换而来的电压信号。 同时,本文也有缺点。由于热水器工作环境潮湿,因此应特别注意用电安 全,所以可设计一个漏电报警电路来保证使用者的安全。可以用一个磁环检测 感应电流的模块,当出现漏电情况时,电流通过磁环的电流不平衡,于是检测 出漏

49、电信号,经集成电路放大、三极管倒相以后输至单片机,进而停止加热, 及时切断电源。 毕业设计基于 51 单片机的家用电热水器设计 17 参考文献参考文献 1杨文龙.单片机原理及应用M.西安电子科技大学出版社.2000 2王守中.51 单片机开发入门与典型实例M.人民邮电出版社.2007 3孙余凯.传感器应用电路 300 例M.电子工业出版社.2008 4赵负图.传感器集成电路手册M.北京化工出版社.2002 5郇玉龙,赵宁,卢洪武.用 AT89C51 单片机设计智能家用电热水器J.实用电 子 制作.2007.第 10 期 6孙振伟,唐媛红.基于单片机的电热水器模糊控制J.中国科技信息.2000.第 18 期 7周鲜成.单片机在电热水器中的应用J.常德师范学院学报(自然科学版). 2000.第 12 卷第 4 期 8刘海英,胡卫兵,魏军丞.基于单片机的电热水器定时控制器设计J.电子 元器件应用.2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1