自动化毕业设计论文智能家居环境检测控制系统设计_第1页
自动化毕业设计论文智能家居环境检测控制系统设计_第2页
自动化毕业设计论文智能家居环境检测控制系统设计_第3页
自动化毕业设计论文智能家居环境检测控制系统设计_第4页
自动化毕业设计论文智能家居环境检测控制系统设计_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

智能家居环境检测控制系统设计Withthecontinuousprogressofsociety,thecontinuousimprovementoflivingstandards,people'sdemandonlivingenvironmentismoreandmorehigh.Nowadays,environmentalprotectionhasbecometheinternationalthelastmaintopic.AndHomeFurnishingenvironmentinpeople'slifeandworkplaysanimportantrole.SoitisparticularlyimportanttoimprovethequalityoflivingenvironmentHomeFurnishingbecome.TheenvironmentalqualityoflifeHomeFurnishingqualityandourlife,work,learningarecloselyrelated,acomfortableHomeFurnishingenvironmentcanmakeushaveagoodstateinthefaceofeverynewlife.HomeFurnishingenvironmentincludestwofactors,temperatureandhumidity.ThedesignisbasedonAT89S52microcontroller,withSHT11temperatureandhumiditysensorandthetemperatureandhumiditywirelesscommunicationtechnologyonmultiplefloors,moreroomforreal-timedetection,andtheappropriatealarmtransmissionsignaltoremindHomeFurnishingpersonnelforenvironmentalcontrolinordertoachievethemostappropriateHomeFurnishinglivingenvironment,improvelivingquality.Keywords:greenenvironmentalprotection;environmentalqualityoflifeHomeFurnishing;AT89S52microcontroller;SHT11temperatureandhumiditysensors;wirelesscommunication;multistory,multiroom;realtimedetectthetemperatureandhumidity目录摘要 1Abstract 2第1章绪论 51.1引言 51.2智能家居的国内外现状及其发展 51.3系统简述 6第2章系统方案设计 82.1系统的组成及其原理 82.2系统工作过程 8第3章硬件设计 93.1控制模块设计 93.1.1AT89S52单片机简介 93.1.2AT89S52单片机引脚说明 103.2单片机最小系统 123.2.1单片机最小系统 123.2.2时钟电路 133.2.3复位电路 133.3温湿度检测模块设计 143.3.1SHT11与单片机的连接 143.4外部输入模块设计 153.4.1键盘与单片机的连接 153.5报警指示模块 153.6无线通信模块设计 173.6.1PT2262/PT2272的特点 173.6.2PT2262工作过程 173.6.3PT2262/PT2272的引脚图 183.6.4PT2262/PT2272的管脚说明 183.6.5PT2262/PT2272芯片的地址编码设定及修改 193.6.6无线接收发器与单片机的连接 22第4章软件设计 224.1一般系统的全局设计 224.2单片机软件应用的普遍设计 224.3本设计软件整体框图 224.4软件程序流程图 224.4.1软件整体流程图 224.4.2键盘程序流程图 234.4.3温湿度检测程序流程图 244.4.4报警指示灯程序流程图 254.4.5无线接收发模块的功能实现 28第5章软件调试 285.1程序检测和调试 285.1.1源程序的查错 285.1.2源程序检测 285.1.3调试源程序的方法 285.2仿真 285.2.1仿真软件介绍 285.2.2仿真过程 285.2.3仿真结果 30第6章总结 32参考文献 33致谢 34附录 35第1章绪论1.1引言随着科技日新月异的进步,社会飞速的发展,人们的生活水平不断改善,生活品质不断提高。然而由于社会发展的需求对我们生存的环境带来一定的影响。环境质量的下降成为了人们心里的一块阴影。环保意识已逐步走入人心,越来越多的人开始肩负起绿色环保从我做起从小事开始的责任。家居生活环境与我们息息相关,一个舒适的家庭环境不仅能使人处于一种和谐的家庭氛围还有益于人的身心健康,提高人体的生理功能,增强人体的免疫力,甚至还可以降低发病率,增强体质,延长寿命。绿色环保,从我做起,从家庭做起。改善家居环境质量不仅利于身心更是对环保工作的一大贡献。根据联合国世界卫生组织规定的健康住宅标准与《绿色建筑评价标准》,美国空调制冷学会(ASHRAE)将温度舒适范围定位为:我国冬、夏季室内空气温度推荐值分别为18-22℃、26-28℃;我国民用及公共建筑室内相对湿度推荐值为:夏季为40%-60%。由于人的感知能力有一定的局限,灵敏度有所欠缺,当温湿度变化较大时才能觉察到,这对于小孩和体弱的老人来说很容易引发病症,而且现在更多的家庭都是通过自身感受来调节温湿度,这就在感知温湿度的过程中存在一个时间和空间上的缺陷。本设计智能家居环境检测控制系统在家居环境的实时检测方面就凸显了很大的优势,它能实时的对家居温湿度进行检测,并及时的对异常温湿度变化进行报警提示,能让家居人员及时的对环境状况进行了解,同时弥补了人体感知敏感度的缺陷也为繁琐的家居生活提供了便捷。特别是需要特殊照顾的人群,如幼儿,老人等。智能家居环境检测控制系统具有体积小、使用方便的特点,在家居生活中十分适用。有了智能家居环境检测控制系统,人们在家中就不用担心温度骤变以及湿度过大或过小对人体造成的不适,家中有老人和小孩的,晚上也不用频繁查看。实时检测,多房间多楼层监控,及时报警,相信智能家居环境检测控制系统会在以后的生活中得到更为广泛的推广和应用。1.2智能家居的国内外现状及其发展智能家居的定义:智能家居是以住宅作为平台,并利用网络通信技术、综合布线技术、安全防范技术、音视频技术、自动控制技术、将家居生活中有关的设施进行集成,构建一个高效率的住宅设施和家庭日程事务相结合的管理系统,提升家居舒适性、安全性、艺术性、便利性,并且实现绿色环保节能的一个居住环境。智能家居在我国的现状:智能家居在我国作为一个新生的产业,现在正处于一个导入和成长的时期。随着智能化技术的提升与逐步的普及,在未来我国的市场上,智能家居会得到更大的普及与推广。随着智能化市场的扩大和深入,国内越来越多的优秀智能化企业对智能化行业市场的研究也越来越重视,特别是对一些企业发展环境和一些客户需求进行着更为深入的研究。现如今国内很多的优秀的智能家居品牌迅速发展已经逐步成为这一行业的佼佼者。智能家居在我国的的发展历史已有近12年。在我国的发展主要经历了萌芽期,开创期,徘徊期、融合演变期4个阶段。相信在未来,智能化家居在我国会有更为广阔和美好的前景。智能家居在国外的状况:1984年世界上第一栋智能建筑在美国出现,此后,一些经济相对发达的国家如加拿大、美国、澳大利亚、欧洲的一些国家便先后提出了很多的关于智能家居的一些方案。智能家居也在很多国家,地方得到更为广泛的应用,如德国、日本、新加坡、美国等。1998年5月“98亚洲家庭电器与电子消费品国际展览会”在新加坡隆重举办,此次国际展览会在场内以“未来之家”为主题进行模拟的智能化家居最终推出了新加坡模式的家居智能化系统。该模式的家居智能化系统的主要功能囊括了很多方面如安防报警功能、家电控制功能、监控中心功能、家庭智能控制面板、三表抄送功能、智能布线箱、可视对讲功能、有线电视,电话接入、宽带接入、住户信息留言以及系统软件的配置等等。智能家居的发展:智能家居最开始的发展主要是以电气远程、灯光遥控以及电动窗帘控制三个方面为主的。随着智能家居行业的不断发展,智能控制的对象以及功能也越来越多,越来越丰富。联动场景的控制要求也越来越高。背景音乐、指纹识别、可视对讲、安防报警等领域都得到了一定的延伸。智能家居说得上是渗透到了所有传统的弱电行业,它的市场发展有很大的前景,有着诱人的姿态。从《中国智能家居设备行业发展环境与市场需求预测分析报告前瞻》的分析里可以知道,我国的家居智能化行业已经走上了迅速发展的时期,智能化产品已成百花齐放的态势,智能化技术也已经得到了很大的提升。智能化市场已经开始出现,低等、中等、高等产品不同层次的分界线。面对国内如此庞大的需求市场,预计该行业在我国会有年均19.8%的增长趋势,在2015年年产值可达到1240亿元。1.3系统简述基于单片机的智能家居环境检测控制系统设计主要的检测原理过程如下方框图1-1所示,该系统的主要作用就是维持室内环境处于一个舒适的状态,使其有利于身心健康和放松。基本过程是首先由温湿度传感器进行家居室内的温湿度采样,经被控室内的控制模块AT89S52单片机(从)进行温度和湿度的异常判断;若正常则不用发送信号,若不正常则将信号发送回主控制室并由其控制模块AT89S52(主)进行报警指示。温湿度采样温湿度采样NNNN湿度异常温度异常湿度异常温度异常YYYY加湿减湿加湿减湿升温降温升温降温图1-1控制系统主要原理图第2章系统方案设计2.1系统的组成及其原理本系统设计的简要主体原理框图如图2-1所示。控制模块采用单片机AT89S52芯片,温湿度检测模块采用温湿度集一体的数字式温湿度传感器SHT11,被控室与主控室之间的信号与数据传输主要通过无线接收发模块来完成,外部输入设置模块采用3*4键盘。状态提醒指示模块由LED灯分别来显示。单片机(主)单片机(从)温湿度传感器单片机(主)单片机(从)温湿度传感器无线接收发状态提醒指示器无线接收发状态提醒指示器键盘键盘图2-1系统原理图2.2系统工作过程本设计是基于单片机的一个家居环境检测控制系统,其主要检测和控制的环境因素为家居的温度和湿度。当系统正常稳定运行后,家居人员可通过单片机(从)外接的外部输入——键盘来输入想要设定的温湿度范围,如果不设置的话也可使用单片机中复位时统一设定的温湿度范围,该温湿度的范围来源于我国对民用建筑的环境温湿度的一个要求标准。温度范围为18℃~28℃,湿度范围为30%~70%。被控室中的温湿度由温湿度传感器检测后经单片机(从)进行处理,若发现检测后的温湿度不在预设的温湿度范围内,则经无线通信发射回主控室的单片机(主)进行报警指示提醒家庭人员进行处理,若在一定时间内没有进行相关的操作则被控室内的单片机控制模块会自行复位或停止工作。第3章硬件设计3.1控制模块设计本系统设计控制模块主要采用ATMEL公司的AT89S52单片机。本设计含有两个控制模块一个主控模块,一个从控模块。分别进行不同的操作。3.1.1AT89S52单片机简介AT89S52是美国ATMEL公司生产的一种高性能、低功耗CMOS8位微型控制器,同时具有8K在系统可编程Flash存储器。是由ATMEL公司拟高密度非易失性存储器技术制造,并与工业中的80C51产品指令以及引脚完全兼容。该单片机上的Flash允许程序存储器在系统上可编程,也适用于常规的编程器。AT89S52单片机拥有灵活的8位CPU和在线系统的可编程Flash,因此AT89S52为很多的嵌入式控制系统提供了高效率的解决方案。AT89S52单片机的主要性能与MCS-51单片机产品兼容;具有8K字节可编程Flash存储器;擦写周期1000次;程序存储器可进行三级加密;操作全静态:0HZ~33HZ;16位定时器/计数器3个;可编程I/O口线32个;UART串行通道为全双工模式;中断源8个;掉电模式和低功耗空闲模式;可唤醒掉电后的中断;指针为双数据式;掉电标示符;看门狗式定时器AT89S52的标准功能AT89S52拥有8K字节大小的Flash存储器、32位的I/O口线、RAM256字节、数据指针2个、看门狗式定时器、3个16位的定时器/计数器、全双工模式串行口、1个六向量二级中断结构和时钟及片内晶振电路。此外还可以支持两种软件可选择的节电模式和可降至0HZ的逻辑操作全静态模式。当其处于掉电保护方式模式时,振荡器会被冻结且RAM内容也会被保存,单片机停止所有工作,一直到硬件复位或者中断。当其处于空闲模式时CPU停止工作但允许定时器/计数器、中断、RAM、串口继续工作。AT89S52单片机引脚图如图3-1。图3-1AT89S52单片机引脚图3.1.2AT89S52单片机引脚说明1)P0口(pin32-pin39):P0口是一个8位的I/O口。当作输出口时,每位可以驱动8个TTL逻辑电平。当对P0端口写“1”时,引脚作为高阻抗输入。

当访问数据存储器和外部程序时,P0口作为低8位地址/数据复用。在该种模式下,P0具有内部上拉电阻。当在flash编程时,P0口也可以用来接收指令字节;而当在程序校验时,输出指令字节。并且在程序校验时,需要连接外部上拉电阻。

2)P1口(pin1-pin8):P1口是一个8位且具有内部上拉电阻的双向I/O口,p1输出缓冲器可以驱动4个TTL逻辑电平。当对P1端口写“1”时,端口被上拉的内部电阻拉高,这个时候的P1口能以输入端口来使用。当作为输入端口使用时,因为内部存在电阻的缘故,外部把引脚拉低且会输出电流(IIL)。

另外,P1.0与P1.2会作为计数器/定时器2的触发输入(P1.1/T2EX)和外部计数的输入(P1.0/T2),具体情况如下表3-1所示。

在flash校验及编程的时候,低8位地址的字节会被P1口接收。

表3-1

3)P2口(pin21-pin28):P2口为一个8位的内部具有上拉电阻的双向I/O口,P2口缓冲器输出可以驱动的TTL逻辑电平为4个。当P2端口被写“1”时,端口会被内部存在的上拉电阻拉高,这时P2端口可以作为输入端口来使用。当作为输入端口来使用时,由于内部电阻的原因,被外部拉低的引脚将会输出电流(IIL)。

在使用16位地址读取外部数据存储器(例如执行MOVX

@DPTR)或外部程序存储器被访问时,高八位的地址会由P2口送出。在该种应用过程中,P2口会发送1。P2锁存器里的内容也会由P2口输出。仅当外部数据存储器在使用8位地址(如MOVX

@RI)来访问时。

当flash校验与编程的时候,高8位的地址字节及控制信号会被P2口接收。

4)P3口(pin10-pin17):P3口是一个8位的双向I/O口且内部具有上拉电阻,P3口缓冲器输出可以驱动4个TTL逻辑电平。当P3端口被写“1”时,端口会被内部的上拉电阻拉高,这时可以用来当输入的端口使用。当用来以输入端口来使用时,由于内部存在电阻的缘故,引脚因外部的拉低将会输出电流(IIL)。

P3口在AT89S52单片机里具有特殊的功能(第二功能),如下表3-2所示。

在进行flash校验和编程时,P3口也会接收控制信号。表3-2RST:

为复位输入端口。晶振开始工作的时候,为使单片机进行复位RST端会有2个持续的机器周期的高电平。当完成看门狗的计时以后,RST脚会有晶振周期为96个的高电平输出。但是特殊寄存器的AUXR(地址8EH)上的DISRTO位可以使它无效。在默认的DISRTO状态下,复位端高电平有效。ALE/PROG:为控制地址锁存信号(ALE)。是指在外部程序存储器被访问时,低8位的地址被锁存时输出的脉冲。当flash编程的时候,该引脚(PROG)也可以用来作为编程的脉冲输入。

在普遍的情况下,ALE是以固定的频率即六分之一的晶振来输出脉冲的,它可用作为外部定时器或者时钟使用。但是要重点强调的是,在每一次访问外部数据存储器的时候,将会跳过ALE脉冲。

若有需求,可以通过将地址为8EH的SFR的第0位置

“1”,这样ALE操作就会无效。把这一个位置

“1”后,ALE只会在执行MOVC或者MOVX指令的时候才会有效。不然,ALE将会被微弱的拉高。设置ALE的这个使能标志位(地址为8EH的SFR的第0位)当微控制器处于外部执行模式时是无效的。

PSEN:为外部程序存储器的选通信号(PSEN)。

当AT89S52单片在外部的存储器内执行由外部输入的代码时,在每一个机器周期内将会把PSEN激活两次,只有在访问外部的数据存储器的时候,PSEN才不会被激活。

EA/VPP:是指访问存储器的控制信号。为了能在存储器中读取从0000H到FFFFH的指令,EA端口必须要连接GND(地)。

当内部程序指令被执行的时候,EA端口应该接VCC(电源端)。

而在进行flash的编程期间,EA端口也会收到12伏的VPP电压。

XTAL1:是指内部时钟发生电路和振荡器反相放大器的输入端。

XTAL2:是指振荡器反相放大器的输出端。3.2单片机最小系统3.2.1单片机最小系统AT89S52单片机内部具有8KB的闪烁存储器,芯片自身就是一个最小的处理系统。在AT89S52单片机构成最小系统时,只需要将单片机外接复位电路和时钟电路就可以了。单片机最小系统如下图3-2所示图3-2单片机最小系统3.2.2时钟电路从单片机内部我们可以看到在单片机内有一个时钟振荡电路,单片机需要在有时钟的驱动下才可以正常工作。而只要把单片机外接一个振荡源就可以产生一定的时钟信号并且送到单片机内部的各个单元里,这就决定了单片机的工作速度。通常来说振荡源的发生器会选择使用石英晶体振荡器。该电路在加电后大约延迟10ms振荡器就会起振,在XTAL2引脚上产生幅度大小为3V左右的正弦波时钟信号,主要是由石英晶振的频率来确定其振荡频率。电路中两个电容C1、C2有两个作用:第一个是对振荡器的频率进行微调;第二个是帮助振荡器起振。电路中的石英晶体振荡器的频率为12MHz,C1、C2的典型值是30PF。分别连接AT89S52单片机的XTAL1引脚(pin19)和XYAL2引脚(pin18)。单片机时钟电路如下图3-3所示图3-3时钟电路3.2.3复位电路单片机的RST引脚即pin9为硬件的复位端,实现复位时只要将RST端持续4个机器周期的高电平即可,复位之后单片机的各个状态都会恢复到初始化的状态。复位电路是用于产生复位信号的,并通过RST引脚送入到单片机,进行复位操作。由于AT89S52单片机的复位是依靠外部电路来实现的。单片机系统工作的可靠性会受到复位电路的好坏的直接影响,因为如此所以要很重视复位电路的设计与研究。为了使单片机能有效地复位只需要对RST端保持10ms以上的高电平即可。AT89S52单片机一般采用按键复位、上电自动复位、以及上电加按键复位等等,本设计采用的是上电加按键复位方式,这种做法最大的优点是上电后可以直接进入复位状态,而当程序出现错误时,也可以随时使电路复位。电路中的电容C3典型值为10pF,电阻R2的值为10K。连接单片机的RST引脚即pin9。单片机复位电路图如下图3-4所示。图3-4单片机复位电路3.3温湿度检测模块设计本次设计系统选用的温湿度传感器为SHT11温湿度集一体的数字信号传感器。传感器是将传感元件和信号处理电路两者集成在一块微型的电路板上,并输出完全标定的数字信号的元器件。SHT11温湿度传感器其内部包括一个由能隙材料制成的测温元件和一个电容性聚合体测湿敏感元件,将这两个元件并在同一芯片上,并且与14位的A/D转换器以及串行接口电路无缝连接在一起。因为这些特性,该传感器具有抗干扰能力强、响应快速、性价比高、品质卓越等优点。SHT11温湿度传感器是属于Sensirion温湿度传感器家族中的贴片封装系列。它的工作范围为:温度为:-40℃~+123.8℃,相对湿度为:0%RH~100%RH,而且其体积微小,功耗极低,是温湿度传感器的首选。SHT11温湿度传感器引脚图如下图3-5所示,GND接地,VDD为电源连接,DATA为数据线,SCK为时钟线。图3-5SHT11引脚图3.3.1SHT11与单片机的连接SHT11与单片机的连接模块主要构成室内环境温湿度的检测以及温湿度异常的判定。其连接图如下图3-6所示图3-6SHT11与单片机连接模块3.4外部输入模块设计外部输入是单片机与外界联系最为紧密的一个部分,通过外部输入可实现人机的对话,完成人为的一些设置,达到需求人的目的实现特定的功能。本系统设计的外部输入模块采用的是3*4的键盘。键盘,作为外部输入的方式之一,是人机对话不可或缺的一部分。键盘的作用是直接对单片机进行数据以及指令的输送。一般来说,键盘可以分为两种,一种是全编码键盘,另一种是非编码键盘。全编码键盘是根据硬件逻辑来提供与它相对应的编码。与此同时,键盘还应该具有窜键、多键保护电路或程序以及去抖动。它的优点主要在于使用方便,但它的缺点是成本高,而且对硬件的需求高,通常这种键盘类型是不被采用的。而非编码键盘则只有简单的行列矩阵,它的工作主要依靠软件来完成,非常的经济实用。在本系统设计当中采用的就是这种非编码键盘。该键盘采用3*4行列式的键盘接口,按键设在行线和列线的交点上。由单片机逐行进行扫描,当扫描某一行时,该行线都置低电平其他的行线置高电平,而列线则全部置高电平,之后再读回列线的状态。当没有按键按下的时候,列线全部处于高电平的状态;当有按键按下的时候,列线的电平状态是由与该列线相连的行线的电平来决定的。如果行线的电平为低,则列线的电平也为低;如果行线的电平为高,则列线的电平也会是高的。这样以来就能以此来确定按键是否按下,并且知道按下的是哪一个键。通过连续扫描键盘来获取数据,K0~K9即0~9号按键分别来对应数字0~9,K10即10号按键为确定键,当按下确定键后便跳出扫描键盘程序。键盘原理图如下图3-7所示。图3-7键盘原理图3.4.1键盘与单片机的连接键盘与单片机的连接模块主要是用来根据家庭人员的需求来设置环境温湿度的适宜范围,此模块为整个系统提供了一个个性化的设置。其连接图如下图3-8所示。图3-8键盘与单片机连接模块3.5报警指示模块报警指示模块的功能主要在于当主控制室接收到被控制室的环境因素发生异常时即不再事宜的范围内时,被控室会发出信号使主控室接收,主控室控制模块就会使对应的指示灯亮起以提示家居人员进行调节。为实现多点控制,本设计采用两个模拟的被控室R1与R2,他们的设置都一样,区别只在于发射芯片PT2262的编码不同。报警指示灯连接图如下图3-9所示。3-9报警指示灯模块3.6无线通信模块设计本系统设计的无线通信模块设计采用的是台湾普城公司生产的一种由CMOS工艺制造的功耗低,价位低,,通用编解码的电路的一对带地址且具有数据编码功能的无线发射/接收芯片。其中的发射芯片是PT2262-IR,接收芯片为PT2272。PT2262和PT2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意一个组合都可以提供531441地址码,而PT2262最多可以有6位(D0-D5)数据端管脚,设定的地址码和数据码会从第17脚串行输出。3.6.1PT2262/PT2272的特点CMOS工艺制造,功耗低;RC振荡电阻;外部元器件少;数据最多可达6位;地址码最多可达531441种;工作电压范围宽:2.6V-15V。3.6.2PT2262工作过程芯片PT2262编码发出的编码信号是由三种码即数据码、地址码、同步码所组成的一个完整的码字,而当解码芯片PT2272接收到信号以后,它的地址码会经过两次比较核对,才会使得VT脚输出高电平,与此同时相应的数据脚也会输出高电平,假如发送端一直按住按键,则编码芯片也会一直发射。当发射机按键没有被按下时,PT2262与电源是断开的,它的第17脚为低电平,因此315MHz的高频发射电路不会工作,当有按键被按下时,PT2262得电工作,经调制后的串行数据的信号会由它的第DO脚即pin17输出,当它是高电平的时候,频率为315MHz的发射电路会起振并且发射等幅的高频信号,当它是低电平的时候,频率为315MHz的发射电路会停止振荡,因此PT2262的DO脚所输出的数字信号完全收控高频率的发射电路,继而对高频率的电路完成幅度的键控(ASK调制)。3.6.3PT2262/PT2272的引脚图如下图3-10所示图3-10PT2262/PT2272引脚图3.6.4PT2262/PT2272的管脚说明1)PT2262管脚说明2)PT2272管脚说明3.6.5PT2262/PT2272芯片的地址编码设定及修改在通常的使用中,一般会采用4位数据码和8位地址码,PT2262编码电路和PT2272解码电路的pin1~pin8引脚为设定地址的引脚,每个引脚都有三种状态可以选择:接正电源、悬空或接地三种状态,由3的8次幂为6561故而可知地址编码共有6561种组合,只有在完全相同的地址编码的匹配下发射器PT2262和接收器PT2272才能匹配使用,在出厂时一般会将PT2262与PT2272的八位地址编码端全部处于悬空状态,这样的话使用者就可以很自由方便的选择各种编码状态。若使用者想改变地址的编码只要把两者芯片的pin1~pin8引脚设置成相同的状态即可。比如发射芯片的PT2262的第2脚接地,第6脚接正电源,其它引脚设置为悬空状态,则接收芯片的PT2272也要把第2脚接地第6脚接正电源,其它引脚设置为悬空状态,这样他们之间就能实现配对进行接收。当他们编码的地址完全一样时,接收器对应的D1~D4端口会输出大约4V的互锁高电平控制信号,同时VT端也会输出有效解码的高电平信号。使用者可以将这些信号进行放大,进而驱动继电器,三级管等。3.6.6无线接收发器与单片机的连接本设计为实现多点控制,接收器与发射器采用一对多的形式。将发射芯片与接收芯片的pin1~pin8引脚设置成相同的状态,这样就能实现PT2262与PT2272的配对使用,主控制室主要根据被控室的编码来判断房屋内的环境状况,并使相应的报警指示灯亮起提醒相关人员做出调整。连接图如下图3-11、3-12所示。图3-11无线发射模块连接图3-12无线接收模块连接图第4章软件设计4.1一般系统的全局设计一个完善的单片机设计系统主要包括硬件和软件这两个方面。硬件是系统稳定运行的基础而软件则是使硬件能够正常运行的驱动力,这两者是相互关联共同作用的。硬件电路的设计过程往往是设计者积累经验的过程。软件设计则需要设计者具有全局思想,能够掌控整体思路,将整个模块分成一个个的子模块,在实现最终功能的时候只需将每个子模块的程序通过主程序结合起来即可。4.2单片机软件应用的普遍设计在完整的硬件电路的基础上,软件应用才能得到可靠的系统功能的实现。软件系统的调试也是基于完善的硬件电路和软件编程。单片机应用软件的开发步骤主要是(1)、确定系统的目标功能;(2)、划分功能子模块;(3)硬件设计,软件编程;(4)软硬件调试,仿真;(5)确定最终方案,产品定型。4.3本设计软件整体框图,如下图4-1所示异常报警指示灯子程序键盘输入子程序异常报警指示灯子程序键盘输入子程序AT89S52(主)控制主程序温湿度异常判断子程序AT89S52(从)控制主程序AT89S52(主)控制主程序温湿度异常判断子程序AT89S52(从)控制主程序无线发射子程序无线发射子程序无线接收子程序延时子程序无线接收子程序延时子程序图4-1软件整体框图4.4软件程序流程图4.4.1软件整体流程图软件设计整体流程图如下图4-2所示。由以下流程图可以看出,系统启动后先运行AT89S52的控制程序,进行初始化,判定是否调用键盘,接着进行信号采集,信号处理并通过采集数据来判定是否处于正常范围内,若是则继续采集,反之则进行远程的一个报警。开始开始初始化初始化N调用键盘?N调用键盘?YY键盘输入键盘输入信号采样 信号采样YYN温度正常?YYN温度正常?Y湿度正常?Y湿度正常?NN远程报警远程报警图4-2软件整体流程图4.4.2键盘程序流程图在键盘按键扫描的程序当中对按键的操作采用的方式是查询方式。当查询到有按键被按下时就会执行对应的操作。程序流程图如下图4-3所示。开始开始N有键闭合?N有键闭合?YY去抖动去抖动确定按下键?N确定按下键?N YY判断键号判断键号松开按键?松开按键?NNYY返回返回图4-3键盘程序流程图4.4.3温湿度检测程序流程图温湿度检测程序是在整个系统程序中最主要的一部分,由温湿度传感器进行采样,再由控制模块对其进行处理并发送相关信号。其程序流程图如下图4-4所示。开始开始温湿度采样温湿度采样温度异常?温度异常?NNYYN湿度异常?N湿度异常?YY发送信号发送信号结束结束图4-4温湿度检测程序流程图4.4.4报警指示灯程序流程图报警指示灯程序的启动取决于温湿度检测后是否有温湿度的异常,如果有则会接收到信号,并开启报警指示灯,若没有则不会。其程序流程图如下图4-5所示。开始开始NN接收到信号?接收到信号?YY指示灯亮指示灯亮结束 结束 图4-5报警指示灯程序流程图4.4.5无线接收发模块的功能实现1)PT2262的编码格式,如下图4-6所示图4-6PT2262的编码格式在上图的a是指OSc,而a的值为2*时钟振荡周期,“f”只对地址码有效,同步码的长度为4个AD位的长度,含有一个1/8AD位宽度的脉冲,可由下图4-7所示。图4-7不同的宽度可以用来表示地址码和数据码,“0”用两个宽脉冲表示,“f”用一个宽,一个窄脉冲表示,“1”用两个窄脉冲表示。2)PT2272的解码格式如下图4-8所示。图4-8PT2272解码格式在单片机解码的过程中,解码程序只需要判断同步码就可以了,因为同步码会分别隔开每组字符,之后只要进行脉冲识别即可。发射芯片PT2262每次发射都至少会发射4组字码,接收芯片PT2272每次在接收时只在连续两次检测的地址码和数据码相同时才会使得数据码的高电平驱动对应的数据输出端也为高电平,同时VT端也会同步为高电平。第5章软件调试5.1程序检测和调试软件程序作为整个设计系统的驱动能源,它的正确、完善与否对整个设计有着举足轻重的地位。正确完善的程序与可靠的硬件完美结合才能造就新产品的诞生。因此程序的检测和调试过程变得尤为重要。5.1.1源程序的查错源程序的查错方式有很多种,不同的开发系统或者装置都会提供一些查错手段。如(1)单步执行操作,该操作可以对每条指令进行逐一排查,并直接查出错误所在,便于修改;(2)显示窗口检查,该方式可以查看RAM,寄存器,SFR等;(3)实时进行跟踪;(4)符号化调试等。5.1.2源程序检测在调试源程序之前,首先应重点对源程序进行检测。源程序的检测方法主要有(1)检查程序流程,即对照程序流程图对各个子模块进行功能程序的检查,再由各个子模块扩大到整个系统;(2)检查硬件系统,主要检查芯片引脚是否连接正确,有无引脚损坏,有无电源短路,逻辑电平设置是否正确等。5.1.3调试源程序的方法调试源程序一般可以分三步即分调、联调和考机。1)分调是指先调试独立工作的子模块程序,使其能够达到功能要求。然后按照应用系统的运行顺序将主程序的独立程序段进行调试。在调试过程中可以自己设置一些参量观察运行结果是否达到预期效果,若没有则需要进行程序分析并进行修改。2)联调是指在完成分调后,将完整的系统软硬件及环境联合进行调试。重点主要在于主功能模块和个子功能模块的连接程序。3)考机。5.2仿真5.2.1仿真软件介绍本设计此次仿真选择的仿真软件为Proteus软件。该软件出版于英国Labcenterelectronics公司,它包含了仿真处理器和外围电路的EDA工具软件,具有仿真功能。本设计使用Proteus7.5仿真AT89S52,按键键盘,LED指示灯等,观测器工作状态,查看是否达到预期的功能效果。5.2.2仿真过程打开KEIL软件,设置编译环境,指定目录生成HEX文件并保存。编译。编译结果没有错误和警告,编译通过。在PROTUES绘制好原理图后,调入已编译好的目标代码文件:*.HEX,在仿真软件中把生成的HEX文件烧到单片机中去,运行仿真。原理图如下图5-1所示。根据本系统的设计,主要将原理图分为三块,主控室与两个被控室,其原理图总括图如下。5-1原理总括图主控室原理图如下图5-25-2主控室原理图2)被控室R1,R2的原理图是一样的,如下图5-3所示5-3被控室原理图5.2.3仿真结果根据系统设计的要求和本设计的理念,可得出以下仿真结果。1)对R1和R2内的发射器PT2262进行编码如下表5-1所示编码对应状态000R1加湿001R1减湿010R1升温011R1降温100R2加湿101R2减湿110R2升温111R2降温表5-12)仿真测试后结果如下表5-2所示接收到的编码状态指示灯情况000R1加湿亮011R1降温亮100R2加湿亮110R2升温亮111R2降温亮表5-2第6章总结本文设计的是一个以AT89S52单片机为控制核心的智能家居环境检测控制系统。它能实现对家居环境的实时检测与异常报警。在这个过程中加入了无线通信技术,可实现家居多个房间,或对整个居住楼层进行远程的检测和信号发送与接收,可以很便捷的对室内环境进行调控,提高生活质量,拥有更好的生活状态。本系统设计通过了Protues的调试和仿真,在功能上有很好的实现。本设计的不足之处在于主控室与被控室只实现信号的接收缺少对被控室的远程操控,但实现了系统的基本功能,本系统在以后还会有更深入的研究和延伸。通过本课题的设计,个人的认知有了很大的提升,希望以后还能有更好的机会去提升自己。参考文献[1]张毅刚,彭喜元.单片机原理及接口技术[M].人民邮电出版社.2008[2]朱军.基于Protues的单片机仿真实验[J].计算机光盘软件与应用.2010.[3]AtmelMicrocontrollerDataBook,1995[4]郭天祥.51单片机C语言教程:入门、提高、开发、拓展全攻略[M].北京:电子工业出版社,2009.1,8-177.[5]何书森.实用遥控电路原理与设计速成[M].福建科学出版社,2002:99-169.[6]丁镇生.传感器及其遥控遥测技术应用[M].第一版.电子工业出版社,2003:214-216.[7]AbidiA.Direct-ConversionRadioTransceiverforDigitalCommunications[J].IEEEJ,Soilid-StateCircuits,1995:204-212.[8]赵负图.传感器集成电路手册[G].第一版.化学工业出版社.2004:55-60.[9]马忠梅.单片机C语言应用程序设计[M].北京航空大学出版社,2000:13-20.[10]全新实用电路集粹丛书编辑委员会.报警器、警示器应用电路集粹.北京:机械工业出版社,2005.2,181-188.[11]胡伟.单片机在远程家居安防系统中的应用[J].湖南第一师范学报,2007,7:162-164.[12]CHEONGGK.Wirelesssensornetworksforhomehealthcare[J].JournalofSystemsArchitecture,2007(1):161-176.[13]郭慧芳.红外线遥控开关电路设计[期刊论文].《科技与生活》,2012[14]王世华.基于单片机的火炮装药温度实时测量装置设计.南京理工大学学位论文.2007[15]周浩明.《可持续室内环境设计理论》,北京:中国建筑工业出版社.2011致谢毕业设计是对我们大学四年专业学习一个很好的检验与展现自我的平台。在这个过程中锻炼了我们对专业知识的应用能力和创新能力,培养了我们独立思考和团结协作的意识,为以后更深入的学习,研究奠定了良好的基础。此次毕业设计能如愿如期的完成,我要感谢我的指导老师张敏老师,在设计的过程中她给了我很多的指导和帮助,在她的悉心指导下为我解惑了很多难题,也是她深厚的教学经验与渊博的知识扩展了我们的知识层面和创新意识。当然在这个过程中也少不了我身边热心助人的同学们,他们在生活上的关心以及在专业知识上的帮助也是此次顺利完成毕业设计不可缺少的因素。非常非常感谢他们,还有一些我不认识的人,很多为这个行业,为相关专业做出贡献的社会人士,是他们的经验成就了我们今天的圆满毕业。在此祝愿所有的同学顺利毕业,大展鸿程,祝愿我们的老师万事如意,工作顺利,最后祝愿我的母校明天更加美好。附录1)原理图2)程序#include<reg52.h>#include"define.h"#defineucharunsignedchar#defineuintunsignedintucharcodetable[]="2012-05-12";ucharcodetable1[]="00:00:00";ucharcodetable2[]="00";ucharcodetable3[]="10";ucharcodetable4[]="11";ucharcodetable5[]; ucharcodetable6[]; sbitLCD_EN=P2^5;sbitLCD_RS=P2^7;sbitLCD_RW=P2^6; sbitLCD_PSB=P2^4;sbitDULA=P2^6;sbitWELA=P2^7;sbitsuchen=P1^4;sbitb1=P1^0;sbitb2=P1^1;sbitb3=P1^2;sbitBEE=P2^0;sbitSHINE=P1^5;ucharnum,temp,num1;ucharcount,s1num;uintc1,c2,c3,miao,shi,fen,yue,nian,m,m1,g,g1,g2,n,n1,h,f,f1;voiddelay(uintz)//延时函数{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}ucharkeyscan()keyscan()=3{P3=0xfe; temp=P3; temp=temp&0xf0; num1=0; while(temp!=0xf0) { delay(5); //去抖 temp=P3; temp=temp&0xf0; while(temp!=0xf0) { temp=P3; switch(temp) { case0xee:num1=1; break; case0xde:num1=2; break; case0xbe:num1=3; break; case0x7e:num1=4; break; }/* while(temp!=0xf0) { temp=P3; temp=temp&0xf0; } } } P3=0xfd; temp=P3; temp=temp&0xf0; while(temp!=0xf0) { delay(5); temp=P3; temp=temp&0xf0; while(temp!=0xf0) { temp=P3; switch(temp) { case0xed:num1=5; break; case0xdd:num1=6; break; case0xbd:num1=7; break; case0x7d:num1=8; break; } } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; } } } P3=0xfb; temp=P3; temp=temp&0xf0; while(temp!=0xf0) { delay(5); temp=P3; temp=temp&0xf0; while(temp!=0xf0) { temp=P3; switch(temp) { case0xeb:num1=9; break; case0xdb:num1=10; break; case0xbb:num1=11; break; case0x7b:num1=12; break; } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; } } } P3=0xf7; temp=P3; temp=temp&0xf0; while(temp!=0xf0) { delay(5); temp=P3; temp=temp&0xf0; while(temp!=0xf0) { temp=P3; switch(temp) { case0xe7:num1=13; break; case0xd7:num1=14; break; case0xb7:num1=15; break; case0x77:num1=16; break; } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; } */(扩展按键程序) } } returnnum1;}/*写指令数据到LED*//*RS=L,RW=L,E=高脉冲,D0~D7=指令码*/voidwrite_com(ucharcom){LCD_RS=0; LCD_RW=0; LED_EN=0;P0=com; delay(5); LED_EN=1;delay(5) LED_EN=0;}/*写显示数据到LED*//*RS=H,RW=L,E=高脉冲,D0~D7=数据*/voidwrite_date(uchardate){LCD_RS=1; LCD_RW=0; LED_EN=0;P0=date; delay(5); LED_EN=1;delay(5) LED_EN=0;}voidinit()//初始化{ucharnum; P1=0x080;P2=0;P3=0; c1=1;c2=0;c3=1; n=0;n1=0;f=0;f1=0;g=0;g1=0;g2=0;ri=12;yue=5;shi=10;fen=0;miao=0; m=0;m1=0; SHINE=1; BEE=0; s1num=0; P0=0; dula=1; wela=1; dula=0; wela=0; LCD_EN=0; write_com(0x01); write_com(0x02); write_com(0x06); write_com(0x0c); write_com(0x30); write_com(0x80); num=0; while(table[num]!='\0') { write_date(table[num]); num++; } write_com(0x90); num=0; for(table1[num]!='\0') { write_date(table1[num]); num++; } TMOD=0X01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; }voidwrite_sfm(ucharadd,uchardate){ucharshi,ge; shi=date/10; ge=date%10; write_com(0x90+add); write_date(0x30+shi); write_date(0x30+ge);}voidwrite_yr(ucharadd,uchardate) {ucharshi,ge; shi=date/10; ge=date%10; write_com(0x80+add); write_date(0x30+shi); write_date(0x30+ge);} voidwrite_sfm(ucharadd,uchardate) {ucharshi,ge,bai,qian; qian=date/1000; bei=(date/100)%10; shi=date/10; ge=date%10; write_com(0x90+add); write_date(0x30+qian); write_date(0x30+bai); write_date(0x30+shi); write_date(0x30+ge);}voiddisplay(){uchara1,a2,a3,s2sum;s2sum=0;if(keyscan()==1&&b1!==1) { while(keyscan()==1); s1num++; TR0=0; write_com(0x02); write_com(0x06); write_com(0x0e); if(s1num==1) { write_com(0x90+4); write_com(0x0e); } if(s1num==2) { write_com(0x90+2); } if(s1num==3) { write_com(0x90); } if(s1num==4) { write_com(0x80+5); } if(s1num==5) { write_com(0x80+3); } if(s1num==6) { write_com(0x80); } if(s1num==7) { s1num=0; write_com(0x0c); TR0=1; } } if(s1num!=0) { if(keyscan()==2) { while(keyscan==2); { if(s1num==1) { miao++; if(miao==60) { miao=0; write_sfm(4,miao); write_com(0x90+4); } } if(s1num==2) { fen++; if(fen==60) { miao=0; } write_sfm(4,fen); write_com(0x90+2); } if(s1num==3) { shi++; if(shi==24) { shi=0; } write_sfm(0,shi); write_com(0x90); } if(s1num==5) { yue++; if(yue==13) { yue=1; } write_sfm(3,yue); write_com(0x80+3); } if(s1num==6) { nian++; write_sfm(0,nian); write_com(0x80); } if(s1num==4) { if(yue==1||yue==3||yue==5||yue==7||yue==8||yue==10||yue==12) { ri++; if(r1==32) { ri=1; } write_yr(5,r1); write_com(0x80+5); } if(yue==4||yue==6||yue==9||yue==11) { ri++; if(r1==31) { ri=1; } write_yr(5,r1); write_com(0x80+5); } if(yue==2&&nian%4==0) { ri++; if(r1==30) { ri=1; } elseif(ri==29) { ri=1; } write_yr(5,r1); write_com(0x80+5); } }}} if(keyscan()==3) { while(keyscan==3); { if(s1num==1) { miao--; if(miao==-1) { miao=59; write_sfm(4,miao); write_com(0x90+4); } } if(s1num==2) { fen--; if(fen==-1) { miao=59; } write_sfm(4,fen); write_com(0x90+2); } if(s1num==3) { shi--; if(shi==-1) { shi=23; } write_sfm(0,shi); write_com(0x90); } if(s1num==5) { yue--; if(yue==0) { yue=12; } write_sfm(3,yue); write_com(0x80+3); } if(s1num==6) { nian--; if(nian==1989) { nian=2050; } write_sfm(0,nian); write_com(0x80); } if(s1num==4) { if(yue==1||yue==3||yue==5||yue==7||yue==8||yue==10||yue==12) { ri--; if(r1==00) { ri=31; } write_yr(5,r1); write_com(0x80+5); } if(yue==4||yue==6||yue==9||yue==11) { ri--; if(r1==0) { ri=30; } write_yr(5,r1); write_com(0x80+5); } if(yue==2&&nian%44==0) { ri++; if(r1==0) { ri=30; } elseif(ri==0) { ri=29; } write_yr(5,r1); write_com(0x80+5); } } } }while(b1==1) { BEE=1; SHINE=0; while(c1==1&&(c2!==b2||c3!==b2)) { c1=b1;c2=b2;c3=b3; a1=ri;a2=shi;a3=fen; m=c1+c2*10+c3*100; n++; g=g+n*3; g1=g+1; g2=g+2; f=g+3; table5[g]=a1; table5[g1]=a2; table5[g2]=a3; table6[n]=m; if(kegscan()!==2&&kegscan()!==3) { write_com(0x88); for(num=g;num<f;num++) { write_date(table5[num]); delay(5) } while(m==001) { write_com(0x98); for(num=0;num<16;num++) { write_date(table2[num]); delay(5) } } while(m==011) { write_com(0x98); for(num=0;num<16;num++) { write_date(table3[num]); delay(5) } } while(m==111) { write_com(0x98); for(num=0;num<16;num++) { write_date(table4[num]); delay(5) } } if(kegscan()==2||kegscan()==3) { suchen=0; while(kegscan()==2&&h!==n) {

温馨提示

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

评论

0/150

提交评论