安防课程设计说明书Word格式文档下载.docx
- 文档编号:19966378
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:18
- 大小:91.43KB
安防课程设计说明书Word格式文档下载.docx
《安防课程设计说明书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《安防课程设计说明书Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
来自反向振荡器的输出
为了保证上电瞬间,RST脚的高电平能持续两个机器周期以上,一般选C3为10uf,R1为10K左右较好。
图1.1单片机最小系统图
2.2温度传感电路
2.2.1DS18B20介绍
本设计的测温元件采用DS18B20数字温度传感器。
DS18B20采集的数据为数字信号,可以直接发送至单片机进行处理。
DS18B20数字温度计提供9位温度读数,指示器件的温度。
信息经过单线界面送入DS18B20或从DS18B20送出,因此从中央处理器到DS18B20仅需连接一条线(和地)。
读、写和完成温度变换所需的电源可以由数据线本身提供,而不需要外部电源。
2.2.2DS18B20工作电路
本设计DS18B20与单片机的P3-3相连,采集到温度信号后,将数据传输给单片机当温度达到预先设定的上限值(本文的上限值是:
50℃),则LED红灯点亮,蜂鸣器报警,数码管显示当前的温度值。
图4.4DS18B20仿真图
2.3密码门禁系统模块
方案
(1):
采用Intel公司6264芯片,该芯片容量为8KB,是28引脚双列直插式芯片,采用CMOS工艺制造。
该芯片搭建电路,操作时序复杂,不适合作为单片机外部数据存储器。
方案
(2):
AT24C04是一个4K位串行CMOSE2PROM,内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。
AT24C04有一个16字节页写缓冲器。
该器件通过IIC总线接口进行操作,有一个专门的写保护功能。
它支持IC芯片使用简单,外部电路容易实现。
2.41DYP-ME003红外人体传感器
传感器使用DYP-ME003红外人体传感器,该传感器输出信号为高电平时有人入侵,为低电平时表示无人入侵。
因在仿真软件Proteus7Professional里没有DYP-ME003红外人体传感器,故使用按键代替。
2.5报警模块
普通单色发光二极管具有体积小、工作电压低、工作电流小、发光均匀稳定、响应速度快、寿命长等优点。
但是发光二极管发光强度小,难以引起注意,用于报警功能。
2.5.1蜂鸣器
当单片机接收到超额温度信号或气体信号时,输出脚BELL输出高电平,Q1导通,致使蜂鸣器BELL得电工作,发出报警声。
如图4.9所示:
图4.9蜂鸣器报警电路
1.6液晶显示模块
数码管是利用发光二极管的特性组合而成数字显示器件,通过控制相应的二极管的状态显示相应的数字。
使数码管正常显示就得有驱动电路驱动相应的段码,数码管现实方式可分为静态显示和动态显示,静态显示方式只适合显示单个的数字,因此设计应采用动态显示方式。
由于动态显示方式利用人眼视觉暂留的特性,扫描的时间应不大于20毫秒,占用系统资源大,而且显示的个数和字型有限,在本设计中不易采用。
1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
每位之间有一个点距的间隔,每行之间也有也有间隔,起到了字符间距和行间距的作用。
1602的驱动电路带有11条指令,可以很方便的控制液晶的现实效果如:
清屏、左移右移、光标显示。
而且1602显示的字符在下一条指令为到来之前不会改变,也就是能够维持显示的字符,1602液晶占用的系统资源也少。
综合比较上述两种方案,应采用1602液晶组成本设计的显示模块。
图4.12显示电路
3电路的设计
本设计为红外检测兼密码锁智能家居防盗系统,总共分为以下几个模块
2.1硬件总体框图间的构成框图如下图2.1所示:
图2防火防盗报警系统结构框图
3.1仿真电路系统电路图:
总结
随着计算机技术、网络技术和信息技术的发展,校园智能安防系统将向着数字化、集成化、和国产化发展,系统设备向智能化、数字化、模块化和网络化的方向发展。
同时随着红外线射频技术、微波精确定位技术、数字数据服务、无线通信、电子数据交换、识别技术、条码技术等发展,也必将在智能小区得到广泛应用,如用电子周边防越精确定位的同轴电缆电磁感应技术、通过颤噪效应的原理来精确定位的微波电缆.智能小区的安防系统将对人们的生活提供更安全、信息随身的设备,为人们的日常生活带来更大的便利。
参考文献
[1]鞠红.谈燃气报警系统的设计和应用[J],工程建设与设计,2005
[2]肖景和.<
<
实用报警电路300例>
>
.北京:
中国电力出版社,2005
[3]刘舒祺.施国梁.<
基于热释电红外传感器的报警系统>
.<
国外电子元器件>
.2005.3
[4]吴英才.林华清.热释电红外传感器在防盗系统中的应用.传感器技术,2002
[5]吕俊芳.潘军,陈巍.光电感烟火灾探测器的电路设计.航空计测技术,1999
[6]刘世良.潘一平.火灾多元复合探测技术的现状与发展.消防技术与产品信息,1998
[7]秦兆海.周鑫华.智能楼宇安全防范系统.清华大学出版社,北京交通大学出版社,2005
[8]王芳.马幼军,蒋国平.智能化住宅防盗防火报警系统设计[J].传感器技术,2002
[9]张福学.传感器应用及其电路精选.电子工业出版社,1992
[10]邓凯.智能化住宅安防系统的应用.冶金矿山设计与建设,2000
[11]张金泉.一种新型民用防火防盗报警器的研制.燕山大学学报,2000
附录:
源程序:
/***************writer:
shopping.w******************/
#include<
reg52.h>
intrins.h>
#include"
18b20.h"
#defineucharunsignedchar
#definedelayNOP(){_nop_();
_nop_();
}
sbitLCD_RS=P2^0;
sbitLCD_RW=P2^1;
sbitLCD_EN=P2^2;
unsignedintuiTemp_Set=500;
//用户设定的温度报警值50.0
unsignedintuiTemp_Get=0;
//获得当前的温度值
unsignedcharucDis_Flag=0;
unsignedcharucTmep_Flag=0;
unsignedintuiTime_Hold=0;
//显示切换时间
unsignedcharucKEY_Press_Flag=0;
//按键按下的标志位
sbitLED_0=P1^5;
sbitLED_1=P1^6;
sbitLED_2=P1^7;
sbitLED_3=P3^7;
sbitLED_4=P3^6;
sbitBEEP=P3^5;
sbitKEY_REN=P1^0;
sbitKEY_YAN=P1^1;
sbitKEY_CE=P1^2;
sbitKEY_TEMP_SET_NEW=P1^3;
sbitKEY_TEMP_SET=P1^4;
ucharucKEY_DOWM_Time[5]={0};
ucharucKEY_SET=0;
//温度设置
ucharReadTempFlag=0;
#defineKEY_Down_DO10//按键按下有效的时间长度
ucharcodeTemp_Disp_Title[]={"
CurrentTemp:
"
};
ucharCurrent_Temp_Display_Buffer[]={"
TEMP:
ucharcodeTemperature_Char[8]=
{
0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x00
ucharcodedf_Table[]=
0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9
ucharCurrentT=0;
voidDelayXus(unsignedintx)
uchari;
while(x--)
{
for(i=0;
i<
200;
i++);
}
bitLCD_Busy_Check()
bitresult;
LCD_RS=0;
LCD_RW=1;
LCD_EN=1;
delayNOP();
result=(bit)(P0&
0x80);
LCD_EN=0;
returnresult;
voidWrite_LCD_Command(ucharcmd)
while(LCD_Busy_Check());
LCD_RW=0;
LCD_EN=0;
_nop_();
P0=cmd;
voidWrite_LCD_Data(uchardat)
LCD_RS=1;
P0=dat;
voidLCD_Initialise()
Write_LCD_Command(0x01);
DelayXus(5);
Write_LCD_Command(0x38);
Write_LCD_Command(0x0c);
voidSet_LCD_POS(ucharpos)
Write_LCD_Command(pos|0x80);
voidLCD_Write_String(unsignedcharx,unsignedchary,unsignedchar*s)
{
if(y==0)
{
Write_LCD_Command(0x80+x);
//表示第一行
}
else
Write_LCD_Command(0xC0+x);
//表示第二行
}
while(*s)
Write_LCD_Data(*s);
s++;
voidLCD_Write_Char(unsignedcharx,unsignedchary,unsignedcharData)
Write_LCD_Command(0x80+x);
Write_LCD_Data(Data);
}
voidSHow_Num(unsignedcharx,unsignedchary,unsignedintData)
unsignedcharucDis[6],ucII=0;
ucDis[0]=Data/1000+0x30;
ucDis[1]=Data%1000/100+0x30;
ucDis[2]=Data%100/10+0x30;
ucDis[3]='
.'
;
ucDis[4]=Data%10+0x30;
ucDis[5]='
\0'
LCD_Write_String(x,y,ucDis);
voidSHOW_WARRY(void)
if(KEY_REN==0)//有人
ucKEY_DOWM_Time[0]++;
if(ucKEY_DOWM_Time[0]>
KEY_Down_DO)
LED_0=0;
ucKEY_DOWM_Time[0]=5;
ucKEY_DOWM_Time[0]=0;
LED_0=1;
///////////////
if(KEY_YAN==0)//有烟
ucKEY_DOWM_Time[1]++;
if(ucKEY_DOWM_Time[1]>
LED_1=0;
ucKEY_DOWM_Time[1]=5;
ucKEY_DOWM_Time[1]=0;
LED_1=1;
///////////////温度报警
if(uiTemp_Set<
uiTemp_Get)
LED_3=1;
ucTmep_Flag=0;
if(ucDis_Flag==0)
LCD_Write_String(0,1,"
TEMPISSOHOT"
);
ucDis_Flag=0x01;
BEEP=0;
else
ucTmep_Flag=0;
BEEP=1;
if(ucDis_Flag==0x01)
ucDis_Flag=0;
LCD_Write_String(0,2,"
TEMP_SET:
.C"
SHow_Num(9uiTem);
//////////////////
if(ucKEY_SET==0)
if(KEY_TEMP_SET_NEW==0)
ucKEY_DOWM_Time[2]++;
if(ucKEY_DOWM_Time[2]>
{
ucKEY_SET=1;
ucKEY_Press_Flag=1;
ucKEY_DOWM_Time
uiTime_Hold=0;
if(uiTemp_Set<
1250)
uiTemp_Set++;
if(ucDis_Flag==0x01)
{
ucDis_Flag=0x02;
LCD_Write_String(0,1,"
}
SHow_Num(9,1,uiTemp_Set);
ucKEY_DOWM_Time[2]=0;
//////////
if(KEY_TEMP_SET==0)
ucKEY_DOWM_Time[3]++;
if(ucKEY_DOWM_Time[3]>
ucKEY_Press_Flag=1;
ucKEY_DOWM_Time[3]=0;
if(uiTemp_Set>
0)
uiTemp_Set--;
SHow_Num(9,1,uiTemp_Set);
ucKEY_DOWM_Time[3]=0;
if((KEY_TEMP_SET_NEW==1)&
&
(KEY_TEMP_SET==1))
ucKEY_SET=0;
ucKEY_DOWM_Time[2]=0;
if(ucKEY_Press_Flag==1)
if(++uiTime_Hold>
1000)
uiTime_Hold=0;
ucKEY_Press_Flag=0;
///////////////ucKEY_DOWM_Time
if(KEY_CE==0)//有车
ucKEY_DOWM_Time[4]++;
if(ucKEY_DOWM_Time[4]>
LED_4=0;
ucKEY_DOWM_Time[4]=5;
ucKEY_DOWM_Time[4]=0;
LED_4=1;
unsignedcharucKEY_Flag=0;
voidInit_Timer0(void)
TMOD|=0x01;
//使用模式1,16位定时器,使用"
|"
符号可以在使用多个定时器时不受影响
//TH0=0x00;
//给定初值
//TL0=0x00;
EA=1;
//总中断打开
ET0=1;
//定时器中断打开
TR0=1;
//定时器开关打开
/*------------------------------------------------
定时器中断子程序
------------------------------------------------*/
voidTimer0_isr(void)interrupt1
staticunsignedintnum;
TH0=(65536-2000)/256;
//重新赋值2ms
TL0=(65536-2000)%256;
num++;
ucKEY_Flag=1;
if(num==300)//
num=0;
LED_3=~LED_3;
ReadTempFlag=1;
//读标志位置1
//SHOW_WARRY();
voidmain()
inttemp;
floattemperature;
LCD_Initialise();
LCD_Write_String(0,0,"
TEMP_NEW:
LCD_Write_String(0,1,"
Init_Timer0();
while
(1)
if(ReadTempFlag==1)
ReadTempFlag=0;
temp=ReadTemperature();
if(temp>
=0)
temperature=(float)temp*0.0625;
temperature*=10;
uiTemp_Get=temperature;
DelayXus(100);
SHow_Num(9,0,temperature);
//温度检测
if(ucKEY_Flag==1)
SHOW_WARRY();
ucKEY_Flag=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 说明书