太阳能热水器控制系统的设计_第1页
太阳能热水器控制系统的设计_第2页
太阳能热水器控制系统的设计_第3页
太阳能热水器控制系统的设计_第4页
太阳能热水器控制系统的设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、太阳能热水器控制系统的设计届 别 2014届系 别 计算机系专 业 计算机科学与技术姓 名 郭昕昕指导教师 张连生 二一四年五月学士学位论文(设计)原创性声明 本人郑重声明:所提交的学位论文是本人在导师指导下独立进行研究工作所取得的成果,恪守学术道德,坚守学术诚信,遵守学术规范。除文中已注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文研究做出过重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。学位论文作者签名(亲笔): 年 月 日学士学位论文(设计)版权使用授权书专业: 论文(设计)题目: 本学位论文作者完全了解学校有关

2、保留、使用学位论文的规定,本科生在校攻读期间学位论文(设计)工作的知识产权单位属太原师范学院,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅;本人授权太原师范学院可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 毕业后发表与本研究有关的文章,作者单位署名应为“太原师范学院”,可以在备注中注明本人现工作单位。本研究成果的知识产权归属太原师范学院,未经指导教师和太原师范学院同意,本人不私自从事与课题有关的任何开发和盈利性活动。学位论文(设计)作者签名(亲笔): 年 月 日导 师 签 名 (亲笔): 年 月

3、 日目 录2.绪论- 2 -2.1太阳能热水器的发展历史及市场前景- 2 -2.1.1发展历史- 2 -2.1.2市场前景- 3 -2.2太阳能热水器的工作原理- 3 -2.3太阳能热水器的应用及意义- 3 -3.方案设计- 3 -3.1 主控芯片模块- 3 -3.2温度检测模块- 4 -3.3 LCD1602温度显示模块- 4 -3.4警报模块- 4 -4.系统整体设计- 4 -4.1系统任务及要求- 4 -4.2硬件设计- 5 -4.2.1主芯控制模块-SST89E516RD单片机- 5 -4.2.2温度检测模块- 5 -4.2.3LCD1602液晶显示模块- 6 -4.2.4人控加热模块

4、- 8 -4.2.5报警模块- 8 -4.3软件设计- 10 -4.3.1主程序:- 10 -4.3.1.1主程序流程图:- 10 -4.3.1.2主程序代码:- 10 -4.3.2子程序- 13 -4.3.2.1子程序代码- 13 -5.仿真测试步骤及结果分析- 17 -5.1、仿真测试步骤- 17 -5.2仿真测试结果分析- 18 -5.2.1测试结果:- 18 -5.2.2结果分析:- 18 -5.2.3测试中遇到的困难- 19 -6.结论- 19 -7.附录(单片机开发板原理图)- 20 -8.参考文献- 21 - 太阳能热水器控制系统的设计学生姓名:郭昕昕 指导教师:张连生 摘要:

5、该设计以单片机SST89E516RD为核心,结合单线数字温度传感器DS18B20、LCD1602液晶屏与蜂鸣器,设计一种数字化、智能化的太阳能热水器控制系统。该系统由主控芯片模块、DS18B20温度检测模块、LCD1602温度和水位显示模块、自动加水模块和水温超标警报模块组成。给出了各个模块的结构及其工作原理、系统硬件原理图、程序流程图和部分源程序,并结合理论设计进行仿真模拟测试。我们都知道,目前市面上大多数太阳能热水器都没有加水只能中断装置,并且只能在晴天使用,而阴天则无法加热。此系统将水温水位检测模块、水温水位显示模块与报警模块结合,LCD1602屏幕上会显示水位和温度,并且在水位低于设置

6、值时可人控开启加水开关开始加水,LCD1602上显示水位变化情况,当水位到达标准水位时自动中断;当通电对水加热时,LCD1602屏幕上动态显示温度;当温度到达设定的标准温度时,触发警报系统,提示人关闭加热装置。此系统解除了太阳能热水器加水时无人守候造成水资源浪费和只能在晴天使用的问题,解决了人们常遇到的实际问题。该系统与传统的机械式控制系统相比较,具有结构简单,抗干扰能力强,使用方便等特点。 关键词:单片机SST89E516RD; 温度传感器DS18B20; LCD1602液晶; 警报; 1.引言 随着传统能源成本的不断上升及环境的持续恶化,以及全球人口和经济规模的不断增长,促使太阳能产业迅猛

7、发展。太阳能热水器将太阳光能转化为热能,将水从低温度加热到高温度,以满足人们在生活、生产中的热水使用。 太阳能不但节能高效省钱,而且在使用时不会对环境造成污染。此外,太阳能热水器的使用寿命很长,若使用合理,其寿命可长达15年之久。只要在太阳照射到的地方,就可以使用太阳能热水器。针对一般太阳能热水器加水不能自动断开和只能在晴天对水进行加热而阴天不能的情况,本课题特地进行改进设计,将温度、水位测试和显示系统与报警系统结合,设置适当的标准水位和温度,当水位达到标准水位时自动中断,当水温加热到设定温度时,报警系统发出警报,提示关闭加热装置。2.绪论2.1太阳能热水器的发展历史及市场前景2.1.1发展历

8、史1978年中国诞生第一台太阳能热水器。1987年,中国制造了第一支全玻璃真空集热管。 1993年太阳能产业进入初级发展阶段。 1997-2001年太阳能产业得到高速发展,逐渐形成北京、鲁东、泰安、扬州、海宁等5个产业基地,并以此向周围不断辐射,产能得以迅速提升。 目前我国已成为世界上最大的太阳能热水器生产国和太阳能热水器市场,该产业也成为我国唯一在生产能力和利用规模上处于世界领先水平的可再生能源产业。2.1.2市场前景 随着太阳能热利用行业竞争态势的日趋激烈,有长远发展眼光的太阳能企业开始将创新放在各项工作的重中之重,无论是在核心技术还是外观形象,无论是集热技术、保温技术还是高能效技术、太阳

9、能与建筑一体化技术,都取得了飞速的发展与进步。目前,我国城乡居民对洗浴热水的需求增长迅猛。在农村地区和中小城市,太阳能热水器已经成为提高人民生活质量、全面建设小康社会的重要手段。随着中高温太阳能热水器的开发以及太阳能与建筑一体化技术的日益完善,太阳能热水器的应用领域不再局限于提供热水,正逐步向取暖、制冷、烘干和工业应用方向拓展,中国太阳能热水器市场潜力巨大。2.2太阳能热水器的工作原理 太阳能热水器把太阳光能转化为热能,将水从低温度加热到高温度,以满足人们在生活、生产中的热水使用。太阳能热水器按结构形式分为真空管式太阳能热水器和平板式太阳能热水器,目前真空管式太阳能热水器为主,占据国内95%的

10、市场份额。真空管式家用太阳能热水器是由集热管、储水箱及支架等相关附件组成,把太阳能转换成热能主要依靠集热管。集热管利用热水上浮冷水下沉的原理,使水产生微循环而达到所需热水。2.3太阳能热水器的应用及意义 在全球能源形势紧张、气候变暖严重威胁经济发展,世界能源的日益紧缺、油价的不断攀升和居民生活水平的高和洗浴舒适度要求提高的今天,世界各国都在寻求新的能源替代战略,以求得可持续发展和在日后的发展中获取优势地位。太阳能以其清洁、源源不断、安全等显著优势,成为关注重点。3.方案设计3.1 主控芯片模块SST公司的高可靠性、专利的闪存技术和存储器单元结构有很多的优点,这些优点给我们的客户提供明显的成本和

11、可靠性改善。本课题研究采用SST89E516RDD为核心进行探究。下面是SST89E516RDDD的一些特点:1. 片内用户程序空间可达72K。2. 片内EEPROM 数据存储容量可超64。.3. 5 个通道的PWM 信号输出,可实现5 路的D/A 数模转换.4. 6个UART 串口。让产品的通讯功能更加灵活,省掉昂贵的串口扩展芯片5. 1 个SPI 串口。6. 内嵌电压检测电路,节省外部的电源管理及复位芯片。7. 在片仿真功能,SOFTICE 功能,让开发工程师省掉仿真器,并弥补了仿真器的不能仿真扩展功能,接触不良,编程不能运行、价格昂贵的缺陷。8. 在线编程功能。EASYIAP工具软件,让

12、开发工程师省掉编程器。9. 程序和数据存储空间互补利用,用户程序剩下的FLASH 空间,均可作为数据存储。超级灵活。3.2温度检测模块 DS18B20 是美国DALLAS 公司生产的“一线总线”接口的数字化传感器,他具有微型化、低功耗、抗干扰能力强、易与微处理器接口等优点,可直接将温度转化成串行数字信号供微处理器接收处理。利用这种温度传感器构成的温度测量系统电路非常简单、易于实现,并且适用于几乎所有类型的单片机。 DS1820 温度传感器是一种单总线型温度测量器件,具有直接的数字信号,可采用总线供电,在同一根总线上可接多个传感器,构成多点测温网络,是温度场监控系统的理想选择。DS18B20 的

13、温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。因此本课题采用DS18B20 温度控制器用来检测水温。3.3 LCD1602温度显示模块液晶(Liquid Crystal)是一种高分子材料,因为其特殊的物理、化学、光学特性,20世纪中叶开始广泛应用在轻薄型显示器上。液晶显示器(Liquid Crystal Display, LCD)的主要原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。为叙述简便,通常把各种液晶显示器都直接叫做液晶。液晶显示的使用有多广泛我就不多说了,LCD1602 好像10 元左右就可以拿到了的,不算贵。综合各种因素,本课题最终选择LCD1602液

14、晶来显示温度和水位。3.4警报模块蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。为了防止出现太阳能热水器开启加热装置后无人守候导致资源浪费和电路安全问题,此课题特别引入蜂鸣器作警报装置。 4.系统整体设计4.1系统任务及要求 本系统主要分为硬件和软件两部分。硬件系统主要解决系统的硬件连接与各功能的分配,各部分的地址分配也被分到硬件部分里。在软件部分中,则具体分析系统的工作流程,编出部分子程序和中断服务程序。系统设计要求:1. LCD液晶屏上显示水位及其变化;2. 具有中断电路; 3.

15、LCD1602液晶屏上显示温度及其变化; 4.具有加热装置; 5.当温度加热到超过设置值时警报启动;4.2硬件设计4.2.1主芯控制模块-SST89E516RD单片机 SST89E516RD是SST公司8位微处理器FlashFlex51系列的成员,是采用先进的闪存CMOS半导体技术设计和制造,这些器件是采用8051的指令集,并和标准的8051控制器管脚兼容。 芯片内部带有16/24/40/72Kbyte的片内FLASH EEPROM存储器,使用了SST公司专利的CMOS闪存技术,存储器被分成两块独立的程序存储器,第一块(BLOCK0)占用8/16/32/64Kbyte 的内部程序存储器空间,第

16、二块(BLOCK0)占用8Kbyte 的内部程序存储器空间。8Kbyte 的第二块FLASH可以映射到8/16/32/64Kbyte空间的低地址,还可以被隐藏和当成类似EEPROM的独立的数据存储器。 4.2.2温度检测模块1. DSl8B20工作原理及应用美国DALLAS 半导体公司的DSl8B20 是世界上第一片支持“单总线”接口的数字式温度传感器,能够直接读取被测物的温度值。DS18B20 的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解18B20 的内部存储器资源。18B20 共有三种

17、形态的存储器资源,它们分别是:(1)ROM 只读存储器,用于存放DS18B20ID编码,其前8 位是单线系列编码(DS18B20 的编码是19H),后面48 位是芯片唯一的序列号,最后8 位是以上56 位的CRC 码(冗余校验)。数据在出厂时设置不由用户更改。DS18B20 共64 位ROM。(2)RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20 共9 个字节RAM,每个字节为8 位。如表1-2所示。第1、2 个字节是温度转换后的数据值信息,第3 和第4 字节是高温触发器TH 和低温触发器TL 的易失性拷贝,第5 个字节为配置寄存器,它的内容用于确定温度值的数字转换

18、分辨率,DS18B20 工作时寄存器中的分辨率转换为相应精度的温度数值。以上字节内容每次上电复位时被刷新。配置寄存器字节各位的定义如表1-3 所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20 出厂时该位被设置为0,用户不要去改动;R1 和R0 用来设置分辨率,决定温度转换的精度位数。如下表所示。 18B20的RAM各字节定义温度LSB温度MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRC配置寄存器中的各位定义TMR1R011111为了保证数据可靠地传输,任一时刻1-Wire总线上只能有一个控制信号或数据。进行数据通信时应符合1-

19、Wire总线协议,访问DS18B20的操作顺序遵循以下三步:第一步:初始化第二步:R O M 命令第三步:DS18B20 功能命令2.初始化基于1-Wire总线上的所有传输过程都是以初始化开始的,主机发出复位脉冲,从机响应应答脉冲。应答脉冲使主机知道,总线上有从机设备,且准备就绪。3.DSl8B20工作原理电路图如图4.3所示。图4.3 DS18B20电路图4.2.3LCD1602液晶显示模块液晶(Liquid Crystal)是一种高分子材料,因为其特殊的物理、化学、光学特性,20世纪中叶开始广泛应用在轻薄型显示器上。液晶显示器(Liquid Crystal Display, LCD)的主要

20、原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。为叙述简便,通常把各种液晶显示器都直接叫做液晶。各种型号的液晶通常是按照显示字符的行数或液晶点阵的行、列数来命名的。1602的意思是每行显示16个字符。1602 的引脚定义,1602 的引脚是很整齐的SIP 单列直插封装,所以器件手册只给出了引脚的功能数据表:本次课题所用开发板上的电路(如图4.4):图4.44.2.4人控加热模块加热控制电路由单片机P1口的P1.4控制。通过单片机送给加热执行机构进行加热,电路驱动电磁锁吸合与打开,从而达到加热的目的。光耦可以隔离输入量与输出量,在本设计中起到隔离单片机与电磁继电器的作用。当单片机发

21、出开锁信号时,P1.4口为低电平,此时光耦内部的的发光二极管导通,接收三极管吸收光而导通,因此使继电器处于常开端即加热。当输入密码错误时,输入端为高电平,电磁继电器的中心抽头由“常开”接到“常闭”,此时不加热。加热电路如图4.5所示。图4.54.2.5报警模块 蜂鸣器硬件电路如下图(4.6、4.7)直流蜂鸣器是给一定的驱动直流电压就会响。而交流蜂鸣器是需要给蜂鸣器一个脉冲才会响。常见的有PWM波控制蜂鸣器的频率。脉冲就是高低电平的切换。 我们用单片机的IO口实现一种这样高低电平的方波,驱动蜂鸣器发音。我们板子上配的就是交流蜂鸣器。 图4.6 图4.7电路连接:P1.5接J8(图4.10)图4.

22、104.3软件设计4.3.1主程序:4.3.1.1主程序流程图:4.3.1.2主程序代码: #include#includelcd.h#includetemp.h#define uchar unsigned char#define uint unsigned intvoid LcdDisplay(int);uchar code DIS1 = Water heater ;uchar code DIS2 = experiment ;/热水器实验uchar code DIS31 = Press OK ;/点 确定uchar code DIS32 = Start injection ;/开始注水uch

23、ar code DIS41 = Set level:100 ;/设定水位uchar code DIS42 = water level: ;/水位uchar code DIS51 = Water finish ;/注水完成uchar code DIS52 = Start Heating ;/开始加热uchar code DIS6 = initial temp:25 ;/初始温度uchar code DIS7 = Set temp:31 ;/设定温度 uchar code DIS8 = Water temp: ;/水温uchar code DIS9 = Stop Heating ;/停止加热sbi

24、t kongzhi=P10;sbit Beep = P15 ; unsigned char n=0; /n为节拍常数变量 unsigned char code music_tab = 0x18, 0x30, 0x1C , 0x10, /格式为: 频率常数, 节拍常数, 频率常数, 节拍常数, 0x20, 0x40, 0x1C , 0x10, 0x18, 0x10, 0x20 , 0x10, 0x1C, 0x10, 0x18 , 0x40, 0x1C, 0x20, 0x20 , 0x20, 0x1C, 0x20, 0x18 , 0x20, 0x20, 0x80, 0xFF , 0x20, 0x3

25、0, 0x1C, 0x10 , 0x18, 0x20, 0x15, 0x20 , 0x1C, 0x20, 0x20, 0x20 , 0x26, 0x40, 0x20, 0x20 , 0x2B, 0x20, 0x26, 0x20 , 0x20, 0x20, 0x30, 0x80 , 0xFF, 0x20, 0x20, 0x1C , 0x10, 0x18, 0x10, 0x20 , 0x20, 0x26, 0x20, 0x2B , 0x20, 0x30, 0x20, 0x2B , 0x40, 0x20, 0x20, 0x1C , 0x10, 0x18, 0x10, 0x20 , 0x20, 0x2

26、6, 0x20, 0x2B , 0x20, 0x30, 0x20, 0x2B , 0x40, 0x20, 0x30, 0x1C , 0x10, 0x18, 0x20, 0x15 , 0x20, 0x1C, 0x20, 0x20 , 0x20, 0x26, 0x40, 0x20 , 0x20, 0x2B, 0x20, 0x26 , 0x20, 0x20, 0x20, 0x30 , 0x80, 0x20, 0x30, 0x1C , 0x10, 0x20, 0x10, 0x1C , 0x10, 0x20, 0x20, 0x26 , 0x20, 0x2B, 0x20, 0x30 , 0x20, 0x2

27、B, 0x40, 0x20 , 0x15, 0x1F, 0x05, 0x20 , 0x10, 0x1C, 0x10, 0x20 , 0x20, 0x26, 0x20, 0x2B , 0x20, 0x30, 0x20, 0x2B , 0x40, 0x20, 0x30, 0x1C , 0x10, 0x18, 0x20, 0x15 , 0x20, 0x1C, 0x20, 0x20 , 0x20, 0x26, 0x40, 0x20 , 0x20, 0x2B, 0x20, 0x26 , 0x20, 0x20, 0x20, 0x30 , 0x30, 0x20, 0x30, 0x1C , 0x10, 0x1

28、8, 0x40, 0x1C , 0x20, 0x20, 0x20, 0x26 , 0x40, 0x13, 0x60, 0x18 , 0x20, 0x15, 0x40, 0x13 , 0x40, 0x18, 0x80, 0x00 ;/* *函数名 : main *函数功能 : 主函数*/void main()LcdInit(); /初始化LCD1602Init();zhushui();jiare();LcdWriteCom(0xc8);/写地址 80表示初始地址LcdWriteData(C); doLcdDisplay(Ds18b20ReadTemp();Delay1ms(1000);/1s钟刷

29、一次while(Ds18b20ReadTemp()500);4.3.2子程序4.3.2.1子程序代码1. 注水模块/* 函数名 : zhushui* 函数功能 : 注水函数*/void zhushui()uchar date,i;LcdWriteCom(0x80); /设置坐标在第一行for(i=0; i16; i+)LcdWriteData(DIS31i);LcdWriteCom(0x80+0x40); /设置坐标在第一行for(i=0; i16; i+)LcdWriteData(DIS32i);while(kongzhi=1);LcdWriteCom(0x80); /设置坐标在第一行for

30、(i=0; i16; i+)LcdWriteData(DIS41i);LcdWriteCom(0x80+0x40); /设置坐标在第一行for(i=0; i16; i+)LcdWriteData(DIS42i);doLcdWriteCom(0xcd); /写地址 80表示初始地址LcdWriteData(0+date/100); /百位 LcdWriteCom(0xce); /写地址 80表示初始地址LcdWriteData(0+date%100/10); /十位LcdWriteCom(0xcf);/写地址 80表示初始地址LcdWriteData(0+date%10); /个位 delay(

31、1000);date+=5;while(date105);2.温度检测模块/* 函数名 : jiare* 函数功能 : 加热函数*/void jiare()uchar i;LcdWriteCom(0x80); /设置坐标在第一行for(i=0; i16; i+)LcdWriteData(DIS51i);LcdWriteCom(0x80+0x40); /设置坐标在第一行for(i=0; i16; i+)LcdWriteData(DIS52i);delay(1000);LcdWriteCom(0x80); /设置坐标在第一行for(i=0; i16; i+)LcdWriteData(DIS6i);

32、LcdWriteCom(0x80+0x40); /设置坐标在第一行for(i=0; i16; i+)LcdWriteData(DIS7i);delay(1000);LcdWriteCom(0x80); /设置坐标在第一行for(i=0; i16; i+)LcdWriteData(DIS8i);delay(1000);2. LCD1602液晶显示模块/* 函数名 : Init* 函数功能 : 开机界面函数*/void Init() uchar i; LcdWriteCom(0x80); /设置坐标在第一行for(i=0; i16; i+)LcdWriteData(DIS1i);LcdWriteC

33、om(0x80+0x40); /设置坐标在第一行for(i=0; i16; i+)LcdWriteData(DIS2i);while(kongzhi=1);/* 函数名 : LcdDisplay()* 函数功能 : LCD显示读取到的温度* 输入 : v* 输出 : 无*/void LcdDisplay(int temp) /lcd显示 unsigned char datas = 0, 0, 0, 0, 0; /定义数组float tp; if(temp 0)/当温度值为负数 LcdWriteCom(0x80);/写地址 80表示初始地址 LcdWriteData(-); /显示负/因为读取的

34、温度是实际温度的补码,所以减1,再取反求出原码temp=temp-1;temp=temp;tp=temp;temp=tp*0.0625*100+0.5;/留两个小数点就*100,+0.5是四舍五入,因为C语言浮点数转换为整型的时候把小数点/后面的数自动去掉,不管是否大于0.5,而+0.5之后大于0.5的就是进1了,小于0.5的就/算由?.5,还是在小数点后面。 else /LcdWriteCom(0x80);/写地址 80表示初始地址 /LcdWriteData(+); /显示正tp=temp;/因为数据处理有小数点所以将温度赋给一个浮点型变量/如果温度是正的那么,那么正数的原码就是补码它本身

35、temp=tp*0.0625*100+0.5;/留两个小数点就*100,+0.5是四舍五入,因为C语言浮点数转换为整型的时候把小数点/后面的数自动去掉,不管是否大于0.5,而+0.5之后大于0.5的就是进1了,小于0.5的就/算加上0.5,还是在小数点后面。datas0 = temp / 10000;datas1 = temp % 10000 / 1000;datas2 = temp % 1000 / 100;datas3 = temp % 100 / 10;datas4 = temp % 10;LcdWriteCom(0xc2); /写地址 80表示初始地址LcdWriteData(0+da

36、tas0); /百位 LcdWriteCom(0xc3); /写地址 80表示初始地址LcdWriteData(0+datas1); /十位LcdWriteCom(0xc4);/写地址 80表示初始地址LcdWriteData(0+datas2); /个位 LcdWriteCom(0xc5);/写地址 80表示初始地址LcdWriteData(.); /显示 .LcdWriteCom(0xc6); /写地址 80表示初始地址LcdWriteData(0+datas3); /显示小数点 LcdWriteCom(0xc7); /写地址 80表示初始地址LcdWriteData(0+datas4);

37、 /显示小数点 void int0() interrupt 1 /采用中断0 控制节拍 TH0=0xd8; TL0=0xef; n-; 3.警报模块代码/* 函数名 : jingbao* 函数功能 : 加热函数*/void jingbao() uchar p,m; /m为频率常数变量 uchar i=0; uchar j;LcdWriteCom(0x80); /设置坐标在第一行for(j=0; j16; j+)LcdWriteData(DIS9j);LcdWriteCom(0x80+0x40); /设置坐标在第一行for(j=0; j16; j+)LcdWriteData(DIS9j); TM

38、OD&=0x0f; TMOD|=0x01; TH0=0xd8;TL0=0xef; IE=0x82; play: while(1) a: p=music_tabi; if(p=0x00) i=0, delayms(1000); goto play; /如果碰到结束符,延时1秒,回到开始再来一遍 else if(p=0xff) i=i+1;delayms(100),TR0=0; goto a; /若碰到休止符,延时100ms,继续取下一音符 else m=music_tabi+, n=music_tabi+; /取频率常数 和 节拍常数 TR0=1; /开定时器1 while(n!=0) Beep

39、=Beep,delay1(m); /等待节拍完成, 通过P1口输出音频(可多声道哦!) TR0=0; /关定时器1 5.仿真测试步骤及结果分析5.1、仿真测试步骤1、安装Keil uVision4并注册;2、安装开发板USB转串口CH340驱动3、打开Keil软件,新建工程;4、选择芯片SST89E516RDD;5、新建文档,编写程序好代码,保存为.c文档,把保存的文档加载到Source Group;6、编译程序,:用于编译目前工作区的程序但不做链接;:用于编译整个项目文件并链接,如果之前编译过一次之后程序没有做任何编辑的话,这个时候再点击是不会再次重新编译的;:重新编译整个项目文件并链接,每

40、点击一次均会再次编译链接一次,不管程序是否有改变。在确定编译程序0错误0警告的情况下进行下一步,否则根据编译结果修改程序。7、根据设计对开发仪上的各相关引脚进行连线;8、把单片机开发仪通过USB线与电脑连接,通过查看计算机属性查找开发仪与电脑相连的端口号,对它的一些属性重新进行设置:点击,把Target选项卡中的Xtal(MHz)设为11.0592;在Debug选项卡中,选择“use”: ,然后点击“Settings”,把端口号Port改为之前查到的端口号。;9、再次编译进行软件仿真调试,单击,进入除错(Debug)模式。10、给实验板进行通电,运行程序,单击,观察运行结果;停止运行,单击。5

41、.2仿真测试结果分析5.2.1测试结果:1. 打开开发板上的电源开关,LCD1602亮起。2. 开始运行程序,LCD1602屏幕上开始显示“water heater experiment”;3. 当按下按键K1时,屏幕上开始显示“Start injection”表示通过按键控制开始注水;4. 屏幕上会显示水位,并且水位模拟增加,当增加到设定值100时自动中断加水,并显示“注水完成”;5. 再次按下K1时,屏幕显示“initial temp:25”初始值为25;6. 屏幕上的温度不断上升,当手接触温度传感器时,温度一步步提高,当达到设定值31度时触发警报装置开启,提醒人关闭加热装置。 5.2.2

42、结果分析: 本系统基本上能符合设计要求,因条件所限还未有实际的运行,而且注水模块目前无法真正实施,因此目前只是进行了仿真测试。测试结果图片展示: 5.2.3测试中遇到的困难在本次设计中,由于对LCD1602和蜂鸣器,温度器的各个基础实验程序的连接不当,比如变量的设置、函数的调用等,多次没能成功,最终在张老师和同学的帮助下,经过一段长时间的测试和修改,终于成功。6.结论 本次课题设计实现了太阳能热水器的水温检测、水温显示、水位显示,断电加热、超标准温度警报等功能,具有一定的实际意义。通过这次毕业设计,在张老师的悉心指导下,我学到了单片机的基本原理、应用开发,以及常用编程设计思路等专业知识,提高了

43、全面分析和解决问题和动手的能力。对我以后参加工作或者继续学习将会产生巨大的帮助和影响。8.参考文献【1】孙俊逸,盛秋林,张铮.单片机原理及应用. 北京:清华大学出版社,2006【2】张西. 基于MCS-51单片机的测温系统 J.电子工程师; 2002年06期; 31-33【3】周航慈. 单片机应用程序设计技术. 北京航空航天大学出版社,1998. 2005【4】何立明.MCS-51单片机应用系统设计.北京 :北京航天航空大学出版社,1990【5】张志良编著.单片机原理与控制技术.第2版. 机械工业出版社【6】周立功编著.单片机基础实验指导书.第1版. 广州周立功单片机发展有限公司出版社【7】宫

44、亚梅. 基于Proteus和Keil的单片机课程设计J. 济南职业学院学报. 2008(5):1-3【8】戴佳, 戴卫恒. 51单片机C语言应用程序设计实例精讲M. 北京电子工业出版社, 2006:11-20【9】张振荣, 晋明武, 王投平. MCS-51单片机原理及实用技术M. 北京: 人民邮电出版社, 2000:64-120【10】徐龙坤. 辅助加热式太阳能热水器J. 家用电器, 1997, 15(2):9-10【11】张涛, 王金岗. 单片机原理与接口技术M. 北京: 冶金工业出版社, 2007:72-80【12】李广第等. 单片机基础M. 北京: 北京航空航天大学出版社, 2001:7

45、7-93【13】殷为民. 太阳能水温水位仪J. 家用电子, 1999,5(1):37-38【14】 Predictive Energy Balance for Solar Hot Water Systems, Centre for Sustainable Energy SystemsJ. 2005:115-130【15】Dreamtech Software Team, Programming for Embedded Systems-Cracking the Code, Hungry MindsJ. 2002.4:33-42The Design of Solar water heater co

46、ntrol system Student: Guo Xinxin Tutor:Zhang LianshengAbstract:This design takes monolithic integrated circuit SST89E516RD as the core, combining the single digital temperature sensor DS18B20 , LCD1602 Liquid Crystal and buzzer ,to design a kind of digital, intelligent control system of solar energy water heater.The system consists of main chip module, DS18B20 temperature detection module, LCD602 liquid crystal module,heat of human-control moudle and alarm module. Given to the structure of each module and its w

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论