標(biāo)題: 單片機(jī)紅外防盜報(bào)警加電機(jī)驅(qū)動(dòng),程序無法讓電機(jī)停下來 [打印本頁(yè)]

作者: qinqi00    時(shí)間: 2018-5-2 15:55
標(biāo)題: 單片機(jī)紅外防盜報(bào)警加電機(jī)驅(qū)動(dòng),程序無法讓電機(jī)停下來


這是紅外防盜報(bào)警的程序,但是我加了一個(gè)直流電機(jī),即隨著紅外報(bào)警后放下卷簾門,卷簾門放下后得停下來,以達(dá)到抓捕盜賊的目的,但現(xiàn)在電機(jī)能轉(zhuǎn),我卻不知道該怎么讓電機(jī)停下來,不知道程序怎么改。希望各位大牛幫幫我。(單片機(jī)新手,問題描述的可能不清晰,不要見怪)

單片機(jī)源碼:
  1. /******************紅外報(bào)警處理**********************/           
  2. void hongwai_dis()
  3. {
  4.         if(flag_alarm == 1)           //報(bào)警
  5.         {
  6.                 red = ~red;                   //紅燈報(bào)警
  7.                 beep = ~beep;           //蜂鳴器報(bào)警
  8.         }        
  9.         if(flag_bufang_en == 1) //準(zhǔn)備開始布防
  10.         {
  11.                 green = ~green;           //綠燈閃
  12.                         
  13.         }  
  14.         if(flag_bufang == 1)   //確認(rèn)布防
  15.         {
  16.                 green = 0;         //如果延時(shí)布防成功 綠燈長(zhǎng)亮
  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();         //按鍵設(shè)置函數(shù)
  58.                 }
  59.                 if(flag_300ms == 1)
  60.                 {
  61.                         flag_300ms = 0;
  62.                         hongwai_dis();           //紅外報(bào)警函數(shù)
  63.                 }        
  64.         }
  65. }
復(fù)制代碼







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1