找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2930|回复: 1
收起左侧

人体红外传感器无线防盗报警器程序

[复制链接]
ID:199402 发表于 2017-5-11 10:27 | 显示全部楼层 |阅读模式
用于人体传感器报警。无线防盗报警器程序
0.png

单片机源程序如下:
  1. #include <reg52.h>

  2. #define uc unsigned char
  3. #define ui unsigned int

  4. sbit SOS        =        P1^0;//布防
  5. sbit bufang        =        P1^1;//报警按键
  6. sbit chefang=        P1^2;//撤防
  7. sbit baojing=        P1^3;//蜂鸣器

  8. bit bdata flag,flag1;//flag布防标志,flag1布防倒计时标志
  9. uc t,t1;                        //定时器专用变量

  10. void delay(ui x)        //延时函数1ms  
  11. {
  12.         ui i,j;
  13.         for(i=0;i<x;i++)
  14.         for(j=0;j<110;j++);
  15. }
  16.        
  17. void kongzhi()                //控制函数
  18. {
  19.         if((bufang==1)&&(flag==0))        //在报警等待时按下布防键
  20.         {
  21.                 delay(10);
  22.                 if((bufang==1)&&(flag==0))
  23.                 {
  24.                         t=0;
  25.                         t1=0;                        //清零计时器
  26.                         TR0=1;                        //打开计时器
  27.                         P2=0x85;                //显示字母b
  28.                 }
  29.         }
  30.         if((flag==1)&&(SOS==1))        //报警按键按下
  31.         {
  32.                 flag1=1;                        //蜂鸣器鸣响
  33.                 P2=0xbf;                        //显示"-"
  34.                 TR0=1;                                //开启定时器
  35.         }
  36.         if(chefang==1)                        //撤防键按下
  37.         {
  38.                 delay(10);
  39.                 if(chefang==1)
  40.                 {
  41.                         {
  42.                                 flag1=0;
  43.                                 baojing=1;        //关闭蜂鸣器
  44.                                 flag=0;                //停止计时器计时
  45.                                 TR0=0;                //关闭计时器
  46.                                 P2=0xa7;        //显示字母c
  47.                                 delay(1000);//延时1s
  48.                                 P2=0xff;        //关闭显示,进入等待布防状态  
  49.                         }
  50.                 }
  51.         }
  52. }

  53. void init()        //初始化函数
  54. {
  55.         TH0=0x4b;
  56.         TL0=0xff;
  57.         TMOD=0x01;
  58.         EA=1;
  59.         ET0=1;
  60.         TR0=0;                //定时器初始化
  61.         bufang=0;
  62.         SOS=0;
  63.         chefang=0;        //按键初始化
  64. }

  65. void main()        //主函数
  66. {
  67.         init();        //调用初始化
  68.         while(1)//循环
  69.         {
  70.                 kongzhi();//控制函数
  71.         }
  72. }

  73. void time() interrupt 1//定时器函数
  74. {
  75.         TH0=0x4b;
  76.         TL0=0xff;                //重新赋初值
  77.         t++;
  78.         if(t==20)
  79.         {
  80.                 t=0;
  81.                 t1++;
  82.                 if(t1==30)//计时到30s时开启布防数码管停止显示  关闭定时器   
  83.                 {
  84.                         t1=0;
  85. ……………………

  86. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
Wireless alarm.rar (20.75 KB, 下载次数: 79)
回复

使用道具 举报

ID:503530 发表于 2019-4-3 10:49 | 显示全部楼层
感谢楼主感谢楼主
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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