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

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

QQ登錄

只需一步,快速開始

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

關(guān)于51單片機(jī)矩陣鍵盤反轉(zhuǎn)掃描程序

[復(fù)制鏈接]
回帖獎(jiǎng)勵(lì) 5 黑幣 回復(fù)本帖可獲得 1 黑幣獎(jiǎng)勵(lì)! 每人限 1 次
跳轉(zhuǎn)到指定樓層
樓主
ID:895440 發(fā)表于 2022-12-23 07:21 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  1. unsigned char KeyScan(void)
  2. {
  3.     unsigned char cord_h, cord_l; // 行列值中間變量 假設(shè)是第一行第二列按下 1011 1110
  4.     KeyPort = 0x0f; // 行線輸出全為0
  5.     cord_h = KeyPort & 0x0f; // &完以后cord_h是  0000 1110
  6.     if (cord_h != 0x0f) // 先檢測(cè)有無按鍵按下
  7.     {
  8.         DelayMs(10); // 去抖
  9.         if ((KeyPort & 0x0f) != 0x0f) {
  10.             cord_h = KeyPort & 0x0f; // 讀入列線 cord_h是0000 1110
  11.             KeyPort = cord_h | 0xf0; // 輸出當(dāng)前列線值 1111 1110
  12.             cord_l = KeyPort & 0xf0; // 讀入行線值 1111 0000

  13.             while ((KeyPort & 0xf0) != 0xf0)
  14.                 ; // 等待松開并輸出

  15.             return (cord_h + cord_l); // 鍵盤最后組合碼值 1111 1110
  16.         }
  17.     }
  18.     return (0xff); // 返回該值
  19. }
  20. unsigned char KeyPro(void)
  21. {
  22.     switch (KeyScan()) {
  23.     case 0x7e:return 0;break; // 0 按下相應(yīng)的鍵顯示相對(duì)應(yīng)的碼值
  24.     case 0x7d:return 1;break; // 1
  25.     case 0x7b:return 2;break; // 2
  26.     case 0x77:return 3;break; // 3
  27.     case 0xbe:return 4;break; // 4    1011 1110
  28.     case 0xbd:return 5;break; // 5
  29.     case 0xbb:return 6;break; // 6
  30.     case 0xb7:return 7;break; // 7
  31.     case 0xde:return 8;break; // 8
  32.     case 0xdd:return 9;break; // 9
  33.     case 0xdb:return 10;break; // a
  34.     case 0xd7:return 11;break; // b
  35.     case 0xee:return 12;break; // c
  36.     case 0xed:return 13;break; // d
  37.     case 0xeb:return 14;break; // e
  38.     case 0xe7:return 15;break; // f
  39.     default:return 0xff;break;
  40.     }
  41. }
復(fù)制代碼
我這個(gè)計(jì)算哪里不對(duì)呀??我燒錄實(shí)測(cè)這個(gè)函數(shù)沒問題是可以使用的。。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:161164 發(fā)表于 2022-12-23 10:29 | 只看該作者
"我燒錄實(shí)測(cè)這個(gè)函數(shù)沒問題是可以使用的"
所以有啥問題?

進(jìn)階編程要盡量避免用長(zhǎng)時(shí)間(>1ms)阻塞式延時(shí)消抖
下面是建議改法


回復(fù)

使用道具 舉報(bào)

板凳
ID:895440 發(fā)表于 2022-12-23 10:59 | 只看該作者
lkc8210 發(fā)表于 2022-12-23 10:29
"我燒錄實(shí)測(cè)這個(gè)函數(shù)沒問題是可以使用的"
所以有啥問題?

就是我假設(shè)第一行第二列按下,按照這個(gè)函數(shù),最后我計(jì)算得到的是1111 1110 ,結(jié)果應(yīng)該是1011 1110才對(duì)。。我不知道哪里不對(duì)
回復(fù)

使用道具 舉報(bào)

地板
ID:1042619 發(fā)表于 2022-12-23 15:15 | 只看該作者
樓主可以試著參考STC8H8K64U實(shí)驗(yàn)箱范例程序41-USB鍵盤設(shè)備通過P0口矩陣按鍵模擬小鍵盤功能。實(shí)驗(yàn)箱程序范例程序從STC-ISP (V6.91C)一體化軟件里面獲得:




回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲情视频 | 国产精品一区二区不卡 | 天天草夜夜骑 | 国产高清视频一区二区 | a看片 | www.久久.com | 91网视频 | 亚洲欧美中文日韩在线v日本 | 国产午夜视频 | 少妇一级淫片免费播放 | 久久婷婷香蕉热狠狠综合 | 免费人成激情视频在线观看冫 | 日韩一区二区在线视频 | 欧美区日韩区 | 成人不卡在线 | 成人小视频在线观看 | 91传媒在线播放 | 日韩在线播放一区 | 天天操天天摸天天爽 | 成人在线观看免费观看 | 亚洲欧美日韩精品久久亚洲区 | 精品成人免费视频 | 欧美日韩中文字幕在线 | 成人精品毛片国产亚洲av十九禁 | 国产精品二区三区在线观看 | 免费观看成人性生生活片 | 日韩精品在线观看网站 | 国产精品久久久久久久久免费软件 | 久久久这里都是精品 | 精品一区二区在线看 | 天天久久 | 在线婷婷 | 日本成人三级电影 | 亚洲欧美国产视频 | 99久久免费精品视频 | 久久久国产精品 | 99视频入口 | 欧美在线视频一区 | 日韩精品一区二区三区第95 | 精品美女久久久久久免费 | 精品一区二区三区不卡 |