主页 > 案例大全 > 论文写作分析-基于单片机的室内空气质量控制设计

论文写作分析-基于单片机的室内空气质量控制设计

2021-04-27 12:52:10

  随着信息社会的发展,人们开始享受智能化的生活,一切科技的进步目的都是改善人类的生活环境。本课题就是设计一个基于单片机的室内空气质量的检测控制电路,结合传感器与信号调理等自动化技术,利用数据采集模块,采集甲醛浓度数据和环境温湿度数据,经处理后在显示屏上显示,同时发送控制信号控制风扇和加湿器的启停,当出现甲醛超标时,发出报警,提醒人们采取必要的措施。以此实现对室内空气环境的监控与控制,具有性价比高,功能多样的特点。

  1.1.1课题背景

  随着社会科技的发展和进步,各种各样智能化的设施开始走入到人们的日常生活之中。各种家用电器也迎来了革新,不再像原来一样仅仅实现最基础的功能。一切科技的进步目的都是改善人类的生活环境。人们在日常生活中大部分时间都是在室内的,因此我们需要一个良好的室内空气环境。温度和湿度都是会影响是室内空气质量的因素之一,由于现如今住宅的密封性变得越来越好,影响空气的流通,这就会导致一部分污染物始终滞留在室内,还会影响室内的温湿度。因此为了有效提高和改善室内空气质量,需要一款具有对室内温湿度自动检测和报警功能的装置,以便于人们能够及时采取措施改善室内空气质量[1]。

  甲醛作为日常生活中最为常见的室内化学污染源,威胁人体健康,更是世界范围内所公认的致癌物质。它是一种极易挥发,形成游离气体,并对人们的健康造成威胁的化学物质。在室内,往往因为空间有限,空气净化没有做到位,导致甲醛成为了室内空气污染的主要原因。据调查结果显示,普通民众中大概只有40%的人能够明确解室内现存污染物的来源,并且能够在日常生活中做出相应的措施来改变。如果 付民自身对污染物的来源都不了解,那就必然无法做出有效预防措施和保证自身的健康。

  随着科技社会的发展,计算机已然成为了日常生产中一项不可缺少的生产工具,现如今更是很少有一个行业能够在不依靠计算机技术的条件下蓬勃发展。而单片机作为该技术发展历史中的一项分支领域,其主要特点有:体积小、可靠性高、功耗低、电压低、元器件高度集成并且利于开发便携性设备与产品等特点。现如今,日常生活中的各个角落基本都能看到对于单片机技术的应用。

  与此同时,国内家 付电器产业也由于物联网、云计算、计算机等相关技术的发展驱动下,迎来了升级换代。人们将不再满足于现有的室内空气质量环境家电分散式处理的模式,未来室内空气质量相关产品的发展趋势将会是集中化、智能化的智能家 付行业总体呈现出节能,安全,舒适以及便捷等特点。传统家 付对于能源的浪费是巨大的,节能与否完全依赖于使用者的习惯以及是否能够自觉地关停无需使用的设备,而智能家 付则可以依靠传感器依据外界环境自动做出合理的安排,不到可以节能减排提高能源的利用效率,还可以更加有效的改善 付住环境的舒适度。

  1.1.2研究意义

  近年来,随着科技和生产力的进步,人们对于生活品质的需求逐步变高,。而与日常生活关联最密切的室内的温湿度环境不仅仅影响着人们对于环境的感觉,影响着舒适度,更影响着人们的心情。对于那些绝大部分时间都在室内工作的人来说,想必没人愿意在一个又湿又热或者又冷又干的环境下工作一整天。除了人们这些最直观的感受之外,室内的温湿度更会在一定程度上会影响人们的身体健康,例如:季节是影响流感病毒传播的一大因素,通过豚鼠的传播实验发现,影响北半球流感病毒传播的两大因素就是温度和湿度。低温还会阻碍动物免疫反应的进,从而导致清除已感染病毒的功能降低,而微生物的繁育也在湿度高的空气条件下处于做活跃的状态。因此,湿度过高还会加快病毒滋生。如果工作或者生活的环境长期处于湿度过高的状态的话,还容易诱发风湿病、肾病等疾病。而当空气中的相对湿度过低时则会导致水分的蒸发进程加快,人体内的水分变得更容易流失。在这种情况下则会导致人们的皮肤变得更容易干裂,口腔和鼻腔的粘膜组织则会因为相对湿度过低而受到强烈刺激,常常会出现干咳、口渴、喉咙疼痛等症状。这些症状不仅仅会让人短时间内感到不适,更会诱发咽炎、支气管炎等呼吸系统疾病。

  除此之外,有些人对于甲醛对人体危害的认识仅仅停留在致癌上,然而甲醛的危害不仅仅是致癌,甲醛对于人体的危害主要体现在:

  1、刺激危害:当周围环境中的甲醛浓度过高时,会导致人们出现眼干、眼痒、喷嚏、胸闷、咽痛、等症状,重者还会影响到皮肤黏膜的正常工作。

  2、中毒危害:当甲醛低浓度超标时,则有可能会引起慢性中毒从而引起常见的头疼、免疫力和记忆力下降等症状。而当周围空气中的甲醛浓度严重超标时,就可能会导致急性中毒,出现诸如:呼吸困难、过敏性紫癜等急性症状。

  3、致敏危害:有时,由于某些特殊原因导致了我们的皮肤直接接触到高浓度甲醛时,则可能会引起皮肤坏死、过敏性皮炎等症状的出现。

  4、致癌危害。

  除此之外,对于甲醛这种污染物的来源许多人的印象还仅仅停留在装修,甲醛普遍存在于各种各样的生物体中,不仅人和动物的体内都存在甲醛,树木,甚至汽车尾气烟草烟雾中都存在甲醛,由于甲醛做的活性树脂可以防皱,所以导致了在生活中随处可见的窗帘,床上用品中都有它的影子。

  目前,政府的监督与政策不够到位,导致了检测市场的鱼龙混杂。与此同时,社会上存在不少为了利益无所不做的黑心企业,为了降低成本以谋取利益最大化,检测人员并没有相关行业检测资质,也不具备足够的检测知识,这就会导致检测结果的不准确。因此,人们需要更主动的认识到目前所处的室内环境的实时动态,以便于获取一个更加舒适的 付住环境。

  1.2研究现状

  近年来,在自动化和AI等技术发展的支持下,国内的智能家 付市场迎来了飞速发展时期。根据国家现阶段政策以及各地方政府的相关政策安排,我国已经有超过了500个城市正在建设智慧城市或已经启动智慧城市的建设。随着政府政策的推进与相关企业对于产品的支持,相关市场甚至有望扩容至万亿级别。

  2019年,智能家 付市场迎来了前所未有的机遇。一方面,由于边缘计算、物联网等技术的蓬勃发展给整个行业带来了新的可能性;而在另一方面,中国房地产行业也由过去的大量开发转变为现在的减少开发量、楼盘精装化的发展方向,给智能家 付产业提供了充足的需求量。

  而《2019中国室内空气污染状况白皮书》指出:以装修完成3年的房屋为研究对象,在16℃-38℃的温度条件下进行测量,在被检测的6482个点位中,不合格率高达74%,合格者仅占其中的26%。由于室内空气的污染程度会随着装修完成年份的增长而逐步降低,其中装修1年内房屋不合格率高达95%,装修2年内不合格的数量就降低到了65%,而装修3年内不合格的数量则会进一步下降至55%。在家庭、办公室、学校、政府等场景的检测中,办公室内的空气质量不合格比例是最高的,甚至达到了90%。其中接受检测的3530个家庭样本,合格率为35%;784个政府和金融机构等地的样本,合格率为20%;492个学校样本,空气质量合格率为23%。

  最早的智能化建筑出现在1994年的美国,诸如德国、日本、澳大利亚和欧洲等发达国家和地区也在此之后提出了各式各样的可能方案。到目前为止,智能家 付相关产品已经被生活在在美国、西班牙、日本等国家的群众普遍接受。

  就像其他的高科技产品一样,都是欧美先发展起来,在这之后国内在复制其发展模式和经验。目前。国外的智能家 付行业已经经历了二十余年的发展,整体行业已经到达了相对成熟的阶段,而国内的智能家 付市场发展可谓是磕磕绊绊,直到现在仍然没有做到全面普及,除了杭州、深圳、广州等部分城市智能家 付单品较多,创业氛围浓厚外,其他城市发展仍然较差。

  而国内智能家 付目前不得不面对的主要问题有:目前在智能家 付行业中,并没有一套完整统一的技术指标体系,这就导致了许多中小型企业研发的产品之间互不兼容,消费者还可能会通过不正规的渠道购买的智能家 付产品还会存在质量问题,这就导致消费者对于行业的不再信任。其次是在开发过程中,设计研究人员并没有了解到使用者的内在需求,开发出的最终产品操作复杂,功能与市场需求相去甚远,不仅如此,部分黑心企业甚至存在部分产品只是能够连接APP使用就打上了“智能”的噱头。还有就是智能家 付相关产品的技术研发需要充足的资金支持,许多规模不大的企业也正因如此难以做到持续的开发创新,难以形成规模化生产从而形成自己的一套智能家 付体系,因此造成了产品的价格 付高不下的局面。除此之外是国内仍有部分消费者对于智能家 付的概念认知不足,并不清楚智能化产品的优越性和未来的发展可能,无法成为未来的潜在客户。最后一点是非必须功能需求产生的溢价,消费者并不愿意为一些非必须的附属的功能所产生的的溢价买账。行业内部调查数据显示:目前行业的问主要题是市面上的大部分产品,“智能”成分不足,人机交互体验较差(12.7%);其次是目前并没有一个特定场景体现出了对于智能家 付的特定需求(11.3%);第三位则是没有企业能做到自家产品的全屋式覆盖,各部分系统之间的联系较差,难以构成整体协调工作(11.0%),产品之间无法互相连通,缺乏联动性。

  1.3论文研究内容

  本文使用了单片机、数码管、传感器等原件设计电路实现室内空气质量控制电路,此电路可以根据实时室内温度,湿度甲醛浓度数据,与系统内部预设当前季节最佳温湿度对比,对风扇的启停与加湿器除湿器的启停进行控制,当甲醛浓度超标时通过蜂鸣器进行警报,并通过LCD1602显示器进行数据的显示,最后通过proteus仿真软件平台进行仿真,以此来验证其是否可行和系统的实际应用价值。

  本文结构章节安排如下:

  第1章主要介绍了基于单片机的室内空气质量控制系统的背景、意义和现状。

  第2章对基于单片机的室内空气质量控制系统进行总体的结构流程设计。

  第3章对系统进行硬件选型和设计。

  第4章对系统进行软件设计。

  第5章对系统硬软件进行调试与仿真,以达到目标需求,实现系统功能。

  第2章系统结构

  2.1系统总体设计内容

  本课题设计的室内空气质量控制系统的主要功能为通过DHT11温湿度传感器和ZE08-CH2O甲醛传感器接收当前室内的温湿度与甲醛浓度数据,通过与提前预设的当前季节最佳温湿度数据和室内未超标甲醛浓度数据进行对比,若当前室内温度过高时,控制风扇开始运转;若当前室内温度过低时,控制加热器开始工作;当房间内湿度过高时,控制除湿器开始工作;当房间内湿度过低时,控制加湿器开始工作,通过这种方式使室内的温湿度一直处于一个当前季节最适合 付住的状态。

  除了室内空气质量系统的基本温湿度控制功能外,本室内空气质量控制系统还添加了甲醛传感器测定当前室内甲醛浓度,当室内甲醛浓度超标时蜂鸣器发出警报,以此来提示用户甲醛浓度超标,及时进行开窗通风换气降低室内甲醛浓度或者请专业人士清除室内甲醛,以此来改善 付住处室内空气质量。

  此外,本室内空气质量控制系统还添加了冬季与夏季两种模式,对应冬夏两季人体最适宜的温湿度,冬季最适温度为19度,夏季为24度,冬季最适湿度为45,夏季为50,以此来满足用户在不同情况下的需求,例如家中有老人小孩,或者睡眠期间适当降低温度,以此来适应不同用户的实际情况。

  2.2室内空气质量控制系统运行状态设计

  本课题设计的室内空气质量控制系统通过温湿度传感器发送出的数据控制风扇与加热器。加湿器与除湿器的启停,通过甲醛传感器发送出的数据控制蜂鸣器的工作状态,当甲醛浓度超标时发出警报,各传感器数据最终通过LCD1602显示屏进行显示。

  单片机接收到温湿度传感器发送过来的数据后,与当前模式下的预设温湿度进行对比。当实际温度高于系统内预设温度时,启动风扇降低温度直至达到预设温度;当实际温度低于预设时,启动加热器使温度升高至温度达到预设;当湿度高于预设湿度时,运行除湿器;当实际湿度低于系统预设时,启动加湿器。

  同时,单片机还需处理甲醛传感器传输来的信息,经由单片机处理,和相应的算法计算出当前环境中的甲醛浓度数据,此数据与储存在单片机中的浓度数据进行对比,当甲醛浓度高于预设值时,启动蜂鸣器提醒用户甲醛浓度超标。

  为了能够实时观察到周围环境的温湿度数据以及甲醛浓度,使用LCD1602液晶显示屏在第一行显示当前环境下的温湿度数值以及甲醛浓度,在第二行显示当前模式下的预设温湿度数值,除此之外还通过LED小灯的亮灭显示当前模式。

  通过上述的流程,可以实现对于室内温湿度的控制,并当室内甲醛浓度超标时能够及时发出警报。同时,由于DHT11温湿度传感器的采样周期短,因此可以实现对于室内温湿度的及时控制。

  除此之外,加入了可通过按键改变当前模式的功能,对应冬夏两季的温度预设值,实现对于不同季节下对于温湿度需求。控制系统流程图如图2-1所示。

  图2-1控制系统流程图

  2.3小结

  本章对本课题设计的室内空气质量控制系统的设计内容和状态流程进行了讲解,描述了本室内空气质量控制系统完成的功能。

  第3章室内空气质量控制系统硬件设计

  3.1室内空气质量控制系统硬件结构

  本课题设计的室内空气质量控制系统的硬件结构由DHT11温湿度传感器模块、ZE08-CH2O甲醛传感器模块、LCD1602液晶显示模块、用电器模块和蜂鸣器警报模块组成。系统的硬件结构如图3-1所示。

  图3-1系统硬件结构图

  3.2主控制芯片

  本课题设计的室内空气质量控制系统以AT89C52单片机作为系统的主控制芯片,把在编译软件中编写好的程序下载到单片机后,就可以通过单片机驱动各模块运转,并通过传感器接收到的数据控制整个系统的工作状态。

  STC89C52单片机可以理解为STC89C51单片机的增强版,整体结构上基本相同。而52单片机上能够正常运行的程序不一定能够在51单片机顺利上运行。这是因为二者的不同之处在于52单片机相对于51单片机来说多了一个定时器、128B的RAM存储空间、4K的ROM和两个外部中断。

  本课题选择的主控制芯片,该芯片有着功率损耗低、运转电压低、高性能的特点,它有十分丰富的硬件资源,并且添加了8KFlashROM存储器使单片机在设计内容及应用时更加便利。

  图3-2AT89C52引脚图

  图3-2显示了AT89C52单片机的引脚,具体引脚如下:

  (1)电源引脚Vcc和Vss;

  (2)外接晶体引脚XTAL1和XTAL2;

  (3)控制信号引脚RST、、ALE和;

  (4)输入/输出端口P0、P1、P2和P3。

  AT89C52芯片的内部结构分为以下几个部分:

  (1)CPU(中央处理单元):CPU是单片机的核心组成部分,它负责控制和协调内部各结构的工作,它具体有运算器和控制器等结构;

  (2)存储器:存储器是具有记忆功能的存储设备,AT89C51单片机的存储器有程序存储器(8KFlashROM)和数据存储器(RAM);

  (3)I/O管口:单片机通过I/O管口与外部设备连接从而进行数据交换,AT89C51单片机有四组8位并行管口;

  (4)定时器/计数器:具有定时、计数功能的结构,AT89C52单片机共有三个16位定时器/计数器。[2]

  3.3单片机最小系统设计

  单片机最小系统是在能够保证单片机正常运行的条件下最小的硬件单元电路,由于本课题设计的室内空气质量控制系统在最小系统下即可正常工作,所以选择最小系统即可。原理如图3-3所示。

  图3-3单片机最小系统原理图

  3.3.1时钟电路

  为了控制单片机内部按照一定的节拍工作,时钟电路为其内部生成工作时的时钟信号,时钟电路规定了单片机内部执行指令过程中各控制信号之间前后的关系,使控制芯片内部形成一种同步时序电路,能够依照严谨的时序工作。

  为了降低使用12M晶振时产生的误差,本课题所设计的室内空气质量控制系统的时钟电路由一个11.0592M晶振和两个容量为30pF的电容组成成。电路连线如图3-4所示。

  图3-4时钟电路

  3.4温湿度传感器模块

  本设计所使用的DHT11温湿度传感器,是一款体积小、功率的损耗低、响应速度快、稳定性好、抗扰能力强、价格便宜、连接方便、信号传输距离远的传感器,它使用了数字式采集模块,单片机所接收到的信号是已经经过校准的,因此其提供的数据具有较高的准确性和可靠性,可以长时间稳定测量周围环境温湿度数据。DHT11在硬件结构上总共有4个引脚,由于其生产时所自带的P3引脚为空脚,并无任何实质性的功能,所以DHT11温湿度传感器模块仅保留了其中的三个引脚,分别为:VCC引脚,用于连接在单片机的电端来给模块供电;GND引脚,用于连接单片机的地端;DATA引脚,用于模块和单片机之间进行传输数据。经由DATA引脚所传输出的数据由五组八位数据组成。

  图3-5dht11电路图

  论文方式解析-基于单片机的室内空气质量控制设计

  3.5甲醛传感器模块

  本设计使用的甲醛传感器模块为ZE08-CH2O型电化学甲醛传感器模组,ZE08-CH2O型电化学甲醛模组利用电化学原理对空气中存在的CH2O进行探测,具有良好的选择性,稳定性,具有灵敏度高、分辨率高、功率表损耗低、使用寿命长等优点。缺点为使用时需要保证垂直进气、不可以接受过度的撞击和振动、使用时需要注意环境中的腐蚀性气体损坏器件和在高浓度环境下使用后恢复至正常状态需要较长时间等。另外,模块还内置了温度传感器,可以进行温度补偿,提高检测数据的真实性;同时传感器还拥有数字输出与模拟电压两种输出方式,方便在不同输出情况下进行使用。

  图3-6ZE08-CH2O型电化学甲醛模组

  3.6LCD1602模块

  液晶显示器是一种十分常见的显示类器件,具有重量轻、体积小、功率损耗低等特色。由于其功耗低、能够显示出来的信息量大,信息种类多(例如,文本,图形,曲线等)、无电磁辐射、使用寿命长,因此它已被广泛的应用在各种便携式电子产品上。

  本次设计所采用的LCD1602是一款可以显示2行标准字符,每行共有16个字符的液晶显示器。在各类小型自动化设备领域中得到了广泛的应用,其主要功能为显示ASCII字符,也被称为“字符型显示装置”。它由若干个5x7或者5x10的点阵字符位组成,每个点阵字符位都可以用显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。也正是因为这种显示原理,导致了它并不能够很好的显示出图片和复杂的图形。而由于本设计只需显示数字,字母及符号,因此LCD1602液晶显示屏的这些显示能力即可满足本次设计对于显示的需求。

  图3-7LCD1602液晶显示屏模块

  3.7小结

  本章对课题设计的系统进行了硬件结构设计,描述了为了实现系统各个功能所采用模块的工作原理,精心选择了各个模块元器件,绘制了各个模块的元件电路图。

  第4章室内空气质量控制系统软件设计

  4.1空气质量控制系统程序流程

  软件程序使用C语言设计编写,根据系统所需要完成的要求,绘制了出系统的总体流程图。

  图4-1控制系统流程图

  4.2编译软件选择

  本次设计室内空气质量控制系统所选择的程序编译软件是KeilC51。KeilC51是KeilSoftware公司制作的51系列单片机C语言软件开发系统。Keil软件是使用被普遍使用的51系列单片机的软件开发软件,在Keil集成开发环境里可以调用许多单片机的头文件,还可以对编写的程序进行编译、调试等,能通过程序自带的功能方便地检查程序错误,查看单片机内部的寄存器内数据变化和程序变量变化,以及程序结果。

  本次设计系统软件编写语言选择的是C语言,和其他的计算机语言相比较,C语言在编写和修改过程中可以更加直观显示出系统内容。

  4.3程序设计

  程序的主体围绕着DHT11温湿度传感器和ZE08-CH2O甲醛传感器展开,传感器接收到数据经由单片机处理后在LCD1602液晶显示屏上进行显示,并在不同情况下启动不同的LED灯和蜂鸣器来表示启动不同的用电器。除此之外,通过加入外部中断的方式利用按键实现切换目标温湿度值。

  为了方便数据的对比,LCD1602液晶显示器的第一行为实际测量到的数据,第二行为预设的目标数值。分别用H,T,F代表实际的湿度,温度和甲醛浓度,h,t,f分别代表湿度,温度和甲醛浓度的目标值。而由于显示屏显示字符总数的限制,温度与湿度仅保留整数位,甲醛浓度保留小数点后三位。

  4.3.1温湿度传感器程序设计

  单片机与DHT11温湿度传感器之间的通讯采用单总线数据格式,一次通讯所需要的时间大概为4ms左右,所传输的数据部分分为小数部分和整数部分,由高位到低位依次发送,分别为:湿度数据的整数部分、小数部分,温度数据的整数部分、小数部分,和最终为了验证信息传输是否正确的校验和。用户发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束之后,DHT11开始发送响应信号,发送出40bit的数据,并触发一次信号采集,用户可以选择读取其中的部分数据.在该模式下,DHT11接收到开始信号触发一次温湿度数据采集,如果没有接收到主机发送过来的开始信号,DHT11则不会主动进行温湿度信息的采集.采集数据后DHT11会转换到低速模式。

  图4-2DHT11通讯过程图

  由于DHT11温湿度传感器的通讯特性和说明书中所提供的通讯时序图,首先进行编译部分为DHT11温湿度传感器初始化程序和读取并保存传感器中的温度和湿度数据。

  /********************DHT11初始化和字节读取*****************/

  bitDHT11_Init()

  {bitFlag_DHT11=1;

  DHT11_DQ=0;

  DHT11_delay_ms(25);//延时大于18ms

  DHT11_DQ=1;

  DHT11_Delay(2);//延时20~40us

  DHT11_Delay(2);

  Flag_DHT11=DHT11_DQ;

  DHT11_Delay(2);//DHT11响应总时间80us

  DHT11_Delay(4);//DHT11拉高信号80us

  returnFlag_DHT11;}

  最后,将温湿度传感器所读取到的数据存储在变量名TEM_Buffer和HUMI_Buffer之中,方便后续的使用。

  /************读取并存储数据在TEM_Buffer和HUMI_Buffer**********/

  voidDHT11_Read()

  {if(DHT11_Init()==0)

  {HUMI_Buffer_Int=DHT11_Read_Byte();//读取湿度数据的整数部分

  DHT11_Read_Byte();//读取湿度数据的小数部分

  TEM_Buffer_Int=DHT11_Read_Byte();//读取温度数据的整数部分

  DHT11_Read_Byte();//读取温度数据的小数部分

  DHT11_Read_Byte();//读取校验和

  DHT11_Delay(3);//拉低总线50us

  DHT11_DQ=1;//释放总线}}

  4.3.2甲醛传感器程序设计

  除了DHT11温湿度传感器模块之外,本设计还利用了ZE08-CH2O甲醛传感器模块,此模块共有七个管脚,但由于本设计只利用了甲醛传感器的数据发送功能,因此只需要连接其中的三个管脚:P3,P4,P5。其中两个连接GND和VCC给甲醛模块供电,然后把的甲醛传感器的TXD引脚连接到单片机的P30/RXD引脚即可,该引脚用于传输甲醛浓度的检测结果。

  传感器和单片机之间是通过串口传输数据的,波特率为9600bit/s。每隔1000ms发送一帧字节,共9个字节,其数据发送的格式如下图所示。

  图4-3传感器数据传输协议图

  另外,由于甲醛传感器读取出的数据单位为PPB=(高位数据*256+低位数据)。当转换为PPM时:PPM=PPB/1000.1PPM×1.25=1.25mg/m3。

  /*********通过外部中断将甲醛传感器中的数据存储在变量中**********/

  voidUartInt(void)interrupt4//单片机串口中断程序

  {u8Byte4,Byte5;//定义用来存储甲醛浓度数据高位和低位

  if(RI==1)//开始读取数据

  {RI=0;

  if(SBUF==0xFF)//Byte0(起始位)

  {while(!RI);//Byte1

  RI=0;

  while(!RI);//Byte2

  RI=0;

  while(!RI);//Byte3

  RI=0;

  while(!RI);//Byte4

  Byte4=SBUF;

  RI=0;

  while(!RI);//Byte5

  Byte5=SBUF;

  RI=0;

  while(!RI);//Byte6

  RI=0;

  while(!RI);//Byte7

  RI=0;

  while(!RI);//Byte8

  RI=0;

  gCH2O=Byte4*256+Byte5;//计算检测结果(单位是ppb)

  gCH2O=gCH2O*13;//单位由PPM转换为毫克/立方米}}}

  上面的程序为将甲醛传感器的数据进行采集的过程,由于ZE08-CH2O在数据主动上传模式下的特性,通过串口上传9位数据。因此,需要一位一位的进行数据读取,在此过程中需要在每次接收数据后将将其置0来保证下一位数据的接收。而在9位数据中,甲醛浓度的数值由低位和高位组成,分别是第四位和第五位数据,将这两个数据储存起来并通过公式计算得出最终的实际浓度数值。

  4.3.3LCD1602显示模块程序设计

  两个传感器所接收到的数据和预先设定好的数据最终都会在LCD1602液晶显示屏上进行显示,而LCD1602显示字符必要条件:

  (1)液晶显示模式的设置

  (2)字符显示位置的指定

  (3)待显示字符的字模代码

  /***********************LCD1602书写指令************************/

  voidLCD1602_write_com(unsignedcharcom)

  {LCD1602_RS=0;

  LCD1602_delay_ms(1);

  LCD1602_EN=1;

  LCD1602_PORT=com;

  LCD1602_delay_ms(1);

  LCD1602_EN=0;}

  /********************控制LCD1602写数据指令*********************/

  voidLCD1602_write_data(unsignedchardat)

  {LCD1602_RS=1;

  LCD1602_delay_ms(1);

  LCD1602_PORT=dat;

  LCD1602_EN=1;

  LCD1602_delay_ms(1);

  LCD1602_EN=0;}

  /*****************LCD1602书写连续写字符指令******************/

  voidLCD1602_write_word(unsignedchar*s)

  {while(*s>0)

  {LCD1602_write_data(*s);

  s++;}}

  voidInit_LCD1602()

  {LCD1602_EN=0;

  LCD1602_RW=0;//设置为写状态

  LCD1602_write_com(0x38);//显示模式设定

  LCD1602_write_com(0x0c);//开关显示、光标有无设置、光标闪烁设置

  LCD1602_write_com(0x06);//写一个字符后指针加一

  LCD1602_write_com(0x01);//清屏指令}

  4.3.4蜂鸣器警报程序设计

  当甲醛浓度超标时,应通过蜂鸣器警报提醒使用者甲醛浓度问题,此时通过控制蜂鸣器所连接在单片机上的管脚的电平控制蜂鸣器发声,除此之外,还可以通过改变蜂鸣器的高地电平,并在每次改变电平的过程中加如延时函数使蜂鸣器发出不同的警报声。

  /**********************蜂鸣器警报程序***********************/

  if(gCH2O<1000)

  {beep=1;

  delay(100)}

  else

  {beep=0;}

  4.3.5季节切换模块程序设计

  为了方便使用,本次设计加入了季节切换按键。通过外部中断的方式,利用按键快速切换温湿度的预设值,以此来适应不同季节下的使用。在切换模式后,不仅改变了温湿度预设数值,还加入了LED指示灯,通过LED指示灯的亮灭来确定当前模式。

  /**********************预设温度切换程序***********************/

  voidint0()interrupt2

  {delay(1000);//延时消抖

  if(k4==0)//k4控制模式切换指示灯

  {ledok=~ledok;}

  if(ledok==0)

  {yushe_HUMI=45;//指示灯确定预设值

  yushe_TEM=19;}

  else

  {yushe_HUMI=50;

  yushe_TEM=24;}}

  4.4小结

  本章设计了室内空气质量控制系统的软件部分,选择了编写程序的软件,以及设计了主程序和其他子程序的程序流程,还讲述了各部分程序的编写思路和具体实现功能的方法。

  第5章系统仿真结果及调试

  5.1系统仿真

  5.1.1仿真软件选择

  在1989年,英国的实验中心电子设备公司研发出了Proteus软件,经过几十年的使用,该软件在全球范围内得到广泛的好评。在电子设计与研发领域得到用户的喜爱,该软件作为一款EDA工具软件,能进行原理编辑,PCB制作,还能够进行仿真。是世界上最先进最完整的设计与仿真平台,它做到了完完整整地在计算机上实现从最开始的原理图,到电路设计,程序设计还有验证系统测试与功能等一系列过程。

  Proteus有一个完美的计算机处理系统。用户可以在Proteus中使用模拟灯组、仿真工具、其他外设模型来进行设计和动态仿真,将微处理器及其他电子器件一同处理。

  Proteus与其它仿真软件的区别在于,Proteus能实现单个元器件的独立仿真,即使没有真正的单片机参与到仿真过程之中,器件仍可以按实际情况进行仿真。这样的独立仿真方法更加接近实际,并且不会遗漏任何一个小问题。而其他仿真软件仅能对单片机电路进行仿真,通过观察单片机RAM、ROM变化完成仿真实验,没有直观感受。所以,proteus软件更能实现仿真与实际的对接,能够实现复杂的工程环境,可谓是一款功能强大的软件[5]。

  5.1.2Proteus软件仿真结果

  本室内空气质量控制系统的仿真内容包括温湿度传感器的仿真,甲醛传感器的仿真,LCD1602液晶显示器的仿真,蜂鸣器在甲醛浓度超标时报警的仿真,在不同温湿度条件下外部设备的运行状态的仿真(用发光二极管进行代替),以及季节切换按键的仿真。

  另外,由于ZE08-CH2O模块并不在proteus仿真软件库中,因此,通过虚拟串口驱动和STC-ISP的串口助手功能模拟出甲醛传感器发出的信号

  (1)冬季模式的仿真

  图5-1冬季模式下实际温湿度均低于预设值

  图5-2冬季模式下实际温湿度与预设值相同

  图5-3冬季模式下实际温湿度高于预设值

  图5-1、图5-2、图5-3显示了本室内空气质量控制系统在冬季模式下其中三种可能的状态。可以看到,在冬季模式下,LED5模式切换灯点亮。而当环境中的温湿度与预设值呈现出不同的关系时,模拟各用电器的对应LED灯点亮。

  (2)夏季模式的仿真

  图5-4夏季模式下仅温度高于预设

  图5-5夏季模式下仅温度低于预设

  图5-6夏季模式下仅温度低于预设

  图5-7夏季模式下仅温度低于预设

  图5-4、5-5、5-6、5-7列举了夏季模式下其中四种可能的情况。在按下开关后即可由冬季模式切换至夏季模式,此时模式切换LED熄灭,显示此时为夏季模式。除此之外,可以看到各LED的工作状态之间相互独立,是否工作仅与实际数值与预设数值之间的关系决定。

  (3)蜂鸣器模块的仿真

  图5-8甲醛浓度超标

  图5-8位通过虚拟串口软件和串口助手模拟出甲醛浓度超标的情况。通过与之前的模拟图进行对比可以明显的发现,此时蜂鸣器所连接的管脚电平改变,蜂鸣器发出警报。

  5.1.3实物测试结果

  本室内空气质量控制系统的实物测试选择使用普中开发板,用开发板中的LED灯模拟风扇,加热器,加湿器和除湿器,仿真结果如图5-9、图5-10所示。

  图5-9冬季模式

  图5-10夏季模式

  由于开发板管脚分配问题导致LED6、7、8与LCD1602管脚冲突,因此在实物测试过程中LED6、8常亮,LED7闪烁。从图5-9和图5-10可以看出,实物的仿真结果符合系统的功能描述,并且能正常工作。

  5.2本次设计总结与体会

  通过本次的室内空气质量控制系统的制作与仿真,让我学到了许多知识,主要分为几个部分:

  首先是学习到了许多51单片机的相关知识,虽然在大学的课程中曾经学习过一些单片机的相关知识,但当时由于课时的限制学习的内容较为简单。通过本次毕业设计,在查找资料的过程中,通过互联网上的各种相关论坛,加深了对单片机的理解,并能够独立设计硬软件实现部分简单的设想。

  其次,通过本次设计,我了解到了许多传感器相关知识。学习最多的自然是本次设计中所用到的两个传感器,除此以外,本次设计是我第一次独立完成传感器相关的软件设计,通过设计中所用到的两个传感器学习到了传感器工作时序图与软件设计之间的关联,并通过阅读两种传感器的使用说明书明白了数据传输格式与方式的不同对于软件编译的影响。

  然后,在仿真过程中遇到了选用器件不在仿真软件库中的问题,由于以前使用此软件都是在老师的指导下,所以不曾遇到过这种状况。最终,通过论坛网友的帮助,找到了解决办法,并借此机会学习到了虚拟串口软件的使用。

  此外,最大的收获就是对于C语言编程能力的提升。在最初的软件设计过程中,由于对于C语言知识的不熟练,导致浪费了许多时间。后来,为了更好地编写软件,特意花一段时间重新学习了所需要用到的C语言知识,在后来的编译过程中更加快速的确定所需要应用的语句并且更注意格式。在改错的过程中通过keil软件调试修改各个部分,在此过程中学会了如何利用软件的提示来更加快速准确的修改问题,并在最终实现了目标。

  最后,本次的设计提高了我的信息搜集能力,以前有问题更多的是通过身边的老师同学来快速了解到解决办法和答案。而在本次的设计过程中,内容需要独立完成,遇到问题首先尝试自己通过查看使用说明等方式进行解决,遇到无法独立解决的问题后通过互联网论坛查找相关内容或者直接进行提问找到解决办法。因此学习到了许多新知识和小技巧,使得我在设计过程中少犯了一些错误。

  第6章结论

  本室内空气质量控制系统以AT89C52单片机为核心芯片,与五盏LED灯、蜂鸣器、DHT11温湿度传感器模组、ZE08-CH2O甲醛传感器模组及LCD1602液晶显示屏共同组成。系统软件利用C语言在Keil软件上进行编写,并最终在Proteus上进行仿真,最终使用普中开发板进行硬件实物测试。经过一些列的修改与调试最终实现了课题要求的所有功能。

  本室内空气质量控制系统实现的功能包括当前室内温湿度与甲醛浓度的显示、甲醛浓度超标警报、不同季节下的最适温湿度切换、由最适温湿度与实时温湿度决定各用电器状态改变。通过使用LED灯代替显示加湿器、除湿器、风扇、加热器四种用电器的工作状态,利用LCD1602液晶显示屏进行最终的数据显示,并通过蜂鸣器发出警报声作为甲醛浓度超标的标志。

  在本次课题设计的室内空气质量控制系统虽然完成了课题要求的基本功能,但是由于时间和能力所限,并没有进行过多的功能拓展,使整个设计中的内容更加丰富。