基于单片机的智能厨房报警系统_第1页
基于单片机的智能厨房报警系统_第2页
基于单片机的智能厨房报警系统_第3页
基于单片机的智能厨房报警系统_第4页
基于单片机的智能厨房报警系统_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

中北大学xxxx届毕业设计说明书1 序言第 36 页 共 36 页1.1课题背景及研究意义随着新技术的不断开发与应用,近年来单片机的发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起。如今单片机的应用已经渗透到电力、化工、建材、机械、食品、石油等各个行业,它所给人们带来的方便也是不可否认的,其中智能厨房就是一个典型的例子。随着人们物质生活水平的提高,厨房对生活的节奏与质量起着重要的作用。当代厨房设计首先提倡的宗旨就是“以人为本,既注重人性化,又要保证安全”1。在当今高速发展的社会中,随着人们生活水平日益的提高,人们对自身所处的环境越来越关心,家庭厨房安全已成为当今小康之家优先考虑的问题。历来火灾统计数据显示,居民住宅和宿舍火灾占有较大比重,约占到火灾总数的三分之一,而厨房又是家庭防火的重点。目前厨房火灾在家庭安全事故中占有很大比例,特别是煤气、天然气泄漏导致的窒息、爆炸日益增多,极大地威胁着人民的生命和财产安全。因此对于每个家庭来说,一个可靠性高、性能良好的厨房报警器系统是必不可少的。本设计提出一种新型的厨房报警系统 ,它通过单片机控制传感器网络,实现对厨房温湿度的显示并实时检测房间里是否有火焰和可燃气体,分析传感器传回的数据判断是否发生火灾或燃气泄漏,然后作出相应的动作(关闭燃气阀门,开排气扇,喷水),并使报警装置发出声音等信号提醒,从而实现了对厨房安全隐患的有效监控和报警2。从而使厨房成为家庭、朋友之间小型聚会的享乐空间,也变成能让人感受到家的温馨的温情港湾,更是朋友聚餐、休闲、娱乐的最佳场所3。 本设计使用单片机作为核心进行控制。单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,功耗低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途4。1.2智能厨房报警系统的概述选用STC89C52作为主控制器件,用红外接收管作为火焰传感器,用MC114/114C催化燃烧式气敏元件作为瓦斯传感器5,用DHT11作为测温湿度传感器通过两个四位一体共阴极LED数码管显示温湿度。红外接收二极管能很好地接收红外发光二极管发射的波长为940nm的红外光信号,而对于其他波长的光线则不能接收。因而保证了接收的准确性和灵敏度。MC114/114C的桥路输出电压呈线性,响应速度快,具有良好的重复性、选择性,原件工作稳定、可靠6。DHT11直接读取被测温湿度值,进行数据转换,该器件可直接向单片机传输数字信号,便于单片机处理及控制。1.3设计思路大多单片机接口输入的信号时数字信号,或有带A/D转换的高端单片机也可以输入模拟信号。本系统采用数字型温湿度传感器检测温湿度,并用比较器分别对火焰传感器和瓦斯传感器的输出量和参考量进行比较并输出数字0、17,从而避免了使用A/D转换电路将模拟量转换位数字量,这样不仅简化了硬件设计,方便单片机读取数据而且节约了成本8。设计单片机厨房报警系统需要考虑以4下个方面:(1) 温湿度传感器、火焰传感器、瓦斯传感器的选择;(2) 单片机和三类传感器的接口电路设计;(3) 调节滑动变阻器设置比较电路;(4) 控制温湿度传感器实现温湿度信息的采集。1.4设计要求本次设计的厨房报警系统需满足以下设计要求:(1) 用四位一体共阴极LED数码管显示温湿度值;(2) 温湿度测量范围:2090RH 050;(3) 用940nm波长的红外接收管;(4) 可以设定温湿度的上下限报警功能;(5) 可通过调节滑动变阻器改变检测电路的灵敏度。1.5系统说明及使用说明本系统的功能是对厨房内环境进行检测。用DHT11作为温湿度传感器,并设定温湿度上下限值,信息通过LED显示出来。如果实时温湿度超过上下限值,一方面由LED显示信息,另一方面点亮发光二级管,提示用户。分别用红外接收管和MC114检测火焰和瓦斯,当检测到火焰或瓦斯时一方面蜂鸣器发出报警声并伴随着发光二极管的闪烁,另一方面控制达灵顿管驱动步进电机打开窗户。在这次的设计中使用的开发工具是Protel99SE,由于该开发工具稳定,而且操作方便,股故选择了此开发工具。编程软件使用Keil,打开Keil,输入所编写的源程序并对程序进行编译,在软件的帮助下检查其中的错误并进行反复修改,直到编译正确后运行,确保没有错误以后对正确的源代码进行保存。本系统具有较强的实用价值,使用时只需将其固定在厨房墙壁上,接通电源就能正常工作。使用时应将LED接在随时都可以看见的地方,便于随时掌握实时温湿度。红外接收管和瓦斯传感器应安置在适宜的环境下,以免将其损毁。2 开发工具Protel99SE与Keil2.1 Protel99SE软件2.1.1 Protel99SE 简介 Protel99SE是ProklTechnology公司开发的基于Windows环境下的EDA设计软件,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性及3D模拟功能,是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源-地层和16个机加工层。2.1.2 Protel99SE的系统组成 按照系统功能来划分,Protel99SE主要包含以下两大部分和6个功能模块。1、电路工程设计部分(1)电路原理设计部分(Advanced Schematic 99):电路原理图设计部分包括电路图编辑器(简称SCH编辑器)、电路图零件库编辑器(简称Schlib编辑器)和各种文本编辑器。本系统的主要功能是:绘制、修改和编辑电路原理图了;更新和修改电路零件库;查看和编辑有关电路图和零件库的各种报表。 (2)印刷电路板设计系统(Advanced PCB 99):印刷电路板设计系统包括印刷电路板编辑器(简称PCB编辑器)、零件封装编辑器(简称PCBLib编辑器)和电路板组件管理器。本系统的主要功能是:绘制、修改和编辑电路板;更新和修改零件封装;管理电路板组件。(3)自动布线系统(Advanced Route 99):本系统包含一个基于形状(Shape-based)的无栅格自动布线器,用于印刷电路板的自动布线,以实现PCB设计的自动化。2、电路仿真与PLD部分(1)电路模拟仿真系统(Advanced SIM 99):电路模拟仿真系统包含一个数字/模拟信号仿真器,可提供连续的数字信号和模拟信号,以便对电路原理图进行信号模拟仿真,从而验证其正确性和可行性。(2)可编程逻辑设计系统(Advanced PLD 99):可编程逻辑设计系统包含一个有语法功能的文本编辑器和一个波形编辑器(Waveform)。本系统的主要功能是;对逻辑电路进行分析、综合;观察信号的波形。利用PLD系统可以最大限度的精简逻辑部件,使数字电路设计达到最简化。 (3)高级信号完整性分析系统(Advanced Integrity 99):信号完整性分析系统提供了一个精确的信号完整性模拟器,可用来分析PCB设计、检查电路设计参数、实验超调量、阻抗和信号谐波要求等。2.1.3 电路原理图设计1、电路原理图编辑器进入Design Protel99SE后在Documents中通过右键“New”建立 “Schematic Document”文件,打开后即可进行电路原理图的编辑。先按照已画好的电路草图将所有元件找到拖放到编辑框里。将编辑框缩小,将元件照电路的样子搭好,整体上排列匀称。接下来就可以进行局部的连线了。 或者可以先将电路的各个模块先搭好,再通过框定各模块平移组合成完整的电路,取消框定要通过EditDeSelectInside Area再用鼠标框定以前选中的模块,就可以解除,表现为模块由黄色变成普通颜色。对某个工程的操作是对一个数据库的操作,因此不同的数据库会在不同的窗口中打开,通过最小化可看高各个数据库的窗口。常用操作有: 调用画图工具ViewToolbarsCustomize; 在移动元件时按空格可旋转元件; 找元件时要参照对元件库的描述,Converter含有AD、DA等;Analog是模拟器件如运放等;Memory是存储器件; 一个工程数据库中最好不要将所有文件都放在文件夹Documents中,因为这样会产生一些意想不到的小问题。而将文件直接放在数据库根目录下则不会出现这些问题。2、原理图元件库编辑器虽然Protel本身包含了庞大的元件库,但在实际应用中总会遇到找不到元件的情况,这时就需要根据元件资料 自己动手在元件库中制作这个元件。还有一种情况是各种元件分散在各个公司的元件库中,不便与使用,所以要把常用元件集中到一个元件库中,这就要自己动手制作,将经常用到的元件复制到这个元件库中,方便以后的使用。元件库文件(.LIB)也是基于数据库文件(.DDB)下的操作,同一个数据库下元件库中的元件才可以通过Tools - Copy Component 相互复制,不同数据库时可先用右键的copy将整个元件库复制到当前数据库,再在该数据库中进行单个元件的复制。在放置芯片引脚时大头指的是引脚外侧,引脚名称会嵌到芯片框里,引脚号在外侧。基本操作有:在画芯片图时,如果用到画线的功能,则应将View - Snap Grid 功能打开,可增加画线时的定位精度;不同设计文件之间拷贝模块时,操作如下:先选中要拷贝的部分拷贝,鼠标变成十字线后在选定的区域中间点击左键切换到另一个设计文件,粘贴即完成了操作9。2.2 Keil软件2.2.1 Keil软件简介 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后在使用C语言来开发,体会会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外更重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 Keil C51软件是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为Vision(通常称为V2)。Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,由以下几部分组成:Vision IDE集成开发环境C51编译器、A51汇编器、LIB51库管理器、BL51连接/定位器、OH51目标文件生成器以及Monitor-51、RTX51实时操作系统。2.2.2 Keil软件调试功能应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存建立工程并添加源文件设置工程编译/汇编、连接,产生目标文件程序调试。Keil使用:“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。首先选择菜单File-New.,在源程序编译器重输入汇编语言或C语言源程序(或选择File-Open.,直接打开已用其它编译器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.s51)或.c;然后选择菜单Project-New Project.,建立新工程保存(保存时无需加扩展名,也可加上扩展名.uv2);工程保存后会立即弹出一个设备选择对话框,选择CPU后点确定返回主界面。这时工程管理窗口的文件页(Files)会出现“Target”,将其前面+号展开,接着选择Source Group,右击鼠标弹出快捷键菜单,选择“Add File to GroupSource Group1”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其他文件)。加入文件后点Close返回主界面,展开“Source Group1”前面+号,就会看到所加入的文件,双击文件名,即可打开该源程序文件。紧接着对工程进行设置,选择工程管理窗口的Target1,在选择Project-Option for TargetTarget1(或点右键弹出快捷键菜单在选择该选项),打开工程属性设置对话框,共有8个选项卡,主要设置工作包括在Target选项卡中设置晶振频率、在Debug选项卡中设置实验仿真板等,如果写片,还必须在Output选项卡中选中“Creat Hex Fi”;其它选项卡内容一般可取默认值。工程设置后按F7键(或点击编译工具栏相应图标)进行编译/汇编、连接以及产生目标文件。成功编译/汇编、连接后,选择菜单Debug-Start/Stop Debug Session(或按Ctrl+F5键)进入程序调试状态,Keil提供对程序的模拟调试功能,内建一个功能强大的仿真CPU以模拟执行程序。Keil能以单步执行(按F11或选择Debug-Step)、过程单步执行(按F10或选择Debug-Step Over)、全速执行等多种运行方式进行程序调试。如果发现程序有错,可采用在线汇编功能对程序进行修改(Debug-Inline Assambly.),不必执行先退出调试状态的步骤。对工程重新进行编译/汇编和连接、然后在次进入调试状态的步骤。对于一些必须满足一定条件(如按键被按下等)才能被执行的、难以用单步执行方式进行调试的程序,可采用断点设置的方法处理(Debug-Insert/Remove Breakpoint或Debug-Breakpiont.等)。在模拟调试程序后,还须通过编程器将.hex目标文件烧写入单片机中才能观察目标样机真实的运行状况10。2.3本章小结 本章主要简单介绍了研究本课题需要用到的画电路原理图和做PCB的软件Protel99SE和编译软件Keil,了解了这两种软件的发展、功能和初步用法,了解了Protel99SE的两大组成部分和6大功能模块,以及Keil的调试功能等,为以后设计打好了基础。相信通过后面的学习会有更深刻的体会。3系统概述3.1 设计方案采用集成温湿度传感器DHT11完成温湿度测量,DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。采用MC114 型催化元件完成瓦斯检测,MC114 型催化元件根据催化燃烧效应的原理工作,由检测元件和补偿元件配对组成电桥的两个臂,遇可燃性气体时检测元件电阻升高,桥路输出电压变化,该电压变量随气体浓度增大而成正比例增大,补偿元件起参比及温湿度补偿作用。它可检测工业现场的天然气、煤气、烷类等可燃性气体及汽油、醇、酮、苯等有机溶剂蒸汽的浓度。采用红外接收管完成火焰检测,红外接收管就是将光信号(不可见光)转换成电信号一般是接收、放大、解调一体头,红外信号经接收管解调后,数据 “0”和“1”的区别通常体现在高低电平的时间长短或信号周期上,单片机解码时,通常将接收头输出脚连接到单片机的外部中断,结合定时器判断外部中断间隔的时间从而获取数据11。温湿度 传感器 瓦斯传感器 火焰传感器 STC89C52单片机报警器达灵顿管电机数码显示管LED灯系统框图如图3-1所示: 图3-1厨房报警系统总框图3.2 系统设计原理 利用温湿度传感器DHT11可以直接从数码显示管上读取被测温度和湿度,当温湿度高于预先设定的上限值时对应的LED就会被点亮,产生报警;红外接收管和MC114接滑动变阻器(调节传感器的灵敏度)通过比较器分别接到单片机的INT0和INT1,当检测到火焰或瓦斯时比较器输出低电平,单片机相应中断,这时蜂鸣器开始鸣响并伴随着相应的LED等闪烁,产生报警12。3.3系统组成 本课题是以STC89C52单片机为核心设计的一种厨房报警系统,系统整体硬件电路包括,传感器数据采集电路、温湿度显示电路、单片机主板电路等组成。系统框图主要由主控制器、单片机复位、报警器、时钟震荡设置、LED显示、传感器组成13。1.主控制器单片机STC89C52具有低电压供电和体积小等特点,四个端口在电路设计中得到了充分的应用,很适合便捷手持式产品的设计,使用系统可用二节电池供电。2.显示电路显示电路采用四位一体数码显示管,从P0口输出断码选通信号,从P1口输出位选通信号。采用74HC244驱动数码管,显示比较清晰。3.传感器DHT11数字温湿度传感器与单片机P20相连,当有火灾发生时,温度超过50,温湿度传感器DHT11把采集到的信号送到单片机中, 单片机将发出一个高电平信号,控制报警系统的打开,发出报警信息及时通知工作人员采取措施。MC114 型催化元件根据催化燃烧效应的原理工作,由检测元件和补偿元件配对组成电桥的两个臂,遇可燃性气体时检测元件电阻升高,桥路输出电压变化,该电压变量随气体浓度增大而成正比例增大,补偿元件起参比及温湿度补偿作用。红外线接收管是将红外线光信号变成电信号的半导体器件,它的核心部件是一个特殊材料的PN结,和普通二极管相比,在结构上采取了大的改变,红外线接收管为了更多更大面积的接收入,电流则随之增大。3.4本章小结本章简述了智能厨房报警系统的设计思路,设计方案,以及系统的组成、设计原理。详细介绍了主板电路和显示电路的结构,并通过框图形式更直观、更形象地描述了系统的整体组成。4 系统硬件设计4.1 80C51单片机4.1.1 80C51单片机的介绍单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上14。80C51单片机最初是由Intel公司开发设计的,但后来Intel公司把51核的设计方案卖给了几家大的电子生产商,譬如Philip、Atmel等大公司。如市面上出现了各式各样的但均以51为内核的单片机,这些各大电子厂商推出的单片机都兼容51指令、并在51的基础上扩展一些功能而内核结构与51一致15。80C51有40个引脚,4个8位并行I/O口,1个全双异步串行口,同时内含5个中断源,2个优先级,2个16位定时/计数器。80C51的储存器系统由4K的程序储存器(掩膜ROM),和128B的数据存储器(RAM)组成16。80C51单片机的基本组成框图见4-1。时钟电路CPU总线控制ROM/EPROM/Flash 4KBRAM128BSFR 21个两个16位定时器/计数器中断系统5个中断源2个优先级串行口全双工1个4个并行口XTAL2 XTAL1 控制 图4-1 80C51单片机基本组成结构由图4-1可见,80C51单片机主要由以下几部分组成:1. CPU系统8位CPU,含布尔处理器;时钟电路;总线控制逻辑。2. 存储器系统4K字节的程序存储器(ROM/EPROM/Flash,可外扩至64KB);128字节的数据存储器(RAM,可在外扩64KB);特殊功能寄存器SFR。3. I/O口和其他功能单元4个并行I/O口;2个16位定时计数器;1个全双工异步串行口;中断系统(5个中断源,2个优先级)。4.1.2 80C51单片机主要特性1.一个8位的微处理器(CPU)。2.片内数据存储器RAM(128B),用以存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等,SST89系列单片机最多提供1K的RAM。3.片内程序存储器ROM(4KB),用以存放程序、一些原始数据和表格。但也有一些单片机内部不带ROM/EPROM,如8031、8032、80C31等。目前单片机的发展趋势是将RAM和ROM都集成在单片机里面,这样既方便了用户进行设计又提高了系统的抗干扰性。SST公司推出的89系列单片机分别集成了16K、32K、64K、Flash存储器,可供用户根据需要选用。4.四个8位并行I/O接口P0-P3,每个口既可以用作输入,也可以用作输出。5.两个定时器/计数器,每个定时器/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。为方便设计串行通信,目前的52系列单片机都会提供3个16位定时器/计数器。6.五个中断源的中断控制系统。现在新推出的单片机都不只5个中断源,例如SST89W58RD就有9个中断源。7.一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信。8片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率为12MHz。SST89V58RD最高允许振荡频率达40Hz,因而大大的提高了指令的执行速度17。4.2 STC89C52单片机 4.2.1 STC89C52单片机管脚图 图4-2 STC89C52单片机管脚图STC89C52的具体引脚介绍:1.主电源引脚(2根)VCC(Pin40):电源输入,接5V电源GND(Pin20):接地线2.外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin18):片内振荡电路的输出端3.控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。4.可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,共32根。PO口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7 P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7 P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.75.STC89C52主要功能如表1所示。表1 STC89C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能4.2.2 单片机的控制电路STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。1时钟电路STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。时钟可以由内部和外部方式产生。内部方式的时钟电路如图4-3(a)所示,在XTAL1和XTAL2引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用。外部方式的时钟电路如图4-3(b)所示,XTAL1接地,XTAL2接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。XTAL1XTAL2XTAL1XTAL2外部振荡器 +5V (a)内部方式时钟电路 (b)外部方式时钟电路 图4-3时钟电路 本系统采用内部方式时钟电路,如图4-4所示: 图4-4 内部方式时钟电路2.复位及复位电路(1)复位操作复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表2所示。表2 一些寄存器的复位状态寄存器复位状态寄存器复位状态PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0-P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000BTMOD00H(2)复位信号及其产生RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作18。 本系统的复位电路采用图4-5按键电平复位。 图4-5 按键电平复位电路4.3温湿度显示电路的工作原理4.3.1 DHT11的简介采用DHT11作为温湿度传感器,该器件具有极高的可靠性与稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该器件具有超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为本系统设计的最佳选则。4.3.2 DHT11的工作原理 DHT11的典型解法如图4-6所示: 单片机DHT11 VDD VDD 1Pin 5KDATA 2Pin 4Pin GND 图4-6 DHT11的典型解法 DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零。一次完整的数据传输为40bit,高位先出。 数据格式:8bit湿度整数数据+8bit湿度小数数据 +8bi温度整数数据+8bit温度小数数据 +8bit校验和 数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。 用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据。从高速模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集,采集数据后转换到低速模式。总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后, 读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高总线为低电平时,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每1bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1。如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常.当最后1bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。4.3.3 显示电路显示器由两个四位一体共阴极数码管和三态缓冲器74HC244组成,74HC244驱动数码管。单片机的P0口(必须接上拉电阻)控制数码管的段选信号,P1口控制位选信号19。其原理图如图4-7所示: 图4-6 显示电路原理图4.4 瓦斯火焰检测电路的工作原理4.4.1 LM339比较器的简介LM339 内部集成了四个独立的电压比较器,每个比较器有两个输入端和一个输出端。两个输入端一个称为同相输入端,用“+”表示,另一个称为反相输入端,用“-”表示。用作比较两个电压时,任意一个输入端加一个固定电压做参考电压(也称为门限电平),另一端加一个待比较的信号电压。当“+”端电压高于“-”端时,输出管截止,相当于输出端开路。当“-”端电压高于“+”端时,输出管饱和,相当于输出端接低电位。两个输入端电压差别大于10mV就能确保输出能从一种状态转换成另一种状态20。4.4.2 检测电路的工作原理检测电路的原理图如图4-7所示: 图4-7 瓦斯火焰检测电路原理图本系统采用MC114作为瓦斯传感器,MC114由检测元件和补偿元件配对组成电桥的两个臂,遇可燃性气体时检测元件电阻升高,桥路输出电压变化21;采用红外接收管作为火焰传感器,它的核心部件是一个特殊材料的PN结,强光电阻迅速降为0,从而引起输出电压变化22。比较器的输出端与单片机的外部中断相连,当检测到瓦斯或火焰时,LM339输出低电平,单片机响应中断,使蜂鸣器鸣响并点亮LED灯产生报警信号,同时使达林顿管LUN2003进入工作状态,驱动步进电机正向转动打开窗户。当瓦斯浓度降低或火焰熄灭时,停止报警并使LUN2003进入另一种工作状态,驱动步进电机反向转动关闭窗户23。4.5 本章小结 本章重点分析了厨房报警系统的硬件电路设计,介绍了设计中所用到的芯片,包括单片机芯片STC89C52、数码显示管、电压比较强LM339、三态缓冲器74HC244、达林顿管LUN2003等。并详细的介绍了温湿度显示电路、瓦斯火焰检测电路的工作原理。5 系统软件设计及实验结果整个系统的功能是由硬件电路配合软件实现的,当硬件基本定型后,软件的功能也就基本定下来了24。由于软件的功能不同可将其分为两大类:一是监控软件(主程序),它是整个控制系统的核心。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示等。这里将各执行模块一一列出,为每一执行模块进行了功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了25。本系统程序主要包括主程序、温湿度显示子程序、外部中断子程序、电机正、反转子程序等。5.1 主程序主程序的主要功能是允许外部中断0、1,并负责实时显示温湿度的数值,其程序流程图如图5-1所示:开始 初始化允许INT0和INT1接收DHT11传来的数据i100温湿度显示 N Y 图5-1主程序流程图主程序清单:#include#include#include typedef unsigned char uint8; typedef unsigned int uint16; typedef unsigned char uchar;typedef unsigned int uint;void main()uchar i;RXBUF tmp;EA=1;EX0=1; EX1=1;IT0=1; IT1=1; while(1) receive(&tmp);for(i=0;i=25) DENG2=0;else DENG2=1;if(tmp.WZ=30) DENG1=0;else DENG1=1; 5.2 温湿度显示子程序温湿度显示子程序的功能是数据采集、数据处理、显示当前环境的温湿度数值,并分别设置温度、湿度的上限值,当温度或湿度超过各自的上限值时就会点亮相应的LED灯,产生报警信号,提示用户厨房内温度或湿度超标。其程序流程图如图5-2所示:LED闪烁数据采集数据处理温湿度显示温湿度是否大于上限值。DHT11高电平80us。开始 N Y N Y Y 图5-2 温湿度显示子程序流程图温湿度显示子程序清单:void start(void) DHT11_IO=1;Delay1();DHT11_IO=0;Delay2(20);/18msDHT11_IO=1;Delay1();/20-40usDelay1();Delay1();Delay1();Delay1();uchar receive_byte(void) uchar i,temp,count;for(i=0;i8;i+)count=2;while(!DHT11_IO)&count+)/等待50us低电平结束temp=0;Delay1();Delay1();Delay1();Delay1();if(DHT11_IO=1)temp=1;count=2;while(DHT11_IO)&count+);if(count=1)break;data_byte HZ = receive_byte();tmp - HX = receive_byte();tmp - WZ = receive_byte();tmp - WX = receive_byte();check = receive_byte();DHT11_IO=0;/拉低延时50usDHT11_IO=1;num_check = tmp - HZ + tmp - HX + tmp - WZ + tmp - WX;if(num_check = check) check = num_check;5.3 外部中断子程序 外部中断子程序中INT0控制瓦斯报警,INT1控制火焰报警。当MC411检测到瓦斯气体或火焰时,比较器输出低电平,使单片机响应中断。此时蜂鸣器开始鸣响伴随着LED灯闪烁,同时LUN2003驱动电机正向转动打开窗户。当瓦斯浓度降低至一定程度或灭火后,单片机跳出中断同时LUN2003驱动电机反转关闭窗户。其流程图如图5-3所示:推出外部中断开始INT0、INT1是否为低电平LED灯闪烁蜂鸣器鸣响打开窗户INT0、INT1是否为低电平关闭窗户 N Y Y N 图5-3 外部中断子程序流程图 外部中断0的子程序清单:void int0() interrupt 0 while(WASI=0)uint i;for(i=0;i250;i+)BEEP= 0;DENG4=0; mDelay(50); BEEP=1;DENG4=1;mDelay(50); F_Rotation();break;while(WASI=0) BEEP= 0;DENG4=0; mDelay(150); DENG4=1;BEEP=1;mDelay(150); while(WASI=1)B_Rotation();break;void BCDDisplay(uchar H,uchar W) BCD_PORT = BCDW / 100;BCD1 = 0;mDelay(10);BCD1 = 1;5.4 步进电动转动子程序 步进电机正转子程序:void F_Rotation() A=1;E=0;C=0;D=0;delay(800);A=0;E=1;C=0;D=0;delay(800);A=0;E=0;C=1;D=0;delay(800);A=0;E=0;C=0;D=1;delay(800);5.5实验结果5.5.1温湿度的检测 当温度高于30或湿度高于25H时,对应的指示灯被点亮,当温度低于30或湿度高于25H时,对应的温度指示灯熄灭。实验结果如图5-4所示:图5-4 温湿度的检测5.5.2 瓦斯和火焰的检测当瓦斯浓度达到1600ppm时将产生声光

温馨提示

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

评论

0/150

提交评论