完整版基于单片机的多功能住宅安防报警系统的毕业设计论文.docx

上传人:b****8 文档编号:9598362 上传时间:2023-02-05 格式:DOCX 页数:20 大小:521.51KB
下载 相关 举报
完整版基于单片机的多功能住宅安防报警系统的毕业设计论文.docx_第1页
第1页 / 共20页
完整版基于单片机的多功能住宅安防报警系统的毕业设计论文.docx_第2页
第2页 / 共20页
完整版基于单片机的多功能住宅安防报警系统的毕业设计论文.docx_第3页
第3页 / 共20页
完整版基于单片机的多功能住宅安防报警系统的毕业设计论文.docx_第4页
第4页 / 共20页
完整版基于单片机的多功能住宅安防报警系统的毕业设计论文.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

完整版基于单片机的多功能住宅安防报警系统的毕业设计论文.docx

《完整版基于单片机的多功能住宅安防报警系统的毕业设计论文.docx》由会员分享,可在线阅读,更多相关《完整版基于单片机的多功能住宅安防报警系统的毕业设计论文.docx(20页珍藏版)》请在冰豆网上搜索。

完整版基于单片机的多功能住宅安防报警系统的毕业设计论文.docx

完整版基于单片机的多功能住宅安防报警系统的毕业设计论文

 

本科生毕业论文

基于单片机的多功能

住宅安防报警系统的设计

院系

专业

班级

学号  

学生姓名   

联系方式 

指导教师职称

2012年5月

独创性声明

本人郑重声明:

所呈交的毕业论文(设计)是本人在指导老师指导下取得的研究成果。

除了文中特别加以注释和致谢的地方外,论文(设计)中不包含其他人已经发表或撰写的研究成果。

与本研究成果相关的所有人所做出的任何贡献均已在论文(设计)中作了明确的说明并表示了谢意。

签名:

 

                  年  月  日

 

授权声明

本人完全了解许昌学院有关保留、使用本科生毕业论文(设计)的规定,即:

有权保留并向国家有关部门或机构送交毕业论文(设计)的复印件和磁盘,允许毕业论文(设计)被查阅和借阅。

本人授权许昌学院可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编论文(设计)。

本人论文(设计)中有原创性数据需要保密的部分为:

签名:

     年  月  日

指导教师签名:

                     年  月  日

 

基于单片机的多功能

住宅安防报警系统的设计

摘要

本系统以MCS-51系列单片机STC89C52为微处理器设计了住宅安防报警系统。

系统包括硬件和软件设计两个部分,整个系统硬件在软件控制下工作的。

硬件部分包括单片机控制电路、传感器采集电路、驱动执行报警电路、LCD显示电路等部分组成。

该系统制作简单、成本低,功能齐全、安装比较方便,而且安防性能比较稳定,抗干扰能力强、灵敏度高、安全可靠,另外这种防盗器安装隐蔽,不易被盗贼发现。

该系统将极大改善广大家庭的家居安全环境。

关键词:

单片机;传感器;家居安防

DesignoftheMulti-functionHomeSecurity

AlarmSystemBasedontheSingle-chip

ABSTRACT

ThissystemwithMCS-51MCUSTC89C52microprocessordesignresidentialsecurityalarmsystem.Thesystemconsistsofoftwoparts,the,theinstallationisconvenient,andthesecurityperformanceisrelativelystable,stronganti-interferenceability,,isnoteasytobethethieffound.ThesystemwillgreatlyimprovethemajorityofthefamilyProject”新建一个工程;

(2)在对话框,选择放在刚才建立的“fangzhen”文件夹下,给这个工程取个名为“ccc”后保存,工程名字可以任意取;

(3)弹出一个框,在CPU类型下我们找到并选中“Atmel”下的AT89S51或52;

(4)以上工程创建完毕,接下来开始建立一个源程序文本;

(5)输入源程序文件名名称“main.c”,增加其他的程序,(注意:

如果您想用汇编语言,要带后缀名一定是“test.asm”,如果是C语言,则是“test.c”),然后保存:

(6)最后还要有设置一下晶振为12M,因12MHZ方便计算指令时间;

(7)在Output栏选中CreateHEXFile,使编译器输出HEX文件,如下图4-1所示:

图4-1Keil设置方法

(8)工程项目创建和设置全部完成!

点击保存并编译,如图4-2所示

图4-2Keil编译图

(9)编译中可能会出现错误,这时需要对程序进行修改,修改好之后点击“保存”按钮,然后点击“编译”按钮,看是否把错误修改好了,如此反复进行,直到最后编译出来的文件没有错误为止。

(10)将编译出来的HEX文件通过Proteus软件下载到单片机里便可以进行软件仿真调试了[11]。

4.2软件仿真效果

本系统的软件仿真是在Proteus软件上实现的,利用该软件画好仿真原理图后,就可以双击单片机元件添加KeiluVision4刚才生成的HEX文件,点击仿真图标就可以开始仿真了。

当系统处于正常情况时,LCD显示屏显示当前温度值和“正常”字样,系统仿真结果如图4-3所示:

图4-3正常情况时系统仿真图

当发生火宅时,室内空气的温度会升高,温度传感器电路检测到温度上升,并将温度值输送给单片机,当温度值高于设定值时,单片机将控制声光报警电路完成报警工作,并显示当前温度值、“非正常”和“火灾”字样。

通过查找资料发现报警温度设置应在50℃左右,这样才可以有效、及时地检测到火灾,故本设计设定的报警温度为50℃,软件仿真结果如图4-4所示:

图4-4发生火宅时系统仿真图

当有陌生人闯入时,仿真时只需将SW1开关拨向高电平,以此来模拟热释电红外传感器检测到有陌生人闯入住宅,送给单片机一个高电平,仿真结果如图4-5所示:

图4-5有人闯入时系统仿真图

可以看出,仿真结果和预先设计的方案基本一致,达到了预期的目标。

5总结

本文研究并设计了基于STC89C52单片机技术的多功能住宅安防报警系统,并进行了软件仿真和硬件调试,利用热释电红外传感器来检测陌生人的入侵、利用温度传感器检测室温来预测火灾,能够把住宅中发生的各种险情信息很好的检测出来,当险情发生时,能及时的通知主人进行处理,保证了住户的生命和财产安全。

主要完成的工作如下:

(1)阐述了课题研究的背景、目的和意义,分析了国内外在该方向的研究和发展状况;

(2)论证了方案的设计,介绍了系统总体设计方案以及系统各个模块的具体设计电路;

(3)设计了系统的主程序整体流程;具体阐述了单片机初始化及程序流程;最后介绍了传感器中断程序的设计及流程图;

(4)完成了系统电路的软件仿真和硬件调试,并达到预期的目标。

通过仿真和调试发现,本系统具有很强的实用性,性能优越、结构清晰、成本低,功耗小,并具有较好的扩展性,将大力提高人们的住宅安防水平。

本文下一步工作将增加一个无线模块实现无线传输,并且构建家庭无线传感器网络,并将家庭安防做到远距离通信,例如增加GPRS模块,实现当有警情时及时通过该模块发送一个短信或彩信给外出的户主,实现及时报警及控制信息的远程传输[12]。

参考文献

[1]韩毅.上班族,如何保护自己的家——家庭防盗报警系统[J];安防科技,2003(07):

20-22;

[2]施旭燕.智能家居自动化技术研究[D].哈尔滨工程大学硕士论文,2002;

[3]宋文绪.传感器与检测技术[M].北京:

高等教育出版社,2004:

40-70;

[4]张洪润,张亚凡,邓洪敏.传感器原理及应用[M].北京:

清华大学出版社,2008:

78-92;

[5]吴英才,林华清.热释电红外传感器在防盗系统中的应用[M].传感器技术,2002:

4-48;

[6]徐玮,徐富军,沈建良.C51单片机高效入门[M].机械工业出版社,2001:

23-62;

[7]薛均义,张彦斌.MCS-51系列单片微型计算机及其应用[M].西安:

西安交通大学出版社,2005:

65-85;

[8]李全利.单片机原理及接口技术[M].北京:

北京航空航天大学出版社,2004:

53-70;

[9]徐爱钧,彭秀华.单片机高级语言C51应用程序设计[M].北京:

北京航空航天大学出版社,2006:

79-92;

[10]唐桃波,陈玉林.基于AT89C51的智能无线安防报警器[J].电子设计应用,2003:

49-51;

[11]孙利民,李建中,陈渝等.无线传感器网络[M].北京:

清华大学出版社,2005:

29-49;

[12]黄布毅.基于无线传感器网络的家庭安防报警系统设计[J].安防科技,2008(03):

30-32;

附录

1.附图:

附图1热释电红外感应模块

附图2温度传感器实物图

2.系统所用部分程序:

单片机主程序:

main.c

#include"ds18b20.(ucharscreen);清屏

voidSetLine(ucharline);置页地址

voidSetColum(ucharcolum);置列地址

voidSetStartLine(ucharstartline);置显示起始行

voidSelectScreen(ucharscreen);选择屏幕

voidShow1616(ucharlin,ucharcolum,uchar*address);显示一个汉字

voidInitLcd();初始化

voidResetLcd();复位

voidShow_english(ucharlin,ucharcolum,uchar*address);

unsignedcharcodeMusic_Code[]={0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,

0x17,0x17,0x17,0x17,0x17,0x17,0x0D,0x03,0x18,0x04,

0x0D,0x03,0x16,0x04,0x0B,0x03,0x11,0x04,0x10,0x03,

0x11,0x04,0x15,0x02,0x10,0x16,0x00,0x00};

constucharcodenum[]={

0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,*"0",0*

0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,*"1",1*

0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,*"2",2*

0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,*"3",3*

0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,*"4",4*

0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,*"5",5*

0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,*"6",6*

0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,*"7",7*

0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,*"8",8*

0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,*"9",9*

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,*".",0*

};

constucharcodechin[]={

温(0)度

(1)非

(2)正(3)常(4)发(5)生(6)火(7)灾(8)有(9)人(10)闯(11)入(12)!

(13)

0x00,0x44,0x8C,0x18,0x00,0xFC,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0x24,0xFC,0x00,0x00,

0x00,0xC0,0x38,0x87,0xF8,0x84,0x84,0xFC,0x84,0x84,0xFC,0x84,0x85,0xFC,0x80,0x00,*"温",0*

0x00,0xF0,0x08,0x28,0x28,0xF8,0x28,0x28,0x2C,0x28,0x28,0xF8,0x28,0x28,0x08,0x00,

0x80,0x7F,0x80,0x84,0x84,0x8C,0x55,0x65,0x25,0x65,0x55,0x95,0x8C,0x80,0x80,0x00,*"度",1*

0x00,0x08,0x08,0x08,0x08,0x08,0xFC,0x00,0x00,0xFE,0x08,0x08,0x08,0x08,0x00,0x00,

0x00,0x11,0x11,0x11,0x11,0x11,0xFF,0x00,0x00,0xFF,0x11,0x11,0x11,0x10,0x10,0x00,*"非",2*

0x00,0x00,0x04,0xC4,0x04,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0x04,0x04,0x04,0x00,

0x80,0x80,0x80,0xFF,0x80,0x80,0x80,0x80,0xFF,0x81,0x81,0x81,0x81,0x81,0x80,0x00,*"正",3*

0x00,0x70,0x10,0xD4,0x58,0x50,0x50,0x5C,0x50,0x50,0x50,0x58,0xD4,0x10,0x70,0x00,

0x00,0x00,0xF8,0x05,0x06,0x06,0x06,0x7E,0x06,0x06,0x06,0x86,0x85,0x78,0x00,0x00,*"常",4*

0x00,0x00,0x00,0xF0,0x08,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0xF0,0x08,0x00,0x00,

0x00,0x80,0x81,0x40,0x20,0x30,0x18,0x07,0x06,0x08,0x10,0x21,0x40,0x80,0x80,0x00,*"火",5*

0x00,0x78,0x08,0x08,0xC8,0x08,0x08,0xFE,0x08,0x08,0x08,0x08,0xC8,0x08,0x38,0x00,

0x00,0x80,0x80,0x47,0x60,0x30,0x08,0x07,0x04,0x18,0x34,0x23,0x40,0x80,0x80,0x00,*"灾",6*

0x00,0x88,0x88,0xC8,0x68,0x58,0x4C,0x4A,0x48,0x48,0x48,0x48,0x48,0xC8,0x08,0x00,

0x01,0x00,0x00,0xFF,0x12,0x12,0x12,0x12,0x12,0x12,0x92,0x92,0x92,0xFF,0x00,0x00,*"有",7*

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x80,0x40,0x20,0x10,0x08,0x06,0x01,0x00,0x03,0x0C,0x10,0x20,0x40,0x80,0x00,*"人",8*

0x00,0xF0,0x04,0x08,0xF4,0x14,0x14,0x14,0x14,0x14,0xE4,0x04,0x04,0x04,0xFC,0x00,

0x00,0xFF,0x00,0x00,0x0B,0x0A,0x0A,0x0A,0x0A,0x4A,0x4B,0xF2,0x0C,0x00,0xFF,0x00,*"闯",9*

0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xCC,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x80,0x40,0x20,0x18,0x04,0x03,0x00,0x00,0x00,0x03,0x0C,0x30,0x40,0x80,0x00,*"入",10*

0x00,0x18,0x24,0x24,0x18,0x00,0xF8,0x04,0x02,0x02,0x02,0x04,0x08,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x08,0x00,0x00,0x00,*"C",0*

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,*"",0*

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,*"",1*

};

externucharqian,bai,shi,ge;

voidmain()

{

ucharv;

playm_init_sound();

InitLcd();

while

(1)

{

SetOnOff

(1);显示开,注意:

如果这里设置显示关,显示会出现错误

ds18b20_read_temp();

v=bai*10+shi;

SelectScreen(0);选择左屏

Show1616(0,16,chin);

Show1616(0,32,chin+32);

Show_english(0,40,num+qian*16);

Show_english(0,48,num+bai*16);

Show_english(0,56,num+shi*16);

SelectScreen

(1);

Show_english(0,0,num+10*16);

Show_english(0,8,num+ge*16);

Show1616(0,16,chin+448);

if(fire_key==1||body_key==1)

{

SelectScreen(0);

Show1616(2,48,chin+480);

SelectScreen

(1);

Show1616(2,0,chin+480);

SelectScreen(0);

Show1616(2,16,chin+64);

Show1616(2,32,chin+96);

Show1616(2,48,chin+128);

}

else

{

SelectScreen(0);

Show1616(2,16,chin+480);

Show1616(2,32,chin+480);

Show1616(2,48,chin+480);

SelectScreen(0);

Show1616(2,48,chin+96);

SelectScreen

(1);

Show1616(2,0,chin+128);

}**

if(fire_key==1||(v>=50))

{

SelectScreen(0);

Show1616(4,48,chin+224);

SelectScreen

(1);

Show1616(4,0,chin+256);

led=1;

playm_play_music(Music_Code);

led=1;

}

else

{

SelectScreen(0);

Show1616(4,48,chin+480);

SelectScreen

(1);

Show1616(4,0,chin+480);

led=0;

}

if(body_key==1)

{

SelectScreen(0);

Show1616(6,32,chin+288);

Show1616(6,48,chin+320);

SelectScreen

(1);

Show1616(6,0,chin+352);

Show1616(6,16,chin+385);

led=1;

playm_play_music(Music_Code);

led=1;

}

else

{

SelectScreen(0);

Show1616(6,32,chin+480);

Show1616(6,48,chin+480);

SelectScreen

(1);

Show1616(6,0,chin+480);

Show1616(6,16,chin+480);

led=0;

}

SetOnOff

(1);

}

}**********************************

延时函数

**********************************

voidLcdDelay(uinttime)

{

while(time--);

}**********************************

写指令

**********************************

voidSendCommand(ucharcommand)

{e=1;

wr=0;

rs=0;

databus=command;

e=0;

}**********************************

写数据

**********************************

voidWriteData(uchardat)

{e=1;

wr=0;

rs=1;

databus=dat;

e=0;

}**********************************

显示开关

**********************************

voidSetOnOff(ucharonoff)

{if(onoff==1)

{

SendCommand(0x3f);

}

else

{

SendCommand(0x3e);

}

}**********************************

选择页

**********************************

voidSetLine(ucharline)12864总共有8页(0~7),每页有8行

{line=line&0x07;只取后三位xxxxx111,这3个是要改变位置的数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 日语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1