找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 24663|回复: 40
打印 上一主题 下一主题
收起左侧

单片机+人体红外感应的防盗系统设计(仿真+源码+PCB文件+报告)

  [复制链接]
跳转到指定楼层
楼主
ID:419380 发表于 2018-11-1 21:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.根据系统功能要求并且考虑产品的性价比进行系统的整体方案设计,包括系统  的选型、所选芯片的功能、芯片外围电路的合理设计等。
2.系统硬件抗干扰技术与软件抗干扰技术的研究与实现。
3.系统硬件与软件的联合仿真与调试。

本设计是针对普通的家庭防盗而设计,与相似功能的系统相比,具有如下的创新:
(1)移植性高。本设计考虑现代家居的特点,参考了大多数的被盗情况,适合任何家庭使用。
(2)成本低。本设计采用单片机作为控制芯片,所需要的外围电路较少,且所有子电路均能从市场上购买,制造成本低。
(3)功能扩展性好。本设计稍加修改就可增加检查火灾或煤气泄漏等功能,发展前景很大。
(4)安全性高。本设计考虑到其安全性,采用全封闭安装,致使窃贼无法破坏其装备,具有良好的安全性。

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


制作出来的实物图如下:


防盗系统仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


Altium Designer画的防盗系统电路原理图和PCB图如下:(51hei附件中可下载工程文件)



防盗系统的单片机源程序如下:
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit huang=P2^0;//黄灯
  5. sbit lv=P2^2;//绿灯
  6. sbit hong=P2^4;//红灯

  7. sbit hongwai=P1^0;//热释电
  8. sbit butter=P2^6;//蜂鸣器低电平开蜂鸣器

  9. sbit  baojing=P1^1//直接报警按键;
  10. sbit  bufang=P1^7;//布防按键
  11. sbit  quxiao=P3^4;//取消按键
  12. uchar tt=0;//定时器变量
  13. uchar num=0;//定时的计时变量
  14. uchar flag=0;//标志位
  15. void timer1init(void)//定时器1,16位方式2
  16. {        EA=0;
  17.        TMOD=0x11;//设置定时器0为工作方式1
  18.         TH0=(65536-10000)/256;
  19.         TL0=(65536-10000)%256;
  20.         ET0=1;//开定时器0中断
  21.         TR0=1;//启动定时器0
  22.         tt=0;//
  23.         EA=0;//关总中断
  24. }
  25. void delay(uint z)//延时函数
  26. {
  27.         uint x,y;
  28.         for(x=z;x>0;x--)
  29.                 for(y=110;y>0;y--);
  30. }
  31. void main()//主函数
  32. {      
  33.                  huang=0;//初始黄灯亮
  34.                  lv=0;//初始绿灯亮
  35.                  hong=0;//初始红灯亮
  36.                  timer1init();//初始化定时器
  37.                  while(1)
  38.                  {
  39.                   
  40.             if(!baojing)//如果直接报警键被按下
  41.                                 {
  42.                                         delay(5);//延时消抖
  43.                                         if(!baojing)//判断报警键是不是被按下
  44.                                         {
  45.                                           hong=1;//红灯亮
  46.                                           lv=0;        //绿灯灭
  47.                                           flag=7;//标志位等于7
  48.                                           butter=0;//蜂鸣器响
  49.                                           EA=0;//关中断
  50.                                         }
  51.                                         while(!baojing);//判断按键是不是弹开
  52.                                         delay(5);//如果弹开延时消抖
  53.                                         while(!baojing);//弹开后跳出程序
  54.                                 }            
  55.              if((!bufang)&&(flag<4))//在初始状态和按下取消键后可以进去这个函数
  56.                                 {
  57.                                         delay(5);//延时消抖
  58.                                         if(!bufang)//如果布防被按下
  59.                                         {
  60.                                            EA=1;   //开定时器
  61.                                            flag=2;//另=2
  62.                                         }
  63.                                         while(!bufang);//布防键是不是弹开
  64.                                         delay(5);//延时
  65.                                         while(!bufang);//布防键弹开
  66.                                 }
  67.                         if(!quxiao)//如果取消键按下
  68.                                 {
  69.                                         delay(5);//延时消抖
  70.                                         if(!quxiao)//取消键是不是按下
  71.                                         {   
  72.                                           flag=3;//FLAG等于3
  73.                                           butter=1;//蜂鸣器不响
  74.                                           tt=0;//
  75.                                           num=0;//定时初始0
  76.                                           EA=0;//关中断
  77.                                           lv=0;//绿灯灭
  78.                                           hong=0;//红灯灭
  79.                                         }
  80.                                         while(!quxiao);//取消按键抬开
  81.                                         delay(5);//延时消抖
  82.                                         while(!quxiao);//如果弹开跳出

  83.                                 }
  84.                     if(flag==4)//如果布防时间到
  85.                           {
  86.                            tt=0;//清计数为0
  87.                            EA=0;//关中断
  88.                            num=0;//记的秒数清零
  89.                            lv=1;//关绿灯
  90.                            flag=5;//flag等于5

  91.                           }        
  92.                         if(hongwai)//如果感应到人黄灯亮
  93.                            huang=1;
  94.                         else  huang=0;//感应不到人黄灯灭

  95.                         if(flag==5)//如果flag等于5
  96.                            {
  97.                              if(hongwai)//如果感应到人
  98.                                    {
  99.                                     butter=0;//蜂鸣器响
  100.                                     EA=1;//开中断
  101.                                     }
  102.                            }
  103.                                  
  104.                  }
  105. }

  106. void time0() interrupt 1
  107. {
  108.         TH0=(65536-50000)/256;
  109.         TL0=(65536-50000)%256;
  110.         tt++;
  111.         if(tt==10)
  112.           {tt=0; num++;}
  113.         if((flag==5)&&(num%2==0))//布防15秒后会让flag=5 ,num为偶数灯亮
  114.             hong=1;
  115.         if((flag==5)&&(num%2==1))//布防15秒后会让flag=5 ,num为奇数灯灭
  116.             hong=0;
  117.         if((flag==2)&&(num%2==0))//按键布防键后flag等于2,num为偶数灯亮
  118.               lv=1;
  119.         if((flag==2)&&(num%2==1)) // 按键布防键后flag等于2,num为奇数灯灭
  120.               lv=0;
  121.         if((flag==2)&&(num==30))//布防时间,num=30即15秒,可以更改此实现布防延迟时间
  122.            flag=4;

  123.            
  124. }
复制代码


所有资料51hei提供下载:
修改版本(防盗).7z (4.69 MB, 下载次数: 1170)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏48 分享淘帖 顶8 踩
回复

使用道具 举报

沙发
ID:272353 发表于 2018-11-2 13:50 | 只看该作者
谢谢分享,应该是楼主为了防止伸手党,故意改错了几个io,导致无法仿真.我下载修复了一下程序,灯和按键都正常了

原版程序.7z

19.85 KB, 下载次数: 100, 下载积分: 黑币 -5

回复

使用道具 举报

板凳
ID:417605 发表于 2018-11-4 19:00 | 只看该作者
好资料,51黑有你更精彩!!!
回复

使用道具 举报

地板
ID:89286 发表于 2018-11-6 12:08 | 只看该作者
thanks forsharing
回复

使用道具 举报

5#
ID:431038 发表于 2018-11-22 15:03 | 只看该作者
学习一下,感谢分享
回复

使用道具 举报

6#
ID:433376 发表于 2018-11-29 10:17 | 只看该作者
加油,很好的东西
回复

使用道具 举报

7#
ID:93672 发表于 2018-11-30 09:11 | 只看该作者
学习一下,感谢分享
回复

使用道具 举报

8#
ID:424223 发表于 2018-12-1 16:47 | 只看该作者
感觉很不错,大佬加油
回复

使用道具 举报

9#
ID:399179 发表于 2018-12-1 19:57 来自手机 | 只看该作者
我在某宝买了个hc_rs501怎么一直有重复输出?
回复

使用道具 举报

10#
ID:315554 发表于 2018-12-3 17:54 | 只看该作者
很喜欢这个制作,已下,有空试试,如果加多路输入就更好了,
回复

使用道具 举报

11#
ID:437238 发表于 2018-12-20 15:51 | 只看该作者
请问红外热释电模块需要驱动电路吗?
回复

使用道具 举报

12#
ID:458428 发表于 2018-12-30 10:02 | 只看该作者
多谢分享
回复

使用道具 举报

13#
ID:449256 发表于 2019-1-3 18:34 | 只看该作者
大佬 为什么喇叭不响啊
回复

使用道具 举报

14#
ID:165792 发表于 2019-1-9 19:48 | 只看该作者
谢谢分享
回复

使用道具 举报

15#
ID:482370 发表于 2019-3-1 10:34 来自手机 | 只看该作者
真的很好,源码,pcb都有
回复

使用道具 举报

16#
ID:513399 发表于 2019-4-16 10:38 | 只看该作者
学习一下,感谢分享
回复

使用道具 举报

17#
ID:637133 发表于 2019-11-8 12:49 | 只看该作者
感谢分享
回复

使用道具 举报

18#
ID:637133 发表于 2019-11-9 13:46 | 只看该作者
为什么喇叭不响
回复

使用道具 举报

19#
ID:523989 发表于 2019-11-20 18:56 | 只看该作者
谢谢分享!!会好好学习的
回复

使用道具 举报

20#
ID:646261 发表于 2019-11-21 09:57 | 只看该作者
很好的东西,学习了。
回复

使用道具 举报

21#
ID:629731 发表于 2019-11-21 11:41 来自手机 | 只看该作者
感谢分享。嘻嘻
回复

使用道具 举报

22#
ID:629731 发表于 2019-11-24 00:31 来自手机 | 只看该作者
很好 非常实用哦
回复

使用道具 举报

23#
ID:649095 发表于 2019-11-25 16:07 | 只看该作者
感谢分享
回复

使用道具 举报

24#
ID:584103 发表于 2019-12-6 12:40 | 只看该作者
感谢分享
回复

使用道具 举报

25#
ID:666809 发表于 2020-1-5 00:05 来自手机 | 只看该作者
感谢可以加好友交流一下吗
回复

使用道具 举报

26#
ID:185751 发表于 2020-1-7 11:23 | 只看该作者
谢谢分享,刚好需要
回复

使用道具 举报

27#
ID:688120 发表于 2020-1-25 13:56 | 只看该作者
谢谢分享,刚好需要
回复

使用道具 举报

28#
ID:106852 发表于 2020-2-6 14:17 | 只看该作者
谢谢分享!!
回复

使用道具 举报

29#
ID:727855 发表于 2020-4-12 23:16 | 只看该作者
学习一下,感谢分享
回复

使用道具 举报

30#
ID:258520 发表于 2020-4-18 02:04 | 只看该作者
感谢分享 下载学习学习!!!!
回复

使用道具 举报

31#
ID:748312 发表于 2020-5-10 17:31 | 只看该作者
学习学习,谢谢楼主提供
回复

使用道具 举报

32#
ID:230742 发表于 2020-12-18 11:15 | 只看该作者
感谢分享。正研究这个呢。卡在红外传感器出来的是高电平,单片机高电平触发我还没有学会。
回复

使用道具 举报

33#
ID:357153 发表于 2020-12-28 11:49 | 只看该作者
感谢楼主的分享。收藏、值得学习
回复

使用道具 举报

34#
ID:909603 发表于 2021-4-21 13:30 | 只看该作者
感谢分享,人体红外模块是不是用的红外探测传感器?
回复

使用道具 举报

35#
ID:840429 发表于 2021-5-12 17:36 | 只看该作者
蜂鸣器没反应
回复

使用道具 举报

36#
ID:731755 发表于 2021-5-12 21:32 | 只看该作者
建议楼主,加个315M的无线模块, 这边搞个无线接收模块,就更加完美了
回复

使用道具 举报

37#
ID:69536 发表于 2021-5-15 08:54 | 只看该作者
这个  比较实用了,可以根据实际环境仿制一个,谢谢分享
回复

使用道具 举报

38#
ID:1006959 发表于 2022-2-26 17:13 | 只看该作者
zc1346790ccv 发表于 2018-11-2 13:50
谢谢分享,应该是楼主为了防止伸手党,故意改错了几个io,导致无法仿真.我下载修复了一下程序,灯和按键都正常 ...

谢谢 资料不错
回复

使用道具 举报

39#
ID:872228 发表于 2022-2-28 16:54 | 只看该作者
会汇编,慢慢研究, 单片机源码及原理图.
感谢分享
回复

使用道具 举报

40#
ID:1006959 发表于 2022-3-3 09:23 | 只看该作者
会汇编,慢慢研究, 单片机源码及原理图.
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表