基于单片机的太阳能热水器控制系统的设计与实现_第1页
基于单片机的太阳能热水器控制系统的设计与实现_第2页
基于单片机的太阳能热水器控制系统的设计与实现_第3页
基于单片机的太阳能热水器控制系统的设计与实现_第4页
基于单片机的太阳能热水器控制系统的设计与实现_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

摘要随着全球人口和经济规模的不断增长,能源使用带来的环境问题及其诱因逐渐为人们所结识,“低碳经济”这一概念开始进入人们的视野。太阳能具有储量的“无限性”、存在的普遍性,并且几乎不产生任何污染。鉴于此,人们在大力的发展太阳能产业。太阳能热水器顺应时代发展的规定,满足人们对环保绿色产品的需求。在人类文明限度日益提高的今天,它是现代文明社会的最佳选择。本文提出了一种新型的太阳能热水器控制系统设计方案。本设计采用MSC-51系列单片机AT89S52作为中央解决器,采用DS1302实时时钟,12864点阵式液晶显示屏等模块,完毕时间温度水位的显示,以及时间和温度的设定等功能。关键词:太阳能热水器;单片机;实时时钟;液晶显示屏ABSTRACTAstheglobalpopulationandeconomicgrowth,energyuseofenvironmentalproblemsandcausesgraduallyrecognized,"low-carboneconomy,"theconceptbecamepartofthepeopleofvision.Solarenergyhasreservesofthelimitless",theuniversalityofexisting,andalmostdoesnotproduceanypollution.Inviewofthis,peopleinthedevelopmentofsolarenergyindustry.Solarwaterheaters,inconformitywiththerequirementsofthetimes,aremeetingthedemandforgreenproducts.Inhumancivilizationincreasinglytoday,itisamoderncivilizedsociety.Anewsolarwaterheatercontrolsystemdesign.ThisdesignincorporatesMSC-51MCUAT89S52ascentralprocessors,areal-timeclockusingDS1302,12864,dot-matrixLCDmodule,completiontimedisplayofthetemperaturelevel,aswellasthetimeandtemperaturesetting.Keywords:Solarwaterheater;chip;clock;LCDscreen目录摘要 IABSTRACT II1前言 11.1太阳能热水器的组成与工作原理 11.2太阳能热水器的发展概况及市场竞争分析 21.3太阳能热水器的应用及意义 22太阳能热水器控制系统的硬件设计 42.1主控芯片模块 42.1.1主控芯片模块电路 42.1.2主控芯片简介 52.2实时时钟模块 72.2.1实时时钟模块电路 72.2.2实时时钟简介 82.3温度传感器模块 102.3.1温度传感器模块电路 102.3.2温度传感器简介 102.4液晶显示模块 122.4.1液晶显示模块电路 122.4.2液晶显示屏简介 132.5键盘输入模块 153太阳能热水器控制系统软件设计 173.1KEILuVISION3软件环境 173.2太阳能热水器控制系统软件设计流程图 173.3太阳能热水器控制系统软件功能的实行 183.3.1初始化程序 183.3.2按键检测及解决程序 193.3.3读取温度的程序 214太阳能热水器控制系统整体调试 234.1Proteus仿真环境 234.2太阳能热水器控制系统调试过程 24结论 27参考文献 28致谢 29附录 301前言在我设计太阳能热水器的控制系统之前,一方面了解一下太阳能热水器的组成与工作原理,了解一下太阳能热水器的基本构架和工作过程,以及太阳能热水器发展概况和深远运用价值。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-2023年太阳能产业得到高速发展,逐渐形成北京、鲁东、泰安、扬州、海宁等5个产业基地,并以此向周边不断辐射,产能得以迅速提高。目前,我国是世界上太阳能热水器生产量和销售量最大的国家。太阳能热水器是太阳能运用中最常见的一种装置,经济效益明显,正在迅速的推广应用,太阳能热水器可以将太阳辐射能转换热能,供生产和生活使用。当今社会发展日新月异,人们衣食住行也在不断的提高。现有电热型热水器费用昂贵及燃气型热水器的不安全性,且排放二氧化碳污染大气,北方用煤气取暖导致城市空气环境污染,这些都是太阳能热水器良好的外部生存环境。太阳能热水器克服了上述缺陷,他是绿色环保产品。它使用简朴、方便。太阳能热水器顺应时代发展的规定,满足人们对环保绿色产品的需求。1.3太阳能热水器的应用及意义资源是社会经济发展的物质基础,经济愈发展,对资源的依赖性愈强。许多资源(如煤、石油、天然气等)是不可再生的,并且在运用过程中给人类生存环境带来极大污染,人类繁衍生息的物质和环境基础受到严峻挑战。加强清洁、可再生资源的开发运用,已引起全世界的普遍重视。太阳能作为一种取之不尽、用之不竭的可再生资源,有节能、环保、安全和永续运用等优点,理应成为开发运用的首选。其中太阳能热水器作为家庭生活用品,其开发运用在我国已走过了二十数年的历程,生产技术成熟,具有明显优点:(一)从节能环保的角度讲,使用太阳能热水器不会对环境导致污染,同时为国家节约了大量能源,社会效益明显,是国家重点推广项目,使用前景广阔。(二)太阳能热水器的使用寿命较长,使用太阳能热水器经济实惠。若使用合理,其寿命可达2023甚至更长。据测算,使用1平方米太阳能热水器,相称于每年节约310度电。太阳能热水器的费用只有燃气热水器的七分之一,电热水器的六分之一。购置太阳能热水器一次性投资3000元左右,使用5至6年就可实现与其热水器的支出对比平衡。按照装置寿命2023计算,其经济效益是十分明显的。(三)太阳能热水器集热效果好,集热时间更长。只要阳光能照射到的地方,就可以使用太阳能热水器,即使在高寒地区一年四季也可以正常使用。在我国浙江、江苏、山东等地,太阳能热水器的研发和生产已形成规模,应用太阳能热水器的场合也由家居使用扩展到医院、学校、宾馆、饭店、游泳池、洗浴场合等。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字节在系统可编程FlashAT89S52。图2.2为AT89S52的引脚图图2.2AT89S52的引脚图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.1P1口第二功能端口引脚第二功能P1.0T2(定期器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定期器/计数器T2的捕获/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)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.2P3口的第二功能端口引脚第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.4TO(定期/计数器0)P3.1TXD(串行输出口)P3.5T1(定期/计数器1)P3.2INTO(外中断0)P3.6WR(外部数据存储器写选通)P3.3INT1(外中断1)P3.7RD(外部数据存储器读选通)此外,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仅访问外部程序存储器(地址为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.3DS1302与单片机接口电路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.3DS1302的日历、时钟寄存器及其控制字寄存器名命令字取值范围各位内容写操作读操作76543210秒寄存器80H81H00--59CH10SECSEC分寄存器82H83H00--59010MINMIN时寄存器84H85H01-12或00-2312/24010HRHR日寄存器86H87H01-28,29,30,310010DATEDATE月寄存器88H89H01--1200010MMONTH周寄存器8AH8BH01--0700000DAY年寄存器8CH8DH00--9910YEARYEAR此外,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.418B20与单片机的连接电路2.3.2温度传感器简介DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简朴,体积小的特点。因此用它来组成一个测温系统,具有线路简朴,在一根通信线,可以挂很多这样的数字温度计,十分方便。DS18B20产品的特点[6]:只规定一个端口即可实现通信。在DS18B20中的每个器件上都有独一无二的序列号。实际应用中不需要外部任何元器件即可实现测温。测量温度范围在-55.C到+125.C之间。数字温度计的分辨率用户可以从9位到12位选择。内部有温度上、下限告警设立。其引脚功能描述见表2.4。表2.4DS18B20具体引脚功能描述序号名称引脚功能描述1GND地信号2DQ数字输入输出引脚,开漏单总线接口引脚,当使用寄生电源时,可向电源提供电源3VDD可选择的VDD引脚,当工作于寄生电源时,该引脚必须接地64位ROM存储器件独一无二的序列号。暂存器包含两字节(0和1字节)的温度寄存器,用于存储温度传感器的数字输出。暂存器还提供一字节的上线警报触发(TH)和下线警报触发(TL)寄存器(2和3字节),和一字节的配置寄存器(4字节),使用者可以通过配置寄存器来设立温度转换的精度。暂存器的5、6和7字节器件内部保存使用。第八字节具有循环冗余码(CRC)。DS18B20加电后,处在空闲状态。要启动温度测量和模拟到数字的转换,解决器须向其发出ConvertT[44h]命令;转换完后,DS18B20回到空闲状态。温度数据是以带符号位的16-bit补码存储在温度寄存器中的[7]。符号位说明温度是正值还是负值,正值时S=0,负值时S=1。访问DS18B20必须严格遵守这一命令序列,假如丢失任何一步或序列混乱,DS18B20都不会响应主机(除了SearchROM和AlarmSearch这两个命令,在这两个命令后,主机都必须返回到第一步)。a.初始化:DS18B20所有的数据互换都由一个初始化序列开始。由主机发出的复位脉冲和跟在其后的由DS18B20发出的应答脉冲构成。当DS18B20发出响应主机的应答脉冲时,即向主机表白它已处在总线上并且准备工作。b.ROM命令[8]:ROM命令通过每个器件64-bit的ROM码,使主机指定某一特定器件(假如有多个器件挂在总线上)与之进行通信。DS18B20的ROM如表2.5所示,每个ROM命令都是8bit长。表2.5ROM命令指令协议功能读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”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.6LCD结构尺寸基本特性:低电源电压(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℃控制器接口信号说明:如表2.6,2.7表2.6RS和R/W的配合选择决定控制界面的4种模式RSR/W功能说明LLMPU写指令到指令暂存器(IR)LH读出忙标志(BF)及地址记数器(AC)的状态HLMPU写入数据到数据暂存器(DR)HHMPU从数据暂存器(DR)中读出数据

表2.7E信号E状态执行动作结果高——>低I/O缓冲——>DR配合/W进行写数据或指令高DR——>I/O缓冲配合R进行读数据或指令低/低——>高无动作

忙标志:BF。BF标志提供内部工作情况.BF=1表达模块在进行内部操作,此时模块不接受外部指令和数据.BF=0时,模块为准备状态,随时可接受外部指令和数据。运用STATUSRD指令,可以将BF读到DB7总线,从而检查模块之工作状态。字型产生ROM(CGROM):字型产生ROM(CGROM)提供8192个此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAYON),DDRAM的内容就显示在屏幕上,DFF=0为关显示(DISPLAYOFF)。DFF的状态是指令DISPLAYON/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.1KEILuVISION3软件环境单片机开发中除必要的硬件外,同样离不开软件,本系统的软件编程设计是在Keil软件环境中完毕的。我们写的C语言、汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已很少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有初期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了涉及C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,假如使用C语言编程,那么Keil几乎就是不二之选。即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令人事半功倍[12]。KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。

KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。此外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目的代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。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初始化程序流程图初始化程序清单如下:voidstart(void)//初始化函数{unsignedchari;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);//启动12864clean();//清屏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_write(0xcc);//跳过ROM搜索命令wendu_write(0x44);//启动一次转换wendu_reset();//复位wendu_write(0xcc);//跳过ROM搜索命令wendu_write(0xbe);//发送读命令a=wendu_read();//读高字节8位b=wendu_read();//读低字节8位pn=b&0x80;//判断温度正负if(pn==0)//假如温度为正{t=((b*256)+a)/16;//直接转化为十进制数}if(pn==0x80)//假如温度为负{a=~a;//将数据取反b=~b;c=a+1;//低位加1if(c==0x00)//当低位为255时,加1后为0,这时需进位{b++;}//向高位进1t=((b*256)+c)/16;//再进行转换十进制4太阳能热水器控制系统整体调试4.1Proteus仿真环境本系统的硬件设计一方面是在Proteus软件环境中仿真实现的。Proteus软件是来自英国Labcenterelectronics公司的EDA工具软件,Proteus软件有十数年的历史,在全球广泛使用,除了具有和其它EDA工具同样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,它的电路仿真是互动的。针对微解决器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试。假如有显示及输出,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,还能看到运营后输入输出的效果。它运营于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。Proteus[13]建立了完备的电子设计开发环境,特别重要的是ProteusLite可以完全免费,也可以花微局限性道的费用注册达成更好的效果。Proteus7.1是目前最佳的模拟单片机外围器件的工具。可以仿真51系列、AVR、PIC等常用的MCU及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IIC器件,...)。其实Proteus与multisim比较类似,只但是它可以仿真MCU!当然,软件仿真精度有限,并且不也许所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最佳选择,可是初学者拥有它们的也许性比较小。使用51系列单片机,不管是用汇编语言还是用C语言编程都要用到keil软件。使用keilc51v7.50+proteus7.1可以像使用仿真器同样调试程序,一般而言,微机实验中用万能仿真器+电工系自己做的实验板的实验都可以做得到。当然,硬件实践还是必不可少的。在没有硬件的情况下,Proteus能像pspice仿真模拟/数字电路那样仿真MCU及外围电路。此外,即使有硬件,在程序编写初期用软件仿真一下也是很有必要的[14]。Proteus软件重要具有以下几个方面的特点:(1)实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。(2)支持主流单片机系统的仿真。目前支持的单片机类型有:ARM7(LPC21xx)、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。(3)提供软件调试功能。在硬件仿真系统中具有全速、单步、设立断点等调试功能,同时可以观测各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能[15];同时支持第三方的软件编译和调试环境,如KeilC51uVision2、MPLAB等软件。(4)具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。(5)在设计综合性方案中,还可以运用ARES开发印制电路板。4.2太阳能热水器控制系统调试过程系统的硬件电路设计与软件程序设计都完毕之后,一方面,在硬件电路的仿真环境Proteus中,将通过编辑、编译、汇编、连接几步生成的.HEX文献加载到单片机AT89S52中,然后对系统进行整体调试。以下是调试过程中碰到的重要问题及相应的解决方法:1、问题描述:在控制系统中,涉及到了电加热模块,即当室外光强局限性(阴天、下雨)时,对水箱的水进行电加热是很必要的,然而仿真中无法显示出是否在执行加热过程。解决方法:用一个等来仿真加热过程,灯亮时表达加热,图中的三极管为光敏三极管(Proteus仿真元件库中没有),当灯亮时,光敏三极管导通,继电器闭合,电阻丝发热,完毕了加热任务。所以只有当灯亮时为加热进行中。如图4.1所示。图4.1加热程序电路图2、问题描述:在控制中,尚有一个重要的部分,水位显示。也没有办法直接显示到仿真过程中,只有通过另一种模式模拟出来。解决方法:起初想到两个方案。第一个方案是用多个温度传感器,通过温度比较,来拟定水位,由于水下传感器的温度必然不同于不在水中的传感器,通过温度比较来判断,但是后来发现,多个传感器不合理,并且水温的高低不好解决。最后决定的方案如图4.2所示。图4.2水位显示电路图检测原理如下:当水箱中无水时,8个非门均由1M欧姆电阻上拉成高电平,所以图中各“非”门(CD4069)输出均为低电平,LED1~LED8均不亮。当水位高于“非”门1的输入探针时,由于水的导电作用,使“非”门1的输入变为低电平,所以其输出变为高电平,LED点亮,依此类推。随着水位的上升,各“非”门输出相继为高电平,LED依次点亮。这里要注意的是上拉电阻不能选择太小,由于水的电阻在100k8左右,所以上拉电阻选择太小的话,将在水位升高时,无法把“非”门输入端拉成低电平。3、问题描述:生成.HEX文献运营时,调试按键,没按一下,屏幕或者没有反映,或者连跳两下,“加”“减”键也是如此,想在现有的基础上加一,结果按了一下以后,并没有加一,有时候连加两次。因素分析及解决方法:再看按键的部分资料时,得知需要进行按键防抖动,这种抖动一般在10~200毫秒之间,这种不稳定电平的抖动时间对于人来说太快了,而对于时钟是微秒级别的单片机而言则是漫长的。为了提高系统的稳定性,必须去除或避开它。此处我通过delay()延时程序,延时结束再读一次I/O口的值。4、问题描述:在与12864液晶显示屏连接仿真时,发现液晶显示屏可以启动,清屏,但是部分时间及星期不显示,按键并不起作用。如图4.3所示。图4.3液晶显示屏因素分析及解决方法:一方面查看程序,是否是显示部分的程序出问题,或者是定义的部分代码犯错,然后又查看电路图的连接,也许是接线没有接好,部分管脚没有连通。通过检查,发现程序在keil中运营无误,是部分导线连接错误。结论(1)系统能实现的功能:本系统通过单片机控制各个电路模块以实现对温度,水位的检测,以及对整个热水器的智能化控制。(2)系统功能测试:设计前期通过KEIL软件和PROTEUS仿真软件的联调,对设计功能进行仿真,均达成了预期的设计效果,设计后期,硬件制作完毕后,将仿真成功后的程序通过单片机下载程序,写入单片机,再根据显示模块的各个端口连接方式,对的地将单片机跟显示模块连接,最后都实现了设计的功能。(3)系统功能分析:该控制器和以往显示仪相比具有性能价格比高、温度控制与显示精度高、使用方便和性能稳定等优点。单片机控制系统具有低价、智能的优势,可以根据需求的不同而作相应的调整,更加个性化。同时,使用单片机控制系统可以节约能源,保护设备,延长设备的使用时间。该热水器具有以下特点:结构简朴、运营可靠、操作维护简便;热源取之不尽用之不竭,不需要运送,节省燃料;无污染,不会对周边环境导致任何影响。参考文献[1]李念强,等.单片机原理及应用[M].北京:机械工业出版社,2023:30-40[2]孙育才,MCS-51系列单片微型计算机及其应用[M].第4版.南京:东南大学出版社,1997:52-55[3]张涛,王金岗.单片机原理与接口技术[M].北京:冶金工业出版社,2023:72-80[4]阎石.数字电子技术基础[M].北京:高等教育出版社,1997:53-57[5]李广第等.单片机基础[M].北京:北京航空航天大学出版社,2023:77-93[6]王长胤,文军.单片单板机原理及应用[M].武汉:武汉大学出版社,1993:45-56[7]殷为民.太阳能水温水位仪[J].家用电子,1999,5(1):37-38[8]徐龙坤.辅助加热式太阳能热水器[J].家用电器,1997,15(2):9-10[9]王俊杰.基于89C51单片机的太阳能热水器智能控制器的设计[J].郑州轻工业学院学报:自然科学版,2023(8):67-68.[10]张振荣,晋明武,王投平.MCS-51单片机原理及实用技术[M].北京:人民邮电出版社,2023:64-120[11]戴佳,戴卫恒.51单片机C语言应用程序设计实例精讲[M].北京电子工业出版社,2023:11-20[12]周润景,袁伟亭,景晓松.Proteus在MCS-51&ARM7系统中的应用百例[M].电子工业出版社,2023:64-78[13]宫亚梅.基于Proteus和Keil的单片机课程设计[J].济南职业学院学报.2023(5):1-3[14]PredictiveEnergyBalanceforSolarHotWaterSystems,CentreforSustainableEnergySystems[J].2023:115-130[15]DreamtechSoftwareTeam,ProgrammingforEmbeddedSystems-CrackingtheCode,HungryMinds[J].2023.4:33-42致谢本次课程设计是对所学知识的一次综合性运用。其中涉及对模拟电子技术基础、和数字电子技术基础、单片机等知识的运用。从而完毕了本次设计。在设计的过程中发现了自身知识的局限性,也发现我们必须具有专业基础知识以外,才干成功的设计出一件合格的东西。这次课程设计收获很多,体会也很深刻,并且对我们所学的东西也产生了浓厚的爱好。在设计过程中,也学会了很多新的东西,PROTEL软件绘制电路原理图和PCB图,以及一些仿真软件的应用,最典型的就是PROTEUS软件的应用,以及与KEIL软件的联合使用功能。当然最重要的是学到了关于基本电子设计的一些基本方法,同时也加深了对一些常用的电子元件的理解及其基本用法的掌握。除此之外,我觉得在这次设计的过程中,我发现团队精神的重要性,很多时候一个人的力量是有限的,一个人不也许什么都会,什么都能自己解决,还是有需要别人帮助的时候,我觉得人与人之间的互相帮助很有必要,这样不仅能帮助大家不久的解决问题,还能提高我们每个人的实际水平,也培养了我们的团队合作精神,这些能力对于我们此后的学习和工作都很有帮助。由于时间关系,本次设计中尚有不尽完善之处。希望在以后的学习生涯中不断的完善和改善。在本次设计过程中碰到不少问题,在赵保华老师和同学的帮助和配合下才顺利的完毕了本次课程设计。赵保华老师在我们做设计的过程中,给予了我们极大的帮助,不仅从知识方面引导了我们的设计思绪,同时,在人生观上也给了我们不少的启示。在此,我对老师和同学表达深深的谢意。附录下图为仿真时的总体电路图:#include"at89x51.h"#include"intrins.h"sbitRES1=P2^0;//12864复位sbitA0=P2^1;//命令数据选择sbitRW=P2^2;//读写选择sbitE=P2^3;//使能信号sbitB0=P0^0;//状态按钮sbitB1=P0^1;//执行加按钮sbitB2=P0^2;//执行减按钮sbitDQ=P3^0;//温度线sbitIO=P3^3;//DS1302IO口设立sbitSCLK=P3^2;//时钟线设立sbitCE=P3^1;//复位/片选脚设立unsignedcharstate_button,time_jia,time_jian;//按钮参数voiddelay(unsignedinti)//延迟程序{while(i--);//12MHz下跳转到延迟函数需2微妙,while循环一次4.5微秒。}/*DS18B20*/voidwendu_reset(void)//DS18B20复位程序{unsignedcharr=0;DQ=1;//致高电平,为下面复位时总线下拉准备delay(8);DQ=0;//总线下拉,开始复位delay(90);//复位延迟,不得小于480微秒DQ=1;//总线拉高,复位过程结束delay(14);//延迟一段时间,等待回应r=DQ;//若回应为低电平,则复位成功,为高电平则失败delay(20);//延迟一段时间结束//return(r);可以根据需要返回复位结果}voidwendu_write(unsignedchardate)//写字节程序{unsignedchari=0;for(i=8;i>0;i--){DQ=0;//总线拉低DQ=date&0x01;//发送最低位字节到DS18B20delay(7);//延迟30微秒左右,等DS18B20采样DQ=1;//将总线拉高date>>=1;//写入数据右移一位}}signedintwendu_read(void)//读温度字节程序{unsignedchari=0,t=0,pn=0;//t为暂存变量for(i=8;i>0;i--){DQ=0;//总线为低电平准备读操作,然后在1微秒内释放总线,以便让DS18B20将数据反馈t>>=1;//将变量右移一位,刚好可以抵消读所需的延迟时间DQ=1;//总线拉为高电平后,执行下面代码if(DQ==1)//假如总线反馈为高电平{t|=0x80;//则将变量最高位置1}//假如反馈为0,则变量最高位为0delay(4);//延迟一顿时间

温馨提示

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

评论

0/150

提交评论