太阳能热水器的控制器的设计
太阳能热水器控制仪设计(毕设)
摘要本课题的目的是结合太阳能热水器的具体应用,设计一种用于太阳能热水器的检测控制系统,以更好的实现对太阳能热水器的监控与控制。
太阳能热水器作为太阳能利用中最常见的一种装置,经济效益明显,正在迅速的推广应用。
根据太阳能热水器特点以及对控制器的要求,本文提出了一种基于单片机AT89C52的太阳能热水器智能控制器的设计方法。
本文在分析了解太阳能热水器及其控制器的发展和市场分布状况的基础上,描述了太阳能热水器控制器的组成及其工作原理。
论文完成了控制器的硬件设计和软件设计。
在硬件设计中,利用AT89C52单片机作为控制的中心环节,控制整个系统运作。
利用温度传感器DS18B20和分段式水位传感器作为水温水位测量环节,并将测量结果送单片机进行处理。
利用DS12887作为时钟芯片,以实现时间以及日期的显示。
选用液晶显示模块12864显示水温水位时间及日期,显示部分是人机交换的重要媒介之一。
在软件设计部分采用模块化结构,完成了包括主程序,水位检测子程序、LCD显示等子程序的设计。
系统主程序主要完成一些初始化功能,温度的检测以及控制辅助加热系统,同时完成信号转换及送显示功能;水位检测子程序完成水位测量及送数据功能;显示子程序完成水温水位及时间日期的显示功能;键盘扫描子程序实现功能转换及水温水位时间的设定。
论文通过对整体设计方案,硬件电路,软件程序的设计分析,实现了太阳能热水器的水温水位的检测与控制,具有实际的意义。
关键词:太阳能热水器;传感器;DS12887;单片机; FYD12864-0402BIAbstractThe purpose of this study is to introduce a kind of solar water heater detection based on the application of solar water heater,achieving to do the better monitoring and controling of the solar water heater. Solar water heater,as one of the most common use of the solar energy utilization. The economic benefit is obviously and the popularization and application is rapidly. According to the characteristics of solar water heater and the requirement of the controller,here shows a design method of the solar water heater intelligent controller based on the clock chip DS12887.In the analysis of the article about solar water heaters and control of the development and market condition on the basis of distribution, solar water heaters of the controller and the principle of work. The papers finish the control of the hardware and software design. In hardware design of AT89C52 monolithic integrated circuits to control center segments of the whole system. Use of the temperature sensors DS18B20 and sectional form sensors to measure the level as the water, and measurements taken for processing monolithic integrated circuits. Use DS12887 as the clock, to realize the time and date display. Use LCD modules 12864 show that the level of time and date, the display is part of the exchange of one of the man-machine important vehicle. In software design of structure, use modular completed include the program, the level of the inspection or subroutines LCD display design and so on. The main program of the system performs some of the initialization, the temperature of the inspection and control the heating system and the auxiliary signal to show complete the exercise and function testing programs;the water, the measurement and send data to display the functions;a subroutine to complete the water and time functions of the date display;scan a subroutine into the function and the time set.This paper on the overall design, software, hardware circuit analysis of designs, make the measurement and control of the solar water heater into realize, which has played a significant role in the daily life.Keywords: solar water heater; sensor; DS12887; MCU; FYD12864-0402BII目录摘要 (I)Abstract (II)第1章绪论 (1)1.1太阳能热水器控制器的发展概况及市场分析 (1)1.1.1发展概况 (1)1.1.2市场分析 (1)1.2太阳能热水器控制器的应用及意义 (1)第2章控制器的组成及工作原理 (3)2.1太阳能热水器的结构及工作原理 (3)2.1.1 太阳能热水器的结构 (3)2.1.2 控制器结构及工作原理 (5)2.2控制器的总体设计 (6)2.2.1设计思想及实现功能 (6)2.2.2方案论证 (6)第3章控制器硬件设计 (8)3.1控制器原理框图 (8)3.2单片机外围电路 (8)3.2.1晶振电路 (9)3.2.2上电复位电路 (9)3.3控制器时钟接口电路设计 (10)3.3.1 DS12887时钟芯片简介 (11)3.3.2 时钟电路 (17)3.4温度检测电路设计 (18)3.4.1数字温度传感器DS18B20主要特性 (19)3.4.2温度检测电路设计 (20)3.5水位检测及键盘电路设计 (20)3.5.1水位检测电路设计 (20)3.5.2键盘电路的设计 (21)3.5.3总体电路设计 (21)3.7显示接口电路的设计 (21)3.7.1 FYD12864-0402B模块简介 (22)3.7.2 显示电路设计 (26)3.8光电隔离与辅助加热电路设计 (27)第4章控制器的软件设计 (31)4.1主程序设计 (31)4.2水位检测子程序 (33)4.3键盘扫描子程序设计 (33)4.4显示子程序设计 (34)结论 (35)参考文献 (36)致谢 (37)附录1:电路图 (38)附录2:部分程序 (39)第1章绪论1.1太阳能热水器控制器的发展概况及市场分析1.1.1发展概况当今社会发展日新月异,人们衣食住行也在不断的提高。
太阳能热水器智能控制系统设计
太阳能热水器智能控制系统设计智能控制系统主要分为硬件部分和软件部分。
硬件部分包括传感器、执行器和控制模块;软件部分包括数据采集、数据处理和控制算法。
1.传感器通过安装在太阳能热水器上的不同类型的传感器,可以实时获取一些必要的参数信息,如太阳辐射强度、水温、水位等。
传感器的选择需要考虑到其精度、可靠性和成本等因素。
传感器可以通过模拟信号或数字信号的形式将收集到的数据传输给控制模块。
2.执行器执行器用于控制太阳能热水器的工作状态,如水泵的开关控制、阀门的开关控制等。
执行器通常由电磁阀、电机或电热器等组成,通过开关控制电源的通断来实现相应的操作。
3.控制模块控制模块是整个智能控制系统的核心部分,它接收传感器传输过来的数据,并根据一定的控制算法进行处理,最后控制执行器的工作。
控制模块通常由单片机或微处理器组成,具有数据处理能力,并能通过通信接口与其他设备进行数据传输和控制。
4.数据采集数据采集是指将从传感器采集到的数据进行收集和记录的过程,可以将数据存储在数据库或者内存中,供后续的数据处理和分析使用。
数据采集可以通过定时采集、事件触发采集或实时采集等方式进行。
5.数据处理数据处理是指对采集到的数据进行计算、分析和处理的过程,以提取有用的信息。
例如,可以通过计算太阳能辐射强度和水温的关系来预测水温的变化趋势,以及控制相应的工作状态。
6.控制算法控制算法是根据实际应用需求设计的,用于根据传感器数据和其他信息来控制太阳能热水器的工作状态。
例如,根据太阳辐射强度和水温的关系,可以设计一个算法来控制水泵的开关,以实现更高效的加热水温。
总结起来,太阳能热水器智能控制系统的设计可以通过传感器实时获取相关参数信息,经过数据采集和处理,最终通过控制算法控制执行器的工作状态。
这样的设计可以提高太阳能热水器的效率和节能性,实现智能化的控制和管理。
太阳能热水器智能控制系统设计
太阳能热水器智能控制系统设计一、引言太阳能热水器是一种利用太阳能进行加热水的技术设备,具有环保、节能、安全等优点,正逐渐被广大用户所接受和使用。
然而,当前太阳能热水器的控制系统一般较简单,只能实现温度设定和加热控制的基本功能。
本文将基于这种现状,设计一种太阳能热水器智能控制系统,以提高系统的自动化程度和智能化程度,为用户提供更便捷、高效、舒适的使用体验。
二、系统架构智能控制系统的基本架构包括感知层、传输层和应用层。
感知层通过传感器检测环境参数,如太阳能收集器的温度、太阳辐射强度等,传输层将感知层采集到的数据传输给应用层处理,并接收应用层的控制指令。
三、硬件设计1.传感器选择:选择适合使用环境的温度传感器、辐射传感器等多个传感器,确保感知层能够准确地采集各项参数。
2.控制器设计:选用具有较高性能和稳定性的控制器,能够实时处理感知层传输的数据和应用层指令,确保控制系统的高效、稳定工作。
3.通信模块选择:选择适合的无线通信模块,以确保感知层数据的稳定传输和应用层指令的可靠接收。
四、软件设计1.数据处理算法:根据感知层采集的数据,设计相应的数据处理算法。
如根据太阳能收集器的温度和太阳辐射强度,计算热水器加热的时间和功率等参数。
2.智能控制算法:设计智能控制算法,根据用户设定的热水需求以及当前环境参数,自动控制热水器的工作状态,实现最优的加热效果和节能效果。
3.用户界面设计:为用户提供友好、直观的操作界面,以便用户随时设定热水需求、查询加热状态和温度等信息。
五、系统功能1.自动感知:系统能够自动感知太阳能收集器的温度、太阳辐射强度等参数,并采集到控制器。
2.数据处理:根据感知层采集的数据,通过数据处理算法计算热水器的工作参数,并将参数传输给应用层。
3.智能控制:根据用户设定的热水需求,结合当前环境参数,通过智能控制算法自动控制热水器的工作状态,实现最优的加热效果和节能效果。
4.用户界面:为用户提供友好、直观的操作界面,用户可以设定热水需求、查询加热状态和温度等信息。
毕业设计太阳能热水器控制电路
太阳能热水器控制电路设计一、系统设计1.设计原理太阳能热水器自动控制电路采用AT89S52单片机作为控制关键,外围加蜂鸣器控制电路、数码显示电路、水位检测电路、电机控制电路、按键电路、温度检测电路等。
数码管实时切换显示目前温度与目前液位,当液位过高时,蜂鸣器报警,并且电机反转模拟排水过程;当液位过低时,蜂鸣器报警,并且电机正转模拟进水过程。
本系统设计简朴,成本低,性能优良,具有一定旳稳定性和实用性。
三、硬件电路设计1.基本原理框图图一:原理框图(1)太阳能热水器控制装置重要构成由CPU、显示电路、按键电路、蜂鸣器电路、电机电路、液位检测电路、温度检测电路、电源电路构成,如图一。
(2)太阳能热水器控制装置旳工作原理接通电源后,显示目前水位,水位被分为16个点。
并且显示目前温度。
液位显示与温度旳显示切换进行。
当水位显示低于或等于1时,蜂鸣器报警,并且电机正转,表达进水;当水位显示高于或等于15时,蜂鸣器报警,并且电机反转,表达排水。
液位检测运用CD40512.各部分电路原理(1)最小系统最小系统电路如图二所示。
图二:最小系统(2)显示电路采用LED数码管显示,该方案具有实现轻易、发光亮度大、驱动电路简朴等长处,其可靠性也优于LCD旳显示。
由6个数码管和6个74LS164构成,采用串行静态显示旳措施。
将数码管旳8个输入端与74LS164旳输出端Q0~Q7相连。
P1.0和74LS164旳CLK 连接,作为时钟;P1.4接74LS164旳A 端,作为显示数据旳输入端。
显示电路如图三所示。
C31104VCCC33104VCCC32104VCCC34104VCCC35104VCC图三:显示电路不过使用74LS164串显会出现消隐旳问题。
为了消除消隐,那么就必须在硬件上与软件上结合来消除消隐旳问题。
消隐电路如图四所示。
软件上,在传数据时,先传一种高电平,直到数据传完再传送一种低电平即可。
图四:消隐电路(3)按键电路键按下后,进行温度及液位检测旳切换,也可不使用。
太阳能热水器控制系统设计(doc 62页)
太阳能热水器控制系统设计(doc 62页)摘要众所周知,太阳能是取之不尽,用之不竭,没有污染的巨大能源。
随着世界上煤、油、气的储量日益减少,能源危机已日益增长,环境污染的危机已威胁着生态平衡。
随着日本9.0级地震,引起的海啸以及发生的核电站安全事故,让人们对核能有着很大的安全隐患担忧,因而太阳能开发利用的课题已提到人类的面前。
现有电热型热水器费用昂贵及燃气型的不安全性,且排放二氧化碳污染大气,北方用煤气取暖造成城市空气环境污染,这些都是太阳能热水器良好的外部生存环境。
目前,太阳能热水器控制器还一直处于研究与开发阶段,市面在售的控制器绝大部分只具备温度和水位显示功能,不具备温度、水位的自动控制,以及太阳光线自动跟踪功能。
本设计具有很强的实用性,用成本低廉的电阻式传感器以及电极配以单片机技术对生产实际中的太阳能热水器的水温的控制以及水位的显示。
本装置实用性强、性价比高、水温控制灵活,水位显示直观醒目、太阳光自动跟踪。
关键词:单片机、太阳能热水器、温控系统、水位控制、太阳光自动跟踪英文摘要:As is known to all, solar energy is inexhaustible, an inexhaustible, no pollution huge energy. With the world coal, oil and gas reserves are dwindling, already growing energy crisis, environmental pollution crisis has threatened the ecological balance.As Japan caused by the earthquake, 9.0 tsunami and the nuclear safety accidents happened, let people in nuclear energy has the very big safe hidden trouble, so solar energy concerns for the development and utilization of the already mentioned before the human subject.The existing electric heating type water heater is expensive and gas type of unsafe, and emissions of carbon dioxide, air pollution caused by gas heating northern city's air pollution, these are solar water heater a good external environment.At present, the solar energy water heater controller also has been in research and development phase, the controller sold in the market most have only temperature and water level display, do not have a temperature, water level automatic control, and the sun's rays automatic tracking function. This design has a strong practicability, with low-cost resistive sensor and electrode match with micro-controller technology to the production practice of the solar energy water heater temperature control and water level is displayed. This device has strong, cost-effective, water temperature control flexible, water show intuitional marked, sun automatic tracking.目录摘要.......................................... 错误!未定义书签。
太阳能热水器自动温度控制器设计
太阳能热水器自动温度控制器设计
引言
目前,市场上销售的太阳能热水器大多没有自动控制功能,使用起来不
灵活方便,为此,为太阳能热水器加装自动控制功能,具有广泛的市场。
1 自动控制系统技术要求
(1)设定温度的范围为25℃至65℃。
(2)输入信号为水温传感器产生的温度信号;水位传感器产生的水量
信号。
(3)输出信号为控制水温电信号(控制加热电热管)和控制水流量
调节阀信号(控制加水电磁阀)。
(4)配有输入功能键盘:完成自动/手动、手动加水键、手动加热键、
温度设定键、水位档选择键。
(5)具有两位LED 数码显示电路,显示温度设定值、实际温度测量值,六个发光二极管指示六档水位(10%、30%、50%、70%、90%、100%)。
2 系统硬件设计及原理
太阳能热水器加装自动控制功能,主要是加装一个数据采集系统和一个
电脑控制板。
根据太阳能热水器的技术要求及经济方面的考虑,我们选用
89C51 单片机为核心控制器,组成热水器温度控制系统。
系统由89C51 单片机、数据采集系统、水位选择电路、温度显示系统、水位指示系统、加水电磁阀控
制电路、加热电热管控制电路、报警讯响电路、复位电路、晶振电路、键盘电
路组成。
硬件系统组成粗略框架如数据采集系统是非常重要的一部分,它通过水。
太阳能热水器温度控制系统-毕业设计
,a click to unlimited possibilities
汇报人:
目录
01 添 加 目 录 项 标 题
02 系 统 概 述
03 硬 件 设ห้องสมุดไป่ตู้计
04 软 件 设 计
05 系 统 测 试 与 优 化
06 结 论 与 展 望
Part One
单击添加章节标题
研究太阳能热水器 的温度控制与物联 网技术的结合
THANKS
汇报人:
测试环境:室内温度、光照 强度、水箱容量等
测试结果:系统稳定性、准 确性、响应速度等
优化方案:根据测试结果, 调整系统参数,提高系统性
能
优化方案与实施
优化目标:提高太阳能热水器的温度控制精度和稳定性 优化方案:采用PID控制算法,实现温度闭环控制 实施步骤:搭建测试平台,进行参数调整和优化 优化效果:提高温度控制精度,降低温度波动,提高系统稳定性
Part Five
系统测试与优化
测试环境与设备
测试环境:室内、室外、晴天、 阴天、雨天等不同环境
测试设备:温度传感器、控制 器、太阳能热水器、数据采集 器等
测试方法:模拟实际使用环境, 进行长时间连续测试
测试指标:温度控制精度、响 应时间、稳定性、安全性等
测试过程与结果
测试方法:模拟实际使用环 境,记录温度变化、系统响 应时间等
添加标题
添加标题
添加标题
添加标题
自动开关机:根据设定时间自动开 关热水器
远程控制:可以通过手机APP远程 控制热水器的运行状态
系统组成
太阳能集热器:收 集太阳能并将其转 化为热能
储水箱:储存热水, 保持水温稳定
太阳能热水器控制系统的设计
分享无罪太阳能热水器控制器的设计摘要太阳能是现在社会巨大的能源,人们利用太阳能可以节省好多的能源,所以要好好利用太阳能,发挥它应有的作用。
太阳能热水器因利用太阳能、无污染、使用方便、长期使用投入费用低等特点而倍受人们的青睐,得到很好的发展。
本设计以单片机89S52做为控制核心并协调整个系统的工作,通过数字温度传感器检测当前水的温度,由于是数字信号就直接送入单片机89S52内,通过单片机的处理在LED数码管上显示当前的温度值。
另外一路是在水箱中的水压传感器测水的压力从而得到水位的高低,水压传感器输出的是0~5V的模拟量,要经过A/D转换成为数字量再送入单片机89S52进行处理,在LED数码管上显示水位值。
按键用来设定想要控制的温度值,单片机在内部通过比较设定的温度和当前温度,当前温度小于设定温度时就会闭合电磁开关,开启加热装置。
高于设定温度时断开开关停止加热。
自动上水方面是设置水位的上限和下限,水位低于下限时就会闭合电磁开关,开始上水,当水位高于上线时就会自动断开电磁开关,停止上水。
温度和水位值在时时检测,达到控制目的。
关键词:太阳能热水器,传感器,控制,单片机Design of Controller of Solar Water HeaterABSTRACTSolar energy is now a great resources, people use solar energy can save a lot of energy, so make good use of solar energy, to play its proper role. Solar water heater due to use of solar energy, no pollution, easy to use, long-term use of inputs and low cost has attracted people's favor, well developed.This design mostly 89S52 microcontroller core as a control and coordinate the work of the entire system, digital temperature sensor by detecting the current water temperature, because the number of digital signal directly into the MCU 89S52, through SCM handle LED digital tube displays the current temperature. Another way is the pressure in the tank pressure sensor measuring the water level to get the water level, water pressure sensor output is 0 ~ 5V for analog to go through A/D converted into digital and then processed into the MCU 89S52, in LED digital tube display level value. Button is used to set the desired temperature, microcontroller internally by comparing the set temperature and current temperature, current temperature is less than the set value will be closed when the electromagnetic switch, open the heating device. Sheung Shui aspect automatically set the upper limit water level, water level less than the lower limit will be closed electromagnetic switch, will begin to water, the water level reaches the line is automatically disconnected when the electromagnetic switch, stop watering . Temperature and water values detect constantly to controlling purposes.KEY WORDS: Solar heater, Sensor, control ,MCU目录摘要 (I)ABSTRACT (II)1 前言 (1)1.1 课题背景和意义 (1)1.2 本课题研究内容与主要工作 (2)1.3 本课题的研究预期成果 (2)2 总体系统设计 (3)3 总体硬件设计 (4)3.1 系统总体硬件框图与工作原理 (4)3.2 温度传感器 (4)3.2.1 温度传感器DS18B20 (4)3.2.2 DS18B20的结构 (6)3.3 水压传感器及A/D转换 (7)3.3.1 水压传感器 (7)3.3.2 ADC0832结构及原理 (7)3.4 电磁开关电路及原理 (8)3.4.1 光电隔离器的原理 (9)3.4.2 电磁继电器的原理 (10)3.5 单片机控制系统 (11)3.6 LED数码管显示电路 (13)3.7按键电路设计 (15)4 软件设计方案 (16)4.1 DS18B20驱动程序设计 (17)4.1.1 DS18B20工作过程及时序 (17)4.1.2 DS18B20的驱动程序 (19)4.2串行AD转换器ADC0832程序设计 (21)4.3 按键控制程序设计 (25)IV4.4 LED数码管显示程序设计 (27)5 硬件电路仿真结果 (30)5.1 温度仿真 (30)5.1.1 温度显示仿真 (30)5.1.2 温度控制仿真 (30)5.2 水位仿真 (32)5.2.1 水位显示仿真 (32)5.2.2 水位控制仿真 (32)5.3 仿真结果分析 (33)致谢 (35)参考文献 (36)附录Ⅰ系统总原理图 (37)附录Ⅱ系统源程序 (38)太阳能热水器控制器的设计 11 前言1.1 课题背景和意义目前,中国已成为世界上最大的太阳能热水器生产国,年产量约为世界各国之和,已有一百多家太阳能热水器生产厂。
太阳能热水器控制器设计
太阳能热水器控制器设计引言:设计原理:太阳能热水器控制器的设计原理主要涉及三个方面:传感器、控制算法和执行器。
传感器用于检测环境温度、太阳辐射强度和水温等参数;控制算法根据传感器数据进行计算和判断,并控制执行器的运行,以达到合适的工作状态。
传感器:太阳能热水器控制器需要安装多个传感器以便准确检测各种参数。
温度传感器用于测量环境温度和水温,以判断是否需要加热;光照传感器用于测量太阳辐射强度,以判断是否有足够的太阳光来加热水;水位传感器用于检测水箱内的水位,以判断是否需要补充冷水。
通过这些传感器的数据,控制器可以做出合适的决策。
控制算法:太阳能热水器控制器的控制算法非常关键。
根据传感器数据,控制器可以判断出当前的工作状态并进行相应的控制。
例如,当太阳辐射强度较强时,控制器可以启动水泵,将太阳能集热器中加热的水送入水箱;当太阳辐射强度较弱时,控制器可以暂停水泵的工作,以免浪费电能。
此外,控制器还可以设置温度上限和下限,当水温超过上限时停止加热,当水温低于下限时重新启动加热。
通过合理的控制策略,可以有效地提高太阳能热水器的效率和稳定性。
执行器:功能:1.实时监测太阳辐射强度和水温,以确定水的加热需求;2.控制水泵的启停,实现太阳能集热器与水箱之间的水循环;3.控制加热器的启停,实现水箱内水的加热;4.设定温度上限和下限,自动控制加热器的工作;5.监测水箱内的水位,及时补充冷水;6.显示当前的工作状态和水温情况。
总结:太阳能热水器控制器的设计对提高太阳能热水器的效率和稳定性有着至关重要的作用。
通过合理选择传感器、控制算法和执行器,并充分发挥控制器的功能,可以实现对太阳能热水器的精确控制和自动化管理。
这样不仅能够节约能源,减少对传统能源的依赖,还能够为人们提供更加便利和舒适的热水使用体验。
太阳能热水器控制系统设计方案
太阳能热水器控制系统设计方案
引言
本文档旨在提供一种太阳能热水器控制系统的设计方案。
该系统旨在有效管理和控制太阳能热水器的运作,提高能源利用率并确保用户的舒适度。
系统设计
太阳能热水器控制系统的设计包括以下几个关键方面:
1. 传感器
系统将配备温度传感器和光照传感器。
温度传感器用于监测水箱温度和太阳能集热器的温度,以便根据温度变化进行控制调节。
光照传感器用于检测太阳光的强度,以确定是否能够进行正常的加热操作。
2. 控制器
控制器是系统的核心部分,它将根据传感器的信号进行智能控制。
当温度传感器检测到水温低于设定值时,控制器将自动开启加
热装置以提供热水。
当光照传感器检测到太阳光强度较低时,控制器将停止加热操作,以避免能源的浪费。
3. 电源系统
系统将使用太阳能电池板作为主要电源。
太阳能电池板将将净化太阳能转换为电能供系统使用。
此外,系统还将配备备用电源以确保系统在夜晚或阴雨天气时仍然能够正常运行。
4. 用户界面
系统将具备一个用户界面,以便用户能够方便地了解系统的状态和进行操作。
用户界面将显示当前水温、光照强度以及系统的工作状态。
用户可以通过界面对系统进行手动控制,如调整水温和加热时间等。
总结
本设计方案提供了一种简单而有效的太阳能热水器控制系统。
通过合理利用传感器和智能控制,该系统能够提高能源利用率,满足用户的热水需求,同时减少能源浪费。
该设计方案的实施将有助于推动太阳能热水器的发展和应用。
太阳能热水器控制器设计
太阳能热水器的通用控制器研制武汉工程大学 刘增华 李伟 2.1 系统的工作原理太阳能热水器辅助控制系统结构如图 1 所示。
在太阳能热水器的储水箱内增加一个电加 器,采用 220V 市电加热,由辅助控制系统的继电器控制通断电,用来在温度达不到要求的 时候进行辅助加热来保证热水温度。
水位、水温探测器从保温储水箱顶部安装在水箱中,通 过电缆线接入用户室内控制器。
流量控制阀用通过步进电机来精确控制冷水即自来水的流 量,来保证热水与冷水混合后的温度达到用户的要求。
当水位不足报警时,通过电磁阀启动 上水,上水的过程中,不允许淋浴,且放水电磁阀关闭。
当需要淋浴时,放水电磁阀打开, 通过自动控制冷水电磁阀的开度来保证冷水与热水混合后的温度与用户设定值基本一致 (水 温保持在设定温度的 2°C 范围内),淋浴过程中,系统禁止上水和辅助加热。
当淋浴完后 按下”淋浴完键”,系统停止放水并且电机要复位。
系统的总体结构图如下。
液位传感器 温度传感器 热水器储水箱 电加热器 上水 电磁阀三通 放水 电磁阀自来水 电动节流截至阀 三通 三通 温度传感器阀 门 淋浴器2.2 控制系统与电路结构组成控制系统采用 FPGA 内部构建 Core8051 单片机来控制水温水位等,其内部接线图如图 2 所示。
整个系统采用 Fusion StartKit 开发平台,嵌入 8051 内核为核心,对水温、水位等参 数进行智能检测和显示,读取电磁阀的状态,经键盘操作和单片机内部运算比较,控制相应 得执行机构进行通、断电及报警提示,其控制系统组成如图 3。
Core8051 的 P0 口作液晶的数据口,P2.0-P2.2 为液晶的使能控制口,P2.3-P2.5 分别接 步进电机驱动器 CP-,u/d-, FREE-, CP 为脉冲信号输入端; U/D 为电机正、 反转控制端; FREE 为电机脱机控制端, 通过不断的对淋浴水温进行智能检测和显示, 经单片机内部运算与设定温度进行比较,控制输入步进电机的脉冲信号及正反转状态,来调节流量控制阀的开度,从 而来保证喷头水温与用户设定水温的相一致。
太阳能热水器控制电路设计
简易太阳能热水器水温测量装置摘要随着人们生活水平的提高,太阳能热水器的使用已相当普及。
与之相配套的控制仪也相继问世。
然而,目前市场上的各种热水器控制电路还与理想要求相差甚远。
消费者需要真正的“自动”控制,以实现使用的最简单化。
但与之配套的控制器却还一直处于研究和开发阶段,为解决水温水位的自动控制问题,本电路专门设计了水温的实时监测,并在设计中,将水位多级化,实现更精确的测量。
本次设计运用AT89C52单片机,设计了一种自动控制电路,该电路用于太阳热水器。
当或者更多点的液位检测。
这篇论文详细介绍了基使用热水器时,可以自动进行温度检测和液位检测,使太阳能自动补水或排水,真正做到最简单化。
并且该电路易于扩展,可实现多点的温度检测,于单片机的太阳能热水器自动控制系统组成、硬件设计。
关键词:单片机;自动控制;太阳能热水器;温度检测; 水位检测Solar water heater control circuit designABSTRACTWith the improvement of living standard, the use of all wate r heaters have been very popular. Matched with the control device is also one after another. However, the current market a variety of water heater control circuit is also far from the ideal requirement. Consumers need to really "automatic" control, in orde r to achieve the most simplistic use. but are still accompanying controller has been in research and development phase, To solve the temperature and water level control problems, this circuit specificall y designed for real-time monitoring of water temperature, and in the design, Multi-level of the water level to achieve more accurate measurements.Wood plays designed using AT89C52 microcontroller, the design of a control circuit, the circuit for the solar water heater. When using the heater, it will automatically detect the temperature and liquid level detection, the solar auto-replenishment, or drainage, truly the most simplistic. And easy to extend this circuit can achieve multi-point temperature measurement, level detection or more points. This paper introduces the microcontroller-based automatic control system for solar water heater composed of hardware design.Keywords:mic r o c o ntro lle r; c o ntr o l; so la r wa te r he a te r; te mp e r a tur ed e tec tio n ; le ve l d e te c tio n目录前言 (1)第一章系统设计 (3)1.1设计原理 (3)1.2方案论证 (3)第二章硬件电路设计 (5)2.1基本原理框图 (5)2.1.1太阳能热水器控制装置主要组成 (5)2.1.2太阳能热水器控制装置的工作原理 (5)2.2各部分电路原理 (6)2.2.1最小系统 (6)2.2.2显示电路 (9)2.2.3按键电路 (11)2.2.4蜂鸣器电路 (11)2.2.6液位检测电路 (13)2.2.7温度检测电路 (15)2.2.8电源电路 (16)第三章软件设计 (18)3.1 软件分析 (18)3.2 I/O口分配 (18)第四章实现功能 (20)4.1 液位检测 (20)4.2温度检测 (20)4.3可扩展功能 (20)结论 (21)谢辞 (22)参考文献 (23)附录一程序 (24)外文资料翻译 (37)前言l.太阳能热水器的发展概况及市场竞争分析在全球能源形势紧张、气候变暖严重威胁经济发展和人们生活健康的今天,世界各国都在寻求新的能源替代战略,以求的可持续发展和在日后的发展中获取优势地位。
智能家居中的太阳能热水器控制系统设计
智能家居中的太阳能热水器控制系统设计智能家居中的太阳能热水器控制系统设计引言:随着科技的不断进步,智能家居正逐渐走入千家万户。
其中,智能家居中的太阳能热水器控制系统设计是一个热门话题。
本文将详细探讨智能家居中太阳能热水器的控制系统设计,旨在提高用户的生活质量和节能环保。
一、概述太阳能热水器是利用太阳能将日光转化为热能的设备。
传统的太阳能热水器需要手动操作,使用起来非常麻烦。
而智能家居中的太阳能热水器控制系统则能够自动进行控制和管理,使用户使用更加方便、快捷。
二、设计原理1. 太阳辐射识别:通过安装辐射传感器,实时检测太阳的辐射情况,根据辐射强度自动调整热水器的加热功率,以实现最佳的温度控制。
2. 温度控制:太阳能热水器通常需要在一定温度范围内运行,过低则无法提供热水,过高则可能损害设备。
智能家居中的控制系统能够自动调节温度,使其始终保持在安全合适的范围内。
3. 组件监测:通过传感器监测太阳能发电板、水箱和水管等组件的工作状态,及时发现故障并向用户报警,确保设备的正常运行。
4. 能源管理:智能家居中的控制系统能够根据用户的生活习惯和用水情况,合理安排太阳能的利用,避免能源浪费。
三、核心技术1. 无线通信技术:智能家居中的太阳能热水器控制系统需要通过无线网络与用户的智能手机、电脑等设备进行通信,以达到远程操控和实时监测的目的。
2. 数据处理技术:通过数据采集和分析处理,智能家居中的控制系统能够实现对太阳能热水器的自动控制和调节,提高系统的智能化和自动化程度。
3. 人工智能技术:借助人工智能技术,控制系统能够根据用户的使用习惯和需求,学习和预测用户的用水情况,提前准备热水,提供更加贴心的服务。
四、系统特点1. 远程操控:通过连接智能设备,用户可以随时随地远程操控太阳能热水器,方便快捷。
2. 自动调节:智能控制系统能够自动根据环境和需求调节太阳能热水器的工作状态,降低用户的使用成本。
3. 智能学习:控制系统具备学习能力,通过不断学习用户的使用习惯和需求,提供个性化的服务体验。
基于单片机的太阳能热水器智能控制器设计
设计一个基于单片机的太阳能热水器智能控制器是一项非常有意义的工程项目。
通过这个设计,我们可以实现对太阳能热水器系统的智能监测和控制,提高系统的效率和可靠性。
下面将详细介绍这一设计的原理、结构、功能和实施步骤。
一、设计原理基于单片机的太阳能热水器智能控制器的核心原理是通过传感器采集环境温度、水箱温度、太阳能辐射等数据,并通过单片机进行数据处理、控制算法运算,最终实现对太阳能热水器系统的自动控制。
二、系统结构1. 传感器模块包括环境温度传感器、水箱温度传感器、太阳能辐射传感器等,用于采集相关参数数据。
2. 控制模块采用单片机作为控制核心,通过编程实现对传感器数据的采集、处理和控制策略的执行。
3. 显示模块一般采用液晶显示屏或数码管显示太阳能热水器的工作状态、温度等信息。
4. 执行模块通过继电器或驱动电路控制太阳能热水器系统中的循环泵、电加热器等设备的开关。
三、功能设计1. 环境监测:实时监测环境温度和太阳光照强度,以便调整系统工作状态。
2. 温度控制:根据水箱温度和环境温度,控制循环泵和电加热器的运行,保证水温在合适范围内。
3. 节能优化:根据太阳能辐射情况,合理利用太阳能资源,减少电加热器的使用,节约能源。
4. 故障检测:监测系统运行状态,及时发现故障并报警,保障系统安全稳定运行。
四、实施步骤1. 传感器接入:将环境温度传感器、水箱温度传感器、太阳能辐射传感器等传感器连接至单片机的模拟输入引脚。
2. 程序设计:编写单片机程序,包括数据采集、控制算法、显示控制等功能的实现。
3. 硬件连接:根据设计需求,将单片机、传感器、显示模块、执行模块等连接至一块PCB板上。
4. 调试测试:将控制器连接至太阳能热水器系统,进行系统调试和测试,验证控制器的功能和稳定性。
5. 性能优化:根据测试结果对控制算法进行优化,提高控制器的响应速度和稳定性。
通过以上设计和实施步骤,我们可以完成一个基于单片机的太阳能热水器智能控制器的设计。
太阳能热水器智能控制器的设计与实现.
太阳能热水器智能控制器的设计与实现摘要本文实现了PLC(可编程控制器)在太阳能热水器自动控制系统中的应用。
硬件选用OMRON公司CPM1A系列的30点可编程控制器,在软件设计上使用OMRON公司提供的CX-ONE程序进行系统控制梯形图编写。
并指出了PLC设计的关键主要是能满足基本控制功能、考虑维护的方便性、系统可扩展性等。
本文设计的太阳能热水器由自动和手动两种模式组成,在自动模式中太阳能热水器能够自动上水、加热、保温,手动模式则按照用户的按键操作执行相应功能,太阳能热水器在出现故障时还具有报警功能,如温度过高会自动关闭加热器并闪烁温度警示灯,水位过高则自动关闭上水阀闪烁水位警示灯,并且绘制了系统的工艺流程图;按照设计要求合理地进行了系统的I/O分配和PLC的选型,绘制了系统的控制梯形图、控制系统电气原理图和I/O控制原理电路图等。
通过用PLC对太阳能热水器自动控制系统的改造,大大减少了系统对其它元器件的使用,使系统接线简单、检修维护方便快捷、可靠性提高,增进了系统的先进性。
关键字: PLC;太阳能;自动控制系统;热水器AbstractApplication of PLC in solar water heater automatic control system is researched in this paper. The content of this paper on the process of system hardware constitution and the system software design is emphasized . And the key of PLC design that is to satisfy the basic control function is pointed out , meanwhile maintenance convenience and system extension are also considerated. The content of this paper is divided into four parts. In the first part, the procedure of the system is established, and then the treatment flow chart is drawed out; In the second part, The address of I/O is resigned .and the suitable PLC type is choosed. The third part, the control ladder diagram is designed according to the requirement; In the end, the electrical principle diagram and the interconnection diagram are drawn.Through the design of the solar water heater automatic control system, the components that is used in the solar water heater automatic control system are decreased. The performance of the system is lifted, and it has the feature such as simply interconnection, rapid and easy fault detecting and maintenance, and high reliability. In a word, the system becomes more advanced because of my design.Keywords: PLC; Solar; Automatic control system; Water heater目录绪论 (3)1 太阳能热水器的研究情况 (4)1.1 国内外研究现状 (4)1.1.1 国内研究现状 (4)1.1.2 国外研究现状 (4)1.2 本文研究的内容 (5)2 全玻璃真空管式太阳能热水器的概述 (6)2.1 太阳能热水器系统功能 (6)2.1.1 太阳能热水器组成、原理和工作过程 (6)2.1.2 太阳能热水器的硬件结构 (7)2.1.3 系统的要求 (8)2.2 可编程控制器 (8)2.2.1 PLC的发展历史 (9)2.2.2 可编程序控制器的工作原理 (9)2.2.3 可编程控制器的的特点 (10)2.2.4 PLC的分类 (11)3 热水器控制系统设计 (13)3.1 系统硬件的设计 (13)3.1.1 PLC的选型 (13)3.1.2 PLC硬件控制框图 (13)3.1.3 各单元功能作用 (14)3.1.3 PLC的端口分配 (16)3.1.4 系统电路的设计 ............................................................ 错误!未定义书签。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
太阳能热水器的通用控制器研制武汉工程大学刘增华李伟1、系统功能与指标1.1功能特点具有目前产品的一般功能:1)设置上限水位:设置水位上限,可选择50% ~99%之间(我们选取80%),并且在使用中,不得自动上水。
2)设置水箱水温:设置电加热的温度上限,可选择0°C~80°C(我们选取60°C),自动加热。
3)水位指示:LED五段显示。
4)水温指示:LCD液晶数字显示。
5) 自动上水:为防止空晒,当水位低于10%时,系统强制上水;当水位低于30%时,提示报警,若没有使用,启动自动上水,若使用,则报警提示先上水,再使用。
6)辅助加热:当出现阴雨天气,水温达不到要求,启动辅助电加热,电加热温度上限设置为60°C。
同时还具有新加功能:1)智能模式:检测淋浴水温,自动调节凉水的流量,自动调节,使水温保持在设定温度的2°C范围内,并保持有足够的流量。
1.2技术指标1)设置上限水位:设置水位上限,可选择50% ~99%之间(我们选取80%),并且在使用中,不得自动上水。
2)设置水箱水温:设置电加热的温度上限,可选择60°C,自动加热。
3)水位指示:分段显示(5段显示)。
4)水温指示:数字显示(精度为1度)。
5)自动上水:为防止空晒,当水位低于30%时,提示报警,若没有使用,启动自动上水。
若使用,则报警提示先上水,再使用。
6)智能模式:检测淋浴水温,自动调节热水、凉水的流量,自动调节,使水温保持在设定温度的2°C范围内,并保持有足够的流量。
2、系统结构设计2.1系统的工作原理太阳能热水器辅助控制系统结构如图1所示。
在太阳能热水器的储水箱内增加一个电加器,采用220V市电加热,由辅助控制系统的继电器控制通断电,用来在温度达不到要求的时候进行辅助加热来保证热水温度。
水位、水温探测器从保温储水箱顶部安装在水箱中,通过电缆线接入用户室内控制器。
流量控制阀用通过步进电机来精确控制冷水即自来水的流量,来保证热水与冷水混合后的温度达到用户的要求。
当水位不足报警时,通过电磁阀启动上水,上水的过程中,不允许淋浴,且放水电磁阀关闭。
当需要淋浴时,放水电磁阀打开,通过自动控制冷水电磁阀的开度来保证冷水与热水混合后的温度与用户设定值基本一致(水温保持在设定温度的2°C范围内),淋浴过程中,系统禁止上水和辅助加热。
当淋浴完后按下”淋浴完键”,系统停止放水并且电机要复位。
系统的总体结构图如下。
淋浴器图1 太阳能热水器辅助控制系统结构图2.2 控制系统与电路结构组成控制系统采用FPGA内部构建Core8051单片机来控制水温水位等,其内部接线图如图2所示。
整个系统采用Fusion StartKit开发平台,嵌入8051内核为核心,对水温、水位等参数进行智能检测和显示,读取电磁阀的状态,经键盘操作和单片机内部运算比较,控制相应得执行机构进行通、断电及报警提示,其控制系统组成如图3。
图2 FPGA内部Core8051引脚分配图图3 太阳能热水器控制系统的组成Core8051的P0口作液晶的数据口,P2.0-P2.2为液晶的使能控制口,P2.3-P2.5分别接步进电机驱动器CP-,u/d-,FREE-, CP为脉冲信号输入端;U/D为电机正、反转控制端;FREE 为电机脱机控制端,通过不断的对淋浴水温进行智能检测和显示,经单片机内部运算与设定温度进行比较,控制输入步进电机的脉冲信号及正反转状态,来调节流量控制阀的开度,从而来保证喷头水温与用户设定水温的相一致。
P2.6接数字温度传感器ds1820,用来检测水箱温度并通过芯片及单片机内部处理后显示在液晶上,P2.7也接温度传感器用来检测淋浴喷头的水温。
如果水箱温度不足时(达设置水温下限),则加热继电器动作,启动辅助加热装置,当水温达加热温度上限时加热继电器断开,辅助加热装置关闭。
水位用5段led灯显示,如果水位不足则报警蜂鸣器响,若没使用则上水继电器动作,电磁阀开通,自动上水至水位上限后关闭。
3、单元电路设计3.1水位检测图4 由555定时器构成的液位测量电图水位检测原理如下:由两块铝板组成电容构成介质变化型电容传感器,电容大小为:lS C ε= 式中:ε为介质,S 为对应的面积,l 为长度。
假设电容器为两平极结构,作绝缘处理后的电容器两极间浸入不同的界质中,由于电容器中的介质相对介电系数不同,电容量是不同的,即检测电容传感器在水位变化导致电容器的电容C 变化情况。
电容传感器处在大气中、浸入水中不同深度,其电容量的变化,可反映出水位的变化。
在大气中相对介电常数为1,电容传感器的电容量为C1,在水中相对介电常数更大,达到80,电容传感器的电容量将随着浸入深度加大而变大。
由于上下两部分的介质不同,则总电容有两个电容并联组成: 设铝板总高度为H ,液位高度为h ,则上下两部的介质分别为空气和水。
h H bhl S C -•==11εb hbh l S C 80802=•==ε式中:空气的介电常数为1,b 为铝板的宽度。
本传感器采用NE555制作为脉冲波发生器,输出的频率反映液位的变化,根据实际测试:uF C 1.0min =、uF C 2.2max =取中心工作频率为1KHz ,确定电阻值。
当水箱里无水时(水位最低),最小。
将水位划分为五段:0.1-0.2m 、0.2-0.3m,、0.3-0.4m 、0.4-0.5m 、0.5-0.6m ,分别对应于显示灯LED1、LED2、LED3、LED4、LED5。
当水位发生C1C2变化引起电容的变化,经多谐振荡器输出周期性方波的频率f也随之发生变化[f=1.43/(R1+2R2)C],根据单片机的计数器T0扑捉到的时钟的个数,再经单片机内部比较处理来决定点亮的LED灯。
譬如当水位处于h1位段时,输出的频率满足点亮LED1的条件,则LED1亮,指示水位位于0.1-0.2m处,由此来实现水位的显示。
LED灯显示采用动态扫描方式,即在某一时刻,只有一个灯被点亮。
当水位低于h2时,启动蜂鸣器报警,提示需加水,若无人使用则自动启动加水。
实验表明,为能很好的满足电路的要求,R1用可调电阻,R2应选取阻值较大一点的电阻,这里我们选R2=8.1KΩ,R1阻值范围为0-30 KΩ。
3.2 温度检测对水温信号的检测采用一线式数字温度传感器DS1820,它以9 位数字量的形式反映器件的温度值。
通过使用连接到VDD 引脚的外部电源来向ds1820供电,如图5 所示,这种方法的优点是在I/O 线上不要求强的上拉,总线上主机不需向上连接便在温度变换期间使线保持高电平。
这就允许在变换时间内其它数据在单线上传送。
图5 温度传感器接线图3.3步进电机控制电路的设计为了能调控水温,需要节流阀控制冷水的流量,由于商品化的电动阀价格太高,本方案选用节流阀+步进电机的组合控制。
步进电机,选用的二相四拍步进,步距角为1.8°。
同时,采用BY-2HB03M的驱动器来驱动,控制二相四拍步进电机的步进及正反转。
通过单片机控制步进电机即可控制节流阀,达到控制淋浴水温的目的。
步进电机控制电路连接图如图6所示。
图6 步进电机控制连线图3.4 光电隔离与辅助加热电路设计下图7为太阳能热水器辅助加热电路设计,当室外光照不足(阴天,雨天)时,对水箱的水提前加热是非常有必要的,而这一电路恰好能完成该功能。
工作原理为:当Core8051的P1.2口输出高电平时,三极管T1导通,使得继电器线圈通电闭合,电阻丝R1’-R4’发热,从而完成加热任务。
Vcc 图7 辅助加热电路图加热电阻丝220VACK13.5继电器驱动电路电路如图8所示,三极管Q 为NPN 驱动三极管,工作在开关状态;二极管D 为继电器线圈在由吸合变为断开时提供续流,以免产生高压,从而保护三极管Q 。
VCC+24v-图8 继电器驱动电路因为硬件设计中要用到两个电磁阀,淋浴时的放水电磁阀和向水箱上水的电磁阀,故需要两个继电器来控制。
4、控制器的软件设计控制器软件设计采用模块化结构,包括主程序,键盘扫描子程序,显示子程序,步进电机控制程序,液位比较子程序及温度计算子程序。
系统主程序主要完成水箱及喷头温度和水位的检测,温度的设置,水位不足报警,自动上水及一些初始化功能。
系统主程序流程图如图8所示。
5、测试结果该控制器的设计主要采用Actel公司Fusion系列60万门的AFS600芯片,通过嵌入8051内核来实现,充分利用该平台提供的资源,来完成本次设计任务。
该控制器与市面上的太阳能控制器比较,主要解决了两大主要问题:1.水温的控制调节问题。
该控制器采用精确度很高且跟随性很好的步进电机在很短的时间内进行精确自动调节淋浴水温,保证设定水温与实际水温误差在2℃,并且水温从低向设定水温自动调节,杜绝因水温调节过高而发生烫伤事件。
2. 自动上水问题。
该控制器能实现完成自动上水过程,当检测水位低于水位下限时,先检测热水器是否处于使用状态,若使用中则报警并提示上水再使用,此过程中由于水位留有余量,用户仍然可以继续完成淋浴;若没使用,则启动自动上水至设定的水位上限。
此外,由于增加了一个温度传感器用来检测淋浴水温,使得控制器更加智能化。
致谢本次设计制作历时5个月,在本次设计的过程中,在对Fusion 开发平台熟悉的过程中得到广州周立功刘银华经理及武汉周立功陈光华工程师的细心帮助;在对硬件搭建及软件编程的过程中得到沈浩研究生的大力帮助;在整个设计过程中得到了熊俊俏老师的鼎力相助和悉心指导,在此一并表示深深地感谢!//太阳能热水器智能控制系统程序://定义头文件和各个输入管脚以及变量声明#include <reg52.h>#include <absacc.h>#include <stdio.h>#include <intrins.h>#define uint unsigned int//定义变量类型名#define uchar unsigned char/*定义8255a字符型字位口*/#define DIGPORT XBYTE[0x1FFF]//PA口地址,位选码地址#define WORDPORT XBYTE[0X3FFF]//PB口地址,断选码地址#define CCOM XBYTE[0X7FFFF]//控制字寄存器地址#define KPORT XBYTE[0X5FFF]//PC口,键盘扫描地址//DS1302_RST=1//定义DS1302时钟芯片引脚操作#define Set_DS1302_RST DS1302_RST=1//DS1302_RST=0#define Clr_DS1302_RST DS1302_RST=0//DS1302_SDA=1#define Set_DS1302_SDA DS1302_SDA=1//DS1302_SDA=0#define Clr_DS1302_SDA DS1302_SDA=0//DS1302_SCLK=1#define Set_DS1302_SCLK DS1302_SCLK=1//DS1302_SCLK=0#define Clr_DS1302_SCLK DS1302_SCLK=0//定义读时间控制字#define DS1302_SEC_Reg 0x80#define DS1302_MIN_Reg 0x82#define DS1302_HR_Reg 0x84#define DS1302_DATE_Reg 0x86#define DS1302_MONTH_Reg 0x88#define DS1302_DAY_Reg 0x8a#define DS1302_YEAR_Reg 0x8c#define DS1302_CONTROL_Reg 0x8e#define DS1302_CHARGER_Reg 0x90#define DS1302_CLKBURST_Reg 0xbe//全局变量//为了方便,我把个位和十位分开了uchar year1=0x88;uchar year0=0x88;uchar month=0x88;uchar date=0x88;uchar day=0x88;uchar hour=0x88;uchar minute=0x88;uchar second=0x88;/*定义P1口各管脚*/sbit L0=P2^0;sbit L1=P2^1;sbit L2=P2^2;sbit L3=P2^3;sbit K0=P2^4;sbit P1_0=P1^0;sbit P1_1=P1^1;sbit P1_2=P1^2;sbit Hig=P1^4;sbit DS1302_SDA=P1^5;//定义DS1302时钟引脚与单片机引脚的连接sbit DS1302_SCLK=P1^6;sbit DS1302_RST=P1^7;/*声明调用函数*/void inital(void);void timer1_svr(void);void display(void);void delay(uchar j);void DS1302_Write(uchar reg,uchar dat);uchar DS1302_Read(uchar reg);void DS1302_Init(void);void ReadTime(void);void WtTmCr();void LvRead();void TmRead();void key(void);uchar kbscan(void);void DS1302(void);void int0_int(void);void int1_int(void);/*定义调用存储单元*//*显示缓冲区(依次为高位低位)*/uchar BUFFER[3]={0,0,0};uchar WTLV;//水位值uchar TMP;//水温值uchar WTLVSET;//水位设定值uchar TMPSET;//水温设定值uchar buf[4]={0,0,0,0};/*数码管显示编码"0"-"9","A","-"*/uchar code TABLE[]={0x7B,0x30,0xEA,0xF8,0xB1,0xD9,0xDB,0x70,0xFB,0xF9,0xF3,0x80};main(){inital();//初始化中断、定时器、I/O口kbscan();//键盘扫描key();//键盘处理TmRead();//读取温度LvRead();//读取水位DS1302();//读取时间display();//显示}void inital(){P1_0= P1_1= P1_2=K0=0;//初始化外部驱动口DS1302_Init();EA=1;//开外部中断IT0=1;//外部中断下降沿触发EX0=1;//允许外部中断0Hig=1;P1.3输出高电平TMOD=0x11;定时器工作于方式1TH1=0X8A;//定时器1赋初值TL1=0XD0;ET1=1;定时器1开定时中断TR1=1;//开启定时器1CCOM=0X80;//初始化8255A,送控制字,工作方式0}uchar kbscan(void){uchar recode;if((KPORT&0X0F)!=0X0F) //若有键按下 {delay(2); //延时抖动if((KPORT&0X0F)!=0X0F){recode=KPORT;return(recode);}}elsereturn(0);}void key(void){uchar key;key=kbscan();delay(2);if(key==0x01){P1_1=1;//上水}if(key==0x02) //设置水位{if(WTLVSET==4)WTLVSET=0;elseWTLVSET+=WTLVSET;BUFFER[0]=WTLVSET;//显示设置水位display();}if(key==0x04)//电加热{P1_0=1;}if(key==0x08)//设置温度{if(TMPSET>=80)TMPSET=30;elseTMPSET=TMPSET+10;//增加十度 BUFFER[0]=TMPSET; 显示设置水温 display();}}void timer1_svr() interrupt 1{TH1=0X8A;//重新给定时器1赋值TL1=0XD0;Hig=!Hig;//充放电变换if(Hig)//充电开始时启动定时器0{TL0=TH0=0X00;//定时器0赋初值0TR0=1;//启动定时器0}}void int0_int(void) interrupt 0//外部中断0,测水位{EX0=0;EX1=1;TR0=0;buf[0]=TL0;buf[1]=TH0;}void int1_int(void) interrupt 2//外部中断1,测水温{EX1=0;EX0=1;TR0=0;buf[2]=TL0;buf[3]=TH0;}void TmRead()//水温值处理{uint val;val=buf[3]*256+buf[2];if(val<7549)TMP=97-int(val*8/1000);elseif(val<20000)TMP=50-int(val/1000);elseTMP=30-int(val*5/10000);}void LvRead()//水位值处理{if(buf[1]>60){WTLV=1;//L3=0;L2=1;L1=1;L0=1;}else if(buf[1]>45){WTLV=2;L3=1;L2=0;L1=1;L0=1;}else if(buf[1]>36){WTLV=3;L3=1;L2=1;L1=0;L0=1;}else{WTLV=4;L3=1;L2=1;L1=1;L0=0;}}void WtTmCr()//水位、水温控制{if(WTLV==4)P1_1=0;if(WTLV==1)P1_1=1;if(TMP>=TMPSET)P1_0=0;if(TMP<TMPSET&&hour==0x19)P1_0=1;}void display(void){uchar i; //显示缓冲区首址uchar delay; //显示延时uchar disp; //显示内容uchar digit; //定义数码管显示位digit=0x0200;for(i=2;i>=0;i--){if(BUFFER[i]>100) disp=BUFFER[i]%10+10;//显示高位else disp=BUFFER[i]%10;DIGPORT=digit;WORDPORT=TABLE[disp];for(delay=0;delay=200;delay++);digit=digit>>1;//显示低位disp=BUFFER[i]/10;DIGPORT=digit;WORDPORT=TABLE[disp];for(delay=0;delay=200;delay++);digit=digit>>1;}}void delay(uchar j)//延时程序{uchar a,b;for(a=0;a<j;a++)for(b=0;b<200;b++);}void DS1302()//时间程序{ReadTime();BUFFER[1]=second;BUFFER[2]=hour;}void DS1302_Write(uchar reg,uchar dat)//写入时间 {uchar i;Clr_DS1302_RST;_nop_();_nop_();Clr_DS1302_SCLK;_nop_();_nop_();Set_DS1302_RST;_nop_();_nop_();for(i=8;i>0;i--){if(reg&0x01) Set_DS1302_SDA;else Clr_DS1302_SDA;_nop_();_nop_();Set_DS1302_SCLK;_nop_();_nop_();Clr_DS1302_SCLK;_nop_();_nop_();reg>>=1;}for(i=8;i>0;i--){if(dat&0x01) Set_DS1302_SDA;else Clr_DS1302_SDA;_nop_();_nop_();Set_DS1302_SCLK;_nop_();_nop_();Clr_DS1302_SCLK;_nop_();_nop_();dat>>=1;}Clr_DS1302_RST;_nop_();_nop_();}uchar DS1302_Read(uchar reg)//读取时间{uchar dat=0,i;Clr_DS1302_RST;_nop_();_nop_();Clr_DS1302_SCLK;_nop_();_nop_();Set_DS1302_RST;_nop_();_nop_();for(i=8;i>0;i--){if(reg&0x01) Set_DS1302_SDA;else Clr_DS1302_SDA;_nop_();_nop_();Set_DS1302_SCLK;_nop_();_nop_();Clr_DS1302_SCLK;_nop_();_nop_();reg>>=1;}for(i=8;i>0;i--){dat>>=1;if(DS1302_SDA) dat|=0x80;Set_DS1302_SCLK;_nop_();_nop_();Clr_DS1302_SCLK;_nop_();_nop_();}Clr_DS1302_RST;_nop_();_nop_();return(dat);}void DS1302_Init(void)//初始化DS1302{DS1302_Write(DS1302_CONTROL_Reg,0x00);//关闭写保护 DS1302_Write(DS1302_SEC_Reg,0x80);//暂停DS1302_Write(DS1302_CHARGER_Reg,0xa9);//涓流充电 DS1302_Write(DS1302_YEAR_Reg,0x04); //年DS1302_Write(DS1302_MONTH_Reg,0x12); //月DS1302_Write(DS1302_DATE_Reg,0x09); //日DS1302_Write(DS1302_DAY_Reg,0x04); //周DS1302_Write(DS1302_HR_Reg,0x10); //时DS1302_Write(DS1302_MIN_Reg,0x25); //分DS1302_Write(DS1302_SEC_Reg,0x00); //秒DS1302_Write(DS1302_CONTROL_Reg,0x80);//打开写保护 }void ReadTime(void)//读取时间{uchar dat;dat=DS1302_Read(DS1302_YEAR_Reg);//年year0=dat&0x0f;year1=dat>>4;dat=DS1302_Read(DS1302_MONTH_Reg);//月month=dat;dat=DS1302_Read(DS1302_DATE_Reg);//日date=dat;dat=DS1302_Read(DS1302_DAY_Reg);//周day=dat;dat=DS1302_Read(DS1302_HR_Reg);//时hour=dat;dat=DS1302_Read(DS1302_MIN_Reg);//分 minute=dat;dat=DS1302_Read(DS1302_SEC_Reg);//秒 second=dat;}。