




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
韶 关 学 院毕 业 论 文题 目:家用报警器的设计驱动程序学生姓名:x x x学 号:11111111111系 (院):信息科学与工程学院专 业:通信工程班 级:1班 指导教师姓名及职称:罗忠亮 副教授 起止时间: 2014 年 7 月 2014年 11 月(教务处制表)49家用报警器驱动程序学生姓名:xxx 专业班级:10级通信工程1班 指导教师:罗忠亮摘要:现在社会上频繁出现家居被盗和厨房着火现象,所以我们研究的家用报警器就要解决这些问题。该系统使用at89s52芯片,由gsm模块;温度传感器;烟雾传感器;红外传感器和液晶显示五部分构成。这些模块和元件都性能稳定,灵敏度高。我们选择用keil uvision4软件编写程序。该系统能够很好的实现客厅防被盗和厨房防火灾和煤气泄漏的功能并能及时排除隐患。采用了此系统极大的避免了自己造成更大的损失并能避免给他人带来次要伤害。关键词 : 单片机;传感器; gsm模块;lcd显示器;keil uvision4home alarm systemdiversabstract: nowthephenomenonof frequent stolen andthe home on fire in the society,so thehome alarm systemwe studyisto solve these problems.the system uses at89s52 mcu,the alarmismainlycomposed of 6 parts,respectively is at89s52mcu minimumsystem;gsm module;temperature sensor;sensor;smoke;pyroelectric infraredsensor and lcd1602.these modules andcomponents arestable performance,high sensitivity.we choose theprogram withkeiluvision4 software.the system can realize the kitchenfireandgas leakagefunction andliving roomanti-theftfunction andpromptly eliminate hidden dangers.usingthis systemcan avoidtheir causelarger losses andtoavoidsecondary damageto others.key words: mcu; sensor; gsm module, lcd1602 display; keil uvision4目录1.引言51.1选题背景和意义51.2研究现状52设计思路42.1系统设计要求42.2系统设计方案52.2.2方案硬件实现框图53系统硬件设计63.1系统硬件实现流程介绍63.2基于at89s52的主控电路73.2.1 at89s52芯片介绍73.2.2系统主控电路73.3温度传感器的简介73.4红外传感器的简介93.5烟雾传感器的简介93.6 gsm模块(tc35i)概述103.7原理图绘制与pcb线路板的制作103.7.1使用altium designer 绘制原理图103.7.2生成pcb图并排版113.7.3制作板113.7.4元件的安装与焊接114系统软件设计114.1系统编程软件keil uvision4简介114.2系统软件主程序流程图124.3系统子程序设计134.3.1按键扫描的实现134.3.2蜂鸣器的实现144.3.3温度传感器的实现144.3.4红外传感器的实现164.3.5烟雾传感器的实现174.3.6液晶显示器的实现174.3.7gsm模块(tc35i)的实现194.4系统主程序设计205系统调试225.1系统的调试225.2系统的测试结果225.3数据分析236结论24致谢25参考文献26附录a 原理图27附录b pcb图29附录c 实物图30附录d 程序3139家用报警器的设计驱动程序 专业班级:11级通信1班 学生姓名:x x x指导教师:罗忠亮 1.引言1.1选题背景和意义近年来,每到逢年过节前夕都会发生众多的偷盗事件,小偷的偷盗方法也层出不穷,特别是在电子技术迅速发展的今天,偷盗更加趋于智能化,手段也更加隐蔽,使很多被害者防不胜防,遭受巨大的损失。同时因为粗心没有关好液化气或者煮菜没有及时关火导致烧焦引起大量烟雾导致起火而发生火灾的事件也常有。此套系统研究成功后,使用热释电红外传感器可以更好地防止家里被盗,报警于无形之中,使小偷触不及防,避免遭受损失甚至还能提醒邻居和保安抓住小偷,使之绳之以法,并使厨房的火苗或者可燃气体扼杀于摇篮之中。1.2研究现状 我们这次的设计由6部分构成,分别是最小系统;gsm模块;温度传感器;烟雾传感器;热释电红外传感器和lcd1602。温度传感器的发展大致分为以下3个阶段:(1)以前的主要用于电力和非电力之间的互换。(2)模拟集成温度传感器。(3)智能温度传感器。 热释电红外传感器开发成功至今已有20年多的历史,它是目前用来进行人体探测方面性价比最高的传感器,在没有人入侵时,视场热源恒定,但是一旦有移动的人体进入时,红外场立即发生波动,入射到探测器的辐射通量发生变化,从而触发报警器或者其他控制器装置。这一特性从传感器诞生那天起就已成功的应用到各个方面了,例如楼道自动照明等开关电路;防盗系统;当房间无人时,自动关闭空调和饮水机;自动门铃等一系列智能化的产品。 烟雾传感器模块不但可以检测到烟雾,还可以检测到煤气、天然气等其它无色无味的有毒气体,并及时作出反应,然后将其转换成数字型号,不必再进行a/d转换,更加方便实用。 gsm模块的发展非常迅速,现在几乎每个人都离不开手机网络,信号也几乎达到全球覆盖。2设计思路2.1系统设计要求 家用报警器报警系统的设计要满足以下情况:(1)能实时显示温度值;(2)当报警器触发时,蜂鸣器能够发出警告的同时能够拨打主人的电话,并且如果是厨房失火时,继电器能够驱动花洒灭火;(3)能从键盘上设置温度值的上下线值;(4)处理器能够自动判断温度是否超过了报警点,如果是蜂鸣器能自动响起,并通过gsm模块拨打户主的手机;(5)当报警器触发时,只能手动按复位键停止;(6)烟雾传感器能够及时将检测到的烟雾和煤气的情况上传至微处理器,并采取驱动花洒的方法灭火;(7)热释电红外传感器能够及时将感应到的辐射上传至微处理器,并驱动蜂鸣器响起并拨打户主电话;(8)尽量减少误报率。 2.2系统设计方案如图2-2中,我们采用了at89s52芯片。在这里我们的烟雾传感器采用的型号是mq-2,这种烟雾传感器的灵敏度非常高,只要有一点可燃气体或者烟雾都可以检测出来,并可以直接输出数字信号,不需要再进行a/d转换,可以直接连接单片机。这里我们用rip传感器,它可以能够扑捉到移动的人体辐射出来的红外线。这里我们使用ds18b20来读取温度,这种传感器不但灵敏度非常高,而且能够检测的范围也特别大。这些模块和元件,不但性能相当稳定并且在市面上的价格也非常便宜实惠。因为我们学习了单片微型计算机与接口技术和c语言等一些相关课程,对我们的设计能提供一些帮助。使用单片机,还可以对系统进行扩展,增加更多的功能。图2-2 单片机控制报警系统电路图2.2.2方案硬件实现框图单片机at89s52温度传感器红外传感器烟雾传感器蜂鸣器报警lcd液晶显示复位电路 晶振电路按键电路gsm模块拨打电话通知主人图2-3 硬件实现框图3系统硬件设计3.1系统硬件实现流程介绍 硬件流程图如图3-1所示:开始 否否否检测红外传感器是否感应到物体是否有烟雾和可燃气体是否超过设置温度值检测温度传感器液晶显示初始化蜂鸣器报警并拨打主人电话是是是检测烟雾传感器启动花洒按键停止图3-1 硬件流程图3.2基于at89s52的主控电路3.2.1 at89s52芯片介绍at89s52芯片是一种高效率,能耗低的芯片。容许反复在线编程,非常合适于一般的编程器,并且可以使用usb-isp串口进行改写或者使用非易失性存储器改写。23.2.2系统主控电路 单片机的主控电路如图3-2所示:图3-2 单片机主控电路3.3温度传感器的简介ds18b20是单数字温度传感器芯片,与以前的热敏电阻不同,它可以直接将被测的信号生成为幅度的取值是离散的信号,交给单片机进行处理。ds18b20的主要特性如下 :(1)在与系统连接时不用再加任何电路或者元件,可进行信息传递;(2)测温范围非常广;(3)单线数据传输方式,传感器只需一根杜邦线便可以与单片机实现通信; 图3-3 ds18b20封装图3.4红外传感器的简介图3-4为热释电红外传感器(pir)。它由一种新型的红外探测敏感材料制成。这种传感器的功能是能对人体的红外进行检测,产生数字信号。热释电红外传感器还能避免一些误报,比如能防小动物干扰等。图3-4 热释电红外传感器3.5烟雾传感器的简介 图3-5为烟雾传感器模块实物。这类传感器在干净的气体中电导率是比较低的。这种烟雾传感器可以检测很多可燃气体和有毒气体和烟雾,非常合适一些厨房、工厂等一些需要注意气体泄漏的场所。图3-5 烟雾传感器模块图3-6传感器模块的引脚图。图3-6 烟雾传感器引脚图3.6 gsm模块(tc35i)概述这个模块能够工作在两个不同的网络中,并且可以发送信息。工作的电压范围为3.3v-4.8v,电流耗损则分三个种情况。电话卡工作的电压是3v/1.8v,模块的串口可以使用at命令实现数据和指令的传输,不但支持text格式的短信息传送,还支持中文的短消息传输,并且可以通过at指令拨打电话和挂电话。3.7原理图绘制与pcb线路板的制作3.7.1使用altium designer 绘制原理图 学会使用altium designer,如图3-8为本次家用报警器设计的原理图:图3-8 原理图3.7.2生成pcb图并排版 新建一个pcb文件并保存为家用报警器,然后:designupdate schematics in家用报警器.prjpcbyescreate engineering orderreport differences,结果如图3-9所示:图3-9 家用报警器pcb3.7.3制作板 制作流程为:打印过机腐蚀打孔。3.7.4元件的安装与焊接 大体顺序,要从小到大,从低到高。4系统软件设计4.1系统编程软件keil uvision4简介 keil uvision4是一款编程软件,它能够编写c语言代码,供开发者对程序的编写、调试运用,操作简单实用。 使用说明:(1)新创建一个文件夹命名为“测试”(2)点击桌面上的keil uvision4图标;(3)点击“工程”“新建工程”;(4)将文件放在“测试”中,然后保存;(5)找到“atmel”,选定at89s52芯片;(6)建立一个源程序文本;(7)编写我们的程序;(8)填写源程序名称,再加上合适的后缀,比如是c语音就要在名字后面加上.c,然后就点击保存;(9)将文件添加到工程中;(10)最后设置,点击,在弹出来的框中将晶振设置为10.0596m,然后在output栏中将create hex file前面的框打勾,既选定,使编译器输出单片机需要的hex文件;(11)点击保持并编译。4.2系统软件主程序流程图 软件主程序流程图如图4-1所示:nyy开始扫描键盘初始化lcd并显示读取数据检测热释电红外传感器温度传感器烟雾传感器是否有信号是否有信号蜂鸣器报警启动花洒键盘设置温度上线值n按键停止拨打电话图4-1 主程序流程图4.3系统子程序设计4.3.1按键扫描的实现 在这个系统中,我们设计了5个键,从右到左依次是设置温度上升键、设置温度下降键、停止键、备用键和复位键。按键扫描程序如下:void key()rd=0;if(key1=0) /当key1按下时,单片机检测单p10口是低电平“0”。while(!key1);/只有当key1松开时, temph才能;temph+;if(temph=125)/当设置温度加至125时,预设温度值变为32; temph=32;display(0xcd,temph);if(key2=0) /当key2按下时,单片机检测单p11口是低电平“0”。while(!key2); /只有当key2松开时, temph才能;temph-;if(temph=10) /当设置温度加至10时,预设温度值变为32;temph=32;display(0xcd,temph); 4.3.2蜂鸣器的实现 在这个系统我们采用了滴答滴答的声音,原理就是给蜂鸣器一个连续的正弦波,主要要延时程序实现。延时程序如下:void delay1(uint z) uint x,y;for(x=z;x0;x-) for(y=110;y0;y-);蜂鸣器设计程序如下:void bell()beep=1; /给蜂鸣器一个高电平;delayms(100);/延时100ms;beep=0; /给蜂鸣器一个低电平;delayms(100);/延时100ms;4.3.3温度传感器的实现 温度传感器的子程序流程图如图4-2所示:开始ds18b20初始化chu读取一个字节写入一个字节读取温度图4-2 温度传感器子程序流程图ds18b20初始化程序如下:bit init_ds18b20(void) bit dat=0; dq = 1; /dq复位 delayus2x(5); /稍做延时 dq = 0; /单片机将dq拉低 delayus2x(200); /延时delayus2x(200); dq = 1; /拉高总线 delayus2x(50); /1560us 后 接收60-240us的存在脉冲 dat=dq; /如果x=0则初始化成功, x=1则初始化失败 delayus2x(25); /稍作延时返回 return dat;读取温度程序如下:unsigned int readtemperature(void)unsigned char a=0;unsigned int b=0;unsigned int t=0;init_ds18b20();writeonechar(0xcc); / 跳过读序号列号的操作writeonechar(0x44); / 启动温度转换delayms(10);init_ds18b20();writeonechar(0xcc); /跳过读序号列号的操作 writeonechar(0xbe); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=readonechar(); /低位b=readonechar(); /高位b=8;t=a+b;return(t);4.3.4红外传感器的实现 在lcd中显示热释电红外传感器的状态,报警时显示:hong:on,静止时显示:h:off,其子程序流程图如图4-3所示:y开始读取数据lcd显示是否有人报警n图4-3 热释电红外传感器子程序流程图程序如下:ir_in=0;/赋初始值;lcd_clear();/清屏;model=1;/正常模式;flag=1;if(ir_in=1)num=1;/ 选择显示模式1;lcd_write_string(0,0,hong:on);/显示hong:on; delay1(2000);/延时;4.3.5烟雾传感器的实现 在lcd中显示烟雾传感器的状态,报警时显示:yan:on,静止时显示:y:off,其子程序流程图如图4-4所示:yy开始读取数据lcd显示是否有烟雾或者可燃气体蜂鸣器报警n图4-4 烟雾传感器子程序流程图程序如下:yan=1;/赋初始值;if(yan=0)num=2;/选择显示模式2;lcd_write_string(0,0,yanwu:on);/显示yanwu:on;delay1(2000); 4.3.6液晶显示器的实现1602是一个启动比较慢的元件,故在刚开启后最好能执行一段时间延时,稍微等待一下。然后先看看显示器的时序再对他进行编码。初始化过程如图4-5所示:开始写入命令函数写入数据函数清屏写入字符串初始化图4-5 初始化lcd流程图初始化程序如下:void lcd_init(void) lcd_write_com(0x38); /*显示模式设置*/ delayms(5); lcd_write_com(0x38); delayms(5); lcd_write_com(0x38); delayms(5); lcd_write_com(0x38); lcd_write_com(0x08); /*显示关闭*/ lcd_write_com(0x01); /*显示清屏*/ lcd_write_com(0x06); /*显示光标移动设置*/ delayms(5); lcd_write_com(0x0c); /*显示开及光标设置*/ 显示器显示温度值的设计程序如下:void display(uchar add, uchar date) lcd_write_com(add); lcd_write_data(0x30+date/100);/读出温度的百位 lcd_write_data(0x30+date/100/10);/读出温度的十位 lcd_write_data(0x30+date/100%10);/读出温度的个位4.3.7gsm模块(tc35i)的实现gsm模块子程序实现流程图如图4-6所示ny开始建立连接是否报警拨打电话图4-6 gsm模块的实现打电话程序如下:void atd(void) uchar code mode=0x41,0x54,0x44,0x31,0x33,0x35,0x38,0x30,0x31,0x32,0x39,0x32,0x38,0x34,0x3b,0x0d; uint i; for(i=0;i16;i+) sbuf=modei; while(ti=0); ti=0; 挂电话程序如下:void ath(void)uchar code mode= 0x41,0x54,0x48,0x0d; uint i; for(i=0;i4;i+) sbuf=modei; while(ti=0); ti=0; 4.4系统主程序设计系统的主程序就像一个人的心脏,没有它其它做得再好也无法实现。程序如下:void main (void)if(ir_in=1|yan=0|wen=1)&(model=0) lcd_clear();/清显示,model=1; /model赋值1,即将执行报警状态flag=1; /打电话标志位置“1”,即将执行打电话函数,打电话if(ir_in=1)num=1; /num赋值1lcd_write_string(0,0,hong:on);/暂显示系检测红外传感器报警delay1(2000);if(yan=0)num=2;/num赋值2lcd_write_string(0,0,yanwu:on);/暂显示系检测烟雾传感器报警delay1(2000);if(wen=1)num=3; /num赋值3wen=0; /重置超温标志位为“0”lcd_write_string(0,0,wen:on);/暂显示系检测超温报警delay1(2000);if(flag=1) /打电话标志位flag=1时,执行打电话函数 lcd_clear();/清屏flag=0; /重置打电话标志位flag=0lcd_write_string(0,0,dadianhua); /在液晶显示打电话状态lcd_write_string(0,1, .); /在液晶显示打电话状态atd(); /打电话函数delay();/延时delay1(10000); /延时if(model=1)/当model=1时,进入报警状态lcd_clear();/清屏 5系统调试5.1系统的调试 电路板的实物做出来之后,系统调试是从理论到实际的第一个步骤。调试时应采取软硬件结合一起调试。(1)单片机无法开启,后检查是因为电路断路造成;(2)电源开关焊接错误,导致无法启动;(3)芯片40p座金属片有弯曲,导致芯片不能完全接触,经努力查找发现并更换;(4)传感器太过于敏感,导致频繁报警很难测试,后调试灵敏度后有所改善;(5)延时函数没有声明,导致程序结果出错;(6)各传感器单独测试成功,但是三路传感器结合后温度报警器频繁出现误报;5.2系统的测试结果测试结果如表1所示表1 测试结果传感器类别测试设置温度/环境温度/是否有烟雾是否有可燃气体是否有人通过蜂鸣器和gsm模块是否报警温度传感器3226否3232是3233是8082是烟雾传感器29是否是40否是是热释电红外传感器否否是是5.3数据分析 经过反复测试,系统工作的温度在-10+85灵敏度比较高,温度传感器的精确度达到小数点后三位数。显示器也可以正常的工作,可以显示需要的数据。任一个传感器触发时蜂鸣器发出报警声响并拨打主人的电话,并且如果是温度传感器或者是烟雾传感器触发时还能控制继电器工作,进一步控制花洒,将隐患扼杀于摇篮中。能够实现基本的防盗防火功能。 测试数据分析如下:(1) 当环境温度低于设置温度时,温度传感器不触发,如果高于则触发;(2) 当外界环境的可燃气体或者烟雾达到一定浓度时,烟雾传感器触发;(3) 有人走在红外传感器前,触发。 测试时遇到的一些问题分析:(1)红外传感器有时太过于敏感,使得红外传感器一直触发,测试使用都很不方便;导致误报率很高;(2)当传感器触发后,显示器的亮度明显下降,可能是因为电压不够;(3)电路元件有时不稳定,容易出错,需要复位;6结论 经过十六周的努力,基本上完成了课题的设计。在这段时间里,首先查找了很多关于单片机、c语音和gsm模块等的资料,掌握了单片机的基本工作原理和简单的c语言编程和gsm模块的基本信息。在这次设计中,我们分工明确,各自都较好的完成了自己负责的模块,完成了预期的计划,实现了设想的功能。我们设计的家用报警器,能够实现客厅防盗和厨房防火的功能,并且可以通过gsm模块拨打电话给户主。系统现在还存在一些小问题,如果还有时间的话,我们会将电源改成220v,50hz的交流电转换成5v的直流电,这样电源比较稳定,其次再好好调试程序,降低误报率。致谢 这次毕业设计中,我们小组遇到了很多问题,就在我们焦头烂额的时候,我们的导师和同学给了我们很多宝贵的建议。在这里我要特别的感谢我的毕业设计指导老师罗忠亮老师,他在我最困难的时候给我了宝贵的建议和指导,并且不厌其烦的帮我们调试和提出改进的建议,使我们的设计产品能够正常实现其报警功能。同时也要感谢帮我度过难关的搭档和同学,也正是因为有他们我才避免走了很多弯路,才能花更多的时间与报警器的设计中。从老师的爱岗敬业精神和为人处世的态度,不但让我学习到了一些专业知识,而且还学会了做人的道理。参考文献1肖景和等.555集成电路应用精粹m.人民邮电出版社,1999.5102百度百科.at89s52中文资料db/ol.2013-08-22/view/1320440.htm3百度百科.热释电红外传感器db/ol.2013-04-30/view/1788636.htm4李冰,姜波biss0001在热释电红外开关上的应用j应用科技,2006.2:36-385常旭东,洪丽,王志福. 基于gsm短消息的远程报警和控制系统. 江西科学, 2006.4:191-2006 杜树春.基于proteus和keil c51的单片机设计与仿真m.电子工业出版社.2012附录a 原理图 温度传感器 复位电路电源电路 晶振电路 液晶显示电路蜂鸣器电路主控电路附录b pcb图 附录c 实物图附录d 程序/主程序#include #include#include 18b20.h#include 1602.h#include delay.h#define uchar unsigned char#define uint unsigned intsbit ir_in=p20;sbit yan=p21;sbit relay1=p22;sbit beep=p23;sbit key1=p10;sbit key2=p11;sbit key3=p12;sbit key4=p13;sbit rd=p14;int temph=90;bit readtempflag;bit flagbit wen=0;uchar i=0;uchar num=0;void ini_uart(void) scon=0x50; /uart方式1:8位uart; ren=1:允许接收 pcon=0x00; /smod=0:波特率不加倍 tmod=0x20; /t1方式2,用于uart波特率 th1=0xfd; tl1=0xfd; /uart波特率设置:9600 tr1=1; void delay(void) uint i,j; for(i=0;i10;i+) for(j=0;j0;x-) for(y=110;y0;y-);void atd(void) uchar code mode= 0x41,0x54,0x44,0x31,0x33,0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 室内消防箱管理制度
- 家委会经费管理制度
- 库房红黄线管理制度
- 强化对餐厅管理制度
- 影像科卫生管理制度
- 微信工作群管理制度
- 德智体美劳管理制度
- 快餐店前厅管理制度
- 性传播疾病管理制度
- 患者床头卡管理制度
- 河北省2025年高二年级第二学期期末模拟检测数学试题(含答案)
- 党课课件含讲稿:“违规吃喝”专题解读
- 2025年山东文旅集团科技发展公司招聘考试笔试试题
- 天津2025年中国医学科学院放射医学研究所第一批招聘笔试历年参考题库附带答案详解
- 逻辑学七道试题及答案
- 2025年中国高压水除鳞系统行业市场现状及未来发展前景预测分析报告
- 2025甘肃省农垦集团有限责任公司招聘生产技术人员145人笔试参考题库附带答案详解析
- 安保安全考试试题及答案
- 积分落户劳动合同协议
- 辽宁沈阳副食集团所属企业招聘笔试题库2025
- 2024-2025湘美版六年级下册美术期末考试卷及答案
评论
0/150
提交评论