太阳能热水器的控制器的设计
太阳能热水器控制仪设计(毕设)
摘要本课题的目的是结合太阳能热水器的具体应用,设计一种用于太阳能热水器的检测控制系统,以更好的实现对太阳能热水器的监控与控制。
太阳能热水器作为太阳能利用中最常见的一种装置,经济效益明显,正在迅速的推广应用。
根据太阳能热水器特点以及对控制器的要求,本文提出了一种基于单片机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发展概况当今社会发展日新月异,人们衣食住行也在不断的提高。
基于单片机的太阳能热水器控制系统的设计
基于单片机的太阳能热水器控制系统的设计太阳能热水器控制系统是一种利用太阳能来加热水并保温的设备。
基于单片机的太阳能热水器控制系统能够监测系统状态,并根据需要自动地调节工作参数,实现高效能的利用太阳能热水器。
该系统的设计涉及多个方面,包括传感器、执行元件、控制算法和人机交互界面等。
首先,传感器部分。
在太阳能热水器系统中,常用的传感器包括温度传感器、光照传感器和压力传感器。
温度传感器可以用来测量水温,光照传感器可以用来检测太阳光强度,压力传感器可以用来监测水流状态。
这些传感器的数据可以通过单片机进行采集和分析。
其次,执行元件部分。
太阳能热水器系统中常用的执行元件包括电磁阀和水泵。
电磁阀用于控制水的流动方向,水泵用于实现水的循环。
在系统的运行过程中,单片机可以根据采集到的数据来控制这些执行元件的开关状态,以实现对水的流动和供暖的控制。
第三,控制算法部分。
太阳能热水器控制系统需要进行一系列的控制算法设计,包括针对太阳能热水器的启动和停止控制,水的加热和供暖控制等。
通过合理的控制算法设计,可以最大限度地提高太阳能热水器的工作效率,提升整个系统的性能。
最后,人机交互界面部分。
太阳能热水器控制系统需要一个人机交互界面,使用户可以进行相关参数的设置和监控。
在设计上,可以采用液晶显示屏和按键来实现用户的交互操作。
通过人机交互界面,用户可以方便地设置系统的工作模式、温度设定等,同时可以实时地监测系统的运行状态和各项参数。
综上所述,基于单片机的太阳能热水器控制系统设计包括传感器的选择和布置、执行元件的控制和驱动、控制算法的设计和优化以及人机交互界面的设计等方面。
这些设计要求兼顾系统的可靠性、高效性和便利性,以实现对太阳能热水器的精确控制和高效利用。
通过优化设计,可以将太阳能热水器的效能最大化,提供可靠的热水供应。
太阳能热水器控制系统的设计
分享无罪太阳能热水器控制器的设计摘要太阳能是现在社会巨大的能源,人们利用太阳能可以节省好多的能源,所以要好好利用太阳能,发挥它应有的作用。
太阳能热水器因利用太阳能、无污染、使用方便、长期使用投入费用低等特点而倍受人们的青睐,得到很好的开展。
本设计以单片机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)4.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)1 前言1.1 课题背景和意义目前,中国已成为世界上最大的太阳能热水器生产国,年产量约为世界各国之和,已有一百多家太阳能热水器生产厂。
太阳能热水器智能控制系统设计
太阳能热水器智能控制系统设计智能控制系统主要分为硬件部分和软件部分。
硬件部分包括传感器、执行器和控制模块;软件部分包括数据采集、数据处理和控制算法。
1.传感器通过安装在太阳能热水器上的不同类型的传感器,可以实时获取一些必要的参数信息,如太阳辐射强度、水温、水位等。
传感器的选择需要考虑到其精度、可靠性和成本等因素。
传感器可以通过模拟信号或数字信号的形式将收集到的数据传输给控制模块。
2.执行器执行器用于控制太阳能热水器的工作状态,如水泵的开关控制、阀门的开关控制等。
执行器通常由电磁阀、电机或电热器等组成,通过开关控制电源的通断来实现相应的操作。
3.控制模块控制模块是整个智能控制系统的核心部分,它接收传感器传输过来的数据,并根据一定的控制算法进行处理,最后控制执行器的工作。
控制模块通常由单片机或微处理器组成,具有数据处理能力,并能通过通信接口与其他设备进行数据传输和控制。
4.数据采集数据采集是指将从传感器采集到的数据进行收集和记录的过程,可以将数据存储在数据库或者内存中,供后续的数据处理和分析使用。
数据采集可以通过定时采集、事件触发采集或实时采集等方式进行。
5.数据处理数据处理是指对采集到的数据进行计算、分析和处理的过程,以提取有用的信息。
例如,可以通过计算太阳能辐射强度和水温的关系来预测水温的变化趋势,以及控制相应的工作状态。
6.控制算法控制算法是根据实际应用需求设计的,用于根据传感器数据和其他信息来控制太阳能热水器的工作状态。
例如,根据太阳辐射强度和水温的关系,可以设计一个算法来控制水泵的开关,以实现更高效的加热水温。
总结起来,太阳能热水器智能控制系统的设计可以通过传感器实时获取相关参数信息,经过数据采集和处理,最终通过控制算法控制执行器的工作状态。
这样的设计可以提高太阳能热水器的效率和节能性,实现智能化的控制和管理。
基于51单片机的太阳能热水器控制系统设计
基于51单片机的太阳能热水器控制系统设计一、本文概述随着全球对可再生能源需求的日益增加,太阳能作为一种清洁、可持续的能源形式,已经引起了广泛的关注和应用。
太阳能热水器作为一种常见的太阳能应用产品,其在节能减排、提高生活质量等方面具有显著的优势。
然而,太阳能热水器在实际使用过程中,仍存在一些问题,如水温控制不稳定、能效利用率不高等。
为了解决这些问题,本文提出了一种基于51单片机的太阳能热水器控制系统设计方案。
该系统以51单片机为核心控制器,结合温度传感器、水位传感器、执行机构等硬件设备,实现了对太阳能热水器水温和水位的精确控制。
通过实时监测水温和水位信息,系统能够自动调整加热功率和补水流量,确保水温稳定在用户设定的范围内,同时避免了水资源的浪费。
系统还具有故障诊断功能,能够及时发现并处理潜在的故障问题,提高了系统的可靠性和稳定性。
本文首先介绍了太阳能热水器的工作原理和现状,分析了传统控制系统存在的问题和不足。
然后,详细阐述了基于51单片机的太阳能热水器控制系统的硬件组成和软件设计。
在硬件设计方面,本文介绍了各个硬件模块的功能和选型原则,包括温度传感器、水位传感器、执行机构等。
在软件设计方面,本文详细说明了系统的控制算法和程序流程,包括温度控制算法、水位控制算法、故障诊断算法等。
本文通过实验验证了系统的可行性和有效性,为太阳能热水器的智能化、高效化提供了有益的探索和实践。
本文的研究不仅有助于提升太阳能热水器的能效利用率和用户体验,还为其他可再生能源应用产品的智能化控制提供了有益的参考和借鉴。
本文的研究成果对于推动太阳能热水器行业的技术进步和产业发展具有重要的现实意义和应用价值。
二、太阳能热水器控制系统总体设计太阳能热水器控制系统的总体设计是确保整个系统高效、稳定运行的关键。
在设计过程中,我们充分考虑了太阳能热水器的实际应用场景和用户需求,以及51单片机的性能特点,从而构建了一个既实用又可靠的控制系统。
太阳能热水器智能控制系统设计
太阳能热水器智能控制系统设计一、引言太阳能热水器是一种利用太阳能进行加热水的技术设备,具有环保、节能、安全等优点,正逐渐被广大用户所接受和使用。
然而,当前太阳能热水器的控制系统一般较简单,只能实现温度设定和加热控制的基本功能。
本文将基于这种现状,设计一种太阳能热水器智能控制系统,以提高系统的自动化程度和智能化程度,为用户提供更便捷、高效、舒适的使用体验。
二、系统架构智能控制系统的基本架构包括感知层、传输层和应用层。
感知层通过传感器检测环境参数,如太阳能收集器的温度、太阳辐射强度等,传输层将感知层采集到的数据传输给应用层处理,并接收应用层的控制指令。
三、硬件设计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)按键电路键按下后,进行温度及液位检测旳切换,也可不使用。
太阳能热水器自动温度控制器设计
太阳能热水器自动温度控制器设计
引言
目前,市场上销售的太阳能热水器大多没有自动控制功能,使用起来不
灵活方便,为此,为太阳能热水器加装自动控制功能,具有广泛的市场。
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
太阳能热水器主要由集热器、保温水箱、支架、控制系统等部分组成。
控制系统用于控制集热器、保温水箱、支架等部分的工作状态,实现自动控制。
支架用于固定集热器和保温水箱,使其能够稳定地接受太阳辐射。
集热器吸收太阳辐射能,将太阳能转化为热能,加热水箱中的水。
优点:使用寿命长,维护成本低
自动控制:根据水温、水量等参数自动调节加热功率
定时控制:用户可以设定加热时间,控制器自动执行
安全保护:过热、过压、漏电等异常情况自动报警并切断电源
远程监控:用户可以通过手机APP实时查看热水器运行状态,远程控制加热过程
电源模块:选择合适的电源模块,如太阳能电池板、蓄电池等
安全性测试:测试智能控制器的安全性,如防雷、防电磁干扰等
智能控制:自动调节水温、水量,提高使用舒适度
节能环保:减少能源消耗,降低碳排放
安全可靠:自动检测故障,提高安全性能
远程控制:通过手机APP远程控制热水器,方便快捷
提高水温稳定性:智能控制器可以实时监测水温,自动调节加热功率,使水温保持稳定。
保温水箱用于储存热水,保持水温稳定。
家庭使用:安装在屋顶,提供热水
商业使用:酒店、学校、医院等场所的热水供应
工业使用:工厂、企业等场所的热水供应
农业使用:温室大棚、养殖场等场所的热水供应
优点:节能环保,可再生能源,无污染
缺点:受天气影响较大,阴雨天无法使用
缺点:安装成本较高,需要专业人员进行安装
编程语言:C++或Java等高级语言
功能模块:温度控制、水位控制、安全保护等
太阳能热水器控制器设计
太阳能热水器控制器设计引言:设计原理:太阳能热水器控制器的设计原理主要涉及三个方面:传感器、控制算法和执行器。
传感器用于检测环境温度、太阳辐射强度和水温等参数;控制算法根据传感器数据进行计算和判断,并控制执行器的运行,以达到合适的工作状态。
传感器:太阳能热水器控制器需要安装多个传感器以便准确检测各种参数。
温度传感器用于测量环境温度和水温,以判断是否需要加热;光照传感器用于测量太阳辐射强度,以判断是否有足够的太阳光来加热水;水位传感器用于检测水箱内的水位,以判断是否需要补充冷水。
通过这些传感器的数据,控制器可以做出合适的决策。
控制算法:太阳能热水器控制器的控制算法非常关键。
根据传感器数据,控制器可以判断出当前的工作状态并进行相应的控制。
例如,当太阳辐射强度较强时,控制器可以启动水泵,将太阳能集热器中加热的水送入水箱;当太阳辐射强度较弱时,控制器可以暂停水泵的工作,以免浪费电能。
此外,控制器还可以设置温度上限和下限,当水温超过上限时停止加热,当水温低于下限时重新启动加热。
通过合理的控制策略,可以有效地提高太阳能热水器的效率和稳定性。
执行器:功能:1.实时监测太阳辐射强度和水温,以确定水的加热需求;2.控制水泵的启停,实现太阳能集热器与水箱之间的水循环;3.控制加热器的启停,实现水箱内水的加热;4.设定温度上限和下限,自动控制加热器的工作;5.监测水箱内的水位,及时补充冷水;6.显示当前的工作状态和水温情况。
总结:太阳能热水器控制器的设计对提高太阳能热水器的效率和稳定性有着至关重要的作用。
通过合理选择传感器、控制算法和执行器,并充分发挥控制器的功能,可以实现对太阳能热水器的精确控制和自动化管理。
这样不仅能够节约能源,减少对传统能源的依赖,还能够为人们提供更加便利和舒适的热水使用体验。
太阳能热水器控制系统设计方案
太阳能热水器控制系统设计方案
引言
本文档旨在提供一种太阳能热水器控制系统的设计方案。
该系统旨在有效管理和控制太阳能热水器的运作,提高能源利用率并确保用户的舒适度。
系统设计
太阳能热水器控制系统的设计包括以下几个关键方面:
1. 传感器
系统将配备温度传感器和光照传感器。
温度传感器用于监测水箱温度和太阳能集热器的温度,以便根据温度变化进行控制调节。
光照传感器用于检测太阳光的强度,以确定是否能够进行正常的加热操作。
2. 控制器
控制器是系统的核心部分,它将根据传感器的信号进行智能控制。
当温度传感器检测到水温低于设定值时,控制器将自动开启加
热装置以提供热水。
当光照传感器检测到太阳光强度较低时,控制器将停止加热操作,以避免能源的浪费。
3. 电源系统
系统将使用太阳能电池板作为主要电源。
太阳能电池板将将净化太阳能转换为电能供系统使用。
此外,系统还将配备备用电源以确保系统在夜晚或阴雨天气时仍然能够正常运行。
4. 用户界面
系统将具备一个用户界面,以便用户能够方便地了解系统的状态和进行操作。
用户界面将显示当前水温、光照强度以及系统的工作状态。
用户可以通过界面对系统进行手动控制,如调整水温和加热时间等。
总结
本设计方案提供了一种简单而有效的太阳能热水器控制系统。
通过合理利用传感器和智能控制,该系统能够提高能源利用率,满足用户的热水需求,同时减少能源浪费。
该设计方案的实施将有助于推动太阳能热水器的发展和应用。
太阳能热水器控制器的设计作业
太阳能热水器控制器的设计摘要:本系统是为太阳能热水器水温水位的检测和控制而设计的。
在整个控制系统中,以STC89C52为主控芯片,由DS18B20传感器分别检测水温和水位,实现对水温和水位、上水测量、显示、报警等功能,并以电磁阀、继电器为阀门开关实现全自动加热、上水。
整个系统精度高,耐高温性强,易于调整,测试方便,达到设计要求。
关键词: STC89C52 DS18B20传感器水温水位检测与控制引言当前能源紧缺,用电紧张,太阳能是绿色能源,得到广大用户的喜爱。
使用太阳能热水器时存在的问题:不可缺水,空晒情况下上水会爆炸;春、秋天,水温升高蒸发,造成热能损失;冬天水温不够,须用电等等。
采用太阳能热水器智能仪(也称太阳能热水器水温水位监控仪),能解决上述问题。
使用户省心,使用方便,智能运行,用户不必作任何操作。
太阳能热水器是一种利用太阳辐射能通过温室效应把水加热的装置。
利用聚积的高温来加热水。
太阳能热水器不仅可以为家庭提供低温用热水(40℃~60℃),还可以为暖房、温室、干燥、蒸馏、制冷等热动力系统和工农业生产提供较高温度的热水。
太阳能热水器由于具有绿色环保特色而在人民生活和生产中得到了很多应用,它为百姓提供环保、安全节能、卫生的新型热水器产品,太阳能热水器就是吸收太阳的辐射热能,加热冷水提供给人们在生活、生产中使用的节能设备。
进步源于竞争,在我国太阳能拥有广阔的市场,当然也有更大的竞争,各大商家为了使自己的产品在市场上立足并长远发展,不断提高太阳能热水器的性能,其中太阳能热水器控制器以其灵活、贴近客户成为商家竞争的热点。
目前,各大商家纷纷提高太阳能热水器的智能化程度来满足消费者的需求。
许多太阳能热水器的功能有:开机自检、温控上水、强制上水、水位预置、水质设置、水温指示、低水压上水、水位显示、防高温空晒、缺水报警、自动防溢流、缺水上水、手动上水、故障提示等许多贴近客户需求的功能。
一、基本设计框图本系统的组成框图如图1所示。
单片机的太阳能热水器智能控制器的设计
单片机的太阳能热水器智能控制的设计思想和设计方案摘要:针对目前家用太阳能热水器功能单一、操作复杂、控制不方便等特点,本文提出了一种新型的太阳能热水器控制系统设计方案.根据太阳能热水器对控制系统的要求,以单片机为中心控制单元,设计了一种太阳能热水器智能控制系统,给出了系统硬件设计及软件实现方法.该系统具有时间、温度、水位设定与控制功能,且具有良好的抗干扰性能.关键词:单片机太阳能热水器智能控制在全球能源形势紧张、气候变暖严重威胁经济发展和人们生活健康的今天,世界各国都在寻求新的能源替代战略,以求得可持续发展和在日后的发展中获取优势地位。
太阳能以其清洁、源源不断、安全等显著优势,成为关注重点.在太阳能产业的发展中,太阳能热水器的热利用转换技术无疑是最为成熟的。
经过市场调查,目前市场上所售的太阳能热水器普遍存在一些不便之处,如:功能单一、自动化程度不高、缺少智能化、使用不方便,等等。
本文采用单片机为检测控制核心所设计的太阳能热水器微控制器,实现了时间、温度和水位的实时显示.并具有时间、温度、水位设定与控制功能和良好的抗烦扰功能。
停电后再来电时也不用重新设定,使热水器的自动化和智能化程度提高。
系统设计思想单片机的太阳能热水器智能控制有软件与硬件两部分组成;1、能热水器通常由集热器、绝热贮水箱、连接管道支架和控制系统组成。
太阳能集热器是太阳能热水器接收太阳能量并转换为热能的核心部件和技术关键,其造价约占太阳能热水器总造价的二分之一左右。
太附能热水器水箱是贮存热水的装置,其结构、容量、保温和材料将直接影响热水器的性能和运行的质量。
2、智能系统硬件设计给太阳能热水器加装自动控制功能,主要是加装一个数据采集系统和一个微电脑控制板。
本文选用89C5l单片机为核心控制器,组成热水器微控制系统,系统框图如下图所示:系统框图中数据采集系统通过水温传感器和水位传感器分别采集水温、水位连续变化的模拟量信号,通过TLC0832模数转换器把模拟信号转换成数字信号,送到CPU89C5l中进行处理。
智能家居中的太阳能热水器控制系统设计
智能家居中的太阳能热水器控制系统设计智能家居中的太阳能热水器控制系统设计引言:随着科技的不断进步,智能家居正逐渐走入千家万户。
其中,智能家居中的太阳能热水器控制系统设计是一个热门话题。
本文将详细探讨智能家居中太阳能热水器的控制系统设计,旨在提高用户的生活质量和节能环保。
一、概述太阳能热水器是利用太阳能将日光转化为热能的设备。
传统的太阳能热水器需要手动操作,使用起来非常麻烦。
而智能家居中的太阳能热水器控制系统则能够自动进行控制和管理,使用户使用更加方便、快捷。
二、设计原理1. 太阳辐射识别:通过安装辐射传感器,实时检测太阳的辐射情况,根据辐射强度自动调整热水器的加热功率,以实现最佳的温度控制。
2. 温度控制:太阳能热水器通常需要在一定温度范围内运行,过低则无法提供热水,过高则可能损害设备。
智能家居中的控制系统能够自动调节温度,使其始终保持在安全合适的范围内。
3. 组件监测:通过传感器监测太阳能发电板、水箱和水管等组件的工作状态,及时发现故障并向用户报警,确保设备的正常运行。
4. 能源管理:智能家居中的控制系统能够根据用户的生活习惯和用水情况,合理安排太阳能的利用,避免能源浪费。
三、核心技术1. 无线通信技术:智能家居中的太阳能热水器控制系统需要通过无线网络与用户的智能手机、电脑等设备进行通信,以达到远程操控和实时监测的目的。
2. 数据处理技术:通过数据采集和分析处理,智能家居中的控制系统能够实现对太阳能热水器的自动控制和调节,提高系统的智能化和自动化程度。
3. 人工智能技术:借助人工智能技术,控制系统能够根据用户的使用习惯和需求,学习和预测用户的用水情况,提前准备热水,提供更加贴心的服务。
四、系统特点1. 远程操控:通过连接智能设备,用户可以随时随地远程操控太阳能热水器,方便快捷。
2. 自动调节:智能控制系统能够自动根据环境和需求调节太阳能热水器的工作状态,降低用户的使用成本。
3. 智能学习:控制系统具备学习能力,通过不断学习用户的使用习惯和需求,提供个性化的服务体验。
(完整版)太阳能热水器控制毕业设计论文
中华人民共和国教育部毕业设计论文题目:太阳能热水器中央控制器的设计与实现学生:指导教师:学院:专业:2007年6月摘要当今计算机技术在飞速发展,微机应用日益普及深入,微机在通信自动化、工业自动控制、电子测量、信息管理和信息系统等方面得到广泛的应用。
嵌入式计算机系统是以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功效等严格要求的专业计算机系统。
其最初应用是基于单片机的。
单片机小巧灵活,成本低,易于产品化。
它面向控制,能针对性的解决从简单到复杂的各种控制任务。
目前,国内的太阳能热水器还处于研发阶段,这种控制器只具有温度和水位的显示功能,不具有温度控制功能。
由于加热时间不能控制而导致过烧,从而浪费大量电能。
本设计是以89c51单片机为检测控制中心,采用ds12887实时时钟,实现了温度,水位,时间三种参数的实时显示功能。
关键词:单片机;太阳能热水器;智能控制;水位;温度;时间;The Design and realization of theSolar-powered water ----输入端;Qn-----输出端;、LE为控制端,该片如何工作由功能表定,表中L为低电平、H为高电平、Z为高阻抗(相当开路)×为任意电平,一般将接低电平,LE接ALE就能正常工作。
2.6 IO接口电路8255A(1)总线接口部分CS ——片选线输入A1、A0 ——RD ——WR ——端口选择线(选片内四个端口寄存器)读信号线写信号线(2)内部逻辑部分(3)外设接口部分可由编程决定三个端口的功能输入输出其它A口 8位锁存缓冲 8位锁存双向B口8位锁存缓冲 8位锁存C口 8位锁存缓冲 8位锁存可分成两组分别作A口、B口的选通联络线2、8255A的端口操作A1 A0 选中0 0 PA口0 1 PB口1 0 PC口1 1 控制寄存器二、8255A的工作方式及方式选择1、8255A的工作方式(1)方式0 ——基本输入输出方式A口、B口、C口均有此方式,无选通,是单片机与外部设备之间的直接数据通道。
基于单片机的太阳能热水器智能控制器设计
设计一个基于单片机的太阳能热水器智能控制器是一项非常有意义的工程项目。
通过这个设计,我们可以实现对太阳能热水器系统的智能监测和控制,提高系统的效率和可靠性。
下面将详细介绍这一设计的原理、结构、功能和实施步骤。
一、设计原理基于单片机的太阳能热水器智能控制器的核心原理是通过传感器采集环境温度、水箱温度、太阳能辐射等数据,并通过单片机进行数据处理、控制算法运算,最终实现对太阳能热水器系统的自动控制。
二、系统结构1. 传感器模块包括环境温度传感器、水箱温度传感器、太阳能辐射传感器等,用于采集相关参数数据。
2. 控制模块采用单片机作为控制核心,通过编程实现对传感器数据的采集、处理和控制策略的执行。
3. 显示模块一般采用液晶显示屏或数码管显示太阳能热水器的工作状态、温度等信息。
4. 执行模块通过继电器或驱动电路控制太阳能热水器系统中的循环泵、电加热器等设备的开关。
三、功能设计1. 环境监测:实时监测环境温度和太阳光照强度,以便调整系统工作状态。
2. 温度控制:根据水箱温度和环境温度,控制循环泵和电加热器的运行,保证水温在合适范围内。
3. 节能优化:根据太阳能辐射情况,合理利用太阳能资源,减少电加热器的使用,节约能源。
4. 故障检测:监测系统运行状态,及时发现故障并报警,保障系统安全稳定运行。
四、实施步骤1. 传感器接入:将环境温度传感器、水箱温度传感器、太阳能辐射传感器等传感器连接至单片机的模拟输入引脚。
2. 程序设计:编写单片机程序,包括数据采集、控制算法、显示控制等功能的实现。
3. 硬件连接:根据设计需求,将单片机、传感器、显示模块、执行模块等连接至一块PCB板上。
4. 调试测试:将控制器连接至太阳能热水器系统,进行系统调试和测试,验证控制器的功能和稳定性。
5. 性能优化:根据测试结果对控制算法进行优化,提高控制器的响应速度和稳定性。
通过以上设计和实施步骤,我们可以完成一个基于单片机的太阳能热水器智能控制器的设计。
太阳能热水器的智能控制器的硬件设计
太阳能热水器的智能控制器的硬件设计————————————————————————————————作者:————————————————————————————————日期:太阳能热水器的智能控制器的硬件设计前言一直以来,我国在利用非可再生能源的同时,也在努力寻找合适的可再生能源,用来替代或减少对不可再生能源的使用,为以后的可持续发展创造好的条件.在可再生能源中太阳能是利用最早、最广泛的一种,它自身具有清洁、环保、安全、无污染、取之不尽用之不竭的特点,怎样才能充分、高效的利用太阳能呢?就目前来看,是利用太阳能热水器进行光热转换,给水加热,满足人们的日常用水需求,如:洗澡、洗菜、洗衣服,还有平时的洗梳,拖地洗车等。
为了进一步推进太阳能技术的应用,为国家节约能源,减少环境污染,选择了该课题。
我国的太阳能热水器行业,发展到现在,已经有十几个年头了,已由幼年成长到了青年,正是飞速成长的时期,现在每年大约有20%~30%的新用户使用太阳能热水器,尤其在南方,太阳能热水器的普及率基本达到了40%;在北方消费者也正在接受太阳能产品,目前普及率也基本达到了15%;而在国外,该行业发展缓慢,现在国外的一些国家给予了该行业足够得重视,使它较以前步伐有所加快,总体来说普及率仍然很低。
目前我国多数太阳能热水器功能单一,操作不方便,控制起来不能达到理想效果,只有温度、水位的显示功能,而对其控制的智能化水平不高。
为了较好的处理这一问题,现对太阳能热水器的智能控制器进行如下设计设计。
本文的CPU为89C51单片机,用它来做为检测控制的核心,并采用美国达拉斯公司生产的DS12887实时时钟芯片,不仅实现了水位、水温、时间三种参数的实时显示功能,而且还通过其他的一些芯片,辅助与相关的软件程序实现了水温、水位、时间的设定。
其中,数据采集系统,分别用水温、水位传感器采集连续变化的水温、水位模拟量信号,用ADC0809进行A/D转换,形成数字信号,送到CPU 89C51中进行处理,实现水温、水位的显示。
- 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;}。