基于AT89C52单片机的智能热水器控制系统

点击链接获取Keil源码与Project Backups仿真图:
https://download.csdn.net/download/qq_64505944/89242443?spm=1001.2014.3001.5503
在这里插入图片描述
C 源码+仿真图+毕业设计+实物制作步骤+05
在这里插入图片描述

题 目 基于单片机的智能热水器系统
学 院
专 业
班 级
学 号
学生姓名
指导教师
完成日期

摘 要

现在社会发展迅速,人们的生活水平都有所提高,各种热水器的使用早已屡见不鲜,但是即便如此,目前市场上的热水器控制电路与人们理想中的还相差甚远,因此,我设计了智能家用点热水器来满足人们的需求。我的设计主要是以STC89C52单片机为主要核心。同时我还对单片机控制电热水器实现智能化的可能性进行了分析。主要实现的功能是可以对水位进行设置并加水,先设置好需要加水的水位段数,单片机会根据这个数判断是否需要加水,同时还可以测量并显示水温、设置水温范围,若水温超过或低于所设置的水温范围,则会报警。
该水温水位测控系统设计采用软件设计来控制,用C语言进行编程,可以实现检测水位,自动加水;检测水温,智能加热的功能,并且提高了整个系统的可靠性和稳定性。

关键词:STC89C52,DS18B20,水温水位控制

ABSTRACT

Now,the rapid development of society, people's living standards have improved, the use of a variety of food has long been common, but even so, the current control circuit of the water heater on the market and people are still far from ideal, so I designed a smart home point food to meet people's needs. I design mainly STC89C52 microcontroller as the main core. At the same time I am also the possibility of intelligent microprocessor controlled electric water heater to achieve analyzed. Main function is to level set and add water, first set the number of level segments you need, add water, the microcontroller according to this number to determine whether need to add water, but also can measure and display water temperature, set temperature range, if the water temperature is above or below water temperature set, it will alarm.
The water temperature measurement and control system design using software designed to control, programmed in C language, can detect the water level, automatic water; water temperature detection, intelligent heating function, and improve the reliability and stability of the whole system.

Keywords: STC89C52, DS18B20, temperature and water level control

目 录
摘 要 1
ABSTRACT 2
第1章 绪论 6
1.1 选题的背景、目的及意义 6
1.2 国内研究状况和成果 7
1.3 研究设想和实验设计 8
第2章 硬件系统设计 8
2.1 方案验证 8
2.2 硬件系统设计 10
2.2.1 电源电路 10
2.2.2 按键电路 12
2.2.3 报警电路 13
2.2.4继电器驱动电路 13
2.2.5温度检测电路 14
2.2.6水位检测电路 14
2.2.7 1602液晶模块 15
2.2.8 红外一体接收模块 17
2.2.9 STC89C52功能特点介绍 18
2.3 硬件测试结果 20
第3章 软件系统设计 24
3.1 主程序流程图 24
总 结 25
参考文献 26
致 谢 27
附录1 28
附录2 44
第1章 绪论
1.1 选题的背景、目的及意义
据不完全统计,我市城镇居民家庭以电热水器为主,占总量的60%以上;从前风光无限的燃气热水器渐渐地黯然失色,市场份额仅剩不足20%;新兴的太阳能热水器虽然受到安装条件的限制,但其安全、环保的性能广受消费者青睐,发展态势迅猛,市场占有率已达到15%左右。出于对安全的考虑,城镇居民更多选择电热水器和太阳能热水器。时下的商品房通风效果并不好,燃气产生的污染无法及时消除,而电热水器和太阳能热水器则基本没有这方面的忧虑[6]。电热水器的优点:易安装,不受天气的影响,不受楼层和供水管道的限制,投入成本小。随着技术的进步和新品的开发,下置式、嵌入式等多种安装形式的电热水器先后上市,彻底摆脱了房间空间的限制。在当今社会,科技日新月异,热水器技术飞速发展,越来越多的科技成果被运用到热水器的制造中。如今的热水器产品已经绝对不是一个简单的加热器,而是科技含量高的现代化家电产品[1]。随着我国人民生活水平的逐渐提高,其生活条件有了很大的改善,与家庭生活密切相关的热水器品种层出不穷,花样翻新。正是在这样的背景下,本设计选择基于STC89C52单片机的智能电热水器的设计研究。
本课题的意义在于对热水器的智能化改进,采用单片机对其水温水位参数进行控制,提高了热水器的工作稳定性,同时引进了温度传感器DS18B20对水温进行数据采集,这样也就提高了系统的控制精度,对水位的控制结构简单,易于实现,具有很强的现实应用价值。虽然是对热水器的改进,但这种智能化的改进方法也可以应用到工业、生活的各个水温和水位控制的环境中去,对于其他相关参数的控制的改进也具有一定的借鉴意义。此次的基于单片机的水温水位测控系统是一个改进型的智能化产品,以其自身的控制精度高、稳定性好和成本低的独特优点在今后将会由广泛的实用价值,其基于单片机的改进方法也具用广泛的应用意义。
本课题的目的是为了满足人们对现代家庭舒适、便利、安全以及多元化信息服务的需求,而基于STC89C52单片机的水温水位测控系统可以实现。
选用STC89C52单片机作为控制芯片,实现了电热水器的智能化、持续稳定的热水供应、自动断电等功能,使人们洗浴时能放心享受,利于人们的身体健康,其实用、便捷的优点能快速满足人们对现代生活快节奏的需求[3]。
1.2 国内研究状况和成果
随着人们生活质量的提高,家庭生活中随处都会见到水温和水位控制的影子,水温水位测控系统将更好的服务于社会,尤其是基于单片机的控制系统具有性价比高、使用寿命长、自动化程度高的特点。
随着社会的发展,热水器在改善人们生活质量中起到了非常重要的作用。现在市面上的热水器种类繁多,电热水器、太阳能热时器、煤气热水器等,它们仅仅是提供能量的方式不同而已,但它们都需要对其主要的水温和水位参数加以控制,实现热时器的自动化。
中国产业调研网发布的中国热水器行业现状调查分析及市场前景预测报告(2016 年版)认为,2014 年,电热水器及燃气热水器分别以48.94%和41.05%的占比毫无悬念 地成为市场主力。值得注意的是,以往默默无闻的空气能热水器及太阳能热水器迎来了 市场大爆发,分别实现了2420.95%和1360.52%的高增幅。
早期温度和水位的参数控制时通过模拟电路实现的,这种方式不仅电路复杂,成本高,而且误差大,系统地稳定性不好,单片机及微型计算机技术的发展和应用有效地解决了这些缺点,特别是传感器的发展,更好的提高了检测参数的精度[7]。

1.3 研究设想和实验设计
STC89C52单片机低功耗,高性能CMOS8位单片机,片内4kb的可系统编程Flash只读程序存储器,器件采用高密度、非易失性存储技术生产,兼容标准8052指令系统及引脚。它集合了Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片机芯片中,功能很强大,可灵活应用于各种控制领域。
具体实验设计:采用STC89C52作为智能电热水器的控制芯片,通过选用电源模块、单片机模块、ISP在线编程接口、键盘模块、数码管及指示灯显示模块、水温、水位检测模块、报警输出模块,来实现智能控制的要求[5]。系统工作时,首先检测功能按键,进行温度范围设置。其次检测加减按键,进行温度范围调节,也可以按下红外遥控器上的按键操作,与主板上的按键功能一样,然后运行程序,由传感器DS18B20检测水温,当检测温度低于预设温度下限时,开始加热;检测温度高于预设温度上限时,停止加热。并可以预约加热,设定时间0-999分钟,定时时间到达自动开始加热。

第2章 硬件系统设计
2.1 方案验证
本课题是基于STC89C52单片机的智能电热水器的控制器的设计,要达到的控制要求有:(1)用LCD1602液晶显示水温、设置上下限和定时时间,(2)水温检测显示范围为00~99℃,精度为±1℃。(3)温度预设范围为0~99℃,当检测温度低于预设温度时,开始加热;检测温度高于预设温度时,停止加热。(4)设置4个程序按键。分别问设置按键、加键、减键、确定。(5)可以红外遥控,通过红外一体接收探头接收遥控器信号,执行与主板按键同等功能。
方案一:以STC89C52单片机为控制中心的智能电热水器
STC89C52单片机具有结构简单、控制能力强、可靠性高、体积小、价格低等优点,在许多行业都得到了广泛的应用。以STC89C52单片机为核心,配以外围电路如时钟电路、复位电路、按键、显示器件即可构成交通灯系统,结构框图如图2.1:

方案二:PIC16C72单片机为控制器件的智能电热水器
以PIC16C72为控制芯片的电热水器,虽然功能很强大,但是存在一些很需要改进的地方:中断的现场保护是中断应用中一个很重要的部分由PIC16C72的指令系统中没有专门的PUSH(入栈)和POP(出栈)指令,所以要想实现这个功能需要用一段程序。在中断服务程序中对马达以及继电器进行控制1漏电检测,报警则在中断里给出,而每50ms进入一次中断,所以发生漏电时最多50ms便可以切断电源1入口→中断保护→控制马达→控制继电器如果用直流对电机进行控制,其转速太快,过调量太大,容易引起震荡。
通过以上两种设计方法的比较来看,实现电热水器的智能控制可以有很多种方法。可以采用可编程序控制器PLC,各种单片机来实现。但考虑到成本控制和软硬件实现难度,采用方案一的控制系统设计,可以进一步提高电热水器的智能作用,能够保证持续的热水供应,并可以满足人们日常生活的需要,提高了人们生活的质量。
时钟电路用来产生时钟信号供单片机工作,晶振采用12MHz,平衡电容采用30pF。复位电路在系统上电或运行过程中对单片机进行初始化操作。按键采用独立式热键,用来扩展系统功能。显示通过LCD1602液晶显示实时温度、上下限温度值和预约功能的定时时间。报警指示灯(黄):当热水器出现异常情况时,该指示灯被点亮。
依据设计要求,系统上电复位后按默认值开始运行,然后开始检测温度按键,若无按键,则按设定温度进行工作;若温度键已按下,则开始设定温度范围,并按新的设定值开始加热。接着继续检测温度按键,若无按键,则接着上一步的执行(以新的设定值开始工作)。若有按键,则重新设定温度范围,如此循环。
2.2 硬件系统设计
单片机应用系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统的配置,即按照系统功能要求配置外围设备。本设计中只用最小系统加上键盘、显示、ISP接口电路,单片机本身资源可以满足设计要求,所以不必对单片机进行扩展[2]。
系统的硬件系统以STC89C52单片机为核心,主要分两部分:直流稳压电源和智能电热水器控制电路[9],其原理图见附录二。直流稳压电源由变压器、整流桥、滤波电路、稳压电路组成。智能电热水器系统由时钟电路、复位电路、报警电路、键盘、温度检测电路和显示接口电路组成。
2.2.1 电源电路
电源电路按元件类型可分为电子管稳压电路、三极管稳压电路、可控硅稳压电路、集成稳压电路等。根据调整元件与连接方法,可分为并联型和串联型;根据调整元件工作状态不同,可分为线性和开关稳压电路。本设计中采用了线性工作状态的线性集成稳压电源。
直流稳压电源一般由三部分组成,分别是电源变压器、整流滤波电路及稳压电路设计框图:
各部分简介:
(1)电源变压器
电源变压器作用是220V的交流电压V1变换成整流滤波电路所需的交流电压V2。变压器副边与原边的功率比P2/P1=η,式中η为变压器的效率。
(2)整流滤波电路
整流电路将交流电压变成单向脉动的直流电压。滤波电路用来滤除整流后单向脉动电压中的交流成份,合之成为平滑的直流电压[11]。
常用的整流电路有全波整流电路、半波整流电路、桥式整流电路及倍压整流电路。小功率直流电源因功率比较小,通常采用单相交流供电。由于桥式整流克服了半波整流的缺点,在桥式整流电路中,由于每两只二极管只导通半个周期,故流过每个二极管的平均电流仅为负载电流的一半,将两者进行比较比较,前者的输出电压比较高,脉动成分相对减少。
滤波电路常见的有电容滤波电路、电感滤波电路及π型滤波电路。本设计采用电容滤波电路[10]。电容滤波电路主要利用电容两端电压不能突变的特性,使负载电压波形平滑,故电容应与负载并联。桥式整流电路带电阻负载时的输出直流电压U0=0.9V,接上电容滤波后,空载时的输出直流电压U0=UC=U2。所以,接上负载时的桥式整流电容滤波电路的输出电压介于上述两者之间,其大小与放电时间常数RLC有关,RLC越大,U0越大。
(3)稳压电路
稳压电路的作用是当输入交流电源电压波动、负载和温度变化时,维持输出直流电压的稳定。三端式稳压器有两种,一种是有固定输出的三端稳压器,另一种是可以调节输出的三端稳压器。它们的基本组成及工作原理都相同,均采用串联型稳压电路。
(4)三端固定输出的稳压器通用产品有CW7800T系列和CW7900系列。
①正压系列:CW7800系列,该系列稳压块有过流、过热和调整管工作保护,以防过载而损坏。一般不需要接元件即可工作,有时为改善性能也会加少量元件。
②负压系列:CW7900系列与CW7800系列相比,除了输出电压极性、引脚定义不同外,其它特点都相同。
(5)稳压电源的技术指标分为两种:
①特性指标:包括输入和输出电压、输出电压的调节范围以及输出电流等。
②质量指标:用来测量输出电压的稳定性,电压调整流器率、输出电阻的大小、温度系数等。
(6)电路目的:给单片机及其他控制电路提供电源。
电源设计是电路设计很重要关节。它的稳定与否涉及到电路是否能稳定工作。按要求需要一个+5V电压,一个+12V左右可调电压。于是采用可调压芯片LM317,它是稳压芯片。
既然ID和IRl对调节输出电压UO都起到了一定作用,并且IR1是由R1提供,IRI大小也没有任何限制,LM317输出电压服从1.25+IDR2=UO关系。
可调稳压电路原理图如图2.3所示。

图2.3 可调稳压电路原理图
+5V电压也是利用三端稳压集成电路得到的,采用7805芯片。其用法和LM317差别不大,如下图所示。LM7805的1端是电源的输入端,3端是输出端,2端是接地端

图2.4 7805三端稳压电源电路
2.2.2 按键电路
本毕业设计的按键使用的是独立式的按键,直接用I/O口线构成的单个按键电路,每个按键单独工作,不会影响其他按键的工作状态,按键之间的状态互不干扰。独立式按键的典型应用如下图2.5所示:
图2.5 按键电路
按键输入均为低电平“0”有效,此外,上拉电阻保证了按键断开时,I/O口线有确定的高电平。当I/O口线内部有上拉电阻时,外电路不可接上拉电阻。独立式按键的软件常采用查询式结构。先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序,具体编程见程序清单。
2.2.3 报警电路
当温度超过上限时电路会报警,提示水温过高,注意安全。当上水位传感器检测到有水,下水位传感器却没有检测到有水时,电路显示错误,此时蜂鸣器报警。如图2.6为蜂鸣器报警电路:

图2.6 报警电路
2.2.4继电器驱动电路
这个模块由三极管、LED灯以及继电器和若干电阻组成。三极管采用的是PNP型,与其相连的为限流电阻(低电平有效)。LED的工作电压为3V,而电路的工作的电压为5V,所以串连一个分压电阻。继电器相当于开关的作用,此时继电器和LED并联,三极管的电流Ic同时给继电器和LED供电。另外电路还有连接一个外接负载。如图2.7所示为继电器驱动电路:

图2.7 继电器驱动电路
2.2.5温度检测电路
本文采用温度传感器DS18B20采集电热水器的实时温度, 提供给STC89C52的P2.2口作为数据输入。在本次设计中我们所控的对象为水温。其电路原理框图如下:

                       图2.8 温度检测电路

DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为0℃~99℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出,支持3V~5.5V的电压范围,使系统设计更灵活、方便[4]。如图2.8所示DS18B20的DQ为数字信号的输入/输出端;1脚GND为电源地;3脚VDD为外接供电电源输入端。
当传感器工作时,如果水温超过38℃,将温度传给单片机,蜂鸣器报警,并断电;如果水温低于22℃,热水器开始工作,加热指示灯亮。
2.2.6水位检测电路
在本系统中,由两个水位传感器、两个电位器、两个上拉电阻以及LM358组成,水位传感器的3引脚接地,2引脚接电源,1引脚是输出一个模拟量信号,模拟量信号就是电压值,即输出一个电压值。LM358 是双运算放大器,1脚接单片机的的P3.6口,7脚接单片机的P3.7口,3脚电压采用的是电位器,进行分压,电位器调节好固定,作为基准电压。上拉电阻起到信号稳定的作用。
当2脚电压高于3脚时,1脚输出一个低电平。当2脚电压低于3脚时,1脚处于高电平状态,这时就需要用到上拉电阻了。
水位分为上水位和下水位两部分,LM358的5引脚同3引脚,6引脚同2引脚,7引脚同1引脚,4引脚接地,8引脚接电源。两个水位传感器的工作原理相同。

图2.9 水位检测电路

2.2.7 1602液晶模块
在本系统中,用LCD液晶屏来构成显示部分,LCD液晶显示器具有功耗低、寿命长、无辐射、不易引起视疲劳等优点,正在被广泛应用于仪表、家用电器、计算机、医疗仪器及交通和通信领域[8]。本系统主要选择用1602LCD作为液晶屏的显示驱动控制器。
字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD 目前常用161 162 202和402行等的模块。是一种很常用的小型液晶显示模块 在单片机系统、嵌入式系统等的人机界面中得到了广泛的应用。
1、1602LCD主要技术参数如下:
(1)显示容量:16×2个字符
(2)芯片工作电压:4.5-5.5V
(3)工作电流:2.0mA(5.0V)
(4)最佳工作电压(模块):5.0V
(5)字符尺寸:2.95×4.35(W×H)mm
2、引脚的各部分功能说明:
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表2.1所示:
表2.1 引脚接口说明表
编号 符号 引脚说明 编号 符号 引脚说明
1 VSS 电源地 9 D2 数据
2 VDD 电源正极 10 D3 数据
3 VL 液晶显示偏压 11 D4 数据
4 RS 数据/命令选择 12 D5 数据
5 R/W 读/写选择 13 D6 数据
6 E 使能信号 14 D7 数据
7 D0 数据 15 BLA 背光源正极
8 D1 数据 16 BLK 背光源负极

3、1602LCD的指令说明及时序
1602液晶模块内部共有11条控制指令,如表2.2所示:
表2.2 指令说明
序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0
1 清显示 0 0 0 0 0 0 0 0 0 1
2 光标返回 0 0 0 0 0 0 0 0 1 *
3 置输入模式 0 0 0 0 0 0 0 1 I/D S
4 显示开/关控制 0 0 0 0 0 0 1 D C B
5 光标或字符移位 0 0 0 0 0 1 S/C R/L * *
6 置功能 0 0 0 0 1 DL N F * *
7 置字符发生存贮器地址 0 0 0 1 字符发生存贮器地址
8 置数据存贮器地址 0 0 1 显示数据存贮器地址
9 读忙标志或地址 0 1 BF 计数器地址
10 写数到CGRAM或DDRAM) 1 0 要写的数据内容
11 从CGRAM或DDRAM读数 1 1 读出的数据内容
4、单片机与1062LCD接口电路设计
根据1062LCD的工作原理,我们可以设计单片机与1062LCD的接口电路图如2.10所示:

图2.10 单片机与LCD1602的应用电路
2.2.8 红外一体接收模块
红外一体模块由红外一体热电源,两个滤波电容以及上拉电阻组成,热电源的1引脚与单片机的P3.3接口相连,利用中断来检测相应信号;3引脚接电源Vcc,另外在2引脚和3引脚之间并联两个滤波电容,起到滤波的作用,因工作电压小于5V,所以在再加一个阻值为100Ω的分压电阻。红外采集电路如下图2.11所示:

图2.11 红外采集电路
2.2.9 STC89C52功能特点介绍
(1)主要性能参数:
①内置标准52内核,机器周期:增强型为6时钟,普通型为12时钟。
②有8个中断源
③对应flash空间:4KB/8KB/15KB
④3.8—5.5V 的工作电压
⑤全静态工作模式:0Hz-33MHz
⑥1个通用异步通信口
⑦128×4字节内部RAM
⑧32个可编程I/O口线
⑨3个16位定时/计数器
⑩工作频率为0—40MHz
(2)串行编程指令设置:
串行编程指令设置为一个4字节协议。
(3)并行编程接口:
采用控制信号的正确组合可对Flash闪速存储阵列中的每一代码字节进行写入和存储器的整片擦除,写操作周期是自身定时的,初始化后,它将自动定时到操作完成。
(4)功能特性概述:
STC89C52 提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,STC89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
(5)数据校验:
数据校验也可在串行模式下进行,在这个模式下,在一个写周期中,通过输出引脚MISO串行回读一个字节数据的最高位将作为最后写入字节的反码。
(6)STC89C52单片机最小系统
STC89C52单片机最小系统由STC89C52单片机及其外围电路组成,外围电路包括时钟电路和复位电路两部分。
①时钟电路:时钟电路为单片机产生时序脉冲,单片机所有运算与控制过程都是在统一的时序脉冲的驱动下的进行的,时钟电路就好比人的心脏。同样,如果单片机的时钟电路停止工作(晶振停振),那么单片机也就停止运行了。当采用内部时钟时,连接方法如下图所示,在晶振引脚XTAL1(19脚)和XTAL2(18脚)引脚之间接入一个晶振,两个引脚对地分别再接入一个电容即可产生所需的时钟信号,电容的容量一般在几十皮法,如30PF。
②复位电路:单片机的复位电路分上电复位和按键手动复位。它是利用外部复位电路来实现的。当Vcc上升时间不超过1ms(RC=τ),振荡器启动时间不超过10ms。在加电情况下,这个电路可以使单片机复位。在加电开机时,RST上的电压从Vcc逐渐下降,RST引脚的电位是Vcc与电容电压的差,RST上的电压必须保证在斯密特触发器的阀值电压以上足够长时间,以满足复位操作的要求。按键电平复位是将复位端通过电阻与Vcc相连。在按键电平复位和按键脉冲复位两种简单的复位电路中,干扰易串入复位端,在大多数情况下,不会造成单片机的错误复位,但会引起内部寄存器错误复位,这里可在复位端引脚上接一个去藕电容。需说明的是,如复位电路中R、C的值选择不当,使复位时间过长,单片机将处于循环复位状态。
为了使用方便和设计电路简化及设计要求,我们采用上电复位和按键电平复位相结合的方法。复位后,单片机从0000H单元开始执行程序,并初始化一些专用寄存器为复位状态值,受影响的专用寄存器如下表所示:
表2.3 专用寄存器状态表
寄存器 状态 寄存器 状态
PC 0000H TCON 00H
ACC 00H TL0 00H
PSW 00H TH0 00H
SP 07H TL1 00H
DPTR 0000H TH1 00H
P0 – P3 FFH SCON 00H
IP xxx00000H SBUF 不确定
IE 0xx00000H PCON 0xxx0000H
TMOD 00H

图2.12 单片机最小系统
2.3 硬件测试结果
现象一:
初始状态,即刚开启时的状态,此时tp显示的是当前所处环境的温度,默认温度范围为29~35℃。此时红灯和绿灯亮,黄灯不亮。

图2.13初始状态
现象二:
通过按键手动设置温度的上限值和下限值,此时tp显示的是当前所处环境的温度,设置温度范围为22~38℃。此时红灯和绿灯亮,黄灯不亮,因为在没有水的情况下,是不会进行加热,否则会烧坏。

图2.14设定温度的范围
现象三:
将下水位传感器放入水中,此时检测到有水,开始加热、加水。表现为黄灯、绿灯亮,红灯不亮。

图2.15 下水位
现象四:
继续加水,直到达到水位的上限值,即将上水位传感器也放入水中,此时停止加水,但是温度未达到上限值,所以继续加温。表现为黄灯亮,红灯、绿灯不亮。

图2.16上水位
现象五:
将上水位传感器放入水中,此时系统出现错误,表现为红灯亮,蜂鸣器一直响,直至人为按下取消报警建(即确认键)蜂鸣器才停止工作。

图2.17 错误状态
现象六:
当温度低于下限值,或当温度高于上限值时,停止加热,此时表现为所有灯都不亮。此外还可以预设加热时间,当预设时间到,开始加热,表现为黄灯由不亮跳转成亮的过程。

     图2.18预设一分钟                           图2.19高于最高温度

第3章 软件系统设计
软件设计由主程序,键扫描子程序以及一些其他功能模块子程序三部分组成。其中主控制器子程序包括A/D转换子程序(水位、水温),键盘处理及显示子程序,温度控制子程序(使用输出比较功能),漏电保护子程序等组成。主程序要先对单片机的定时器、COP模块、A/D转换、端口、键中断等部分的工作模式参数进行初始化设定,之后系统的主程序循环可以调用各个功能模块的子程序,对相关事件的处理则是依靠标志位和判断标志位来实现。
3.1主程序流程图:
当程序开始运行时,1602LCD液晶显示器上会显示一个初始的默认值,此时通过按下按键来设定温度范围,若是没有按下则返回初始状态;若是设定了最低温度和最高温度值,则通过新设定的温度范围来运行;但是若是设定完毕之后没有按下确认键,则设定不成功,需返回重新设定温度范围,再次按下确认键。

总 结
此次水位水温控制系统耗时近两个月,先后经历了硬件制作和软件设计,具体是通过每个板块的设计调试再到整体的组合才能通过。本课题设计了一个以STC89C52单片机为核心配合其他外围电路的热水器智能控制系统,运用DS18B20传感器完成了对热水器容器内的水位、水温测量并用数码管及发光二极管来显示水位和水温;缺水时手动上水,运用按键模块设定温度参数,缺水报警;水温超过设定温度值时报警系统启动,发出报警信号。
本设计的水位和水温各自的实现操作为:水位是使用自制的测水位导线放入水中,通电之后,显示当前的水位。由单片机依次使各水位电极呈现高电平,由公共电极所接的三极管进行电位转换,水位到达的电极,转换电位为低(0);水位没有到达的电极,转换电位为高(1);每检测一位便得到一位数据,3个电极检测一遍以后便得到了3个串行数据,然后把这3个数据转化为字节一路送发光二极管;在这里我们可以用发光二极管亮的盏数来显示水位的高低。
而水温的控制利用低功耗单线数字温度传感器DS18B20实现温度采样,将采样的温度值通过单片机的P3.3口送入单片机处理,然后实现水温的控制,利用按键对水温的值进行设置,当温度高于上限或者低于下限后蜂鸣器报警,使之保持温度在一定范围内的稳定。本控制系统可以时时采集热水器内部水温通过LED显示水温,由于太阳能热水器实际温度不会超过100摄制度,所以本系统采用两位显示,测量范围为00~99摄氏度,温度可以精确到小数点后两位。
在这次的毕业设计中更重要的是学习到的工程设计方法。以前对于硬件的调试,由于方法的不科学,既耗精力又耗时间,效率非常不高,现在软、硬件结合大大提高效率。
在本次设计中不足之处是硬件设计中缺少了在缺水状态下自动上水功能和实际运用电热丝来加热使水温达到设定温度范围的功能。在这漫长的设计过程中,通过自己不断的解决工程中遇到的一个一个的问题,磨练了自己的意志,提高了对工程设计实践的认识,我想这些都是自己今后职业生涯中难得的宝贵经验。

参考文献
[1]殷为民,太阳能水温水位仪[J].家用电子,1999(1):37-38
[2]张毅刚,彭喜元.单片机原理及应用设计[M].电子工业出版社,2010:180-200
[3]王俊杰,基于89C52单片机的太阳能热水器只能控制器的设计[J].郑州轻工业学院学报:自然科学版,2005(8):67-68
[4]周秀明,曹隽,张春龙.基于DS18B20的单片机温度检测与调节系统设[J].实验室科学,2011,14(1):79-81.
[5]张振荣,晋明武,王投平,MCS-52单片机原理及实用技术[M].北京:人民邮电出版社,2012:64-120
[6]孟伟,方世巍.基于单片机的智能家用热水器控只系统[J].(2013)21-0032-02
[7]王梅红.基于单片机的温度控制系统设计与仿真[J],四川兵工学报,2012,33(2):102-103
[8]鲍文胜. 基于单片机的太阳能热水器控制系统研究[J]. 青岛理工大学学报. 2015(05)
[9]吴健,侯文,郑宾.基于STC89C52 单片机的温度控制系统[J].电脑知识与技术,2011,07(4):902-903
[10]Zou Zhi jun. A study of Capacity of Major/minor priorityT-intersection by Means of Computer Simulation[J], China Journal of Highway and Transport, 2000, 013(003): 101-105
[11]Paul,J.M.Thomas,D.Bobrek.A.Scenario-oriented design for single-chip heterogeneous multiprocessors[J].IEEE transactions on very large scale integration (VLSI) systems,2016(8):30-34

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/6301.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

242 基于matlab的3D路径规划

基于matlab的3D路径规划,蚁群算法(ACO)和天牛须(BAS)以及两种结合的三种优化方式,对3D路径规划的最短路径进行寻优。程序已调通,可直接运行。 242 3D路径规划 蚁群算法和天牛须 - 小红书 (xiaoh…

ant-design中的穿梭框提示文字修改

ant-design中的穿梭框提示文字修改 1.ant-design中的穿梭框提示文字修改 <a-transferv-model:target-keys"targetKeys":data-source"transform.list":filter-option"filterOption":list-style"{width: 100%,height: 500px,}":rowK…

unity入门学习笔记

文章目录 unity学习笔记熟悉界面窗口页面快捷键视图特点移动、旋转、缩放快捷键聚焦和隐藏 一些基本概念模型模型的导入一些补充 资源文件资源包的导出资源包的导入 轴心物体的父子关系空物体Global与localpivot与center 组件脚本基础我的第一个脚本 获取脚本组件本地坐标播放模…

顶顶顶顶顶顶顶顶顶顶顶顶

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。关…

【电子通识】为什么用双绞线?双绞线抗干扰的原理是什么?

使用双绞线最大的理由是抗干扰。不仅可以防止别人干扰,也可以防止自己干扰别人。这与EMC中的EMS和EMI相对应(参考【EMC专题】电磁兼容--基本概念)。 双绞线是由一对带有绝缘层的铜线(绝缘层使两根线中的金属导体不会因为互碰而导致短路)以螺旋的方式缠绕在一起所构成的。通…

ElementUI从unpkg.com完整下载到本地的方法 - 解决unpkg.com不稳定的问题 - 自建镜像站 - 不想打包只想cdn一下

方法 方法1&#xff09;随便弄个文件夹&#xff0c;根据官网npm方法下载包&#xff0c;提取即可 npm i element-ui -S cd /node_modules/element-ui/ ls src 安装npm方法&#xff1a;https://nodejs.org/en 方法2&#xff09;不推荐 - 在github中搜索对应的库zip包&#xff0…

【网络原理】HTTP 协议的基本格式和 fiddler 抓包工具的用法

系列文章目录 【网络通信基础】网络中的常见基本概念 【网络编程】网络编程中的基本概念及Java实现UDP、TCP客户端服务器程序&#xff08;万字博文&#xff09; 【网络原理】UDP协议的报文结构 及 校验和字段的错误检测机制&#xff08;CRC算法、MD5算法&#xff09; 【网络…

PG实例连接访问控制

实例访问控制可以控制来自于不同主机&#xff0c;不同用户是否允许访问指定的数据库&#xff0c;以及验证方式。 与oracle中的连接管理器的功能相同&#xff0c;之前有写过一篇oracleCMAN连接管理器的配置实操&#xff1a; 配置oracle连接管理器&#xff08;cman&#xff09;…

深度学习每周学习总结P7(咖啡豆识别)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 –来自百度网盘超级会员V5的分享 数据链接 提取码&#xff1a;7zt2 –来自百度网盘超级会员V5的分享 目录 0. 总结1. 数据导入及处理部分…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《电-氢-混氢天然气耦合的城市综合能源系统低碳优化调度》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

Java | Leetcode Java题解之第68题文本左右对齐

题目&#xff1a; 题解&#xff1a; class Solution {private String line(List<String> list,int maxWidth,int totalLength,boolean isLast){StringBuilder sb new StringBuilder();sb.append(list.get(0));if(list.size() 1){String ap " ".repeat(maxW…

二维数组的鞍点(C语言)

一、鞍点解释&#xff1b; 鞍点就是该位置上的元素在该行上最大、在该列上最小&#xff1b; 二、N-S流程图&#xff1b; 三、运行结果&#xff1b; 四、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff…

定制开发AI名片商城AI导购系统:引领营销自动化的新时代

在数字营销日新月异的今天&#xff0c;一个革命性的工具——定制开发AI名片商城AI导购系统&#xff0c;正逐渐崭露头角&#xff0c;成为企业私域运营中的得力助手。它不仅仅是一个营销工具&#xff0c;更是一个拥有强大营销自动化能力和先进算法技术的在线助理&#xff0c;为企…

【neteq】tgcall的调用

G:\CDN\P2P-DEV\Libraries\tg_owt\src\call\call.cc基本是按照原生webrtc的来的:G:\CDN\P2P-DEV\tdesktop-offical\Telegram\ThirdParty\tgcalls\tgcalls\group\GroupInstanceCustomImpl.cpptg对neteq的使用 worker 线程创建call Call的config需要neteqfactory Call::CreateAu…

[1702]java旅游资源网上填报系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java旅游资源网上填报系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql…

模式识别作业:颜色算子的三种阈值分割算法

一、引言&#xff1a; 在图像处理中&#xff0c;我们往往需要提取图像的一些关键信息&#xff0c;比如本篇文章的内容——提取颜色&#xff0c;然而当我们需要提取某一种颜色时&#xff0c;无论图像余下的部分如何“丰富多彩”&#xff0c;他们都不再重要&#xff0c;需要被忽…

如何使用SSH密钥克隆仓库

1.创建SSH Key 在用户目录下查看有没有.ssh目录。如果有且该.ssh目录下有id_rsa&#xff08;私钥&#xff09;&#xff0c;和id_rse_pub(公钥)这俩文件&#xff0c;那么这一步就可以跳过。否则使用以下指令创建SSH Key ssh-keygen -t rsa -C "xxxqq.com" "xx…

8.k8s中网络资源service

目录 一、service资源概述 二、service资源类型 1.ClusterIP类型 2.service的nodeport类型 3.service的loadbalancer类型&#xff08;了解即可&#xff09; 4.service的externalname类型&#xff08;了解即可&#xff09; 三、nodeport的端口范围设置和svc的endpoint列表 1.修…

AJAX概述和基本使用

01 【AJAX概述和基本使用】 1.AJAX简介 AJAX 全称为Asynchronous JavaScript And XML&#xff0c;就是异步的JS 和XML 通过AJAX 可以在浏览器中向服务器发送异步请求&#xff0c;最大的优势&#xff1a;无刷新获取数据 AJAX 不是新的编程语言&#xff0c;而是一种将现有的标准…

刷代码随想录有感(53):合并二叉树

题干&#xff1a; 代码&#xff08;递归实现&#xff09;&#xff1a; TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) {//前序好理解&#xff0c;直接将树覆盖到另一个上面if(root1 NULL)return root2;//当前遍历节点为空的话就让另一个的值覆盖过来if(root2 NUL…