找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

不一樣的特殊按鍵處理方式

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:337139 發(fā)表于 2024-12-5 16:27 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
這種按鍵檢測方式,有哪位大咖有最優(yōu)化的采集方法?

Key.jpg (88.56 KB, 下載次數(shù): 0)

特殊的陣列按鍵

特殊的陣列按鍵
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:161164 發(fā)表于 2024-12-5 17:41 | 只看該作者
  1. u8 KeyVal = 0;//用完清零
  2. void KeyScan()//1ms,定時運行
  3. {
  4.         static u8 Delay_XD = 0;
  5.         u8 KeyTemp = 0;
  6.         Key_S1 = 1;
  7.         Key_S2 = 1;
  8.         Key_S3 = 1;
  9.         if(Key_S2==0)KeyTemp=1;
  10.         if(Key_S3==0)KeyTemp=3;
  11.         if(KeyTemp==0)
  12.         {
  13.                 Key_S1 = 0;
  14.                 if(Key_S2==0)KeyTemp=2;               
  15.         }
  16.         if(KeyTemp==0)
  17.         {
  18.                 Key_S2 = 0;
  19.                 if(Key_S3==0)KeyTemp=4;               
  20.         }       
  21.         if(KeyTemp!=0)
  22.         {
  23.                 if(Delay_XD<0xFF)Delay_XD++;
  24.                 if(Delay_XD==20)//20ms消抖
  25.                 {
  26.                         KeyVal = KeyTemp;
  27.                 }
  28.         }else{
  29.                 Delay_XD = 0;
  30.         }
  31. }
復(fù)制代碼
回復(fù)

使用道具 舉報

板凳
ID:337139 發(fā)表于 2024-12-7 09:12 | 只看該作者

非常感謝!開拓了新思路。
回復(fù)

使用道具 舉報

地板
ID:108361 發(fā)表于 2025-4-29 11:14 | 只看該作者
這種用法好像是參考了3個IO控制6個LED的查理復(fù)用方法
回復(fù)

使用道具 舉報

5#
ID:108361 發(fā)表于 2025-4-29 11:15 | 只看該作者
http://www.torrancerestoration.com/bbs/forum.p ... p;page=1#pid1175808
這個貼里有關(guān)于查理復(fù)用的論述,在10樓
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表