欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機按鍵松手后就滅了,為什么 [打印本頁]

作者: 董亞偉    時間: 2014-12-10 00:17
標題: 單片機按鍵松手后就滅了,為什么
單片機按鍵松手后就滅了,為什么

作者: admin    時間: 2014-12-10 01:51
程序貼上來看看
作者: 董亞偉    時間: 2014-12-10 06:39
admin 發表于 2014-12-10 01:51
程序貼上來看看

#include<reg52.h>
sbit key=P3^0;
sbit led1=P2^0;
sbit key1=P3^1;
sbit led3=P2^2;
void main()
{
unsigned int i;
unsigned char a;
         
         while(1)
         {        a=1;
                 if(key==0)
                 {
                  
                 for(i=0;i<100;i++);
                 if(key==0)
                 {
                   led1=0;
                  a++;               
                 }
                 {
                if(key1==0)
                  for(i=0;i<100;i++);
                                  if(key==2)  led1=1;


                   }
                 
                  
                }
          
        }
}

作者: dgahz    時間: 2014-12-10 10:37
提問題之前要說明程序要實現的功能,才好幫你分析。
作者: 大阿修羅    時間: 2017-7-31 19:26
應該是循環問題吧!
作者: 大阿修羅    時間: 2017-7-31 19:27
admin 發表于 2014-12-10 01:51
程序貼上來看看

應該是連續循環問題吧
作者: HaMaster    時間: 2017-7-31 21:21
董亞偉 發表于 2014-12-10 06:39
#include
sbit key=P3^0;
sbit led1=P2^0;

沒看懂 key為什么可以等于2呢不是只有0和1嗎 條件都不成立  還有if語句可以這樣嵌套的嗎

作者: 君若晨風    時間: 2017-8-1 18:38
加一個while循環程序就好了
作者: lgnihao    時間: 2017-8-2 08:26
因為你 沒有 保持 。
作者: Blackwatch    時間: 2017-8-2 10:10
判斷key==2? 還有   為什么要判斷兩次key==0啊
作者: 轉身11111    時間: 2017-8-2 10:21
程序沒有掛起
作者: goodafter    時間: 2017-8-2 10:34
#include<reg52.h>
sbit key=P3^0;
sbit led1=P2^0;
sbit key1=P3^1;
sbit led3=P2^2;
void main()
{
unsigned int i;
unsigned char a;
         
         while(1)
         {        a=1;
               
                 if(key==0)
                 {
                   led1=0;
                   for(i=0;i<100;i++);
                  a++;               
                 }
                 {
                if(key1==0)
                  for(i=0;i<100;i++);
                                  if(key==2)  led1=1;


                   }
                 
                  
                }
         
        }
}
作者: 炎炎火火    時間: 2017-8-2 11:08
董亞偉 發表于 2014-12-10 06:39
#include
sbit key=P3^0;
sbit led1=P2^0;

LED加電阻了嗎,好像不能直接接正極。再有就是好像還要加入去抖動吧,我也是剛學,前幾天看杜洋的視頻了好像有講這個,你可以看看
作者: wzf1995    時間: 2017-8-2 14:08
同求解,謝謝各位
作者: 161    時間: 2017-8-2 14:13
key==2怎么會亮?

作者: 淡然若夢    時間: 2017-8-5 11:18
你這個程序key=2是啥?
作者: 1160236886    時間: 2017-8-5 16:52
董亞偉 發表于 2014-12-10 06:39
#include
sbit key=P3^0;
sbit led1=P2^0;

沒有松手檢測把
作者: liupeng123    時間: 2017-8-6 11:28
應為你設置的是檢測一次,如果連續檢測的話可以用眼石判斷來實現。
作者: 小飛110    時間: 2017-8-7 06:47
因為你沒有保存到上一個值,,它只要低電平就亮,高電平就滅,所以必須先保存到這個之后,按下就會亮
作者: wkblack    時間: 2017-8-7 23:00
少了一個松手檢測吧
作者: 2646402530    時間: 2017-8-8 08:50
定義兩個狀態 bit  按下為1,抬起為0 當抬起時將狀態取反
作者: yuanyuan1029    時間: 2017-8-8 10:35
   if(key==2)  led1=1;   按鍵只有01 狀態,怎么是2啊 ,
作者: 321aaa    時間: 2017-8-8 10:50
少了松手檢測吧

作者: 1109792463    時間: 2017-8-8 10:52
定義一個變量,按下取反。
作者: 1160236886    時間: 2017-8-8 20:16
加個松手檢測或者消抖不行。
作者: nibor79    時間: 2017-8-11 10:23
增加一個記錄狀態的變量
作者: 我是禹有飯    時間: 2017-8-11 11:11
加一個標志位看看
作者: zl2168    時間: 2017-8-12 20:34
程序有問題
作者: hawklm    時間: 2017-8-12 23:03
加個延時,把key==2改成key==1試試
作者: 驅蚊燈    時間: 2017-8-13 05:59
要達到的要求是什么?
作者: 驅蚊燈    時間: 2017-8-13 05:59
觸發方式
作者: zl2168    時間: 2017-8-13 08:39
本帖最后由 zl2168 于 2017-8-16 17:23 編輯

實例5  4種不同鍵控方式


單片機應用系統中,根據按鍵閉合和釋放狀態,有多種不同的鍵控方式,可編寫不同的程序予以實現。本例要求按以下4種不同方式分別鍵控VD0~ VD3



① 無鎖按鍵:S0按下,VD0亮;S0釋放,VD0暗;

② 無鎖按鍵(前沿有效):S1按下,VD1亮;S1釋放,VD1延時2s后暗。

③ 無鎖按鍵(后沿有效):S2按下,VD2不亮;S2釋放,VD2亮,并延時2s后暗。

模擬有鎖按鍵:S3按第一次,VD3亮,并繼續保持;按第二次,VD3才暗。



Proteus仿真一下,確認有效。
實例5 不同方式鍵控燈.rar (31.72 KB, 下載次數: 15)
以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil CProteus》清華大學出版社ISBN 978-7-302-41682-1.書中電路和程序設計有詳細說明,程序語句條條有注解。



作者: 假面騎士    時間: 2017-8-13 15:16
沒消抖吧
作者: a122333    時間: 2017-8-13 18:46
我也是同樣的問題

作者: Booboo    時間: 2017-8-14 18:11
少了一個去抖動程序
作者: 歷盡千帆    時間: 2017-8-14 20:24
你用兩個if只是去抖,并不能掛起程序,應該用while語句
作者: duranhuang    時間: 2017-8-15 12:04
  if(key==2)  led1=1; 這個沒看明白,假如條件成立等同于if(key==1)  led1=1;
你這個并沒有嵌套在上一個for循環里,是和第一個if同級的,當然松手會滅了。
作者: 111222隨風飛去    時間: 2017-8-15 15:39
不會的,肯定沒問題
作者: hengda43    時間: 2017-8-15 16:19
用一個變量記錄按鍵狀態就可以了,按一下亮,按一下滅,相應的狀態也要改變
作者: kantlee    時間: 2017-8-15 20:14
幫你頂吧!




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