芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

STM32F103单片机智能门禁热释人体感应报警程序芯片解密

芯片解密单片机源程序如下:

  1. #include "delay.h"
  2. #include "sys.h"
  3. #include "usart.h"
  4. #include "key.h"
  5. #include "led.h"
  6. #include "lcd1602.h"

  7. u8 lighFlag=0;                //光照 标志
  8. u8 doorFlag=0;                //门检测 标志
  9. u8 manFlag=0;                        //人检测 标志
  10. u8 menlingFlag=0;        //门铃检测 标志
  11. u8 baojFlag=0;                //报警 标志

  12. int main(void)
  13. {
  14.         u32 time10ms=0;
  15.          
  16.         delay_init();                     //延时函数初始化         

  17.         KEY_Init();                  //初始化 按键
  18.         LED_Init();                  //初始化电机引脚 作为输出 类似led
  19.         delay_ms(1);
  20.         
  21.         Lcd_GPIO_init();  //初始化lcd引脚        
  22.         Lcd_Init();                  //初始化lcd屏幕
  23.         delay_ms(20);
  24.         
  25.   Lcd_Puts(0,0,"Waitting for you");        //初始化显示
  26.         Lcd_Puts(0,1,"Nobody!         ");         
  27.          
  28.         buzzer=1;                        //打开 上电开关一下 方便检测
  29.         ligh=1;
  30.         led_hot = 0;
  31.         delay_ms(200);
  32.         led_hot = 1;//关闭 用于测试
  33.         buzzer=0;                        
  34.         ligh=0;
  35.         
  36.         while(1)
  37.         {
  38.                 delay_ms(10);
  39.                 if(manFlag==1)
  40.                 {
  41.                           Lcd_Puts(0,0,"Welcome to home!");        //显示有人
  42.                         if(lighFlag==1)        //有人情况查看是否需要开灯
  43.                         {
  44.                                 ligh=1;//打开 灯
  45.                         }
  46.                         else
  47.                         {ligh=0;}//关闭
  48.                         time10ms++;
  49.                         if(time10ms>=3000)           //有人超过30s 报警
  50.                         {
  51.                                  buzzer=1;  //打开蜂鸣器
  52.                                 baojFlag=1;//报警
  53.                         }
  54.                 }
  55.                 else
  56.                 {
  57.                          Lcd_Puts(0,0,"Waitting for you");   //没有人情况 显示等待
  58.                         ligh=0;                                                                  //没有人关闭led
  59.                         time10ms=0;                                                 //清零紧急报警
  60.                         baojFlag=0;     
  61.         }

  62.                 if(doorFlag==1)
  63.                 {
  64.                   Lcd_Puts(0,1,"Somebody!       ");        //家中有人
  65.                         if(baojFlag==0)                                        //非紧急情况
  66.                         {
  67.                                 if(menlingFlag==1)                //门铃
  68.                                 {
  69.                                          buzzer=1;//打开蜂鸣器
  70.                                 }
  71.                                 else
  72.                                 {buzzer=0;}                //关闭蜂鸣器        
  73.                         }
  74.                 }
  75.                 else
  76.                 {
  77.                         Lcd_Puts(0,1,"Nobody!         ");                //家中无人
  78.                         if(baojFlag==0)                                          //非紧急情况
  79.                         {        buzzer=0;}
  80.                 }
  81.                
  82.                 if(key_menling==0)   //检测
  83.                 {
  84.                         menlingFlag=1;
  85.                 }
  86.                 else
  87.                 {menlingFlag=0;}  //否则复位标志

  88.                 if(key_redhot==1)   //检测人体
  89.                 {
  90.                                 manFlag=1;led_hot = 0;//标志               
  91.                 }
  92.                 else
  93.                 {manFlag=0;led_hot = 1;}  //否则复位标志

  94.                 if(key_door==1)   //检测 门状态
  95.                 {
  96.                         doorFlag=1;
  97.                 }
  98.                 else
  99.                 {doorFlag=0;}  //否则复位标志

  100.                 if(key_ligh==1)   //检测光度
  101.                 {
  102.                                 lighFlag=1;
  103.                 }
  104.                 else
  105.                 {lighFlag=0;}  //否则复位标志
  106.         }                 
  107. }



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信