基于单片机的太阳能热水器控制器的设计 毕业论文

更新时间:2024-06-09 01:46:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2013届毕业设计(论文)

题 目: 太阳能热水器控制器的设计 学 院: 电子与信息工程 专 业: 电子信息工程 班 级: 电子0901 姓 名: 指导老师: 起讫日期: 2012-11-16~2013-06-14

2013 年 06 月

摘要

太阳能热水器控制器的设计

摘 要

本文分析了太阳能热水器的基本构造并且简单介绍了其工作原理,设计了与之配套的太阳能热水器控制器。该控制器利用SST89E58单片机作为核心器件控制整个系统运作;温度传感器DS18B20可以用来实时检测水温,并将检测到的数据送至单片机进行处理后显示;由4个按键组成的模拟水位用来检测实时水位,当不同的按键按下时,可以模拟出相应的水位;由芯片8155控制的4个数码管是用来显示水位和水温的;由LED灯和蜂鸣器组成的报警电路实现了声光报警,当水位或是水温超出了正常范围,报警电路就会启动;由继电器控制1个LED灯的亮灭来模拟辅助加热系统是否工作。

本篇论文从硬件电路的原理分析、软件编程的实现过程、电路仿真和调试等内容进行分析,实现了控制器的检测、显示和控制功能。

关键词:单片机 DS18B20 8155 数码管 继电器

I

Abstract

The design of controller of solar water heater

Abstract

This paper first introduces the basic structure of solar water heaters and working principle and design a complete solar water heater controller. As the core control system SST89E58 single chip to complete the operation; temperature sensor DS18B20 temperature real-time detection, the microcontroller will detect after data showed four levels of real-time simulation keys are used by different keys, you can simulate the appropriate level, digital tube for display, interface circuit is the chip 8155, by the LED lights and buzzer alarm circuit to achieve a sound and light alarm, water level or water temperature exceeds the normal range, the alarm circuit is activated by relay control LED lights to light and dark analog auxiliary heating system work.

Based on the theoretical analysis of the hardware circuit, how to achieve software programming, circuit simulation and debugging of content analysis, to achieve the detection of the controller, display and control functions.

Keyword: MCU;DS18B20;8155;digital tube;relay

II

目录

目 录

摘要 ............................................................................................................................... I Abstract ....................................................................................................................... II 第一章 绪论 .............................................................................................................. 1

1.1背景.................................................................................................................. 1 1.2 现状分析......................................................................................................... 1

第二章 太阳能热水器的结构及工作原理 ...................................................... 3

2.1太阳能热水器的结构及工作原理.................................................................. 3 2.2 控制器结构及工作原理................................................................................. 4

第三章 控制器硬件设计....................................................................................... 5

3.1 控制器总体设计............................................................................................. 5 3.2 单片机及其外围电路..................................................................................... 6

3.2.1 单片机简介.......................................................................................... 6 3.2.2 晶振电路.............................................................................................. 8 3.2.3 手动复位电路...................................................................................... 8 3.3 显示电路......................................................................................................... 9

3.3.1 数码管简介.......................................................................................... 9 3.3.2 8155简介............................................................................................ 10 3.4温度检测电路................................................................................................ 11

3.4.1 温度传感器DS18B20简介 .............................................................. 11 3.4.2 温度检测电路设计............................................................................ 12 3.5 水位检测电路及自动上水........................................................................... 12

3.5.1 水位检测电路设计............................................................................ 12 3.5.2 自动上水设计.................................................................................... 13 3.6 温度设定及报警电路................................................................................... 14

3.6.1 温度设定............................................................................................ 14 3.6.2 报警电路设计.................................................................................... 14

III

目录

3.7 辅助加热电路............................................................................................... 15

第四章 控制器软件设计..................................................................................... 17

4.1主程序设计.................................................................................................... 17 4.2 温度检测子程序........................................................................................... 18 4.3 水位检测子程序........................................................................................... 18 4.4 报警子程序................................................................................................... 19 4.5 显示子程序................................................................................................... 19 4.6 辅助加热子程序........................................................................................... 19 4.7 自动上水子程序........................................................................................... 20 4.8 温度设定子程序........................................................................................... 20

第五章 电路调试及结果..................................................................................... 21

5.1程序编译与仿真结果.................................................................................... 21 5.2 硬件电路调试............................................................................................... 25 5.3 调试过程中遇到的问题............................................................................... 27

总结 ............................................................................................................................ 28 参考文献 ................................................................................................................... 29 致谢 ............................................................................................................................ 31 附录 ............................................................................................................................ 32

IV

南京工业大学本科生毕业设计(论文)

第一章 绪论

1.1背景

随着社会的进步,人类文明在不断提高的同时,却面临着一个非常严峻的问题:世界上的不可再生能源——煤炭、石油、天然气的存储量在以极快的速度减少,在不久的将来,这些宝贵的资源将逐渐从地球上消失。与此同时,使用这些能源给我们周围的环境带来了巨大的破坏。蓝藻爆发、臭氧空洞、二噁英事件等环境问题在不断的出现,生态平衡遭到了严重的破坏。所以,人类急需发现更多无污染的可再生资源,在这时,太阳能这个无穷无尽的绿色资源得到了人们的青睐。使用它不仅可以解决能源短缺的问题,而且不用担心它会消耗尽,只要太阳 升起,人们就可以得到储量丰富的太阳能;另外,太阳能的使用不会产生CO2等有害气体,绝对不会对环境产生任何的污染,有效地缓解了现存的环境问题。太阳能技术也因此得到了飞速的发展,太阳能汽车、太阳能电池、太阳能热水器等新型产品不断出现在市场上,其中,以太阳能热水器发展的最为广泛,也得到了大众的认可。根据不完全统计,太阳能热水器的销售量已远远超过了其他种类的热水器。随着太阳能技术的不断改革,此款热水器会有一个更广阔、更长远的发展。

太阳能热水器给人们提供着安全、绿色、节能的热水,而且造价比较低廉,在技术上也比较成熟,因此受到人们的喜爱。在整个太阳能热水器系统中,除了热水器本身之外,还有一个系统也起到了及其重要的作用,即控制器。它是用户与热水器之间的交流介质,通过控制器,可以将热水器的水位水温信息及时反馈给用户,而用户也可以通过控制器对热水器进行操作,比如,当热水器的水箱没水时,用户可以选择自动上水功能来加水,当雨雪天气时,没有足够的热量来满足水的温度,用户就可以启动辅助加热功能,通过加热棒来加热水,这样,无论何时用户都可以使用到热水。

1.2 现状分析

太阳能热水器的销量一直成增长趋势,十几年前,市场的主导还是电加热型的热水器,太阳能热水器寥寥无几,而如今,几乎每家每户都在使用太阳能热水

1

第一章 绪论

器,以其廉价、节能、环保的优势占领了绝大部分市场。随着人们越来越浓厚的环保意识,对这种绿色的太阳能热水器的需求会越来越大。但是与之配套的控制器却一直没有达到成熟的阶段。目前,大多数控制器只具有简单的检测、显示功能,还需要人为的上水,当水温达不到满意的温度时,用户束手无策。因此,一个多功能的控制器一旦问世,一定会得到人们的喜爱。这种控制器的市场前景非常广阔。

这种控制器以单片机为核心器件,单片机的价格低廉、工作稳定、设计简单,非常适合这种控制器的生产,智能化的单片机还能够根据不同的需求作出相应的调整,满足了不同用户的多方面需求。另外,单片机系统耗能较少,能够最大程度的节约能源,保护设备,增加设备的使用寿命。它适用于各个地方的各种需求,且安装快捷,使用方便,所以它的市场前景广阔,是目前市面上其他热水器种类的升级产品。总之,无论从价格还是技术来说,太阳能热水器及其控制器都具有很大的优势。

2

南京工业大学本科生毕业设计(论文)

第二章 太阳能热水器的结构及工作原理

2.1太阳能热水器的结构及工作原理

太阳能热水器的组成很简单,包括存储热水的保温水箱、用于吸收太阳光能量并把它转换为热量的集热器、冷水和热水循环流动的水管,再加上几个阀门,用来控制水的流向。其结构图如下所示:

图2-1太阳能热水器结构原理图

太阳能热水器产生热水的过程也非常简单,利用冷热水密度不同的原理就可以完成水循环,集热器可以很好的保留太阳光的能量,从而将其转换为水的热量,当有水从集热器中流过时,冷水被加热为热水,再流向保温水箱储存起来,以供用户随时使用,直到水温达到设定值,循环阀门关闭。水循环过程如下图所示:

图2-2太阳能热水器水循环原理图

3

第二章 太阳能热水器的结构及工作原理

2.2 控制器结构及工作原理

控制器的核心器件为SST89E58单片机,下图中T1代表保温水箱中的温度传感器DS18B20,由它负责实时温度值的检测,再发送给单片机进行显示;T2负责水位的检测,并完成自动上水功能;F1、F4分别代表冷水阀门和热水阀门;冷水和热水分别经F2、F3循环流动,最终存储在保温水箱中;电加热系统负责在雨雪天气进行加热,来达到设定温度;控制器还应有报警功能,当数据超过了正常范围,报警器启动,提醒用户。

图2-3控制系统结构简图

工作原理:

白天集热器工作时,打开阀门F2、F3,冷水从水箱流向集热器,经过加热后的热水经F3流向保温水箱。温度传感器T1实时检测水温,当温度达到设定值时,关闭阀门F2,F3。用户使用水时,打开阀门F4。没有水时,打开阀门F1上水。当阳光不足的阴雨天气时,水温达不到设定值,可以启动辅助加热系统。

4

南京工业大学本科生毕业设计(论文)

第三章 控制器硬件设计

控制器通过显示电路能够及时的反映出热水器的实时状态,包括水的温度、水箱中剩余的水量,它的辅助加热系统使人们在阴雨天气也能够使用到热水,报警功能能够督促人们去改变热水器的状态,使之处于正常的工作范围。总之,控制器为人们使用太阳能热水器带来了方便。对本课题进行分析之后,拟出了三个方案,如下所示:

方案一:以FPGA为基础设计系统

本方案以VHDL语言和EDA技术为基础,设计了一款太阳能热水器控制器,该系统的实现基于FPGA,控制器的硬件电路和软件程序相结合,完成了对水箱中的水温、水位等信息的采集和显示。

方案二:以CPLD为基础设计系统

本方案以芯片EPMl270作为核心器件,将控制器的外接电路检测得到的水温水位信息进行处理和分析,并从LCD液晶显示屏上展示给用户,有效地解决了使用太阳能热水器过程中遇到的问题。

方案三:以单片机SST89E58为基础设计太阳能热水器控制系统

本方案以SST89E58作为中心环节,它与80C51完全兼容,选择DS18B20为温度传感器、8155作为接口芯片,再加上键盘、显示电路,实现了对太能热水器的水温水位的检测和控制。控制器还有一套辅助加热的从系统,以继电器作为启动从系统的开关。

通过对以上三个方案的优缺点的分析,从实际的可行度,个人的知识掌握情况以及节约成本考虑,本设计选用第三种方案。

3.1 控制器总体设计

本设计的核心器件为SST89E58单片机,由它控制所有的功能完成运行,温度的检测需要用到温度传感器,这里选用DS18B20,水位的检测需要用到水位传感器,为了方便实验,本设计中用四个按键来模拟不同的水位,不同的按键按下会得到相应的水位信息,显示用到数码管,并由芯片8155作为接口电路,还需要由蜂鸣器和LED组成的报警电路来实现声光报警,辅助加热系统必须要用到继

5

第三章 控制器硬件设计

电器,以此来控制开关。根据以上设计,得到控制系统方框图如下:

图3-1 控制系统方框图

3.2 单片机及其外围电路

基于单片机设计的电路简单,I/O口扩展方便,因此可以外接多个电路,完全满足了控制器的需求,对单片机的编程也可使用汇编和C语言,编程方便;此外,单片机价格低廉、工作稳定、耗能较少,非常适合实验使用。 3.2.1 单片机简介

单片机是一个集成在芯片上的计算机,SST89E58与80C51完全兼容,编程方便,程序被保存在ROM中,因此具有掉电保存功能,单片机拥有大量的I/O口和外扩I/O口,可以基于单片机设计很多电路,它的总线结构负责片内所有部件的通信,提高了工作过程中的可靠程度。片内有256个数据存储空间,绝对能够满足控制器的需求。在本设计中只使用到了单片机的某些引脚,例如外接石英晶体和电容的X1、X2等,单片机引脚图如下所示:

6

南京工业大学本科生毕业设计(论文)

图3-2 单片机引脚排列图

部分引脚功能介绍:

表3-1 芯片引脚介绍

7

第三章 控制器硬件设计

3.2.2 晶振电路

时钟电路提供了系统所需要的时钟信号,控制着单片机的工作节奏。其电路图如下所示,图中X1为石英晶体振荡器,C1、C2是两个值为30pF的反馈电容,它们构成的外部电路从XTAL1 、XTAL2端输入,与片内的反相器相结合,产生震荡脉冲,再经过分频电路,得到需要的时钟信号,以供单片机使用。本设计中晶振的频率为11.0592MHz。

图3-3 晶振电路

3.2.3 手动复位电路

单片机的复位电路用于产生复位信号,并从RST端输入,当单片机检测到RST端有超过2个周期的高电平后,系统进行复位,本设计采用手动复位,如图3-4所示,当按下图中的按键时,RST电平变高,单片机复位。

图3-4 手动复位电路

8

南京工业大学本科生毕业设计(论文)

3.3 显示电路

控制器的显示电路可以显示水箱中水的剩余量以及水的温度,使人们及时的了解热水器的工作状态,采用数码管与8155的结合来显示,这样便有效的节省了大量的I/O端口,功耗低,应用非常广泛,且设计方便,硬件电路也较为简单。 3.3.1 数码管简介

为了对采集到的水温和水位的进行显示,要用到4个数码管。其中2个用来显示水位的高低,另外2个用来显示实时的水温。

发光二极管的缩写字母是LED,它是能够将电信号转换为光信号的发光器件。数码管就是由多个LED按照数字8的形状排列而成的。本设计中使用的是8段数码管,其发光二极管的排列形状如图3-5(a)。

图3-5 8段LED显示器

在使用过程中,为了给发光二极管提供电压使其发光,会把8个二极管的一端相连,给予高电平或是接地,连接方式有以下2种:

?共阳极。此方法给8个发光二极管的阳极端提供高电平,如图3-5(b)所示,另一端提供低电平的二极管会被点亮,否则灭。

?共阴极。此方法将8个发光二极管的阴极端接地,如图3-5(c)所示,另一端提供高电平的二极管会被点亮,否则灭。

本设计中用到的是共阴极接法,所以给阳极引脚加上高电平二极管就会发光。

9

南京工业大学本科生毕业设计(论文)

图3-10 报警电路图

3.7 辅助加热电路

辅助加热由继电器来控制,继电器是一种很好的控制开关,价格低,控制方便,配合一个LED灯来模拟加热过程,使电路简单易行。

当天气晴朗时,阳光很充足,热水器水箱中的水能够被加热到满意温度,但是当雨雪天气,集热器吸收的能量无法使温度达到设定值,所以控制器还需要一套辅助加热系统,当水温满足不了用户的需求时,可以通过按键开启加热系统,水箱中的加热棒便开始发热工作,当水被加热到设定值时,加热系统自动关闭。 本设计中使用的继电器的型号是SRD-05VDC-SL-C。电磁继电器一般由衔铁、线圈、铁芯、触点簧片等几部分组成。当给继电器两端加上一个电压时,电磁效应就此产生,开关打到常开触点。当线圈断电后,电磁的吸力也随之消失,开关打到常闭触点。

辅助加热的电路图如下所示:

在仿真时,由于软件中没有SRD-05VDC-SL-C型号的继电器,所以用G2R-14-AC120型号的继电器代替,两者的工作原理相似。

15

第三章 控制器硬件设计

图3-11 辅助加热电路图

辅助加热功能由外部中断0实现,当采集到按键按下时,进入中断。当辅助加热时,单片机的P2.6口输出的是高电平,三极管导通,开关打到常开状态,发光二极管被点亮,当不需要辅助加热时,P2.6口输出的是低电平,三极管未导通,开关在常闭状态,发光二极管不亮。图中的D1为一个续流二极管,当线圈突然断电后,电流不会立刻消失,剩余的能量会损坏线圈,为了防止这种现象发生,用一个二极管构成一个回路,使能量慢慢释放完,保护了线圈,增加了它的寿命。

当蓄水箱中没水时,是严禁启动辅助加热的,否则加热器会烧坏。在软件设计的时候,当进入辅助加热中断后,应先判断是否有水,即33H中的值是否为0,当为0时,跳出中断,不对P2.6的状态做任何改变,当不为0时,P2.6输出高电平,即开启辅助加热系统。

16

南京工业大学本科生毕业设计(论文)

第四章 控制器软件设计

4.1主程序设计

控制器的功能比较多,代码也有几百行,为了方便修改和设计,这里采用模块化结构,包括主程序、温度检测子程序、水位检测子程序、报警子程序、显示子程序以及4个中断程序:辅助加热子程序、自动上水子程序和温度设定子程序。由主程序调用不同的子程序来实现控制器的所有功能。 在编写系统初始化程序时需要注意以下几点:

?设置4个单元的显示缓冲区30H~33H,数码管显示的数字存放在这里。 ?在50H、51H中存放温度设定的初始值。

?程序会使用到中断,所以在初始化时必须对与中断相关的寄存器进行一些设置。

主程序流程图如下所示:

图4-1 主程序流程图

17

第四章 控制器软件设计

4.2 温度检测子程序

将采集到的温度值转换成数字数据后送到单片机进行处理,得到一个3位数的值,由于实际生活中显示的温度只需要2位就可以满足,这里放弃了百位值的显示,处理后的数据送到33H、32H保存并通过数码管显示。

4.3 水位检测子程序

4个按键的一端分别接到P2口的4个引脚,当按键按下时,对应的引脚电平变低。判断出哪个按键按下后数码管会显示出对应的值。流程图如下所示:

图4-2 水位检测流程图

18

南京工业大学本科生毕业设计(论文)

4.4 报警子程序

将检测到的水温、水位与报警值进行比较,当超出范围时,报警灯亮,当又回到正常范围内时,报警灯暗。报警子程序流程图如下所示:

图4-3 报警流程图

4.5 显示子程序

当采集到水温水位的数据后,被保存在30H~33H中,然后调用显示子程序,在每个时间点被点亮的数码管只有一个,但是时间间隔太短,人眼无法分辨出,所以平时看到的都是4个数码管同时亮着。

4.6 辅助加热子程序

辅助加热功能由外部中断0实现,当采集到按键按下时,进入中断。进入中断后首先判断是否有水,没水就退出,不需要加热;如果有水,开启加热,当加热到设定值后,停止加热。辅助加热流程图如下:

19

第四章 控制器软件设计

图4-4 辅助加热流程图

4.7 自动上水子程序

自动上水功能需要用到外部中断1,当检测到相应按键按下时,进入中断,然后控制数码管从00到30到60到90的显示,完成后退出中断。

4.8 温度设定子程序

温度设定需要用到2个定时器中断,定时器中断0用来完成温度加1度,定时器中1用来完成温度减1度。当进入温度加1中断后,判断当前值的个位是否为9,若为9,则十位加1,个位清0;若不为9,则INC 50H即可。调用显示后返回主程序。当进入温度减1中断后,判断当前值的个位是否为0,若为0,则十位减1,个位变为9;若不为0,则DEC 50H即可。调用显示后返回主程序。

20

南京工业大学本科生毕业设计(论文)

第五章 电路调试及结果

5.1程序编译与仿真结果

程序编译的目的是为了检测编写的程序是否成功,或找出其中错误,以便更好的改善,保证能够正确的实现系统的软件功能。本设计用的开发工具是KeilC,并使用汇编语言进行编程,程序编译后的结果如下图所示:

图5-1 编译后的结果

程序编译正确之后,即可用仿真电路图进行调试。仿真电路图如下所示,由于矩阵键盘的效果与独立按键的效果一样,为了方便仿真,在此仿真时用独立按键代替矩阵键盘,并用80C51代替SST89E58进行仿真:

图5-2 仿真电路图

点击开始按钮,程序开始运行,以下选取几种仿真结果:

21

第五章 电路调试及结果

(1)当按键2按下时,代表此时水位为30%,改变DS18B20的值,使之为22。 数码管显示应为3022,如下所示:

图5-3 仿真结果显示

(2)当按键3按下时,代表水位为60%,改变DS18B20的值,使之为40。数码管显示应为6040,如下所示:

图5-4 仿真结果显示

22

南京工业大学本科生毕业设计(论文)

(3)当按键4按下时,代表水位为90%,达到报警值,此时不管温度值为多少,系统都会报警,蜂鸣器会响,LED灯D1亮,如下所示:

图5-5 仿真结果显示

(4)当水温达不到设定值时,开启辅助加热系统,按下按键5,继电器打到常开状态,LED灯D3亮,代表正在加热,如下图所示:

图5-6 仿真结果显示

23

第五章 电路调试及结果

(5)当按键6按下时,代表正在自动上水,数码管显示00-30-60-90,每个数字停留显示几秒,如下所示:

图5-7 仿真结果显示

(6)当按键7按下时,温度的设定值加1,由25变为26,如下所示:

→→

图5-8 仿真结果显示

(7)当按键8按下时,温度的设定值减1,由25变为24,如下所示:

→→

图5-9 仿真结果显示

24

南京工业大学本科生毕业设计(论文)

5.2 硬件电路调试

硬件实物图如下所示:

图5-10 硬件实物图

提供外部电源后硬件便开始工作,这里选取几种结果演示:

(1)当KEY9按下时,代表水位为30%,此时水温为23,则数码管显示结果为:

图5-11硬件结果显示

25

第五章 电路调试及结果

(2)当KEY5按下时,代表水位为60%,此时水温为30,则数码管显示结果为:

图5-12硬件结果显示

(3)当KEY1按下时,代表水位为90%,此时达到报警值,不管水温为多少,系统都会报警,蜂鸣器响,LED灯被点亮,结果如下所示:

图5-13硬件结果显示

26

南京工业大学本科生毕业设计(论文)

(4)当KEY17按下时,单片机检测到计数脉冲,进入定时器中断0,用户自己设置的温度值加1,结果如下图所示:

图5-14 硬件结果显示

(5)当KEY18按下时,单片机检测到计数脉冲,进入定时器中断1,用户自己设置的温度值减1,结果如下图所示:

图5-15 硬件结果显示

5.3 调试过程中遇到的问题

(1)一开始由于将温度传感器的正负极接反了,导致不管检测到什么温度,数码管显示的都是0,一直修改程序也没有什么作用,仔细的研究了DS18B20的引脚说明后才发现问题的所在,重新焊接了之后,问题得到了解决。

(2)在处理温度设置的中断子程序方面,由于先前没有考虑到保护现场的问题,导致退出中断后改变了原先的数值,经过改善后,在刚跳转进入中断子程序的时候就加上PUSH 语句,在中断最后加上POP语句,就很好的阻止了冲突,实现了中断。

(3)起初的设计中水位检测电路是选择的电极式水位传感器,其工作原理是:根据水位的不同,传感器输出的电阻就会不同,水位越高,电阻越小,将这个电阻值接入AD转换芯片,经过处理后得到数字信号,传输给单片机进行显示,但实际设计过程中,一直没能处理好芯片TLC1549的工作时序,导致程序频频出错,至此还没有得到解决的方法,所以只能选择用按键来模拟水位。

27

总结

总结

通过这三个多月的毕业设计,大学三年来所学的知识都得到了广泛的应用,加深了理论与实际的联系。提高了本人的动手能力,自己的创新意识也得到了培养,使自己对单片机的了解更加的全面了。一开始接触这个课题的时候,完全没有思路,虽然很熟悉太阳能热水器,控制器的功能也理解,但要自己动手用软件和硬件来实现,却无从下手。从网上找了很多资料,也借鉴了其他人设计的控制器,在一番深入的了解之后终于得到了一个初步的设计思路,并在之后的代码编写和硬件焊接过程中,不断的完善,最终完成了本次毕业设计。

在这次设计中,接触到了温度传感器,这款芯片是本人从来没有使用过的,虽然它与单片机的连接非常简单,但是硬件的简化导致了软件的开销,所以在软件编程时,温度检测这一模块的代码困扰了本人很久,查了很多资料,对传感器的工作原理也了解了很多,可是编写的代码始终不能运行,经过了三周左右的努力,终于发现了代码中的错误,原因是因为没有给复位足够的时间导致18B20不能工作,修改后成功的将温度检测模块编写完成。设计中另外一个难点是温度设定中断代码的编写,在一开始的设计思路中,进入中断后没有PUSH、POP的内容,在中断子程序中修改温度后回到主程序时发生了冲突,意识到这一点后修改了代码,完成了中断子程序的编写。至于其他模块的代码编写比较简单,过程中并未遇到什么挫折。

硬件电路的焊接也不是非常顺利,设计初的报警电路是由LED灯和蜂鸣器组成的,但是在下程序的过程中不小心把蜂鸣器弄坏了,所以在耽搁了一周之后才完成。本次硬件电路是基于之前课程设计中用过的单片机实验板,因此布局布线比较简单,这为硬件的搭建省了很多事,也为此次设计提供了很多方便。

三个多月的时间很快就过去了,在这段时间里,本人各方面的能力都得到了提升,总之,这次毕业设计让本人学到了很多。

28

参考文献

参考文献

[1] 王正彦,范延滨,汪健等.太阳能热水器控制器的设计与实现[J].仪表技术与传感器,2004,(11):53-55,58.

[2] 马敏,孙寅聪,张炜宇等.太阳能热水器控制器的设计[J].河南科学,2003,21(2):224-227.

[3] 沈权.太阳能热水器控制器的设计[J].科技风,2010,(5):192-192. [4] 李章勇,官方勇.太阳能热水器控制器研制[J].电子测试,2008,(5):83-86.

[5] 袁小平,陈跃,任平俊等.一种智能型太阳能热水器控制器的研制[J].江苏煤炭,2004,(2):84-85.

[6] 王正彦,臧宏文.一种非电测量法在太阳能热水器控制器中的应用[J].青岛大学学报(自然科学版),2003,16(4):76-79.

[7] 范延滨,王正彦.太阳能热水器控制器中测量模型[J].电子测量技术,2004,(3):14-15. [8] 谭树龙,王瑞玲.家用太阳能热水器控制器[J].家庭电子(爱好者),2005,(9):31-32. [9] 霍振宇,马永强,杨珠等.智能化太阳能热水器控制器设计[J].煤炭技术,2011,30(7):215-216.

[10] 田泽克.太阳能热水器上水控制电路制作[J].电子制作,2011,(7):56-57. [11] 白杰.太阳能热水器智能控制器的设计[J].科技创业家,2011,(6):173.

[12] 李向阳,莫鸿强,肖迳等.太阳能热水器中辅助电热水装置控制器的开发[J].电子技术应用,2004,30(4):33-35.

[13] 应进平.太阳能热水器自动控制系统设计[J].计算机测量与控制,2006,14(12):1652-1653,1710.

[14] 欧丹,李凯.太阳能工程热水器控制器的设计与实现[J].现代电子技术,2010,33(21):178-180.

[15] 方益明,蔺陆军,李剑等.农村太阳能热水器水温水位控制系统[J].农机化研究,2012,34(2):207-210.

[16] 刘福才,朴春俊,刘丰. 基于DS12887的太阳能热水器智能控制器的设计[J].自动化与仪表,2000,(04)15—17.

[17] 陈家胜,朱小松,单学明. 太阳能热水器辅助电加热控制器的研制[J].电子技术,2000,(10) 31—34.

29

参考文献

[18] 李保应,苑田宾,王晓蒲. PIC16C74在太阳能热水器控制系统中的应用[J].电子技术,2001,(08)24—26.

[19] 鲍文胜.基于单片机的太阳能热水器控制系统研究[J].青岛理工大学学报,2007,(05)79—80,110.

[20] 段哲民,王虎,赵冠华等. 基于FPGA的太阳能热水器控制系统[J].电子技术应用,2008,(10)58—60.

30

致谢

致谢

经过几个月的努力,本人的毕业设计已经完成。回想这几个月的学习,从开题到论文的顺利完成,得到了老师和同学们的很多帮助。

首先要感谢本人的指导老师张畅老师,在设计的过程中,张老师从选题,设计方案,论文修改直至成稿一直给予了很多的指导和帮助,同时也提供了相关的参考资料,为本人解答疑惑,提供了很多关键性的建议。他严谨细致,一丝不苟的作风一直是本人学习、工作中的榜样,他循循善诱的教导和不拘一格的思路给本人无尽的启迪。

还有本人的室友和很多同学也给了很多的帮助,她们给予鼓励与意见,让本人度过了这段艰辛的时期。特别要感谢寝室的同学们,一直以来都在鼓励本人,在做仿真时一直都在帮助本人,如果没有她们的热心帮忙,此次设计的完成将变得非常困难。

对于这次毕业设计中给予本人帮助的老师和同学致以感谢!

31

附录

附录

附录1:程序

GE_BIT EQU 40H SHI_BIT EQU 41H DI_8BIT EQU 43H GAO_8BIT EQU 44H DQ EQU P1.0 ;温度传感器I/O口

ORG 0000H LJMP MAIN ORG 0003H

LJMP HEAT ;辅助加热 ORG 000BH LJMP PLUS ;温度加1 ORG 0013H

LJMP RISE ;自动加水 ORG 001BH

LJMP MINUS ;温度减1

ORG 0020H

MAIN:MOV SP,#60H MOV 30H,#0 ;30H-33H显示缓冲区 MOV 31H,#0 MOV 32H,#0 MOV 33H,#0 MOV 50H,#5 ;存放温度设定值 MOV 51H,#2

MOV DPTR,#07100H ;选中8155 MOV A,#3H

MOVX @DPTR,A MOV IP,#0FH ;中断优先级

MOV TCON,#05H ;外部中断脉冲触发有效 MOV IE,#8FH ;中断总允许,允许定时器和外部中断 MOV TMOD,#55H ;接通外部技术引脚T0T1 MOV TH0,#0FFH MOV TL0,#0FFH MOV TH1,#0FFH MOV TL1,#0FFH SETB TR0 ;启动定时器 SETB TR1 CLR P2.4 CLR P2.6

TURN:

32

南京工业大学本科生毕业设计(论文)

LCALL WATER

LCALL ZHUANHUAN ;调用读温度子程序 LCALL DISPLAY LCALL WARN ;水温水位报警 AJMP TURN

WATER: ;水位按键判断 JNB P2.3 ,LOOP5 JNB P2.2,LOOP4 JNB P2.1,LOOP3 JNB P2.0,LOOP2 LCALL DISP RET

LOOP2:MOV 32H,#0 MOV 33H,#0 LCALL DISP RET

LOOP3:MOV 32H,#0 MOV 33H,#3 LCALL DISP RET

LOOP4:MOV 32H,#0 MOV 33H,#6 LCALL DISP RET

LOOP5:MOV 32H,#0 MOV 33H,#9 LCALL DISP RET

WARN:MOV A,51H SWAP A

ORL A,50H MOV 52H,A MOV A,31H SWAP A ORL A,30H

CJNE A,52H,PD CLR P2.6 CLR P1.2 SETB P1.1 LJMP EXIT PD:JC BBB

;水温报警 ;50H和51H 合并 ;30H和51H合并 ;检测到的温度与设定温度比较 ;温度<设定值则 跳到BBB

33

附录

CLR P2.6 CLR P1.2 SETB P1.1 SJMP EXIT

BBB:LCALL WARNING EXIT:RET

WARNING:MOV A,#0 CJNE A,33H,PD1 CLR P1.2 SETB P1.1 AJMP OUT1 PD1:MOV A,#9

CJNE A,33H,BB CLR P1.2 SETB P1.1 AJMP OUT1 BB:SETB P1.2 CLR P1.1 OUT1:RET

/*4个中断*/

PLUS: ;温度加1中断 PUSH 30H PUSH 31H

MOV TH0,#0FFH MOV TL0,#0FFH MOV A,50H CJNE A,#9,CC MOV 50H,#0 INC 51H AJMP CC1 CC:INC 50H CC1:

MOV 30H,50H MOV 31H,51H MOV R1,#07FH

CFU:LCALL DISP1 DJNZ R1,CFU POP 30H POP 31H RETI

MINUS: ;温度减1中断 PUSH 30H

;水位报警 ;没水时报警

;水满时报警

;将设定值显示一段时间34

本文来源:https://www.bwwdw.com/article/35x6.html

Top