已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要随着全球人口和经济规模的不断增长,能源问题及其使用所带来的环境问题逐渐被人们所认识,“低碳经济”这一概念已经开始进入人们的视野。太阳能具有储量的“无限性”、存在的普遍性,并且几乎不产生任何污染。鉴于这些优点,人们在大力发展太阳能产业,其中,太阳能热水器就是典型的例子。太阳能热水器顺应时代发展的要求,满足人们对环保绿色产品的需求。在人类文明程度日益提高的今天,它是现代经济社会发展的最佳选择。本文提出了一种新型的太阳能热水器控制系统设计方案。该系统采用MSC51系列单片机AT89C51作为中央处理器,采用DS1302实时时钟,DS18B20智能温度传感器,12864点阵式液晶显示屏等模块,完成时间、温度和水位的显示,以及时间和温度的设定等功能。该系统具备以下特点结构简单、运行可靠、操作维护简便;节省燃料;无污染,不会对周围环境造成任何影响,也为人们的生活、工作等带来了极大的便利。关键词太阳能热水器单片机节能液晶显示屏ABSTRACTASTHEGLOBALPOPULATIONANDECONOMICGROWTH,ENERGYUSEOFENVIRONMENTALPROBLEMSANDCAUSESGRADUALLYRECOGNIZED,“LOWCARBONECONOMY,“THECONCEPTBECAMEPARTOFTHEPEOPLEOFVISIONSOLARENERGYHASRESERVESOFTHELIMITLESS“,THEUNIVERSALITYOFEXISTING,ANDALMOSTDOESNOTPRODUCEANYPOLLUTIONINVIEWOFTHESEADVANTAGES,PEOPLEINTHEDEVELOPMENTOFSOLARENERGYINDUSTRY,SOLARWATERHEATERSARETHETYPICALEXAMPLESSOLARWATERHEATERS,INCONFORMITYWITHTHEREQUIREMENTSOFTHETIMES,AREMEETINGTHEDEMANDFORGREENPRODUCTSINHUMANCIVILIZATIONINCREASINGLYTODAY,ITISAMODERNCIVILIZEDSOCIETYANEWSOLARWATERHEATERCONTROLSYSTEMDESIGNTHISDESIGNINCORPORATESMSC51MCUAT89C51ASCENTRALPROCESSORS,AREALTIMECLOCKUSINGDS1302,INTELLIGENTTEMPERATURESENSORDS18B20,12864,DOTMATRIXLCDMODULE,COMPLETIONTIMEDISPLAYOFTHETEMPERATURELEVEL,ASWELLASTHETIMEANDTEMPERATURESETTINGTHEWATERHEATERHASTHEFOLLOWINGFEATURESSIMPLESTRUCTURE,RELIABLEOPERATION,EASYOPERATIONANDMAINTENANCECONSERVEFUELPOLLUTION,WILLNOTHAVEANYIMPACTONTHESURROUNDINGENVIRONMENT,BUTALSOFORPEOPLESLIFE,WORK,ETCHASBROUGHTGREATCONVENIENCEKEYWORDSSOLARWATERHEATERCHIPENERGYSAVINGLCDSCREEN目录第1章前言111太阳能热水器的发展概况及市场竞争分析112太阳能热水器的应用及意义2第2章系统组成及工作原理321太阳能热水器的组成与工作原理322系统的组成框图4第3章太阳能热水器控制系统的硬件设计531主控芯片模块532实时时钟模块833温度传感器模块1134液晶显示模块1435键盘输入模块1636继电器控制加热电路1737水位检测接口电路1838水位控制电路1939报警电路模块20第4章太阳能热水器控制系统软件设计2241KEILUVISION3软件环境2242太阳能热水器控制系统软件设计流程图2243太阳能热水器控制系统软件功能的实施23第5章太阳能热水器控制系统整体调试28第6章结论29参考文献30致谢31附录系统原理图32第一章前言随着太阳能热水器的迅速推广,广大消费者对太阳能热水器的要求越来越高,太阳能热水器商家为使自己的产品能在市场上生存和发展,在不断提高太阳能热水器性能的同时,也不断加大力度满足消费者对于太阳能热水器使用方便的要求,于是太阳能热水器的智能化程度越来越高。在我设计太阳能热水器的控制系统之前,首先了解一下太阳能热水器的基本构架和工作过程,以及太阳能热水器发展概况和深远利用价值。11太阳能热水器的发展概况及市场竞争分析我国自78年引进全玻璃真空集热管的样管以来,经过20多年的努力,攻克了热压封等许多技术难关,已经建立了拥有自主知识产权的现代化全玻璃真空集热管产业,用于生产集热管的磁控溅射镀膜机已有745台,产品质量达到世界先进水平,产量雄居世界首位。1978年中国诞生第一台太阳能热水器,到1986年卧式磁控溅射镀膜机的设计制造,是在政策扶持下的研究开发阶段。1987年,我国制造了第一支全玻璃真空集热管。在之后的几年里,全玻璃和热管式真空管集热器实现了产业化,产业规模达到中试水平,为下一阶段产业的规模化奠定了良好的基础,成为产业的孕育发展阶段。1993年太阳能产业进入初级发展阶段由于成果转化需要很长一段时间的磨合,特别是受技术人员缺乏的影响,此阶段的产品质量有待于进一步提高,整体来讲,发展速度较为缓慢。这时候以山东力诺集团为主的真空管生产企业的产品占了真空管生产绝大部分市场。19972001年太阳能产业得到高速发展,逐渐形成北京、鲁东、泰安、扬州、海宁等5个产业基地,并以此向周围不断辐射,产能得以迅速提升。目前,我国是世界上太阳能热水器生产量和销售量最大的国家。太阳能热水器是太阳能利用中最常见的一种装置,经济效益明显,正在迅速的推广应用,太阳能热水器能够将太阳辐射能转换热能,供生产和生活使用。当今社会发展日新月异,人们衣食住行也在不断的提高。现有电热型热水器费用昂贵及燃气型热水器的不安全性,且排放二氧化碳污染大气,北方用煤气取暖造成城市空气环境污染,这些都是太阳能热水器良好的外部生存环境。太阳能热水器克服了上述缺点,他是绿色环保产品。它使用简单、方便。太阳能热水器顺应时代发展的要求,满足人们对环保绿色产品的需求。12太阳能热水器的应用及意义资源是社会经济发展的物质基础,经济愈发展,对资源的依赖性愈强。许多资源(如煤、石油、天然气等)是不可再生的,而且在利用过程中给人类生存环境带来极大污染,人类繁衍生息的物质和环境基础受到严峻挑战。加强清洁、可再生资源的开发利用,已引起全世界的普遍重视。太阳能作为一种取之不尽、用之不竭的可再生资源,有节能、环保、安全和永续利用等优点,理应成为开发利用的首选。其中太阳能热水器作为家庭生活用品,其开发利用在我国已走过了二十多年的历程,生产技术成熟,具有明显优点(一)从节能环保的角度讲,使用太阳能热水器不会对环境造成污染,同时为国家节约了大量能源,社会效益明显,是国家重点推广项目,使用前景广阔。(二)太阳能热水器的使用寿命较长,使用太阳能热水器经济实惠。若使用合理,其寿命可达15年甚至更长。据测算,使用平方米太阳能热水器,相当于每年节约310度电。太阳能热水器的费用只有燃气热水器的七分之一,电热水器的六分之一。购置太阳能热水器一次性投资3000元左右,使用5至6年就可实现与其热水器的支出对比平衡。按照装置寿命15年计算,其经济效益是十分明显的。(三)太阳能热水器集热效果好,集热时间更长。只要阳光能照射到的地方,就可以使用太阳能热水器,即使在高寒地区一年四季也可以正常使用。在我国浙江、江苏、山东等地,太阳能热水器的研发和生产已形成规模,应用太阳能热水器的场所也由家居使用扩展到医院、学校、宾馆、饭店、游泳池、洗浴场所等。第2章系统组成及工作原理21太阳能热水器的组成与工作原理图21热水器装置简图1集热器2下降水管3循环水管4补给水箱5上升水管6自来水管7热水出水管热水器主要由集热器、循环管道和水箱等组成,图中为典型的热水器装置图。图中集热器1按最佳倾角放置,下降水管2的一端与循环水箱3的下部相连,另一端与集热器1的下集管接通。上升水管5与循环水箱3上部相连,另一端与集热器1的上集管相接。补给水箱4供给循环水箱3所需的冷水。集热器吸收太阳辐射后,集热器内温度上升,水温也随之升高。水温升高后,水的比重减轻,便经上升水管进入循环水箱上部。而循环水箱下部的冷水比重较大,就由水箱下流到集热器下方,在集热器内受热后又上升。这样不断对流循环,水温逐渐提高,直到集热器吸收的热量与散失的热量相平衡时,水温不再升高。这种热水利用循环加热的原理,因此又称循环热水器。集热器是一种利用温室效应,将太阳能辐射转换为热能的装置,该装置与一般热水交换器不一样,热交换器通常只是液体到液体,或是液体到气体的热交换过程,而平板型集热器时直接将太阳辐射传给液体或气体,是一个复杂的传热过程。平板型集热器结构形式很多,世界上已实用的集热器就有直管式、瓦楞式、扁管式、铝翼式等二十多种。22系统的组成框图本次太阳能热水器系统是一种新型的智能温控系统系统,该系统的设计以AT89C51为核心,将传感器检测技术、智能控制相结合,整个系统可分为单片机最小系统模块、实时时钟模块、DS18B20检测温度模块,报警模块、检测水位模块、控制水位模块和键盘输入及液晶显示模块。具体原理框图如图24AT89C51单片机的控制DS18B20W温度采集电路水位检测无线电控制(键盘输入及显示)报警电路水位控制电路LED指示灯加热控制图22硬件原理框图实时时钟模块第3章太阳能热水器控制系统的硬件设计31主控芯片模块311主控芯片简介AT89C51是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程FLASH存储器。使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上FLASH允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程FLASH,使得AT89C51为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89S51具有以下标准功能8K字节FLASH,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S51可降至0HZ静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止1。8位微控制器8K字节在系统可编程FLASHAT89S51。图31为AT89C51的引脚图图31AT89C51的引脚图AT89S51引脚功能说明如下VCC电源电压GND地2P0口P0口是一个8位漏极开路的双向I/O口,即地址/数据总线复用口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0内部上拉电阻被激活。在FLASH编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动(吸收或输出电流)4个TTL逻辑门电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(TTL)。此外,P10和P12分别作定时器/计数器2的外部计数输入(P10/T2)和时器/计数器2的触发输入(P11/T2EX),具体如表31所示。在FLASH编程和校验时,P1口接收低8位地址字节。表31P1口第二功能端口引脚第二功能P10T2(定时器/计数器T2的外部计数输入),时钟输出P11T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P15MOSI(在系统编程用)P16MISO(在系统编程用)P17SCK(在系统编程用)P2口P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVXDPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVXRI)访问外部数据存储器时,P2口输出P2锁存器的内容。在FLASH编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(TTL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,P3口的第二功能如表32。表32P3口的第二功能端口引脚第二功能端口引脚第二功能P30RXD串行输入口P34TO定时/计数器0P31TXD串行输出口P35T1定时/计数器1P32INTO外中断0P36WR外部数据存储器写选通P33INT1外中断1P37RD外部数据存储器读选通此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。WDT溢出将使该引脚输出高电平,设置SFRAUXR的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仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。XTAL1振荡器反相放大器及内部时钟发生器的输入端。XTAL2振荡器反相放大器的输出端。312主控芯片模块电路单片机系统由AT89C51和一定功能的外围电路组成,包括为单片机提供复位电压的复位电路,提供系统频率的晶振。这部分电路主要负责程序的存储和运行。对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、谐振器的稳定性、起振的快速性和温度的稳定性。晶体可在12MHZ12MHZ之间任选,电容C1和C2的典型值在20PF100PF之间选择,但在60PF70PF时振荡器具有较高的频率稳定性。典型值通常选择为30PF左右,但本电路采用30PF。AT89C51的复位是由外部的复位电路来实现的。复位电路通常采用上电自动复位和按钮复位两种方式。本设计中所用到的是上电按钮复位,如图32所示。P101P112P123P134P145P156P167P178RST9P30/RXD10P31/TXD11P32/INT012P33/INT13P34/T014P35/T115P36/WR16P37/RD17XTAL119P20/A821P21/A922P22/A1023P23/A1124P24/A1225P25/A1326P26/A1427P27/A1528PSEN29ALE30EA31P07/AD732P06/AD633P05/AD534P04/AD435P03/AD336P02/AD237P01/AD138P00/AD039XTAL21880C51C1C2Y1CRYSTALRRES2VCCRCVCCD0D1D2D3D4D5D6D7图32单片机系统32实时时钟模块321实时时钟简介DS13024是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2555V。时钟可工作在24小时格式或12小时(AM/PM)格式。DS1302与单片机的接口使用同步串行通信,仅用3条线与之相连接。可采用一次传送一个字节或突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源后备电源双电源引脚,同时提供了对后备电源进行细电流充电的能力。DS1302的引脚排列,其中VCC1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由VCC1或VCC2两者中的较大者供电。当VCC2大于VCC102V时,VCC2给DS1302供电。当VCC2小于VCC1时,DS1302由VCC1供电。X1和X2是振荡源,外接32768KHZ晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在VCC20V之前,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引脚变为高阻态。上电运行时,在VCC25V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。在控制指令字输入后的下一个SCLK时钟的上升沿时数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位至高位7。DS1302共有12个寄存器5,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。其日历、时间寄存器及其控制字见表33。表33DS1302的日历、时钟寄存器及其控制字命令字各位内容寄存器名写操作读操作取值范围76543210秒寄存器80H81H0059CH10SECSEC分寄存器82H83H0059010MINMIN时寄存器84H85H0112或002312/24010HRHR日寄存器86H87H0128,29,30,310010DATEDATE月寄存器88H89H011200010MMONTH周寄存器8AH8BH010700000DAY年寄存器8CH8DH009910YEARYEAR此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器的内容。DS1302与RAM相关的寄存器分为两类,一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。322实时时钟模块电路从古代的滴漏更鼓到近代的机械钟,从电子表到目前的数字时钟,为了准确的测量和记录时间,人们一直在努力改进计时工具。钟表的数字化,大力推动了计时的精确性和可靠性。在单片机构成的装置中,实时时钟是必不可少的部件。目前常用的实时时钟,很多采用单片机的中断服务来实现,这种方式一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且某些测控系统可能不允许;有的则使用并行接口的时钟芯片,如MC146818、DS12887等,它们虽然能满足单片机系统对实时时钟的要求,但是这些芯片与单片机接口复杂,占用地址、数据总线多,芯片体积大,占用空间多,给其它设计带来诸多不便。本设计选取串行接口时钟芯片DS1302与单片机同步通信构成数字时钟电路,如图33。其简单的三线接口能为单片机节省大量资源,DS1302的后背电源及对后背电源进行涓细电流充电的能力保证电路断电后仍能保存时间和数据信息等。这些优点解决了目前常用的实时时钟所无法解决的问题。该时钟电路强大的功能和优越的性能,在很多领域的应用中,尤其是某些自动化控制、长时间无人看守的测控系统等对时钟精确性和可靠性有较高要求的场合,具有很高的使用价值。C3VCCY2CRYSTALVCC8IO6X12X23SCLK7VCC21RST5DS1302P31P32P33图33DS1302与单片机接口电路33温度传感器模块331温度传感器简介DS18B20数字温度计是DALLAS公司生产的1WIRE,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。DS18B20产品的特点6只要求一个端口即可实现通信。在DS18B20中的每个器件上都有独一无二的序列号。实际应用中不需要外部任何元器件即可实现测温。测量温度范围在55C到125C之间。数字温度计的分辨率用户可以从9位到12位选择。内部有温度上、下限告警设置。其引脚功能描述见表34。表34DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数字输入输出引脚,开漏单总线接口引脚,当使用寄生电源时,可向电源提供电源3VDD可选择的VDD引脚,当工作于寄生电源时,该引脚必须接地64位ROM存储器件独一无二的序列号。暂存器包含两字节(0和1字节)的温度寄存器,用于存储温度传感器的数字输出。暂存器还提供一字节的上线警报触发(TH)和下线警报触发(TL)寄存器(2和3字节),和一字节的配置寄存器(4字节),使用者可以通过配置寄存器来设置温度转换的精度。暂存器的5、6和7字节器件内部保留使用。第八字节含有循环冗余码(CRC)。DS18B20加电后,处在空闲状态。要启动温度测量和模拟到数字的转换,处理器须向其发出CONVERTT44H命令;转换完后,DS18B20回到空闲状态。温度数据是以带符号位的16BIT补码存储在温度寄存器中的7。符号位说明温度是正值还是负值,正值时S0,负值时S1。访问DS18B20必须严格遵守这一命令序列,如果丢失任何一步或序列混乱,DS18B20都不会响应主机(除了SEARCHROM和ALARMSEARCH这两个命令,在这两个命令后,主机都必须返回到第一步)。A初始化DS18B20所有的数据交换都由一个初始化序列开始。由主机发出的复位脉冲和跟在其后的由DS18B20发出的应答脉冲构成。当DS18B20发出响应主机的应答脉冲时,即向主机表明它已处在总线上并且准备工作。BROM命令8ROM命令通过每个器件64BIT的ROM码,使主机指定某一特定器件(如果有多个器件挂在总线上)与之进行通信。DS18B20的ROM如表35所示,每个ROM命令都是8BIT长。表35ROM命令指令协议功能读ROM33H读DS18B20中的编码即64位地址符合ROM55H发出此命令后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS18B20,使之作出响应,为下一步对该DS18B20的读写作准备搜索ROM0F0H用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址,为操作各器件作好准备跳过ROM0CCH忽略64位ROM地址,直接向DS18B20V温度转换命令,适用于单个DS18B20工作告警搜索命令0ECH执行后,只有温度超过庙宇值上限或下限的片子才做出响应温度转换44H启动DS18B20进行温度转换,转换时间最长为500MS典型为200MS,结果丰入内部9字节RAM中读暂存器BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的第3、4字节写上、下温度数据命令,紧该温度命令之后,传达两字节的数据复制暂存器48H将RAM中第3、4字内容复制到E2PROM中重调E2PROM0B8H将E2PROM中内容恢复到RAM中的第3、4字节读供电方式0B4H读DS18B20的供电模式,寄生供电时DS18B20发送“0”,外部供电时DS18B20发送“1”332温度传感器模块电路基于DS18B20多点温度测量系统以AT89C51为中心器件,以KEIL为系统开发平台,用C语言进行程序设计DS18B20是智能温度传感器,它的输入/输出采用数字量,以单总线技术,接收主机发送的命令,根据DS18B20内部的协议进行相应的处理,将转换的温度以串口发送给主机。主机按照通信协议用一个IO口模拟DS18B20的时序,发送命令(初始化命令、ROM命令、功能命令)给DS18B20,并读取温度值,在内部进行相应的数值处理,用图形液晶模块显示各点的温度。在系统启动之时,可以通过键盘设置各点温度的上限值,当某点温度超过设置值时,报警器开始报警,从而实现了对各点温度的实时监控。每个DS18B20有自己的序列号,因此本系统可以在一根总线上挂接了4个DS18B20,通过CRC校验,对各个DS18B20的ROM进行寻址,地址符合的DS18B20才作出响应,接收主机的命令,向主机发送转换的温度。采用这种DS18B20寻址技术,使系统硬件电路更加简单,图34所示。1GND2DQ3VDD18B20VCC10图3418B20与单片机的连接电路34液晶显示模块341液晶显示屏简介12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864,内置8192个1616点汉字,和128个168点ASCII字符集。该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字。可完成图形显示。电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块9。图35LCD结构尺寸基本特性低电源电压(VDD3055V)显示分辨率12864点内置汉字字库,提供8192个1616点阵汉字简繁体可选内置128个168点阵字符2MHZ时钟频率显示方式STN、半透、正显驱动方式1/32DUTY,1/5BIAS视角方向6点背光方式侧部高亮白色LED,功耗仅为普通LED的1/51/10通讯方式串行、并口可选内置DCDC转换电路,无需外加负压无需片选信号,简化软件设计工作温度055,存储温度2060控制器接口信号说明如表36,37表36RS和R/W的配合选择决定控制界面的4种模式RSR/W功能说明LLMPU写指令到指令暂存器(IR)LH读出忙标志(BF)及地址记数器(AC)的状态HLMPU写入数据到数据暂存器(DR)HHMPU从数据暂存器(DR)中读出数据表37E信号E状态执行动作结果高低I/O缓冲DR配合/W进行写数据或指令高DRI/O缓冲配合R进行读数据或指令低/低高无动作忙标志BF。BF标志提供内部工作情况BF1表示模块在进行内部操作,此时模块不接受外部指令和数据BF0时,模块为准备状态,随时可接受外部指令和数据。利用STATUSRD指令,可以将BF读到DB7总线,从而检验模块之工作状态。字型产生ROM(CGROM)字型产生ROM(CGROM)提供8192个此触发器是用于模块屏幕显示开和关的控制。DFF1为开显示(DISPLAYON,DDRAM的内容就显示在屏幕上,DFF0为关显示(DISPLAYOFF。DFF的状态是指令DISPLAYON/OFF和RST信号控制的10。显示数据RAM(DDRAM)模块内部显示数据RAM提供642个位元组的空间,最多可控制4行16字(64个字)的中文字型显示,当写入显示数据RAM时,可分别显示CGROM与CGRAM的字型;此模块可显示三种字型,分别是半角英数字型168、CGRAM字型及CGROM的中文字型,三种字型的选择,由在DDRAM中写入的编码选择,在0000H0006H的编码中(其代码分别是0000、0002、0004、0006共4个)将选择CGRAM的自定义字型,02H7FH的编码中将选择半角英数字的字型,至于A1以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5(A140D75F),GB(A1A0F7FFH)。字型产生RAMCGRAM字型产生RAM提供图象定义造字功能,可以提供四组1616点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到CGRAM中,便可和CGROM中的定义一样地通过DDRAM显示在屏幕中。地址计数器AC11地址计数器是用来贮存DDRAM/CGRAM之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入DDRAM/CGRAM的值时,地址计数器的值就会自动加一,当RS为“0”时而R/W为“1”时,地址计数器的值会被读取到DB6DB0中。光标/闪烁控制电路此模块提供硬体光标及闪烁控制电路,由地址计数器的值来指定DDRAM中的光标或闪烁位置。342液晶显示模块电路液晶显示模块以其微功耗、体积小、显示内容丰富、模块化、接口电路简单等诸多优点得到广泛应用。液晶显示模块分字符型和点阵型两种,前者只能显示常用的字符,点阵型液晶显示模块除显示字符外还能显示各种图形和汉字。如图36所示,为液晶显示屏与单片机的连接电路图。VR14VOUT16REB2AD3RWE5D06D17D28D410D511D612D713VDD1GND15D39LCDYJC4VOUTRES1ADRWED1D2D3D4D5D6D7D8VCCVOUTR图36液晶显示屏与单片机的连接电路35键盘输入模块一般具有人机对话的单片机系统少不了会有键盘。本设计采用四个按键,最佳的接口方案是独立式接法,即每一个I/O口上只接一个按键,按键的另一端接地。独立式键盘的实现方法是利用单片机I/O口读取口的电平高低来判断是否有键按下。我们将按键的一端接地,另一端接一个I/O口,程序开始时将此I/O口置于高电平,平时无按键按下时I/O口保护高电平。当有键按下时,此I/O口与地短路迫使I/O口为低电平。按键释放后,与单片机连接的上拉电阻使I/O口仍然保持高电平。我们所要做的就是在程序中查询此I/O口的电平状态就可以了解我们是否有按键动作了。值得注意的是,我们在用单片机对键盘处理的时候涉及到了一个重要的过程,那就是键盘的去抖动。这里说的抖动是机械的抖动,是当键盘在未按到按下的临界区产生的电平不稳定正常现象,并不是我们在按键时通过注意可以避免的。这种抖动一般在10200毫秒之间,这种不稳定电平的抖动时间对于人来说太快了,而对于时钟是微秒级的单片机而言则是漫长的。为了提高系统的稳定性,我们必须去除或避开它。此处我采用软件去抖动,实现方法是先查询按键当有低电平出现时立即延时10200毫秒以避开抖动,延时结束再读一次I/O口的值。按键分工,从左至右依次为1、2、3、4号按键,一号键模式键,二、三号键为加减键,4号键为上水键。R1R2R3R4AN1AN2AN3AN4VCCP25P26P27P28图37键盘接口电路36继电器控制加热电路在实际生活当中,当遇到室外光强不足(阴天、下雨)时,对水箱的水进行电加热是很必要的,所以在控制系统中引进了继电器加热电路。加热控制电路由单片机P1口的P07控制。通过单片机送给加热执行机构进行加热,电路驱动电磁锁吸合,从而达到加热的目的。光耦可以隔离输入量与输出量,在本设计中起到隔离单片机与电磁继电器的作用。当单片机发出开锁信号时,P07口为低电平,此时光耦内部的发光二极管导通,接收三极管吸收光而导通,因此使继电器处于常开端即加热。当输入密码错误时,输入端为高电平,电磁继电器的中心抽头由“常开”接到“常闭”,此时不加热。加热电路如图38所示NPNKRELAYSPSTOPTOISO1220VVCCRRVCCNPNVCCVCCP07图38加热程序电路图37水位检测接口电路蓄水箱水位和温度检测部分是实现温度智能控制的重要环节,只有准确地检测出水位和温度,才能通过软件计算提前开始辅助加热的预加热时间。要实现辅助加热提前时间的精确计算,最好是采用连续液位传感器,但考虑系统成本,本设计仍采用分段式液位传感器通过软件来提高精度,在水位显示上也仍采用分段显示。水位检测部分的硬件连接如图所示。图39水位检测电路图检测原理如下当水箱中无水时,8个非门由于设计需要,最后只完成6个均由1M欧姆电阻上拉成高电平,所以图中各“非”门CD4069输出均为低电平,LED1LED8均不亮。当水位高于“非”门1的输入探针时,由于水的导电作用,使“非”门1的输入变为低电平,所以其输出变为高电平,LED点亮,依此类推。随着水位的上升,各“非”门输出相继为高电平,LED依次点亮。这里要注意的是上拉电阻不能选择太小,因为水的电阻在100K8左右,所以上拉电阻选择太小的话,将在水位升高时,无法把“非”门输入端拉成低电平。实验表明,上拉电阻选择在500K1M欧姆左右能很好地满足电路的工作要求。为了使80C51随时能够读出当前的水位情况,这里选用74LS244作为状态输入缓冲器。通过74LS244把信息传给单片机。38水位控制电路加热控制电路由单片机P1口的P06控制。通过单片机送给加热执行机构进行加热,电路驱动电磁锁吸合,从而使发动机工作,达到上水的目的。光耦可以隔离输入量与输出量,在本设计中起到隔离单片机与电磁继电器的作用。当单片机发出开锁信号时,P06口为低电平,此时光耦内部的的发光二极管导通,接收三极管吸收光而导通,因此使继电器处于常开端即上水。当输入端为高电平,电磁继电器的中心抽头由“常开”接到“常闭”,此时不上水。加热电路如图310所示NPNKRELAYSPSTOPTOISO1VCCRRNPNVCCP06VCCVCC图310水位控制电路图39报警电路模块方案一9011的基极为高电平且两个三极管均导通,驱动扬声器工作,即报警。否则输出低电平,不报警。报警电路如图所示Q1NPNR22LS1SPEAKERP35图311报警电路图方案二该方案中采用简单的放大电路,信号通过7407驱动器后即送给蜂鸣器,且报警声音响亮,适合于报警,所以也实现了设计要求。报警电路如图所示。LS1VCCU37407图312报警电路二两种方案都各有优势,综合各方面因素考虑,此次设计采用方案一。第4章太阳能热水器控制系统软件设计41KEILUVISION3软件环境单片机开发中除必要的硬件外,同样离不开软件,本系统的软件编程设计是在KEIL软件环境中完成的。我们写的C语言、汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,KEIL软件是目前最流行开发51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持KEIL即可看出。KEIL提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVISION)将这些部份组合在一起。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果使用C语言编程,那么KEIL几乎就是不二之选。即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令人事半功倍12。KEILC51是美国KEILSOFTWARE公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。KEILC51软件提供丰富的库函数和功能强大的集成开发调试工具,全WINDOWS界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KEILC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。42太阳能热水器控制系统软件设计流程图本课题设计的太阳能热水器控制系统的软件程序设计主要由(1)初始化程序,(2)扫描按键程序,(3)按键处理子程序,(4)读取水位信息、水箱温度和时间程序,(6)调用显示子程序,六个部分组成。系统总体流程图如图41所示。NY图41系统总体流程图43太阳能热水器控制系统软件功能的实施431初始化程序太阳能热水器控制系统在接通电源后,首先要对系统进行初始化。初始化的过程包括启动DS1302,启动12864,对12864进行清屏。初始化流程图如下图42初始化程序流程图开始初始化扫描键盘,是否有按键读取水位信息和水箱温度调用显示子程序显示水温、时间调用键盘处理子程序初始化开始启动DS1302启动12864清屏初始化程序清单如下VOIDSTARTVOID/初始化函数UNSIGNEDCHARISET_TIME0X8E,0X00/取消写保护SET_TIME0X80,0X00/启动时钟SET_TIME0X84,0X00/设置24小时模式SET_TIME0X90,0XA5/时钟时钟充电模式SET_TIME0X8E,0X80/启动写保护RES10RES11DIS_WRITE_CMD0XAF/启动12864CLEAN/清屏432按键检测及处理程序在太阳能热水器初始化完成之后,系统便会进入键盘扫描状态,此状态下,主控芯片AT89C51会不断扫描是否有键按下,即等待用户输入。在检测到有键按下后,根据按下的次数(按一下设置“分”,按两下设置“时”,三下设置“星期”,以此类推),在运用“加”“减”分别设置。按键检测及处理流程图如图所示(以按下“一下”为例)YNY开始扫描是否有按键按下一下(设置分)是否为“”键“分”加1“分”加1图43按键检测及处理程序流程图按键检测及处理程序清单如下WHILE1/总循环WHILESTATE_BUTTON0/状态0循环/无键按下的处理程序WHILESTATE_BUTTON0/状态非0循环SET_TIME0X80,0X80/启动时钟SET_TIME0X8E,0X00/启动保护位IFSTATE_BUTTON1/状态1设置分IFTIME_JIA1/判断按钮加是否按下过MINUTE0/分操作下面所有的加减同理IFMINUTE09/MINUTE0最大为9,MINUTE1最大为5MINUTE1MINUTE00IFMINUTE15MINUTE10TIME_JIA0/按键清零表示已经执行完IFTIME_JIAN1MINUTE0IFMINUTE00MINUTE1MINUTE09IFMINUTE10MINUTE15TIME_JIAN0433读取温度的程序本设计采用WHILE循环,在没有键按下时,跳出WHILE循环,进行下边的语句,即读取温度,并将其显示在12864上。在读取的过程中,要注意温度的正负。读取温度的流程图如图44所示图44读取温度流程图读取温度程序清单WENDU_RESET/温度复位WENDU_WRITE0XCC/跳过ROM搜索命令WENDU_WRITE0X44/启动一次转换WENDU_RESET/复位WENDU_WRITE0XCC/跳过ROM搜索命令WENDU_WRITE0XBE/发送读命令AWENDU_READ/读高字节8位复位读取温度数据判断正负转为十进制取反后,转为十进制BWENDU_READ/读低字节8位PNB/判断温度正负IFPN0/如果温度为正TB256A/16/直接转化为十进制数IFPN0X80/如果温度为负AA/将数据取反BBCA1/低位加1IFC0X00/当低位为255时,加1后为0,这时需进位B/向高位进1TB256C/16/再进行转换十进制第5章太阳能热水器控制系统整体调试调试分为硬件电路调试和系统调试。硬件电路调试的主要任务是检查硬件电路是否有问题,也就是检查硬件电路是否能工作;系统调试的主要任务是在这种硬件条件下是否可以完成设计的要求。在制作好PCB之后,紧接着就是插上元件调试硬件系统。为了减少硬件调试的难度,在系统的硬件调试中采用分块调试方法,这样可以减少问题的积累,更加容易发现问题、解决问题。调试单片机的最小配置时发现,不能正常下载程序,首先检查串口到单片机电路部分,用万用表检测发现是串口电路有短路现象。去除错误后,发现仍然不能够下载,刷程序时无论怎么改变单片机的I/O口状态,单片机的各I/O始终为高,即单片机没有工作,可能是单片机的晶振没有起振,单片机没有稳定的时钟信号。仔细检查发现,接在晶振旁边的瓷片电容是001UF的104,还有单片机的EA端悬空未接。对于接在旁边的电容,电容大有利于晶振的稳定,但不容易起振,电容小容易使晶振起振但稳定性差,104的电容显然过大,晶振没有起振,因此笔者将001UF的两个电容改换成了20PF的两个起振电容。对于内部有8K字节程序存储器的STC89C52来说,若电压引脚VCC接5V,程序计数器PC的值在0至1FFFH之间时,CPU读取指令时访问内部的程序存储器;PC值大于1FFFH时,则访问外部的程序存储器。如果EA接VSS(地),
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 零碳园区绩效指标的计算方法、评价指标、评价流程、第三方评价报告
- 一言一行传暖意同心同行聚班魂
- 初级育婴员试题及答案
- 成考声乐试题及答案
- 呼吸衰竭患者呼吸衰竭诱发因素的护理
- 护理创新思维
- 宫颈炎的饮食调理
- 护理专业精神科护理
- 护理员护理伦理与职业操守
- 手术室护理配合的持续改进
- 走进标准-标准化概论知到课后答案智慧树章节测试答案2025年春中国计量大学
- 海姆立克急救技术操作流程及评分标准
- DB51∕T 2431-2017 汽车客运站建设规程
- 模型34 旋转-费马点模型-原卷版
- JGJ6-2011 高层建筑筏形与箱形基础技术规范
- 2023年中国中医科学院广安门医院专项招聘医学类人员及高层次卫技人才考试历年高频考点试题含答案解析
- 工作场所安全使用化学品规定
- 9 日月明公开课一等奖市优质课赛课获奖课件
- DiGiCo-SD-系列软件说明书
- 《大道之行也》比较阅读12篇(历年中考语文文言文阅读试题汇编)(含答案与翻译)(截至2020年)
- GA 1815.8-2023交通运输系统反恐怖防范要求第8部分:公路隧道
评论
0/150
提交评论