找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1152|回复: 0
收起左侧

单片机红外防盗报警加电机驱动,程序无法让电机停下来

[复制链接]
ID:299318 发表于 2018-5-2 15:55 | 显示全部楼层 |阅读模式

仿真图

仿真图


这是红外防盗报警的程序,但是我加了一个直流电机,即随着红外报警后放下卷帘门,卷帘门放下后得停下来,以达到抓捕盗贼的目的,但现在电机能转,我却不知道该怎么让电机停下来,不知道程序怎么改。希望各位大牛帮帮我。(单片机新手,问题描述的可能不清晰,不要见怪)

单片机源码:
  1. /******************红外报警处理**********************/           
  2. void hongwai_dis()
  3. {
  4.         if(flag_alarm == 1)           //报警
  5.         {
  6.                 red = ~red;                   //红灯报警
  7.                 beep = ~beep;           //蜂鸣器报警
  8.         }        
  9.         if(flag_bufang_en == 1) //准备开始布防
  10.         {
  11.                 green = ~green;           //绿灯闪
  12.                         
  13.         }  
  14.         if(flag_bufang == 1)   //确认布防
  15.         {
  16.                 green = 0;         //如果延时布防成功 绿灯长亮
  17.                 if(hw == 1)               //红外有输出
  18.                 {
  19.                         shineng=1;
  20.                         dianji_zuo=0;
  21.                         dianji_you=1;
  22.                         flag_alarm = 1;        
  23.         
  24.            init();
  25.                          j=0;
  26. while(table1[j]!='\0')
  27. {
  28.   
  29.          WriteData(table1[j]);
  30.          j++;
  31.          delay(10);
  32. }
  33. j=0;
  34. WriteCommand(0x80+0x40);
  35. while(table2[j]!='\0')
  36. {
  37.          WriteData(table2[j]);
  38.          j++;
  39.          delay(10);
  40. }

  41.          WriteCommand(0x01);
  42.          delay(200);
  43.                 }
  44.         }

  45. <div class="blockcode"><blockquote>/******************主程序**********************/           
  46. void main()
  47. {
  48.    
  49.         time_init();
  50.         while(1)
  51.         {
  52.                  
  53.                 key();                  
  54.                 yellow = ~hw;         //红外热释电指示灯 有输出就亮黄灯
  55.                 if(key_can < 10)
  56.                 {
  57.                         key_with();         //按键设置函数
  58.                 }
  59.                 if(flag_300ms == 1)
  60.                 {
  61.                         flag_300ms = 0;
  62.                         hongwai_dis();           //红外报警函数
  63.                 }        
  64.         }
  65. }
复制代码


回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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