久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 下面是單片機(jī)按一次燈亮且報(bào)警,松開按鍵解除報(bào)警怎么改讓它按鍵按下報(bào)警,再按解除... [打印本頁]

作者: hjb147258369    時間: 2022-9-23 11:49
標(biāo)題: 下面是單片機(jī)按一次燈亮且報(bào)警,松開按鍵解除報(bào)警怎么改讓它按鍵按下報(bào)警,再按解除...
#include "reg51.h"         
void     delay(unsigned int i);
sbit K=P0^0;                     
sbit beep=P1^0;                  
sbit green=P1^1;                 
sbit red=P1^2;                  
void  main()
{
  green=0;     
  red=1;   
  while(1)
   {
     if(K==0)            
      {
        delay(200);   
        if(K==0)        
          {
            green=1;   
            red=0;      
            beep=0;     
            delay(100);
            red=1;      
            beep=1;  
               
         }
      }
     else
        green=0;     
   }
}

void     delay(unsigned int i)            
{
unsigned int k;
for(k=0;k<i;k++);
}


IIX@DE)[(OLQ@4[%9(1%5MO.png (44.32 KB, 下載次數(shù): 42)

IIX@DE)[(OLQ@4[%9(1%5MO.png

作者: munuc_w    時間: 2022-9-23 15:12
可以采用計(jì)數(shù)的方法,定義一個變量,初始值為0,按一次按鍵加1,然后判斷變量的值,當(dāng)變量等于1時報(bào)警,為2時接觸報(bào)警,同時清變量。
作者: rctty    時間: 2022-9-23 16:04
用一個變量做標(biāo)識,
char a = 1;

if(K == 0)//這是檢測到按下的狀態(tài)?
{
if(a)
{
     a = 0;
     //報(bào)警亮燈代碼

    //
}
else
{
     a = 1;
     //解除報(bào)警,滅燈代碼

     //
}
}

不過你這個按鍵識別應(yīng)該在軟件上做一個防抖動濾波


作者: rctty    時間: 2022-9-23 17:33
rctty 發(fā)表于 2022-9-23 16:04
用一個變量做標(biāo)識,
char a = 1;

這里的K == 0  改成按下到彈起整個過程的狀態(tài),可以通過另一個變量來解決,
比如改成 b == 1,
就有
先判斷按下到談起的狀態(tài)
if(K == 0)//按鈕按下
{
     while(K == 0);//等待按鈕彈起
    b = 1;
}

當(dāng)然,這里的while強(qiáng)制等待是不太合適的,這樣會卡住單片機(jī)的運(yùn)行,可以通過定時器之類的方法進(jìn)行改善



作者: hjb147258369    時間: 2022-9-24 09:52
munuc_w 發(fā)表于 2022-9-23 15:12
可以采用計(jì)數(shù)的方法,定義一個變量,初始值為0,按一次按鍵加1,然后判斷變量的值,當(dāng)變量等于1時報(bào)警,為2 ...

可不可以寫一下具體程序,初學(xué)單片機(jī),好多都還不懂
作者: hjb147258369    時間: 2022-9-24 10:17
rctty 發(fā)表于 2022-9-23 17:33
這里的K == 0  改成按下到彈起整個過程的狀態(tài),可以通過另一個變量來解決,
比如改成 b == 1,
就有

你好,請問能不能幫我寫一下具體的程序,初學(xué)單片機(jī)然后有些還不是很懂,謝謝
作者: jjjjjjir    時間: 2022-9-24 15:51
根據(jù)上面的建議修改的程序

#include "reg51.h"         
void     delay(unsigned int i);
sbit K=P0^0;                     
sbit beep=P1^0;                  
sbit green=P1^1;                 
sbit red=P1^2;      
unsigned char Flag = 0;
void  main()
{
  green=0;     
  red=1;   
  while(1)
   {
     if(K==0)            
      {
        while(K==0);                       
        Flag = ~Flag;
      }
     if(Flag)
                 {
                   green=1;   
       red=0;      
       beep=0;     
       delay(100);
       red=1;      
       beep=1;
                 }
                 else
                 {
                   green=0;
                         red=1;
       beep=1;                         
                 }
   }
}

void     delay(unsigned int i)            
{
unsigned int k;
for(k=0;k<i;k++);
}


作者: zmc419    時間: 2022-9-24 21:30
設(shè)置個標(biāo)注位,按鍵翻轉(zhuǎn)標(biāo)注位,檢測標(biāo)注位決定是否報(bào)警。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久久91| 免费特级黄毛片 | 亚洲高清av在线 | 久久久www成人免费无遮挡大片 | japan25hdxxxx日本| 国产三级精品三级在线观看四季网 | 91色在线| 久久国产婷婷国产香蕉 | h视频在线免费 | 国产欧美日韩视频 | 日韩欧美精品 | 免费国产一区二区 | 亚洲人久久 | 久久精品国产久精国产 | 看一级毛片视频 | 人人干人人干人人干 | 成人av播放| 欧美黄色一区 | 成人在线观看网站 | 欧美1—12sexvideos | 国产在线观看网站 | 国产乱码精品1区2区3区 | 日韩欧美在线视频 | 中文字幕一区二区三区乱码图片 | 7799精品视频天天看 | 二区中文 | 国产亚洲一级 | 日韩精品一 | 日韩成人免费视频 | 中文欧美日韩 | 成人精品久久 | 97中文视频| 国产欧美一级 | 福利一区视频 | 中文字幕在线视频免费视频 | 精品三区| 在线一区视频 | 国产精品国产三级国产aⅴ原创 | 日韩一区二区三区视频在线观看 | 久久久成人网 | 久久久久久九九九九 |