历史上的今天
返回首页

历史上的今天

今天是:2024年12月16日(星期一)

正在发生

2021年12月16日 | 单片机+人体红外感应的防盗系统设计

2021-12-16 来源:eefocus

设计说明

1.根据系统功能要求并且考虑产品的性价比进行系统的整体方案设计,包括系统 的选型、所选芯片的功能、芯片外围电路的合理设计等。

2.系统硬件抗干扰技术与软件抗干扰技术的研究与实现。

3.系统硬件与软件的联合仿真与调试。


本设计是针对普通的家庭防盗而设计,与相似功能的系统相比,具有如下的创新:

(1)移植性高。本设计考虑现代家居的特点,参考了大多数的被盗情况,适合任何家庭使用。

(2)成本低。本设计采用单片机作为控制芯片,所需要的外围电路较少,且所有子电路均能从市场上购买,制造成本低。

(3)功能扩展性好。本设计稍加修改就可增加检查火灾或煤气泄漏等功能,发展前景很大。

(4)安全性高。本设计考虑到其安全性,采用全封闭安装,致使窃贼无法破坏其装备,具有良好的安全性。


制作基于51单片机和人体红外感应模块的的防盗系统电路原理图如下:

实物图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

防盗系统仿真原理图如下(proteus仿真工程文件)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Altium Designer画的防盗系统电路原理图和PCB图如下:

单片机程序参考代码如下:


#include

#define uchar unsigned char

#define uint unsigned int

sbit huang=P2^0;//黄灯

sbit lv=P2^2;//绿灯

sbit hong=P2^4;//红灯


sbit hongwai=P1^0;//热释电

sbit butter=P2^6;//蜂鸣器低电平开蜂鸣器


sbit baojing=P1^1//直接报警按键;

sbit bufang=P1^7;//布防按键

sbit quxiao=P3^4;//取消按键

uchar tt=0;//定时器变量

uchar num=0;//定时的计时变量

uchar flag=0;//标志位

void timer1init(void)//定时器1,16位方式2

{ EA=0;

TMOD=0x11;//设置定时器0为工作方式1

TH0=(65536-10000)/256;

TL0=(65536-10000)%256;

ET0=1;//开定时器0中断

TR0=1;//启动定时器0

tt=0;//

EA=0;//关总中断

}

void delay(uint z)//延时函数

{

uint x,y;

for(x=z;x>0;x–)

for(y=110;y>0;y–);

}

void main()//主函数

{

huang=0;//初始黄灯亮

lv=0;//初始绿灯亮

hong=0;//初始红灯亮

timer1init();//初始化定时器

while(1)

{

if(!baojing)//如果直接报警键被按下

{

delay(5);//延时消抖

if(!baojing)//判断报警键是不是被按下

{

hong=1;//红灯亮

lv=0; //绿灯灭

flag=7;//标志位等于7

butter=0;//蜂鸣器响

EA=0;//关中断

}

while(!baojing);//判断按键是不是弹开

delay(5);//如果弹开延时消抖

while(!baojing);//弹开后跳出程序

}

if((!bufang)&&(flag<4))//在初始状态和按下取消键后可以进去这个函数

{

delay(5);//延时消抖

if(!bufang)//如果布防被按下

{

EA=1; //开定时器

flag=2;//另=2

}

while(!bufang);//布防键是不是弹开

delay(5);//延时

while(!bufang);//布防键弹开

}

if(!quxiao)//如果取消键按下

{

delay(5);//延时消抖

if(!quxiao)//取消键是不是按下

{

flag=3;//FLAG等于3

butter=1;//蜂鸣器不响

tt=0;//

num=0;//定时初始0

EA=0;//关中断

lv=0;//绿灯灭

hong=0;//红灯灭

}

while(!quxiao);//取消按键抬开

delay(5);//延时消抖

while(!quxiao);//如果弹开跳出


}

if(flag==4)//如果布防时间到

{

tt=0;//清计数为0

EA=0;//关中断

num=0;//记的秒数清零

lv=1;//关绿灯

flag=5;//flag等于5


}

if(hongwai)//如果感应到人黄灯亮

huang=1;

else huang=0;//感应不到人黄灯灭


if(flag==5)//如果flag等于5

{

if(hongwai)//如果感应到人

{

butter=0;//蜂鸣器响

EA=1;//开中断

}

}


}

}


void time0() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

tt++;

if(tt10)

{tt=0; num++;}

if((flag5)&&(num%20))//布防15秒后会让flag=5 ,num为偶数灯亮

hong=1;

if((flag5)&&(num%21))//布防15秒后会让flag=5 ,num为奇数灯灭

hong=0;

if((flag2)&&(num%20))//按键布防键后flag等于2,num为偶数灯亮

lv=1;

if((flag2)&&(num%21)) // 按键布防键后flag等于2,num为奇数灯灭

lv=0;

if((flag2)&&(num==30))//布防时间,num=30即15秒,可以更改此实现布防延迟时间

flag=4;

}

推荐阅读

史海拾趣

DESIGNERSYSTEMS公司的发展小趣事

DESIGNERSYSTEMS公司意识到,要在电子行业持续发展,必须不断拓展市场。他们积极寻求跨界合作的机会,与汽车、医疗、航空航天等多个行业的领军企业建立了合作关系。通过跨界合作,DESIGNERSYSTEMS不仅将自身的技术优势应用于更广泛的领域,还从合作伙伴那里学到了更多行业知识和经验,进一步提升了自身的综合实力。

HANBIT Electronics公司的发展小趣事

DESIGNERSYSTEMS公司非常注重人才的培养和引进。他们建立了一套完善的人才培养机制,通过内部培训、外部交流等多种方式不断提升员工的综合素质和专业能力。同时,DESIGNERSYSTEMS还积极引进国内外优秀人才,为公司的发展注入新的活力和创新力。这种对人才的重视和投入使得DESIGNERSYSTEMS在电子行业中保持了持续的创新力和竞争力。

Analogix Semiconductor公司的发展小趣事

DESIGNERSYSTEMS公司的创始人在电子行业有着深厚的背景和独特的见解。他们发现市场上缺乏一种能够集成多种功能、高度定制化的电子设备设计解决方案。于是,他们创立了DESIGNERSYSTEMS,专注于提供从概念到原型再到量产的全方位设计服务。通过不断的技术创新和对市场需求的精准把握,DESIGNERSYSTEMS迅速在电子行业树立了自己的品牌形象,赢得了客户的信赖。

Applied Engineering Products (AEP)公司的发展小趣事

在环保意识日益增强的今天,AEP公司积极响应国家号召,致力于绿色环保和可持续发展。公司投入大量资金研发环保型电子元器件,减少生产过程中的废弃物排放。同时,公司还建立了完善的废旧产品回收机制,对废旧产品进行环保处理,实现资源的循环利用。这一举措不仅提升了AEP公司的社会形象,也为公司的可持续发展注入了新的动力。

Crydom公司的发展小趣事

随着公司规模的扩大和产品种类的增多,AEP公司意识到质量管理的重要性。公司引进了一套先进的质量管理体系,从原材料采购、生产过程到产品出厂,每一个环节都进行严格的质量控制。同时,公司还加强了对员工的培训和管理,确保每一名员工都能严格按照质量标准进行操作。这一举措大大提高了AEP公司的产品质量和客户满意度,为公司的长期发展奠定了坚实基础。

Gentron Corp公司的发展小趣事
如果闪烁速度不稳定,可以尝试调整定时器的电阻和电容值,以改变振荡频率。

问答坊 | AI 解惑

适用于多平台的新型的按键扫描程序

以下假设你懂C语言,因为纯粹的C语言描述,所以和处理器平台无关,你可以在MCS-51,AVR,PIC,甚至是ARM平台上面测试这个程序性能。当然,我自己也是在多个项目用过,效果非常好的。好了,工程人员的习惯,废话就应该少说,开始吧。 核心算法: ...…

查看全部问答>

vs2005中新建的pocket PC2003 项目与wince4.0是什么关系?

vs2005中新建的pocket PC2003 项目与wince4.0是什么关系? 我新建的是pocket PC2003 项目,看文档说明书的时候,人家都说是,wince3.0 4.0什么的, 我想知道 pocket PC2003 到底是对应wince哪个版本呢? 先谢了..…

查看全部问答>

弱弱的问一句 bootloader 是那个文件?

弱弱的问一句: \\WINCE600\\OSDesigns\\2451\\2451\\RelDir\\smdk2450_ARMV4I_Release 下的 EBOOT.bin 和 EBOOT.nb0 ,是不是就是大家说的Bootloader 啊 ? 在没有bootloader 的裸片子上,是不是先烧EBOOT.nb0 后就可以烧 NK.nb0 了? …

查看全部问答>

打开DHCP之后,Microsoft ActiveSync无法连接

wince 2440开发板。我发现个奇怪的问题,如果DHCP打开的话,Microsoft  ActiveSync就连接不上了 刚刚开始玩wince. 本来开始不知道有个DHCP需要开启,就没有开,wince一开就Microsoft  ActiveSync就能连上, 后来出现 Tim ...…

查看全部问答>

关于把自己定制的内核下载到开发板的问题

我的开发板有个操作系统,已经做好操作系统了,现在我想把自己定制的内核下载到开发板上.   我在PB->Target->Configure Remote Connection->Download(Ethernet)->configure中找不到我的开发板的设备,请问这是什么原因? …

查看全部问答>

eeworld论坛没做好!搞得人很不爽!希望设计者多努力!

弹出下载界面,我点击取消,第二次居然说积分不过!他妈的吗,垃圾啊…

查看全部问答>

做的DS12C887时钟 12864液晶 秒只能跳1秒就停

做的DS12C887时钟 12864液晶 秒只能跳1秒就停 P0口接的12864液晶 P1口接的大侠们帮我看一下是什么问题#include <reg51.h>#define uchar unsigned char#define uint  unsigned int/* 端口定义*/#define LCD_data  ;P0  ...…

查看全部问答>

lm3s9b96上接3g上网卡或wifi的usb 开发

本人新人一个。。 以前不做这块的,刚去一个新单位,领导要开发这么一个东西。 主要目的就是通过usb口接的3g或wifi模块同外部设备进行数据传输。   大家有什么方案建议之类的没有? 例程最好了。学习文档之类的也非常感谢。   多 ...…

查看全部问答>

步进程序停不了?请教

   #include <reg52.h>#define uint unsigned int#define uchar unsigned charuchar code FFW[]={ 0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09 };sbit K1 = P3^0;//启动按键sbit K3 = P3^2; //停按键void DelayMS(uint ms)//延时{  ...…

查看全部问答>

OLED显示器的DC生产测试中测量误差的来源

测量误差的来源是由测试系统的精度、以及在对OLED给出信号和进行测量期间所未曾想到的瞬态过程引起的。在进行快速的生产测试时,在稳定状态下进行精确DC测量的能力,是与尽可能快地完成测试的需求相互牵制的。测试周期的时间长短是由源/测量以及 ...…

查看全部问答>