设计说明
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; }
上一篇:自制小型PM2.5环境检测系,实测效果还可以
下一篇:51单片机驱动 LCD1602液晶显示系统
推荐帖子
- ARM架构上网本电源解决方案
- ARM架构上网本电源解决方案链接:http://www.eet-china.com/ART_8800590708_617703_TA_7cb3789c.HTMARM架构上网本电源解决方案
- pic 移动便携
- EEWORLD大学堂----超大规模集成电路测试(VLSI Testing)
- 桂花蒸 嵌入式系统
- 法国电信IPTV商业模式
- newlooking 移动便携
- 终于可以踏上回家的行程,我兴奋啊!祝福兄弟姐妹们新年快乐!全家幸福!
- 终于可以踏上回家的行程,我兴奋啊!祝福兄弟姐妹们新年快乐!全家幸福!终于可以踏上回家的行程,我兴奋啊!祝福兄弟姐妹们新年快乐!全家幸福!我接,我接。一路顺风!~~~~~~~~~~给我的分不能少于我的祝福吧,嘿嘿。~~~~~~~~~~一路顺风,预祝新年快乐.一路顺风啊!我明天也要开始行程了,先坐再站再坐。吼吼。回复内容太短了!接分接分,新年快乐!jf!!!!!几位大侠都出来山分了祝大家新年快乐!!!接分祝福回复内容太短
- ljz1023 嵌入式系统
- stm32 Keil5.15+GCC 问题求助
- 最近在捣鼓STM32和RTT实时操作系统,但部分结构体发现ARMCC编译器不认,所以更换了GCC编译器,也已经更换了keil5自带gcc的startup...启动文件,但linking的时候会报错:Rebuildtarget'Target1'compilingtrymav.c...assemblingstartup_stm32f10x_md.s...linking..../startup_stm32f10x_md.o:Infunction`LoopFillZero
- kevinrobot ARM技术
- 【2024 DigiKey 创意大赛】二月柳絮大作战项目-06传感器数据显示在液晶屏上
- 成功获取传感器数据后,即可进一步操作LCD屏幕相关参数lvgl初始化成功成功传感器获取数据下面进行lvgl相关操作:创建两个标签显示传感器数据staticvoidlv_example_label(void){label_PM25=lv_label_create(lv_scr_act());/*创建PM2.5数据显示标签*/lv_label_set_text(label_PM25,"");/*设置文本*//
- Maker_kun DigiKey得捷技术专区
设计资源 培训 开发板 精华推荐
- OM13536: SA639DH演示板
- 使用 Diodes Incorporated 的 PT8A 3515C 的参考设计
- 用于中心局交换机的 90W、20V AC 到 DC 单路输出电源
- 使用 Microchip Technology 的 MIC45116-1YMP 的参考设计
- #第六届立创电赛#智能音箱
- LT8495IUF 锂离子至 12V、650kHz 低 Q 电流升压转换器的典型应用电路
- DK-DEV-5SGXEA7NES,Stratix V GX FPGA开发板提供硬件平台
- 紧凑型开发套件,带有STM32F407VG和两个mikroBUS插座,用于单击板连接。
- AT89S52最小系统
- 使用 NXP Semiconductors 的 TEA1753 的参考设计