本科学生毕业设计
家居环境数据采集系统的设计
院系名称:
专业班级: 学生姓名: 指导教师:
职 称: 讲 师
黑 龙 江 工 程 学 院
二○一二年六月
The Graduation Design for Bachelor's Degree
Design of
Data Acquisition System of Home Scene
Candidate: Specialty: Measurement - Control Technology and
Instrumentation
Supervisor:
Class:
Heilongjiang Institute of Technology
2012-06·Harbin
黑龙江工程学院本科生毕业设计
摘 要
室内空气污染是指由于各种原因导致的室内空气中有害物质超标,进而影响人体健康的室内环境污染行为,是日益受到重视的人体危害之一。进入20世纪中叶以来,由于民用燃料的消耗量增加、进入室内的化工产品和电器设备的种类和数量增多,更由于为了节约能源寒冷地区的房屋建造得更加密闭,室内污染因子日渐增多而通风换气能力却反而减弱,这使得室内有些污染物的浓度较室外高达数十倍以上。因此,室内空气质量的好坏与人们的关系尤为重要。
本设计通过使用温湿度传感器ZHT11采集温度和湿度信号,甲烷传感器MQ-5采集模拟信号,通过A/D转换电路将采集的模拟信号转为数字信号后,送给单片机AT89S52,再由单片机对信号进行处理,最后由显示电路显示结果,如果测量值超出预设值,则报警电路实时报警,从而实现对室内温度、湿度、甲烷气体的监测,为人们的身体健康提供保障。
关键词:甲烷传感器;单片机;报警;显示;A/D转换器.
Ⅰ
黑龙江工程学院本科生毕业设计
Ⅰ
黑龙江工程学院本科生毕业设计
ABSTRACT
Indoor air pollution is to because all causes of harmful substances in the indoor air exceeds bid, affect human body health of the indoor environment pollution act, it is more and more attention of one of the human body harm. Since the middle of the 20 th century, because civil fuel consumption increase, enter indoor chemical products and electrical equipment type and quantity increased, in order to save energy more due to cold region built more airtight, indoor pollution factor the growing number and ventilated take a breath, instead of ability to abate, this makes indoor some pollutants concentration as high as 10 times higher than the outdoor above. Therefore, indoor air quality stand or fall and the relationship between people is particularly important.
This design through the use of temperature and humidity sensor ZHT11 acquisition A digital signal, methane sensor MQ-5 acquisition analog signals, through the A/D converter circuit will acquisition of the analog to digital signal, gave monolithic integrated circuit AT89S52, another single chip microcomputer to signal processing, the last show results by show circuit, real time warning alarm circuit, so it can realize the indoor temperature, humidity, methane gas monitoring, on people's physical health provided protection.
Key words: CH4 Sensor;MCU;Alarm;Display;A/D Converter
Ⅱ
黑龙江工程学院本科生毕业设计
目 录
摘 要 .............................................................................................................. I ABSTRACT ......................................................................................................... I 第1章 引言 ....................................................................................................... 1
1.1 概述 .................................................................................................................................. 1
1.2 设计意义 ................................................................................................................... 1 1.3国内外现状 ................................................................................................................ 2 1.4 本设计研究的主要内容 ........................................................................................... 3
第2章 整体方案分析 ...................................................................................... 4
2.1总体设计框图 ............................................................................................................ 4 2.2要求 ............................................................................................................................ 4 2.3方案的对比和论证 .................................................................................................... 4
2.3.1按键模块的选择 .............................................................................................. 4 2.3.2显示模块的选择 .............................................................................................. 5 2.3.3温湿度传感器的选择 ...................................................................................... 5 2.3.4甲烷传感器的选择 .......................................................................................... 5 2.3.5单片机的选择 .................................................................................................... 6 2.4本章小结 ..................................................................................................................... 6
第3章 家居环境数据采集系统的硬件电路设计 .......................................... 7
3.1单片机 ........................................................................................................................ 7 3.2甲烷传感器电路 ...................................................................................................... 10 3.2 信号放大电路 ......................................................................................................... 12 3.3温湿度传感器电路 .................................................................................................. 12 3.4 A/D转换电路 .......................................................................................................... 13 3.5显示电路 .................................................................................................................. 15 3.6按键电路 .................................................................................................................. 16 3.7 系统的蜂鸣器电路 .................................................................................................. 16 3.8 本章小结 .................................................................................................................. 17
第4章 系统软件设计 .................................................................................... 18
黑龙江工程学院本科生毕业设计
4.1软件流程图 .............................................................................................................. 18 4.2 LCD显示函数 ...................................................................................................... 19 4.3按键中断函数 .......................................................................................................... 20 4.4本章小结 .................................................................................................................. 21
结束语 ............................................................................................................... 22 参考文献 ........................................................................................................... 23 致谢 ................................................................................................................... 26 附录 ................................................................................................................... 26
附录A系统电路图 ....................................................................................................... 26 附录B系统程序 ........................................................................................................... 26
III
黑龙江工程学院本科生毕业设计
第1章 引 言
1.1 概述
数据采集及其应用受到了人们越来越广泛的关注,数据采集系统也有了迅速的发展,它可以广泛的应用于各种领域。美国已将室内空气污染归为危害公共健康的5大环境因素之一。室内是人们接触最频繁的环境,人们约有80%以上的时间在室内度过,室内空气质量(IndoorAir Quality IAQ)的优劣直接关系到每个人的健康。据医学研究可知,一个成年人平均呼吸次数为1015/min,每次需要0.5升空气,以平均70岁寿命来计算,每个人一生要用27万立方米空气。这些空气进入人体内,在总表面积为60~80平方米的肺泡里,经物理扩散进入体内交换。因此,在如此长的暴露时间、如此大的接触面积下,室内空气质量的优劣对人们身心健康的影响是非常大的。中国标准化协会联合医学专家组调查结果也显示,68%的疾病由室内环境污染造成,室内环境污染程度高出5~10倍,目前中国每年由室内空气污染引起的超额死亡数已经达到111万人,超额急诊数达430万人次。2003年的春天,一场突如期来的―非典‖使人们更加认识到:关注和改善室内环境、杜绝和防止室内环境污染,已经不仅是为了提高人们的质量问题,而是直接关系到人民群众的身体健康和生命安全,直接关系到改革发展的稳定大局,直接关系到国家的经济发展和民族的振兴。
1.2 设计意义
室内空气污染是指由于各种原因导致的室内空气中有害物质超标,进而影响人体健康的室内环境污染行为。有害物包括甲醛、苯、氨、放射性氡等。随着污染程度加剧,人体会产生亚健康反应甚至威胁到生命安全。是日益受到重视的人体危害之一。进入20世纪中叶以来,由于民用燃料的消耗量增加、进入室内的化工产品和电器设备的种类和数量增多,更由于为了节约能源寒冷地区的房屋建造得更加密闭,室内污染因子日渐增多而通风换气能力却反而减弱,这使得室内有些污染物的浓度较室外高达数十倍以上。人们每天平均大约有80%以上的时间在室内度过。随着生产和生活方式的更加现代化,更多的工作和文娱体育活动都可在室内进行,购物也不必每天上街,合适的室内微小气候使人们不必经常到户外去调节热效应,这样,人们的室内活动时间就更多,甚至高达93%以上。因此,室内空气质量对人体健康的关系就显得更加密切更加重要。虽然,室内污染物的浓度往往较低,但由于接触时间很长,故其累积接触量很高。尤其是老幼病
1
黑龙江工程学院本科生毕业设计
残等群体抵抗力较低、户外活动机会更少,因此,室内空气质量的好坏与他们的关系尤为重要。
要求能够采集家居环境的各种数据,包括温湿度,甲醛等,并自动处理和
显示,如果测量数值超出要求,能实现报警功能。家居环境系统采集在设计会为人们及时的发现室内的空气质量,并及时的做出相应的应对方法,来保证人们的身体健康,从而提高国民的身体素质。
1.3国内外现状
最近几年,国内外温湿度传感器测量系统正向着集成化、智能化发展,随着科研人员的不断努力,该类型系统取得的巨大的成就。在测试气体方面,美国Interscan公司产品甲醛检测仪、美国ESC公司生产的Z-300甲醛检测仪、英国TSI公司生产的PPM 400TM甲醛检测仪、德国生产的TG2000系列固定式有害气体检测仪、国内江苏安普电子工程有限公司生产的400型甲醛分析仪、北京宾达绿创科技有限公司生产的甲醛测定仪XP-308、长春吉打小天鹅有限公司生产的全自动室内空气甲醛、氨测定仪等,这些仪器可以准确测定甲醛、苯、氨等有害气体,但是设备昂贵(如日本生产甲醛测定仪约三十万日元、英国TSI公司生产的PPM400TM甲醛仪约一万多元),测定时间较长,每隔一段时间就需进行重新标定(如英国TSI公司生产的PPM400TM甲醛仪),需要专业人员进行操作,很难连续测定,适用于专业检测机构或实验研究机构。
目前,许多外国大型企业都很重视传感器的研发工作,例如,日本的Figaro公司、芬兰的Vaisala公司等,都致力于传感器的发展和完善,以保障其在整个销售市场的竞争力。在九十年代,先后出现了集成温度湿度测量套件和应用于湿度传感器的测试系统,这个新技术的产生都大大刺激了传感器的进一步发展。
与此同时,国内许多机构也在传感器测试装置的研发上不断探索、研发。例如通过采用传统电子仪器进行设计研发而成的多种动态测试系统、动进样装置的气体传感器智能测试系统等等,这些成绩都体现了我国在传感器领域取得的成就。
当然,随着科技的进步,传统的温湿度测试技术在稳定性、精度等方面已经无法满足市场的需求,因此,针对新一代传感器的探究显得尤为重要。
近年来,数据采集及其应用受到了人们越来越广泛的关注,数据采集系统也有了迅速的发展,它可以广泛的应用于各种领域。数据采集系统起始于20世纪50年代,1956年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文件,由非成熟人员进行操作,并且测试任务是由测试设备高速自动控制完成的。由于该种数据采集测试系统具有高速性和一定的灵活性,可以满足
2
黑龙江工程学院本科生毕业设计
众多传统方法不能完成的数据采集和测试任务,因而得到了初步的认可。大概在60年代后期,国内外就有成套的数据采集设备和系统多属于专用的系统。70年代初,随着计算机技术及大规模集成电路的发展,特别是微处理器及高速A/D转换器的出现,数据采集系统结构发生了重大变革。原来由小规模集成的数字逻辑电路及硬件程序控制器组成的采集系统被微处理器控制的采集系统所代替。由微处理器去完成程序控制,数据处理及大部分逻辑操作,使系统的灵活性和可靠性大大地提高,系统硬件成本和系统的重建费用大大地降低。20世纪90年代至今,在国际上技术先进的国家,数据采集系统已成功的运用到军事、航空电子设备及宇航技术、工业等领域。由于集成电路制造技术的不断提高,出现了高性能、高可靠的单片机数据采集系统(DAS)。数据采集技术已经成为一种专门的技术,在工业领域得到了广泛的应用。该阶段的数据采集系统采用模块式结构,根据不同的应用要求,通过简单的增加和更改模块,并结合系统编程,就可扩展或修改系统,迅速组成一个新的系统。
1.4 本设计研究的主要内容
本设计为家居环境数据采集系统的设计。本设计以单片机为中心,有温湿
度传感器、甲烷传感器采集信号。经过信号处理及A/D转换电路得到信号。该脉冲信号交给单片机进行计算最终显示在显示电路上,并且在超过设定的正常值时,驱动蜂鸣器报警。本设计主要分为四章进行全面阐述。
第一章为绪论,简要介绍了家居环境数据采集系统的设计的意义,与国内外的发展的现状。
第二章主要介绍了总体的设计方案与具体的器件的介绍。
第三章是本设计核心。在这里给出了整体的硬件电路设计思路,并且对电路的各个部分进行分析与解释。
第四章叙述程序的编程方案,给出程序的框架结构图并对设计进行总结,并对以后的设计工作进行展望。
3
黑龙江工程学院本科生毕业设计
第2章 整体方案分析
2.1总体设计框图
本次设计的检测系统主要由单片机控制电路,温湿度检测电路,甲烷检测电路,单片机,A/D转换电路和外围电路组成。首先,甲烷检测电路将检测点的数据检测出来,然后将模拟信号送至A/D转换电路进行转换,同时温湿度传感器也检测出数据,再将A/D转换后的数字信号和温湿度传感器输出信号送给单片机处理,通过单片机进行数据比较分析,把实时数值送到显示电路进行显示。当高于或低于规定数值时,单片机发出指令,同时报警。由键盘电路可改变预设的湿度范围,从而根据季节和时间等具体需要对气体检测系统控制的湿度范围进行调节,总体设计框图如图2.1所示。
显示电路温湿度传感器单片机系统甲烷传感器信号处理及A/D转换电路报警电路开关电路
图2.1 总体设计框图
2.2要求
(1)通过温湿度传感器、甲烷传感器采集信号,设计检测电路,通过显示电路来显示数据。
(2)数据超过设定值时驱动蜂鸣器报警。
2.3方案的对比和论证
根据题目的要求系统模块可基本划分为:按键模块部分、显示模块部分、温湿度传感器部分、甲烷传感器部分、单片机部分。为实现各模块的功能,分别作了几种不同的设计方案进行论证。 2.3.1按键模块的选择
方案一:查询键盘是较为常用的一种键盘接口方式,电路简单,查询程序简单,具有很好的稳定性。但是每个按键必须对应一个I/O端口,在设计系统时,
4
黑龙江工程学院本科生毕业设计
如果需要的按键不多,而且多余的I/O端口数目大于需求的按键数目,则可以采用查询键盘。反之则不然。
方案二:在前面所说的程序查询方式下,键盘独占CPU,其他设备不能得到及时响应。利用定时查询,可以分时响应各设备的请求。
综上所述,基于功耗和效率等方面的考虑,本设计选择方案二。 2.3.2显示模块的选择
方案一:采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,价格便宜,而且在高亮显示和较远距离读数均清晰。
方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,特别是其价格相对较高。
方案三:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。
综上所述,LCD数码管价格适中,且具有显示大量文字、显示多样、清晰可见等优点,故选择LCD数码管作为本设计的显示器。 2.3.3温湿度传感器的选择
方案一:DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的温湿度传感和数字模块采集技术,具有很高的稳定性和可靠性,作为一个数字温湿度传感器DHT11具有响应快速、抗干扰强、性价比高等优点。
方案二:湿度传感器传感器HS1101,由独特的工艺设计,它是频率输出模块,适用于低温及露点测量需要场合,但价格昂贵。数字温度传感器DS18B20,支持多点组网功能,适用于多种狭小空间设备数字测温和控制领域。
综上所述,由于DTH11具有独立的数字输出并且能同时输出温度和湿度信号,以及成本低具有很高的稳定性与可靠性等优点,故选DTH11作为本设计的温湿度传感器。 2.3.4甲烷传感器的选择
方案一:甲烷传感器MQ-2,它具有信号输出指示,双路信号的输出,对液化气,天然气,城市煤气有较好的灵敏度。具有长期的使用寿命和可靠的稳定度,快速的响应恢复特性,试用与家庭或工厂的气体泄漏监测装置。
方案二:GQQ0.1传感器主要用于煤矿井下橡胶、煤尘等因摩擦起热或其它原因产生的气体进行监测。本传感器只能在无显著摇动和冲击振动的地方,在无
5
黑龙江工程学院本科生毕业设计
足够以腐蚀金属和破坏绝缘的气体和蒸汽的环境中,在无滴水及液体浸入的地方。
综上所述,MQ-2甲烷传感器的寿命长,可靠的稳定度,快速的响应恢复特性,具有信号输出指示,双路信号的输出。所以本设计采用MQ-2作为甲烷传感器。
2.3.5单片机的选择
单片机的选择主要是在AT89C2051和AT89S52之间做选择。 1、AT89S52单片机
AT89S52是一种低功耗、高性能的CMOS 8位微控制器,具有8K的系统可编程Flash存储器。使用Atmel公司的高密度非易失性存储技术制造,与工业80C51产品指令和引脚完全兼容。片上的Flash允许程序存储在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S51在众多嵌入式控制应用系统中得到广泛应用。
2、AVR单片机
AVR单片机是高速嵌入式单片机,有与取指令功能。多累加器型,数据处理快,具有32个通用工作寄存器,相当于有32条立交桥,可以快速通行。中断响应速度快。AVR单片机有多个固定中断向量入口地址,可快速响应中断。另外,AVR单片机保密性能好。它具有不可破解的位加密锁Lock Bit技术,保密位单元深藏于芯片内部,无法用电子显微镜看到。
综上所述,本设计采用AT89S52单片机为本论文的单片机。
2.4本章小结
本章主要介绍了单片机、温湿度传感器、甲烷传感器、按键模块、显示模块的选择。本设计首先给出了最终的设计方案和硬件框图,并且单片机芯片型号采用的是AT89S52。
6
黑龙江工程学院本科生毕业设计
第3章 家居环境数据采集系统的硬件电路设计
3.1单片机
本次设计选用AT89S52单片机。AT89S52是一种低功耗、高性能的CMOS 8位微控制器,具有8KB的系统可编程Flash存储器。使用Atmel公司的高密度非易失性存储技术制造,与工业80C51产品指令和引脚完全兼容。片上的Flash允许程序存储在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。
此次设计所使用的AT89S52 的封装形式是DIP。DIP管脚图如图3.1 所示。
图3.1 DIP管脚图
引脚按其功能可分为如下3类: 1、电源及时钟引脚 (1)电源引脚 VCC:5V电压。 GND:接地。 (2)外接晶体引脚
7
黑龙江工程学院本科生毕业设计
XTAL1:接外部晶体振荡器的一端。当使用芯片内部时钟时,此脚用于外接石英晶体振荡器和微调电容;当使用外部时钟时,对于HMOS单片机,此引脚接地;对于CMOS单片机,此引脚作为外部振荡信号的输入端。
XTAL2:接外部晶体振荡器的另一端,当使用芯片内部时钟时,此脚用于外接石英晶体振荡器和微调电容。当使用外部时钟时,对于HMOS单片机,此引脚接外部振荡源;对于CMOS单片机,此引脚悬空不接。
AT89S52晶体振荡器频率可在6MHz~40MHz之间选择,常选6MHz或12MHz的石英晶体。电容的值没有严格要求,但其取值对振荡器的频率输出的稳定性、大小、振荡电路起振速度稍有影响,C1、C2可在20pF~100pF之间选择。当外接晶体振荡器时,电容可选30pF±10pF;外接陶瓷振荡器时,电容可选40pF±10pF。
2、控制引脚
RST/VPD:复位端。当输入的复位信号持续2个以上机器周期(个晶体振荡
周期)高电平即为有效,用于完成单片机的复位初始化操作。正常工作时,此脚电平应 ≤ 0.5V。
在VCC发生故障、降低到电平规定值掉电期间,此引脚可接备用电源VPD(电源范围5V±0.5V),由VPD向内部RAM供电,以保持内部RAM中的数据。
地址锁存使能。ALE(Address Latch Enable);PROG(Program) ALE/PROG:
ALE/PROG为CPU访问外部程序存储器或外部数据存储器提供地址锁存信号,将低8位地址锁存在片外的地址锁存器中。ALE/PROG引脚第二功能,对片内 Flash编程,为编程脉冲输入端。
PSEN:(Programmer Saving ENable),外部程序存储器读选通信号。在读外部程序存储器时有效(低电平),以实现外部程序存储器单元的读操作。在访问外部数据存储器、访问内部程序存储器时PSEN无效。
EA/VPP:(Enable Address/Voltage Pulse of Programming),访问程序存储控制信号。当EA/VPP=―0‖时,表示读外部程序存储器。只读取外部的程序存储器中的内容,读取的地址范围为0000HFFFFH(64KB),片内的8KB Flash 程序存储器不起作用。当EA/VPP=―1‖时,表示对程序存储器的读操作是从内部程序存储器开始,并可延至外部程序存储器。在PC值不超出0FFFH(即不超出片内4KB Flash存储器的地址范围)时,单片机读片内程序存储器(4KB)中的程序,但当PC值超出0FFFH (即超出片内4KB Flash地址范围)时,将自动转向读取片外60KB(1000H-FFFFH)程序存储器空间中的程序。对于EPROM
8
黑龙江工程学院本科生毕业设计
(或FLASH)型单片机,在EPROM编程期间,此引脚需加12.75V或21V的编程电压。
3、I/O口引脚
P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写―1‖可作为高阻抗转入端用。
Pl口:P1是—个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写―1‖,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写―1‖,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
P3口:①可以作为输入/输出口,外接输入/输出设备。②作为第二功能使用,每一位功能定义如表3.1所示。
表3.1 P3口的第二功能
端口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能 RXD(串行输入口) TXD(串行输出口) INT0(外中断0) INT1(外中断1) T0(定时/计数器0) T1(定时/计数器1) WR(外部数据存储器写选通) RD(外部数据存储器读选通) 单片机外围电路包括复位电路和振荡电路。本设计采用自激荡方式,使内部振荡器按照石英晶振的频率振荡产生时钟信号。单片机处理电路如图3.2所示。石英晶振选择频率为11.0592MHz,电容选择30pf。经计算得单片机工作机器周期为:11.0592×(1÷110592M)=1us。时钟电路工作后,在RST管脚上加两个机器周期(12个晶振周期)以上的高电平,芯片内部开始进行初始复位。
9
黑龙江工程学院本科生毕业设计
图3.2 单片机最小系统电路图
3.2甲烷传感器电路
本设计中采用的MQ-2型半导体可燃气体敏感元件甲烷传感器属于气敏传感器,是气-电变换器,它将可燃性气体在空气中的含量(即浓度)转化成电压或者电流信号,通过A/D转换电路将模拟量转换成数字量后送到单片机,进而由单片机完成数据处理、浓度处理及报警控制等工作。
MQ-2型半导体可燃气体敏感元件甲烷传感器具有灵敏度高、响应快、抗干扰性好、使用方便、价格便宜,且不会发生探头阻缓及中毒现象,维护成本较低等优点。因此,本设计采用MQ-2气体传感器作为报警器甲烷信息采集部分的核心。
MQ-2型烟雾传感器属于二氧化锡半导体气敏材料,属于表面离子式N型半导体。当他处于200~300℃温度时,二氧化锡吸附了空气中的氧,从而形成氧的负离子吸附,使得半导体中的电子密度减小,从而使其电阻值增加。当与甲烷接触时,如果晶粒间界处的势垒受到该气体的调制而变化,此时就会引起表面电导率的变化。利用这一点,MQ-2型甲烷传感器就可以获得这种甲烷存在的信息。
遇到可燃CH4时,原来吸附的氧脱附,而由可燃烟雾以正离子状态吸附在二氧化锡半导体表面;氧脱附放出电子,烟雾以正离子状态吸附也要放出电子,
10
黑龙江工程学院本科生毕业设计
从而使二氧化锡半导体带电子密度增加,电阻值下降。而当空气中没有CH4时,二氧化锡半导体又会自动恢复氧的负离子吸附,使电阻值升高到初始状态。
MQ-2型传感器的一般特点:对天然气、液化石油气等烟雾有很高的灵敏度,尤其对烷类烟雾更为敏感;具有良好的重复性和长期的稳定性,初始稳定,响应时间短,长时间工作性能好;电路设计电压范围宽,24V以下均可;加热电压5±0.2V。
MQ-2型传感器的初期稳定特性:半导体甲烷传感器在不通电状态存放一段时间后,再通电时,器件并不能立即投入正常工作。这是因为烟雾传感器中的二氧化锡在不通电的状态下会吸附空气中的水蒸气,当再次通电时需要预热几分钟使水蒸气蒸发后,气敏电阻才能正常工作。初期稳定时间是指再次通电工作时,气敏电阻值达到稳定时所需要的时间。一般来说,不通电时间越长初期稳定时间也就越长,不通电存放时间达到15天以上,初期稳定时间一般要五分钟以上。
MQ-2半导体甲烷传感器一般要在较高的温度(200~450℃)下工作,需要对其加热。传感器通常是用在易燃易爆环境中,但如果加热丝直接与电源相连,当加热丝短路造成元器件局部过热或放电时,极易引发安全事故。因此必须使用传
MQ-2传感器输出的模拟信号一般的都比较微弱,需要经过前置电路对其进行放大、滤波、电平调整,才能满足单片机对输入信号的要求。本设计中气体浓度采集系统采用的MQ-2半导体烟雾传感器属于电阻型,因此只需串联一个参考电阻,再经过一个放大电路即可发送给ADC采集。常见的运算放大器中,信号经由运算放大器放大后进入AD0804模数转换模块,AD0804可以将输入的模拟信号转换成数字信号,然后再将数字信号传送给单片机处理。经过考虑以上的因素设计出甲烷气体浓度采集电路,具体气体浓度采集模块如图3.3所示。
感器的生产厂家推荐的加热电压,使其工作在安全范围内,以保证操作安全。
图3.3 甲烷传感器电路图
11
黑龙江工程学院本科生毕业设计
3.2 信号放大电路
对于传感器输出的模拟信号,一般要用运算放大器对其进行调理或放大,以满足A/D转换器对输入模拟量幅值及极性的要求。在本设计电路中,同样要对传感器的输出信号进行放大调理。由于MQ-2输出的是电压信号,所以运算放大器接成电压放大电路。从传感器采集过来的微弱电压信号,经过电压放大器的放大,得到较强的模拟电压信号。采样时,把相应的模拟电压信号从Vi端送进放大器进行放大处理后,从Vo端输出送入A/D转换电路。具体放大电路如图3.4所示。
图3.4 放大电路
3.3温湿度传感器电路
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的温湿度传感和数字模块采集技术,具有很高的稳定性和可靠性。DHT11数字温湿度传感器含有已校准数字信号输出,它应用专用的温湿度传感和数字模块采集技术,具有很高的稳定性和可靠性,DHT11传感器内含一个NTC测温和一个电阻式感湿元件,并与一个8位的高性能单片机相连接,在精确的湿度校验室中DHT11传感器进行过校准,以程序的 形式校准系数储存在0TP内存中,检测信号的时候,在处理过程中传感器内部要调用这些校准系数,采用单线制的串行接口,使系统集成可以有较低的功耗,而且更加简单快速,信号传输距离超过20米,作为一个数字温湿度传感器DHT11具有响应快速、抗干扰强、性价比高等优点。
DTH11的性能指标如下:湿度测量范围为20%~90%RH;湿度测量精度为±5%RH;温度测量范围为0~50 °C,温度测量精度为±2°C,工作电压3.0~5.5 V,相应时间<5S,DHT1l采用4针单排引脚封装,传感器通电后,需要等待1s,
12
黑龙江工程学院本科生毕业设计
这是因为要越过不稳定的状态,在此期间不需发送指令,电源引脚(VDD,GND)之间可增加一个100nF 的电容,用以去耦滤波。成本低并且耐用。
VDD=5V,T = 25°C,除非特殊标注,其中主要的电气特征如表3.2所示。
表3.2 电气特征表
参数 供电 供电电流 条件 DC 测量 平均 待机 采样周期 秒 min 3 0.5 0.2 100 1 typ 5 max 5.5 2.5 1 150 单位 V Ma Ma Ua 次 DTH11引脚图如表3.3所示。
表3.3 DHT11引脚说明
pin 1 2 3 4 名称 VDD DATA NC GND 注视 供电3—5.5V 串行数据,单总线 空脚,悬空 接地,电源负极 温湿度传感器如图3.5所示。
图3.5 温湿度传感器电路
3.4 A/D转换电路
A/D转换器是过程及仪器仪表、设备等检测控制中应用比较广泛的期间。随着大规模集成电路技术的发展,各种高精度、低功耗、可编程低成本的A/D转换器使控制系统的电路跟家简洁,可靠性更高。A/D转换电路如图3.6所示。
13
黑龙江工程学院本科生毕业设计
图3.6 A/D转换电路
所有引脚定义如下:
CS(引脚1):片选信号。低电平有效,高电平时芯片不工作。
RD(引脚2):外部读数据控制信号。此信号低电平时ADC0804把转换的数据加载到DB口。
WR(引脚3):外部写数据控制信号。此信号的上升沿可以启动ADC0804的A/D转换过程。
CLKIN(引脚4):时针输入引脚。ADC0804使用RC振荡器作为A/D时钟,CLKIN是振荡器的输入端。
INTR(引脚5):转换结束输出信号。ADC0804完成一次A/D转换后,此引脚输出一个低脉冲。对单片机可以成为中断触发信号。
Vin+(引脚6):输入信号电压的正极。
Vin-(引脚7):输入信号电压的负极。可以连接到电源地。 AGND(引脚8):模拟电源的地线。
Vref/2(引脚9):参考电源输入端。参考电源取输入电压最大值的二分之一,例如输入信号电压是0~5V时,参考电源取2V;输入信号电压是0~4V时,参考电压取2V。
DGND(引脚10):数字电源的地线。
DB8~DB0(引脚11~引脚18):数字信号输出口,链接单片机的数据总线。 CLKR(引脚19):时针输入端。 VCC(引脚20):5V电压引脚。
CLKI(引脚4)和CLKR(引脚19),ADC0801~0805片内有时钟电路,只要在外部―CLKI‖和―CLKR‖两端外接一对电阻电容即可产生A/D转换所需的时钟,其振荡频率为FCLK≈1/1.1RC。其典型应用参数为:R=40KΩ,
14
黑龙江工程学院本科生毕业设计
C=150PF,FXLK≈640KHz,转换速度为100μs。若采用外部时钟,则外部FCLK可以从CLKI端送入,此时不接R、C允许的时钟频率范围为100~1460KHz。
3.5显示电路
显示模块选用1602字符型液晶模块,它是目前工控系统中使用最广泛的液晶屏之一,由于它显示的质量高,1602字符型液晶模块是点阵型液晶,驱动方便,经过编程后显示内容多样化。
①字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。
②LCD1602主要技术参数如表3.4所示。
表3.4 1602的主要技术参数 工作电压 容 量 最佳工作电压 工作电流 字符尺寸 4.5—5.5V 16×2个字符 5.0V 2.0mA 2.95×4.35(W×H)mm ③引脚功能说明如表3.5所示。
表3.5 引脚接口说明表
1602LCD采用标准的14脚 符号 (无背光)或16脚(带背光)接口,各个接口说明如表编号 1 2 3 4 5 6 7 8 9 10 11 12 13 VDD VSS VL RS R/W E D0 D1 D2 D3 D4 D5 D6 引脚说明 正极 地 液晶显示偏压 数据/命令选择 读/写选择 使能信号 数据 数据 数据 数据 数据 数据 数据 1602液晶模块的读写操作,屏幕和光标的操作都是通过指令编程来实现的。
15
黑龙江工程学院本科生毕业设计
显示电路如图3.7所示。
图3.7 显示电路
3.6按键电路
为了完成预定湿度值的设置,系统中设置了4个按键,分别为复位键,确认键、数字加和数字减。通过按键电路可以在不同的季节及不同的天气对室内所需要湿度检测电路控制湿度的范围进行有效的调节。按键电路如图3.8所示。
图3.8 按键检测电路
3.7 系统的蜂鸣器电路
微型计算机控制系统中,为了安全起见,对于一些重要的参数或系统,都设定有紧急状态报警系统,以便于提醒操作人员注意,或者采取紧急措施,本设计采用把计算机采集的数据进行数据处理、标度变换、数字滤波之后,与该参数上下限与给定值进行比较,如果高于上限值则进行报警。蜂鸣器额定电流≤30Ma,而对于AT89S52单片机,P3口的灌电流为15mA,由此可见,仅靠单片机的P3口电流是不能驱动蜂鸣器的,必须使用晶体管放大电路,为了使单片机的功率更
16
黑龙江工程学院本科生毕业设计
小,所以使用NPN型晶体管,当外部环境的温度或者湿度超过预设值的时候,基级变为低电平,蜂鸣器导通鸣叫。蜂鸣器电路如图3.9所示。
图3.9 蜂鸣器电路
3.8 本章小结
本章节主要介绍了单片机最小系统电路、温湿度传感器电路、甲烷传感器电路、按键电路、显示电路等电路图,并对各个部分做了充分的介绍。
17
黑龙江工程学院本科生毕业设计
第4章 系统软件设计
4.1软件流程图
根据检控系统功能,系统软件流程图如图4.1所示。
开始蜂鸣器鸣叫1602初始化设定初值读取甲烷和温湿度值数据转换按键检测判断是否已超过设定值?Yes蜂鸣器鸣叫No蜂鸣器不响1602显示
图4.1系统软件流程图
按键检测流程如图4.2所示。
18
黑龙江工程学院本科生毕业设计
开始N是否有键闭合?Y延时去抖扫描取得键值N闭合键释放否?Y返回图4.2 按键检测流程图
4.2 LCD显示函数
LCD显示函数流程如图4.3所示。
定时器1中断输入LCD1602初始化LCD1602写命令LCD1602写数据显示延时
图4.3 LCD显示函数流程图
LCD显示函数,主要完成把结果寄存器的内容发送至LCD,进行显示刷新。
19
黑龙江工程学院本科生毕业设计
微控制器与LCD进行通信的时候,为了提高通信的可靠性,程序编写时按照以下规则:先把要传送的数据准备好即放到数据线上,然后再发出控制时序脉冲。
4.3按键中断函数
按键中断函数主要完成把按键信息存储到设定的键值寄存器,在后面的人机接口软件处理中只要不断的读取键值寄存器就可以获取相应的按键信息,从而执行对应的动作。
按键中断函数的流程图如图4.4所示。
开始N是否有按键按下?Y延时是否有按键按下?NY关中断保护现场存储按键信息到键值寄存器恢复现场开中断中断返回结束
图4.4 按键中断函数的流程图
20
黑龙江工程学院本科生毕业设计
4.4本章小结
本章主要介绍了软件设计流程图、按键检测的流程图、还有LCD显示函数流程图、按键中断流程图。对系统的流程图设计有了长足的认识,通过对流程图的绘制,使我更好的了解了流程图绘制工具与步骤方法。
21
黑龙江工程学院本科生毕业设计
结束语
本次用单片机设计的温度数据采集系统终于完成了,在本次设计中,从系统设计、采集元件、硬件焊结、软件设计到毕业设计的完成都是先查阅了大量资料,后确定,再经老师指导,最后经过多天的不断努力才完成的。在这次毕业设计中,我切身感受到了动手实践的重要性,这对我以后的学习工作将产生深远影响。 主要完成了以下研究工作:
1)此次设计中主要对当前的发展现状做了研究,同时对设计的基本参数做了研究。
2)分析了方案的论证,对元器件做出来选择。
3)对方案的软件硬件做出了设计。 4)对软件流程图做出了设计。
在这次设计中我通过硬件和软件一起设计完成了家居环境数据采集系统的设计。硬件方面主要是传感器采集信号通过A/D转换器输出数字信号,数字信号通过单片机AT89S52外部的开关电路,报警电路,显示电路,来完成对室温湿度、甲烷气体的监控。
大学的学习中,毕业设计是一个很重要的环节,是我们步入社会参与社会实践的很好锻炼,从最初的选题,开题构思,绘图,编程,仿真直到完成设计,这中间,查找资料,老师指导,同学交流,编写程序,直至仿真调试,每一个过程都是一次成长和对自己的一次的检验。本次设计是家居环境数据采集系统的设计:在软件设计过程中遇到很多问题,经过李老师的指点和同学的讨论,我学到了很多编程技巧,同时也掌握了一些编程思想。
22
黑龙江工程学院本科生毕业设计
参考文献
[1] 武辉林,数模转换器AD779其应用.河北省科学院学报[J].2011,28(7):26-29. [2]石丽杰,单片机控制系统硬件设计[J].商品与质量:理论研究.2011,10(5):208-236.
[3] 杜会敏,曾荣.采用集成温度传感器的数字温度计设计[J].武汉理工大学学报:信息与管理工程版.2010,32(6):904-906.
[4] 吴禄慎,李彧雯.基于单片机的多点温度采集系统设计[J].飞机设计.2010,30(4):76-80.
[5] 杜豫平.基于51单片机的温湿度检测器设计[J].电子世界.2011,13(12):64-65. [6] 李玲玉,卢克静等.温度测控系统的设计与制作[J].电子世界.2011,32(6):47-49.
[7] 许瑾娜.基于89S51单片机的干式变压器温控系统设计[J].今日科苑.2010,(12):47.
[8] 杨成武,房永亮.一种低成本开关报警电路的设计[J].机电产品开发与创新.2010,23(14):162-163.
[9]杨成武.开关报警电路设计中约束关系的应用[J].电产品开发与创新.2010,14(2):154-155.
[10]黄剑珍,戴惠根.电类专业传感器实验实训设备的开发设计[J].电子世界.2011,17(12):54.
[11] 付家才.单片机控制工程实践技术[J].北京:化学工业出版社.2007,18(12):89.
[12] 王福瑞.单片机测控系统设计大全[J].北京:北京航空航天大学出版社.2008,(8):25.
[13] 吴晓艳.单片机应用系统的故障诊断方法[J].科教视野.2007,9(12):579. [14] 冯育长.单片机系统设计与实例分析[M].西安:西安电子科技大学出版社.2009:55-62.
[15] 高吉祥.全国大学生电子设计竞赛培训系列教程[M].北京:电子工业出版社.2009:96-102.
[16] 祝常红.数据采集与数据处理[M].北京:电子工业出版社.2008:89-105. [17] 梁清华.电力参数交流采样测量的误差分析[J].辽宁工学院学报,2008(04):
23
黑龙江工程学院本科生毕业设计
65-72.
[18]全国文献工作标准化技术委员会第九分委员会.GB/T 5795-1986 中国标准书号[J].北京:中国标准出版社,2008,11(20):43-48.
[19]PIGGOT T M. The cataloguer’s way through AACR2:from document receipt to document retrieval[M].London: The Library Association,2010.
[20] 罗伊尔(Roiger,R.J.) 贾茨(Geatz,M.W.), Data Mining:A Tuorial-based Primer[M].北京:清华大学出版社.2010:156-160.
[21] [美]邓纳姆(Dunham,M.H.). Data Mining Introductory and Advanced Topics[M].北京:清华大学出版社.2010:153-150.
[22] 蔡凌云.室内空气污染及其监测[J].黔东南民族师范高等专科学校学报,2008(03):11-15.
[23] 刘宝元,张玉虹,姜旭,段存丽.基于单片机的温湿度监控系统设计[J].国外电子测量技术.2009,24(13):77-80.
[24]王静.通用库房温湿度测控系统[D].中国海洋大学.2009,10(7):25-29. [25] 李华.AT89S5x系列单片机应用接口技术[M].北京:航空航天大学出版社,1993:34-43.
[26] 张广军,黄俊钦.温度传感器现场动态校准方法与实验研究[J].北京航空航天大学学报 .1997,23(3):311-315.
[27] 李建民.单片机在温度控制系统中的应用[M].江汉大学学报.1996,(12) 210-215.
[28]. 薛玲,孙曼,张志会,夏莉丽,魏希文.基于单片机AT89S51的温湿度控制仪[J].2010,37(7):66-69.
[29]张冬林,李鑫,戴梅.基于DHT11的低成本蚕室温湿度自动控制系统设计[J].现代农业科技.2010,(18):14-15 .
[30] Mason S G,Birch G E.A general framework for brain-eom-puter interface design [J].IEEE Transactions On Neural Systems and Rehabilitation Engineering.2003,(12):70-85.
[31]Stahuk D.EMG signai decomposition:how can it be accomplished and used[J].Journal of Electrom yography and Kinesiology .2001,7(15):151-173. [32] Daniel T.Gottuk,Michelle J.Peatross. Advanced fire detection using multi-signature alarm algorithms[J]. Fire Safety Journal,2002,37(11):381-394. [33] Sabolic,Dubravko,Bazant,Alen.An automatic monitoring system for the shiplock slope
of Wuqianxi Station[J].Egineering Geology,2007:19-31.
24
黑龙江工程学院本科生毕业设计
致 谢
感谢李静老师对我的指导,她的严谨细致、一丝不苟的作风一直是我工作、学习中的榜样。她循循善诱的教导和不拘一格的思路给予我无尽的启迪。无论是在课题的选题还是定稿、研究的方法、技术路线以及本文的撰写都得到了李老师的严格要求和精心指导,李老师花费了大量的精力,在各个环节中给了我许多宝贵的意见。在这次培训中于老师严谨的学术作风、治学态度、求实的工作作风和孜孜不倦的探索创新精神,以及平易近人的师长风范给我创造了良好的学习设计环境,及给了我这个学习提高的机会和在生活上给我的无微不至的关怀。这些都是我不断前进的动力,必将对我今后的学习和生活受益匪浅,我将终生学习和铭记。在此,谨向于老师的培育之恩表示最深的谢意!
感谢其他多位老师对我学习和设计所给予的支持和帮助。感谢在我论文完成过程中同学们给我提供的支持、帮助和建议。在这里也衷心地感谢他们!
25
附录A系统电路图
附 录
黑龙江工程学院本科生毕业设计
26
黑龙江工程学院本科生毕业设计
附录B 系统程序
#include uchar temp[] =\"RH_SET:00% \\0\"; //设置 的湿度值显示 uchar temp_s[] =\"RH:00% TEMP:00 \\0\"; //实时湿度显示 sbit sw3=P1^5; //按键定义 sbit sw1=P1^3; sbit sw2=P1^4; sbit baojing=P3^3; //sbit led=P3^5; uchar set; //变量定义 uchar num1; uchar getdata=55; uint shangxian=34; uchar temp_h,temp_t; void conv(); yunxing(); void key(); void kongzhi(); void zhuanhuan()//扫描数据转换 { temp[7]=shangxian/10%10+0x30; temp[8]=shangxian%10+0x30; temp_s[3]=temp_h/10%10+0x30; temp_s[4]=temp_h%10+0x30; temp_s[3]=temp_h/10%10+0x30; temp_s[4]=temp_h%10+0x30; temp_s[12]=temp_t/10%10+0x30; temp_s[13]=temp_t%10+0x30; temp_s[14]=0xdf; 27 黑龙江工程学院本科生毕业设计 temp_s[15]='C'; } //------------------------------------------------------------ main() { baojing=0; delay(500); baojing=1; // led=0; LCD_Initial(); //液晶初始化 while(1) { RH(); temp_t=U8T_data_H; temp_h=U8RH_data_H; zhuanhuan(); key();// 按键检测 kongzhi(); GotoXY(0,0);//显示起始位置 Y=0,第一行,Y=1 第二行//显示第一行 Print(temp);// 内容 GotoXY(0,1);//显示起始位置 Y=0,第一行,Y=1 第二行 Print(temp_s);// 内容 delay(1); //getdate= GetADCResult(0)*3.9; } } void key() //按键检测程序 { if(set==1)//上限设置 { if(sw1==0) { delay(50); 28 显示第二行 //上限 减功能 黑龙江工程学院本科生毕业设计 } } if(sw1==0) { //while(sw1==0); if(shangxian>0) shangxian--; else( shangxian=255); } } if(sw2==0) { delay(50); if(sw2==0) { //while(sw2==0) ; if(shangxian<255) shangxian++; } //上限 加功能 else( shangxian=0); } void kongzhi() //控制报警 { if((temp_h>=shangxian)|(temp_t>32)) //此处 设定预设温度 { //led=1; num1++; if(num1>=20) { num1=0; baojing=~baojing; } } else {baojing=1; } } DHT11 传感器接受和发送信息,然后将接收来的信息作出相应的判断和处理,然后 29 黑龙江工程学院本科生毕业设计 反馈到显示器。 #include aem typedef unsigned char U8; /* defined for unsigned 8-bits integer variable 无符号8位整型变量 */ 有符号8位整型变量 */ 无符号16位整型变量 */ typedef signed char S8; /* defined for signed 8-bits integer variable typedef unsigned int U16; /* defined for unsigned 16-bits integer variable typedef signed int S16; /* defined for signed 16-bits integer variable 有符号16位整型变量 */ typedef unsigned long U32; /* defined for unsigned 32-bits integer variable 无符号32位整型变量 */ 有符号32位整型变量 */ typedef signed long S32; /* defined for signed 32-bits integer variable typedef float F32; /* single precision floating point variable (32bits) 单精度浮点数(32位长度) */ typedef double F64; /* double precision floating point variable (64bits) 双精度浮点数(64位长度) */ // #define uchar unsigned char #define uint unsigned int #define Data_0_time 4 //相当于用Data_0_time代替4. //----------------------------------------------// //----------------IO口定义区--------------------// //----------------------------------------------// sbit DQ = P3^0 ; //----------------------------------------------// //----------------定义区--------------------// 30 黑龙江工程学院本科生毕业设计 //----------------------------------------------// U8 U8FLAG,k; U8 U8count,U8temp; U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata; U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp; U8 U8comdata; U8 outdata[5]; //定义发送的字节数 U8 indata[5]; U8 count, count_r=0; U16 U16temp1,U16temp2; //以上为变量的定义. void COM(void); void Delay2(U16 j) //延时函数 { U8 i; for(;j>0;j--) { } for(i=0;i<27;i++); } void Delay_10us(void) //延时10us的延时函数. { U8 i; i--; i--; i--; i--; i--; i--; } void COM(void) { U8 i; 31 黑龙江工程学院本科生毕业设计 for(i=0;i<8;i++) { U8FLAG=2; Delay_10us(); Delay_10us(); U8temp=0; while((!DQ)&&U8FLAG++); Delay_10us(); if(DQ)U8temp=1; U8FLAG=2; while((DQ)&&U8FLAG++); //超时则跳出for循环 if(U8FLAG==1)break; //判断数据位是0还是1 // 如果高电平高过预定0高电平值则数据位为 1 U8comdata<<=1; //左移1位 U8comdata|=U8temp; //U8comdata与U8temp相或,结果保存在 } } //-------------------------------- //-----湿度读取子程序 ------------ //-------------------------------- //----以下变量均为全局变量-------- //----温度高8位== U8T_data_H------ //----温度低8位== U8T_data_L------ //----湿度高8位== U8RH_data_H----- //----湿度低8位== U8RH_data_L----- //----校验 8位 == U8checkdata----- //----调用相关子程序如下---------- //---- Delay();, Delay_10us();,COM(); //-------------------------------- { 32 U8comdata中. void RH(void) 黑龙江工程学院本科生毕业设计 //主机拉低18ms Delay2(180); DQ=1; //总线由上拉电阻拉高 主机延时20us Delay_10us(); Delay_10us(); Delay_10us(); Delay_10us(); //主机设为输入 判断从机响应信号 DQ=1; //判断从机是否有低电平响应信号 如不响应则跳出,响应则向下运行 if(!DQ) { U8FLAG=2; //判断从机是否发出 80us 的低电平响应信号是否结束 while((!DQ)&&U8FLAG++); U8FLAG=2; //判断从机是否发出 80us 的高电平,如发出则进入数据接收状态 while((DQ)&&U8FLAG++); //数据接收状态 COM(); //调用COM函数 U8RH_data_H_temp=U8comdata; COM(); U8RH_data_L_temp=U8comdata; COM(); U8T_data_H_temp=U8comdata; COM(); U8T_data_L_temp=U8comdata; COM(); U8checkdata_temp=U8comdata; DQ=1; //数据校验 33 DQ=0; //T ! 黑龙江工程学院本科生毕业设计 U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp); if(U8temp==U8checkdata_temp) { U8RH_data_H=U8RH_data_H_temp; U8RH_data_L=U8RH_data_L_temp; U8T_data_H=U8T_data_H_temp; U8T_data_L=U8T_data_L_temp; U8checkdata=U8checkdata_temp; }//对数据作出相应的处理与运算. } } LCD1602 1602将接受来的信息进过字符转换,反馈到了液晶屏上面,同时我们可以根据需要加减所学要的预设湿度值。 #include define uchar unsigned char void delay(uint z) //延时函数 { uint a,b; for(a=z;a>0;a--) for(b=120;b>0;b--); } sbit LcdRs = P1^0; sbit LcdRw = P1^1; sbit LcdEn sfr DBPort = P1^2; = 0x80; //端口定义,LcdRs就代表P1^0口,以下同. //P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口 unsigned char LCD_Wait(void) //内部等待函数,LCD的显示需要一定的延迟时 34 黑龙江工程学院本科生毕业设计 间. { } //向LCD写入命令或数据 #define LCD_COMMAND 0 // Command #define LCD_DATA 1 // Data #define LCD_CLEAR_SCREEN 0x01 // 清屏 #define LCD_HOMING 0x02 // 光标返回原点 //以上4行为宏定义,以后出现LCD_HOMING的地方就可以用0x02来代替. void LCD_Write(bit style, unsigned char input) //LCD写入子函数,形参为数据类型和无符号字符型输入. { } //设置显示模式 ************************************************************ #define LCD_SHOW #define LCD_HIDE 0x04 //显示开 0x00 //显示关 0x02 //显示光标 0x00 //无光标 0x01 //光标闪动 35 LcdRs=0; LcdRw=1; _nop_(); LcdEn=1; _nop_(); LcdEn=0; return DBPort; LcdEn=0; LcdRs=style; //数据类型传递给LcdRS LcdRw=0; LcdEn=1; LcdEn=0; LCD_Wait(); _nop_(); _nop_();//注意顺序 _nop_(); //调用内部等待函数. DBPort=input; _nop_();//写入的数据传递给DBPort #define LCD_CURSOR #define LCD_FLASH #define LCD_NO_CURSOR 黑龙江工程学院本科生毕业设计 #define LCD_NO_FLASH 0x00 //光标不闪动 void LCD_SetDisplay(unsigned char DisplayMode) //LCD显示设置子函数 { } //设置输入模式 ************************************************************ #define LCD_AC_UP #define LCD_MOVE void LCD_SetInput(unsigned char InputMode) { } //初始化 LCD*********************************************************** void LCD_Initial() //初始化函数. { LcdEn=0; LCD_Write(LCD_COMMAND,0x38); //8位数据端口,2行显delay(5); LCD_Write(LCD_COMMAND,0x38); delay(5); LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示, 无光标 delay(5); LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏 delay(5); LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC递增, 画面不动 delay(5); 36 LCD_Write(LCD_COMMAND, 0x08|DisplayMode); 0x02 0x00 // default 0x00 //default #define LCD_AC_DOWN #define LCD_NO_MOVE 0x01 // 画面可平移 LCD_Write(LCD_COMMAND, 0x04|InputMode); 示,5*7点阵 黑龙江工程学院本科生毕业设计 } //液晶字符输入的位置************************ void GotoXY(unsigned char x, unsigned char y) { } //将字符输出到液晶显示 void Print(unsigned char *str) { } } 37 if(y==0) LCD_Write(LCD_COMMAND,0x80|x); LCD_Write(LCD_COMMAND,0x80|(x-0x40)); if(y==1) while(*str!='\\0') { LCD_Write(LCD_DATA,*str); str++; delay(1); 黑龙江工程学院本科生毕业设计 附录C 外文翻译 The AT89S52 is a low-power, high-performance CMOS 8-bit microcontroller with 4Kbytes of In-System Programmable Flash memory. The device is manufactured using Atmel’s high-density nonvolatile memory technology and is compatible with the indus-try-standard 80S51 instruction set and pinout. The on-chip Flash allows the program memory to be reprogrammed in-system or by a conventional nonvolatile memory programmer. By combining a versatile 8-bit CPU with In-System Programmable Flash on a monolithic chip, the Atmel AT89S52 is a powerful microcontroller which provides a highly-flexible and cost-effective solution to many embedded control applications. The AT89S52 provides the following standard features: 4K bytes of Flash, 128 bytes of RAM, 32 I/O lines, Watchdog timer, two data pointers, two 16-bit timer/counters, a five vector two-level interrupt architecture, a full duplex serial port, on-chip oscillator, and clock circuitry. In addition, the AT89S51 is designed with static logic for operation down to zero frequency and supports two software selectable power saving modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port, and interrupt system to continue functioning. The Power-down mode saves the RAM con-tents but freezes the oscillator, disabling all other chip functions until the next external interrupt or hardware reset. Port 0 is an 8-bit open drain bi-directional I/O port. As an output port, each pin can sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as high-impedance inputs. Port 0 can also be configured to be the multiplexed low-order address/data bus during access esto external program and data memory. In this mode, P0 has internal pull-ups. Port 0 also receives the code bytes during Flash programming and outputs the code bytes during program verification. External pull-ups are required during program verification. Port 1 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 1 output buffers can sink/source four TTL inputs. When 1s are written to Port 1 pins, they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 1 pins that are externally being pulled low will source current (IIL) because of the internal pull-ups. Port 1 also receives the low-order address bytes during Flash programming and verification. Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 2 output buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins, they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 38 黑龙江工程学院本科生毕业设计 2 pins that are externally being pulled low will source current (IIL) because of the internal pull-ups. Port 2 emits the high-order address byte during fetches from external program memory and during accesses to external data memory that use 16-bit addresses (MOVX @ DPTR). In this application, Port 2 uses strong internal pull-ups when emitting 1s. During accesses to external data memory that use 8-bit addresses (MOVX @ RI), Port 2 emits the contents of the P2 Special Function Register. Port 2 also receives the high-order address bits and some control signals during Flash programming and verification. Port 3 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 3 output buffers can sink/source four TTL inputs. When 1s are written to Port 3 pins, they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 3 pins that are externally being pulled low will source current (IIL) because of the pull-ups. Port 3 receives some control signals for Flash programming and verification. Port 3 also serves the functions of various special features of the AT89S51, as shown in the following table. Reset input. A high on this pin for two machine cycles while the oscillator is running resets the device. This pin drives High for 98 oscillator periods after the Watchdog times out. The DIS-RTO bit in SFR AUXR (address 8EH) can be used to disable this feature. In the default state of bit DISRTO, the RESET HIGH out feature is enabled. Address Latch Enable (ALE) is an output pulse for latching the low byte of the address during accesses to external memory. This pin is also the program pulse input (PROG) during Flash programming. In normal operation, ALE is emitted at a constant rate of 1/6 the oscillator frequency and may be used for external timing or clocking purposes. Note, however, that one ALE pulse is skipped during each access to external data memory. If desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH. With the bit set, ALE is active only during a MOVX or MOVC instruction. Otherwise, the pin is weakly pulled high. Setting the ALE-disable bit has no effect if the microcontroller is in external execution mode. Program Store Enable (PSEN) is the read strobe to external program memory. When the AT89S51 is executing code from external program memory, PSEN is activated twice each machine cycle, except that two PSEN activations are skipped during each access to external data memory. 52487D–MICRO–6/08EA should be strapped to VCC for internal program executions. This pin also receives the 12-volt programming enable voltage (VPP) during Flash programming. 39 因篇幅问题不能全部显示,请点此查看更多更全内容