毕业论文——太阳能热水器.doc
《毕业论文——太阳能热水器.doc》由会员分享,可在线阅读,更多相关《毕业论文——太阳能热水器.doc(43页珍藏版)》请在咨信网上搜索。
1 绪论 在我设计太阳能热水器的控制系统之前,首先了解一下太阳能热水器的组成与工作原理,了解一下太阳能热水器的基本构架和工作过程,以及太阳能热水器发展概况和深远利用价值。 1.1 太阳能热水器的组成与工作原理 图1.1 热水器装置简图 1-集热器 2-下降水管3-循环水管4-补给水箱5-上升水管6-自来水管7-热水出水管 热水器主要由集热器、循环管道和水箱等组成,图中为典型的热水器装置图。图中集热器1按最佳倾角放置,下降水管2的一端与循环水箱3的下部相连,另一端与集热器1的下集管接通。上升水管5与循环水箱3上部相连,另一端与集热器1的上集管相接。补给水箱4供给循环水箱3所需的冷水。 集热器吸收太阳辐射后,集热器内温度上升,水温也随之升高。水温升高后,热水的比重减轻,便经上升水管进入循环水箱上部。而循环水箱下部的冷水比重较大,就由水箱下流到集热器下方,在集热器内受热后又上升。这样不断对流循环,水温逐渐提高,直到集热器吸收的热量与散失的热量相平衡时,水温不再升高。这种热水利用循环加热的原理,因此又称循环热水器。 集热器是一种利用温室效应,将太阳能辐射转换为热能的装置,该装置与一般热水交换器不一样,热交换器通常只是液体到液体,或是液体到气体的热交换过程,而平板行集热器时直接将太阳辐射传给液体或气体,是一个复杂的传热过程。平板型集热器结构形式很多,世界上已实用的集热器就有直管式、瓦楞式、扁管式、铝翼式等二十多种。 1.2 太阳能热水器的发展概况及市场竞争分析 我国自78年引进全玻璃真空集热管的样管以来,经过20多年的努力,攻克了热压封等许多技术难关,已经建立了拥有自主知识产权的现代化全玻璃真空集热管产业,用于生产集热管的磁控溅射镀膜机已有745台,产品质量达到世界先进水平,产量雄居世界首位。 1978年中国诞生第一台太阳能热水器,到1986年卧式磁控溅射镀膜机的设计制造,是在政策扶持下的研究开发阶段。1987年,我国制造了第一支全玻璃真空集热管。在之后的几年里,全玻璃和热管式真空管集热器实现了产业化,产业规模达到中试水平,为下一阶段产业的规模化奠定了良好的基础,成为产业的孕育发展阶段。 1993年太阳能产业进入初级发展阶段:由于成果转化需要很长一段时间的磨合,特别是受技术人员缺乏的影响,此阶段的产品质量有待于进一步提高,整体来讲,发展速度较为缓慢。这时候以山东力诺集团为主的真空管生产企业的产品占了真空管生产绝大部分市场。 1997-2001年太阳能产业得到高速发展,逐渐形成北京、鲁东、泰安、扬州、海宁等5个产业基地,并以此向周围不断辐射,产能得以迅速提升。目前,我国是世界上太阳能热水器生产量和销售量最大的国家。太阳能热水器是太阳能利用中最常见的一种装置,经济效益明显,正在迅速的推广应用,太阳能热水器能够将太阳辐射能转换热能,供生产和生活使用。 当今社会发展日新月异,人们衣食住行也在不断的提高。现有电热型热水器费用昂贵及燃气型热水器的不安全性,且排放二氧化碳污染大气,北方用煤气取暖造成城市空气环境污染,这些都是太阳能热水器良好的外部生存环境。太阳能热水器 克服了上述缺点,他是绿色环保产品。它使用简单、方便。太阳能热水器顺应时代发展的要求,满足人们对环保绿色产品的需求。 1.3 太阳能热水器的应用及意义 资源是社会经济发展的物质基础,经济愈发展,对资源的依赖性愈强。许多资源(如煤、石油、天然气等)是不可再生的,而且在利用过程中给人类生存环境带来极大污染,人类繁衍生息的物质和环境基础受到严峻挑战。加强清洁、可再生资源的开发利用,已引起全世界的普遍重视。太阳能作为一种取之不尽、用之不竭的可再生资源,有节能、环保、安全和永续利用等优点,理应成为开发利用的首选。其中太阳能热水器作为家庭生活用品,其开发利用在我国已走过了二十多年的历程,生产技术成熟,具有明显优点: (一)从节能环保的角度讲,使用太阳能热水器不会对环境造成污染,同时为国家节约了大量能源,社会效益明显,是国家重点推广项目,使用前景广阔。 (二)太阳能热水器的使用寿命较长,使用太阳能热水器经济实惠。若使用合理,其寿命可达15年甚至更长。据测算,使用1平方米太阳能热水器,相当于每年节约310度电。太阳能热水器的费用只有燃气热水器的七分之一,电热水器的六分之一。购置太阳能热水器一次性投资3000元左右,使用5至6年就可实现与其热水器的支出对比平衡。按照装置寿命15年计算,其经济效益是十分明显的。 (三)太阳能热水器集热效果好,集热时间更长。只要阳光能照射到的地方,就可以使用太阳能热水器,即使在高寒地区一年四季也可以正常使用。在我国浙江、江苏、山东等地,太阳能热水器的研发和生产已形成规模,应用太阳能热水器的场所也由家居使用扩展到医院、学校、宾馆、饭店、游泳池、洗浴场所等。 - 33 - 2 太阳能热水器控制系统的硬件设计 2.1 主控芯片模块 2.1.1 主控芯片模块电路 单片机系统由AT89C52和一定功能的外围电路组成,包括为单片机提供复位电压的复位电路,提供系统频率的晶振。这部分电路主要负责程序的存储和运行。对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、谐振器的稳定性、起振的快速性和温度的稳定性。晶体可在1.2MHz~12MHz之间任选,电容C1和C2的典型值在20pF~100pF之间选择,但在60pF~70pF时振荡器具有较高的频率稳定性。典型值通常选择为30pF左右,但本电路采用30pF。AT89C52的复位是由外部的复位电路来实现的。复位电路通常采用上电自动复位和按钮复位两种方式。本设计中所用到的是上电按钮复位,如图2.1所示。 图2.1 单片机系统 2.1.2 主控芯片简介 AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止[1]。8位微控制器8K字节在系统可编程Flash AT89S52。图2.2为AT89S52的引脚图 图2.2 AT89S52的引脚图 AT89S52引脚功能说明如下: VCC:电源电压 GND:地[2] P0 口:P0口是一个8位漏极开路的双向I/O口,也即地址/数据总线复用口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0内部上拉电阻被激活。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1 口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动(吸收或输出电流)4个TTL逻辑门电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(TTL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如表2.1所示。在flash编程和校验时,P1口接收低8位地址字节。 表2.1 P1口第二功能 端口引脚 第二功能 P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(TTL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,P3口的第二功能如表2.2。 表2.2 P3口的第二功能 端口引脚 第二功能 端口引脚 第二功能 P3.0 RXD(串行输入口) P3.4 TO(定时/计数器0) P3.1 TXD(串行输出口) P3.5 T1(定时/计数器1) P3.2 INTO(外中断0) P3.6 WR(外部数据存储器写选通) P3.3 INT1(外中断1) P3.7 RD(外部数据存储器读选通) 此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。 RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。WDT溢出将使该引脚输出高电平,设置SFR AUXR的DISRTO位(地址8EH)可打开或关闭该功能。DISRTO位缺省为RESET输出高电平打开状态。 ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效[3]。 PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将有两次有效的PSEN信号。 EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。 XTAL1:振荡器反相放大器及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。 2.2 实时时钟模块 2.2.1 实时时钟模块电路 从古代的滴漏更鼓到近代的机械钟,从电子表到目前的数字时钟,为了准确的测量和记录时间,人们一直在努力改进计时工具。钟表的数字化,大力推动了计时的精确性和可靠性。在单片机构成的装置中,实时时钟是必不可少的部件。 目前常用的实时时钟,很多采用单片机的中断服务来实现,这种方式一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且某些测控系统可能不允许;有的则使用并行接口的时钟芯片,如MC146818、DS12887等,它们虽然能满足单片机系统对实时时钟的要求,但是这些芯片与单片机接口复杂,占用地址、数据总线多,芯片体积大,占用空间多,给其它设计带来诸多不便。 本设计选取串行接口时钟芯片DS1302与单片机同步通信构成数字时钟电路,如图2.3。其简单的三线接口能为单片机节省大量资源,DS1302的后背电源及对后背电源进行涓细电流充电的能力保证电路断电后仍能保存时间和数据信息等。这些优点解决了目前常用的实时时钟所无法解决的问题。该时钟电路强大的功能和优越的性能,在很多领域的应用中,尤其是某些自动化控制、长时间无人看守的测控系统等对时钟精确性和可靠性有较高要求的场合,具有很高的使用价值。 图2.3 DS1302与单片机接口电路 2.2.2 实时时钟简介 DS1302[4]是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.5~5.5V。时钟可工作在24小时格式或12小时(AM/PM)格式。DS1302与单片机的接口使用同步串行通信,仅用3条线与之相连接。可采用一次传送一个字节或突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行细电流充电的能力。 DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc>2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK为时钟输入端。 控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。 DS1302的复位引脚:通过把RST输入驱动置高电平来启动所有的数据传送.RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供了终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中置RST为低电平,则会终止此次数据传送,并且I/O引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。 在控制指令字输入后的下一个SCLK时钟的上升沿时数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位至高位7。 DS1302共有12个寄存器[5],其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。其日历、时间寄存器及其控制字见表2.3。 表2.3 DS1302的日历、时钟寄存器及其控制字 寄存器名 命令字 取值范围 各位内容 写操作 读操作 7 6 5 4 3 2 1 0 秒寄存器 80H 81H 00--59 CH 10SEC SEC 分寄存器 82H 83H 00--59 0 10MIN MIN 时寄存器 84H 85H 01-12或00-23 12/24 0 10 HR HR 日寄存器 86H 87H 01-28,29,30,31 0 0 10DATE DATE 月寄存器 88H 89H 01--12 0 0 0 10M MONTH 周寄存器 8AH 8BH 01--07 0 0 0 0 0 DAY 年寄存器 8CH 8DH 00--99 10YEAR YEAR 此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器的内容。DS1302与RAM相关的寄存器分为两类,一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H--FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 2.3 温度传感器模块 2.3.1 温度传感器模块电路 基于DS18B20多点温度测量系统以AT89C51为中心器件,以KEIL为系统开发平台,用C语言进行程序设计,以PROTEUS作为仿真软件设计而成的。 DS18B20是智能温度传感器,它的输入/输出采用数字量,以单总线技术,接收主机发送的命令,根据DS18B20内部的协议进行相应的处理,将转换的温度以串口发送给主机。主机按照通信协议用一个IO口模拟DS18B20的时序,发送命令(初始化命令、ROM命令、功能命令)给DS18B20,并读取温度值,在内部进行相应的数值处理,用图形液晶模块显示各点的温度。在系统启动之时,可以通过4×4键盘设置各点温度的上限值,当某点温度超过设置值时,报警器开始报警,从而实现了对各点温度的实时监控。 每个DS18B20有自己的序列号,因此本系统可以在一根总线上挂接了4个DS18B20,通过CRC校验,对各个DS18B20的ROM进行寻址,地址符合的DS18B20才作出响应,接收主机的命令,向主机发送转换的温度。采用这种DS18B20寻址技术,使系统硬件电路更加简单,图2.4所示。 图2.4 18B20与单片机的连接电路 2.3.2 温度传感器简介 DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。 DS18B20产品的特点[6]: 只要求一个端口即可实现通信。 在DS18B20中的每个器件上都有独一无二的序列号。 实际应用中不需要外部任何元器件即可实现测温。 测量温度范围在-55.C到+125.C之间。 数字温度计的分辨率用户可以从9位到12位选择。 内部有温度上、下限告警设置。 其引脚功能描述见表2.4。 表2.4 DS18B20详细引脚功能描述 序号 名称 引脚功能描述 1 GND 地信号 2 DQ 数字输入输出引脚,开漏单总线接口引脚,当使用寄生电源时,可向电源提供电源 3 VDD 可选择的VDD引脚,当工作于寄生电源时,该引脚必须接地 64位ROM存储器件独一无二的序列号。暂存器包含两字节(0和1字节)的温度寄存器,用于存储温度传感器的数字输出。暂存器还提供一字节的上线警报触发(TH)和下线警报触发(TL)寄存器(2和3字节),和一字节的配置寄存器(4字节),使用者可以通过配置寄存器来设置温度转换的精度。暂存器的5、6和7字节器件内部保留使用。第八字节含有循环冗余码(CRC )。 DS18B20加电后,处在空闲状态。要启动温度测量和模拟到数字的转换,处理器须向其发出Convert T [44h] 命令;转换完后,DS18B20回到空闲状态。温度数据是以带符号位的16-bit补码存储在温度寄存器中的[7]。 符号位说明温度是正值还是负值,正值时S=0,负值时S=1。 访问DS18B20必须严格遵守这一命令序列,如果丢失任何一步或序列混乱,DS18B20都不会响应主机(除了Search ROM 和Alarm Search这两个命令,在这两个命令后,主机都必须返回到第一步)。 a.初始化: DS18B20所有的数据交换都由一个初始化序列开始。由主机发出的复位脉冲和跟在其后的由DS18B20发出的应答脉冲构成。当DS18B20发出响应主机的应答脉冲时,即向主机表明它已处在总线上并且准备工作。 b. ROM命令[8]: ROM命令通过每个器件64-bit的ROM码,使主机指定某一特定器件(如果有多个器件挂在总线上)与之进行通信。DS18B20的ROM如表2.5所示,每个ROM命令都是8 bit长。 表2.5 ROM命令 指令 协议 功能 读ROM 33H 读DS18B20中的编码(即64位地址) 符合ROM 55H 发出此命令后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS18B20,使之作出响应,为下一步对该DS18B20的读写作准备 搜索ROM 0F0H 用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址,为操作各器件作好准备 跳过ROM 0CCH 忽略64位ROM地址,直接向DS18B20V 温度转换命令,适用于单个DS18B20工作 告警搜索命令 0ECH 执行后,只有温度超过庙宇值上限或下限的片子才做出响应 温度转换 44H 启动DS18B20进行温度转换,转换时间最长为500ms(典型为200ms),结果丰入内部9字节RAM中 读暂存器 BEH 读内部RAM中9字节的内容 写暂存器 4EH 发出向内部RAM的第3、4字节写上、下温度数据命令,紧该温度命令之后,传达两字节的数据 复制暂存器 48H 将RAM中第3、4字内容复制到E2PROM中 重调E2PROM 0B8H 将E2PROM中内容恢复到RAM中的第3、4字节 读供电方式 0B4H 读DS18B20的供电模式,寄生供电时DS18B20发送“0”,外部供电时DS18B20发送“1” 2.4 液晶显示模块 2.4.1 液晶显示模块电路 液晶显示模块以其微功耗、体积小、显示内容丰富、模块化、接口电路简单等诸多优点得到广泛应用。液晶显示模块分字符型和点阵型两种,前者只能显示常用的字符,点阵型液晶显示模块除显示字符外还能显示各种图形和汉字。 如图2.5所示,为液晶显示屏与单片机的连接电路图。 图2.5 液晶显示屏与单片机的连接电路 2.4.2 液晶显示屏简介 12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集。该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字。可完成图形显示。电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块[9]。 图2.6 LCD结构尺寸 基本特性: 低电源电压(VDD:+3.0--+5.5V) 显示分辨率:128×64点 内置汉字字库,提供8192个16×16点阵汉字(简繁体可选) 内置 128个16×8点阵字符 2MHZ时钟频率 显示方式:STN、半透、正显 驱动方式:1/32DUTY,1/5BIAS 视角方向:6点 背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10 通讯方式:串行、并口可选 内置DC-DC转换电路,无需外加负压 无需片选信号,简化软件设计 工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃ 控制器接口信号说明:如表2.6,2.7 表2.6 RS和R/W的配合选择决定控制界面的4种模式 RS R/W 功能说明 L L MPU写指令到指令暂存器(IR) L H 读出忙标志(BF)及地址记数器(AC)的状态 H L MPU写入数据到数据暂存器(DR) H H MPU从数据暂存器(DR)中读出数据 表2.7 E信号 E状态 执行动作 结果 高——>低 I/O缓冲——>DR 配合/W进行写数据或指令 高 DR——>I/O缓冲 配合R进行读数据或指令 低/低——>高 无动作 忙标志:BF。BF标志提供内部工作情况.BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0时,模块为准备状态,随时可接受外部指令和数据。 利用STATUS RD 指令,可以将BF读到DB7总线,从而检验模块之工作状态。 字型产生ROM(CGROM):字型产生ROM(CGROM)提供8192个此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAY ON),DDRAM 的内容就显示在屏幕上,DFF=0为关显示(DISPLAY OFF)。DFF 的状态是指令DISPLAY ON/OFF和RST信号控制的[10]。 显示数据RAM(DDRAM):模块内部显示数据RAM提供64×2个位元组的空间,最多可控制4行16字(64个字)的中文字型显示,当写入显示数据RAM时,可分别显示CGROM与CGRAM的字型;此模块可显示三种字型,分别是半角英数字型(16*8)、CGRAM字型及CGROM的中文字型,三种字型的选择,由在DDRAM中写入的编码选择,在0000H—0006H的编码中(其代码分别是0000、0002、0004、0006共4个)将选择CGRAM的自定义字型,02H—7FH的编码中将选择半角英数字的字型,至于A1以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5(A140—D75F),GB(A1A0-F7FFH)。 字型产生RAM(CGRAM):字型产生RAM提供图象定义(造字)功能, 可以提供四组16×16点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到CGRAM中,便可和CGROM中的定义一样地通过DDRAM显示在屏幕中。 地址计数器AC[11]:地址计数器是用来贮存DDRAM/CGRAM之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入DDRAM/CGRAM的值时,地址计数器的值就会自动加一,当RS为“0”时而R/W为“1”时,地址计数器的值会被读取到DB6——DB0中。 光标/闪烁控制电路:此模块提供硬体光标及闪烁控制电路,由地址计数器的值来指定DDRAM中的光标或闪烁位置。 2.5 键盘输入模块 一般具有人机对话的单片机系统少不了会有键盘。本设计采用三个按键,最佳的接口方案是独立式接法,即每一个I/O口上只接一个按键,按键的另一端接地。 独立式键盘的实现方法是利用单片机I/O口读取口的电平高低来判断是否有键按下。我们将按键的一端接地,另一端接一个I/O口,程序开始时将此I/O口置于高电平,平时无按键按下时I/O口保护高电平。当有键按下时,此I/O口与地短路迫使I/O口为低电平。按键释放后,与单片机连接的上拉电阻使I/O口仍然保持高电平。我们所要做的就是在程序中查询此I/O口的电平状态就可以了解我们是否有按键动作了。 值得注意的是,我们在用单片机对键盘处理的时候涉及到了一个重要的过程,那就是键盘的去抖动。这里说的抖动是机械的抖动,是当键盘在未按到按下的临界区产生的电平不稳定正常现象,并不是我们在按键时通过注意可以避免的。这种抖动一般在10~200毫秒之间,这种不稳定电平的抖动时间对于人来说太快了,而对于时钟是微秒级的单片机而言则是漫长的。为了提高系统的稳定性,我们必须去除或避开它。此处我采用软件去抖动,实现方法是先查询按键当有低电平出现时立即延时10~200毫秒以避开抖动,延时结束再读一次I/O口的值。 按键分工,从左至右依次为1、2、3号按键,一号键模式键,二号三号键为加减键。 图2.7 键盘接口电路 3 太阳能热水器控制系统软件设计 3.1 KEIL uVISION 3软件环境 单片机开发中除必要的硬件外,同样离不开软件,本系统的软件编程设计是在Keil软件环境中完成的。我们写的C语言、汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果使用C语言编程,那么Keil几乎就是不二之选。即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令人事半功倍[12]。 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 3.2 太阳能热水器控制系统软件设计流程图 本课题设计的太阳能热水器控制系统的软件程序设计主要由(1)初始化程序,(2)扫描按键程序,(3)按键处理子程序,(4)读取水位信息、水箱温度和时间程序,(6)调用显示子程序,六个部分组成。系统总体流程图如图3.1所示。 开始 初始化 扫描键盘,是否有按键 N 调用键盘处理子程序 Y 读取水位信息和水箱温度 调用显示子程序 显示水温时间 图3.1 系统总体流程图 3.3 太阳能热水器控制系统软件功能的实施 3.3.1 初始化程序 太阳能热水器控制系统在接通电源后,首先要对系统进行初始化。初始化的过程包括启动DS1302,启动12864,对12864进行清屏。初始化流程图如下: 初始化开始 启动DS1302 启动12864 清屏 图3.2 初始化程序流程图 初始化程序清单如下: void start(void) //初始化函数 { unsigned char i; set_time(0x8e,0x00); //取消写保护 set_time(0x80,0x00); //启动时钟 set_time(0x84,0x00); //设置24小时模式 set_time(0x90,0xa5); //时钟时钟充电模式 set_time(0x8e,0x80); //启动写保护 RES1=0; RES1=1; dis_write_cmd(0xaf); //启动12864 clean(); //清屏 3.3.2 按键检测及处理程序 在太阳能热水器初始化完成之后,系统便会进入键盘扫描状态,此状态下,主控芯片AT89S52会不断扫描是否有键按下,即等待用户输入。在检测到有键按下后,根据按下的次数(按一下设置“分”,按两下设置“时”,三下设置“星期”,以此类推),在运用“加”“减”分别设置。 按键检测及处理流程图如图所示:(以按下“一下”为例) 开始扫描 是否有键按下 否 是 一下(设置分) 是否为“+”键 是 “分”加1 否 “分”减1 图3.3 按键检测及处理程序流程图 按键检测及处理程序清单如下: while(1) //总循环 { while(state_button==0) //状态0循环 { … //无键按下的处理程序 … } while(state_button!=0) //状态非0循环 { set_time(0x80,0x80); //启动时钟 set_time(0x8e,0x00); //启动保护位 if(state_button==1) //状态1设置分 { if(time_jia==1) //判断按钮加是否按下过 { minute0++; //分操作 下面所有的加减同理 if(minute0>9) // minute0最大为9,minute1最大为5 { minute1++; minute0=0; if(minute1>5) { minute1=0; } } time_jia=0; //按键清零 表示已经执行完 } if(time_jian==1) { minute0--; if(minute0<0) { minute1--; minute0=9; if(minute1<0) { minute1=5; } } time_jian=0; } } 3.3.3 读取温度的程序 本设计采用while循环,在没有键按下时,跳出while循环,进行下边的语句,即读取温度,并将其显示在12864上。在读取的过程中,要注意温度的正负。 读取温度的流程图如图3.4所示: 复位 读取温度数据 判断正负 正 转为十进制 负 取反后,转十进制 图3.4 读取温度流程图 读取温度程序清单: wendu_reset(); //温度复位 wendu- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 太阳能热水器
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【Fis****915】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【Fis****915】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【Fis****915】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【Fis****915】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文