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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4234|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

用掃描法取4×4鍵盤(pán)的鍵值,是否要考慮按鍵消抖問(wèn)題?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:260909 發(fā)表于 2017-12-27 23:25 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
      現(xiàn)在本人從網(wǎng)上學(xué)到按鍵掃描法取鍵值,基本理解了。但是卻產(chǎn)生了個(gè)疑問(wèn):用掃描法判斷4×4鍵盤(pán)的鍵值,是否要考慮按鍵消抖問(wèn)題?如果要考慮消抖,那是在按鍵掃描子程序Key_Get( )里加消抖呢?還是在主程序里加消抖?該如何加呢?望各位大神給支支招!本人沒(méi)想通就睡不著覺(jué)啊~~~

      4×4鍵盤(pán)掃描子程序如下:
...
...
unsigned char Key_Get( )
{
   unsigned char k=255;
   row0=row1=row2=row3=col0=col1=col2=col3=1;
   row0=0;
   if (col0==0)k=7;
   else if (col1==0)k=8;
   else if (col2==0)k=9;
   else if (col3==0)k=15;
   row0=1;
   row1=0;
   if (col0==0)k=4;
   else if (col1==0)k=5;
   else if (col2==0)k=6;
   else if (col3==0)k=14;
   row1=1;
   row2=0;
   if (col0==0)k=1;
   else if (col1==0)k=2;
   else if (col2==0)k=3;
   else if (col3==0)k=13;
   row2=1;
   row3=0;
   if (col0==0)k=0;
   else if (col1==0)k=10;
   else if (col2==0)k=11;
   else if (col3==0)k=12;
   row3=1;
   return k;
}
...
...
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:164602 發(fā)表于 2017-12-28 08:20 | 只看該作者
當(dāng)然要消抖了!
不過(guò)我的程序或者我看到的程序,可不是你這樣的。你這樣的效率太低。給你一個(gè)高效率的行列掃描法的。
void KeyDown(void)
{
        unsigned char a=0;
        JP=0x0f;//測(cè)試列
        if(JP!=0x0f)
        {
                Delay10ms(1);//此處按鍵消抖
                if(JP!=0x0f)
                {
                        AJ=1;
                        switch(JP)
                        {
                                case(0X07):        JZ=0;break;
                                case(0X0b):        JZ=1;break;
                                case(0X0d):       JZ=2;break;
                                case(0X0e):        JZ=3;break;
                        }
                        JP=0Xf0;
                        switch(JP)
                        {
                                case(0X70):        JZ=JZ;break;
                                case(0Xb0):        JZ=JZ+4;break;
                                case(0Xd0):       JZ=JZ+8;break;
                                case(0Xe0):        JZ=JZ+12;break;
                        }
                        for (a=0;(a<50)&&(JP!=0xf0);a++)//松手消抖
                        {
                                Delay10ms(1);
                        }
                }
        }
}
我的板子的矩陣鍵盤(pán)電路是:


回復(fù)

使用道具 舉報(bào)

板凳
ID:258566 發(fā)表于 2017-12-28 09:48 | 只看該作者
  1. //大小寫(xiě)沒(méi)跟樓上的一樣
  2. //255是key_get()默認(rèn)無(wú)按鍵返回值。
  3. if((keyval=key_get())!=255){delay10ms();
  4. if(key_get()==keyval)//確認(rèn)按鍵}
復(fù)制代碼

在其他函數(shù)中加,還可以不用延時(shí)
回復(fù)

使用道具 舉報(bào)

地板
ID:7485 發(fā)表于 2017-12-28 10:05 | 只看該作者

回帖獎(jiǎng)勵(lì) +1

肯定需要消抖。
回復(fù)

使用道具 舉報(bào)

5#
ID:268216 發(fā)表于 2017-12-28 10:51 | 只看該作者
不消抖怎么知道摁了幾下
回復(fù)

使用道具 舉報(bào)

6#
ID:268206 發(fā)表于 2017-12-28 10:58 | 只看該作者

消抖必須的啊
回復(fù)

使用道具 舉報(bào)

7#
ID:123289 發(fā)表于 2017-12-28 22:30 | 只看該作者
凡是用硬延時(shí)來(lái)消抖的都不高效,因?yàn)橛惭訒r(shí)占用了CPU的時(shí)間。
如果怕寫(xiě)消抖程序,就加電容消抖。
回復(fù)

使用道具 舉報(bào)

8#
ID:268648 發(fā)表于 2017-12-28 22:38 | 只看該作者
在main里利用調(diào)度間隔消抖好些
回復(fù)

使用道具 舉報(bào)

9#
ID:268650 發(fā)表于 2017-12-28 22:45 | 只看該作者
怎么消除震動(dòng)
回復(fù)

使用道具 舉報(bào)

10#
ID:260909 發(fā)表于 2017-12-29 00:02 | 只看該作者
HC6800-ES-V2.0 發(fā)表于 2017-12-28 08:20
當(dāng)然要消抖了!
不過(guò)我的程序或者我看到的程序,可不是你這樣的。你這樣的效率太低。給你一個(gè)高效率的行列 ...

謝謝大神!程序簡(jiǎn)潔好多,不過(guò)我看不太懂那個(gè)“JZ”是什么?
回復(fù)

使用道具 舉報(bào)

11#
ID:260909 發(fā)表于 2017-12-29 00:06 | 只看該作者
lu'din 發(fā)表于 2017-12-28 22:38
在main里利用調(diào)度間隔消抖好些

能具體說(shuō)明什么是“利用調(diào)度間隔”嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91精品久久久久 | 久久久久久亚洲精品 | 欧美国产日韩在线观看 | 亚洲成年在线 | 超碰97在线免费 | 97久久精品午夜一区二区 | 成人免费看黄 | 成人国产a | 毛片一区二区三区 | cao视频| 国产高清自拍视频在线观看 | 狠狠亚洲 | 欧美伊人影院 | 一区二区中文 | 亚洲成人在线网 | 黄色一级毛片免费看 | 欧美日韩综合视频 | 夏同学福利网 | 日本久久精| www.99re| 天天玩天天干天天操 | 成人18亚洲xxoo | 欧美精品一区三区 | 免费观看成人鲁鲁鲁鲁鲁视频 | 国产男女猛烈无遮掩视频免费网站 | 久久综合色综合 | 青娱乐国产 | 国产精品一区二区不卡 | 日韩精品在线观看网站 | 夜夜操天天干 | 久久亚洲国产 | 久久综合av | 欧美在线视频一区二区 | 精品一区二区av | 成人欧美一区二区三区黑人孕妇 | 国产真实乱全部视频 | 国产精品揄拍一区二区 | 九九热这里只有精品6 | 欧美aⅴ | 中文字幕在线观看av | 中文字幕日韩欧美一区二区三区 |