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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1417|回復: 11
打印 上一主題 下一主題
收起左側

關于單片機矩陣鍵盤界面切換

[復制鏈接]
跳轉到指定樓層
樓主
原理圖上p33和p32分別對應外部中斷0和外部中斷1,我目前的代碼功能能夠通過s4,s5拉低電平觸發中斷切換界面,但是s8和s9的功能我沒有合適的思路加進去,我試了把p42口置1來區分,但是p33口默認就是高電平,低電平觸發中斷,沒法正常實現。有沒有好大哥能分享一下思路

屏幕截圖 2024-02-18 154118.png (42.31 KB, 下載次數: 95)

原理圖

原理圖

屏幕截圖 2024-02-18 154150.png (633.79 KB, 下載次數: 105)

需求

需求
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:332444 發表于 2024-2-19 07:45 | 只看該作者
計數切換當等于1執行1當等于2執行2
回復

使用道具 舉報

板凳
ID:1109793 發表于 2024-2-19 09:09 | 只看該作者
4*4的鍵盤不是要通過掃描獲得16個按鍵的狀態,然后哪個用了干啥再決定嗎?掃描就掃描,和中斷有啥關系
回復

使用道具 舉報

地板
ID:1109793 發表于 2024-2-19 09:31 | 只看該作者
我買了一個成品的3*4的那種,手感還不錯。
  1. switch(keysm){
  2.         case 1:
  3.         if(!key_l1)key_1 = 0;else key_1 = 1;
  4.         if(!key_l2)key_2 = 0;else key_2 = 1;
  5.         if(!key_l3)key_3 = 0;else key_3 = 1;
  6.         break;
  7.         case 2:
  8.         if(!key_l1)key_4 = 0;else key_4 = 1;
  9.         if(!key_l2)key_5 = 0;else key_5 = 1;
  10.         if(!key_l3)key_6 = 0;else key_6 = 1;
  11.         break;
  12.         case 3:
  13.         if(!key_l1)key_7 = 0;else key_7 = 1;
  14.         if(!key_l2)key_8 = 0;else key_8 = 1;
  15.         if(!key_l3)key_9 = 0;else key_9 = 1;
  16.         break;
  17.         case 4:
  18.         if(!key_l1)key_x = 0;else key_x = 1;
  19.         if(!key_l2)key_0 = 0;else key_0 = 1;
  20.         if(!key_l3)key_j = 0;else key_j = 1;
  21.         break;
  22.         default:
  23.         break;
  24.         }
  25. keysm++;if(keysm>4)keysm = 1;
  26. key_h1 = 1;key_h2 = 1;key_h3 = 1;key_h4 = 1;
  27. switch(keysm){
  28.         case 1:
  29.         key_h1 = 0;
  30.         break;
  31.         case 2:
  32.         key_h2 = 0;
  33.         break;
  34.         case 3:
  35.         key_h3 = 0;
  36.         break;
  37.         case 4:
  38.         key_h4 = 0;
  39.         break;
  40.         default:
  41.         break;
  42.         }
復制代碼

這樣識別12個按鍵的狀態
回復

使用道具 舉報

5#
ID:1104689 發表于 2024-2-19 11:04 | 只看該作者
xiaobendan001 發表于 2024-2-19 09:09
4*4的鍵盤不是要通過掃描獲得16個按鍵的狀態,然后哪個用了干啥再決定嗎?掃描就掃描,和中斷有啥關系

我的想法是放到中斷里不是能實時切換嗎,放到程序里切換可能會不太靈敏吧
回復

使用道具 舉報

6#
ID:1109793 發表于 2024-2-19 13:44 | 只看該作者
李小蟲 發表于 2024-2-19 11:04
我的想法是放到中斷里不是能實時切換嗎,放到程序里切換可能會不太靈敏吧

對于界面顯示,幾個微秒的時間眼睛是看不到的。幾毫秒也看不到,所以沒必要切換那么快。而且這也不是你切換的速度,是按鍵反應速度。
回復

使用道具 舉報

7#
ID:491577 發表于 2024-2-25 00:11 | 只看該作者
樓主用中斷來判斷是不對的,按鍵會抖動,會多次觸發中斷。先判斷按鍵,再決定按鍵的功能。
回復

使用道具 舉報

8#
ID:1064915 發表于 2024-2-25 08:44 | 只看該作者
xiaobendan001 發表于 2024-2-19 09:31
我買了一個成品的3*4的那種,手感還不錯。

這樣識別12個按鍵的狀態

請說明一下原理,key如何排列的
回復

使用道具 舉報

9#
ID:1110945 發表于 2024-2-25 09:38 | 只看該作者
中斷方式要先處理防抖,可以并聯小電容實現消抖。
但是你這種矩陣按鍵一般都是用掃描方式而不用擔心
抖動問題。
回復

使用道具 舉報

10#
ID:230500 發表于 2024-2-25 09:43 | 只看該作者
看看我之前帖子; 只要獲得了正確的鍵值后, 想怎么處理就怎么處理;
http://www.zg4o1577.cn/bbs/dpj-227062-1.html
回復

使用道具 舉報

11#
ID:965189 發表于 2024-2-25 10:59 | 只看該作者
矩陣鍵盤不需要用中斷,用掃描就可以了。
回復

使用道具 舉報

12#
ID:1109793 發表于 2024-2-25 11:49 | 只看該作者
joyb 發表于 2024-2-25 08:44
請說明一下原理,key如何排列的

排列就是矩陣啊,樓主不是有個原理圖啊,就是那樣的,總共7根線。
原理就是每行輸出一個低,然后度每列的值,確定每個按鍵的狀態,總共12個BIT,這樣比較廢時間和空間。但是處理起來比較隨心所欲。
消除抖動可以放在每個BIT的服務里面。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产一区二区三区视频 | 九九亚洲| 91视频a| 久久亚洲天堂 | 国产精品久久久爽爽爽麻豆色哟哟 | 在线不卡一区 | 亚洲欧美一区二区三区视频 | 中文字幕免费在线观看 | 美女久久久 | 中文字幕在线播放不卡 | 欧美成人一区二区三区片免费 | 国产精品精品视频一区二区三区 | 亚洲欧美国产一区二区三区 | 亚洲精品68久久久一区 | 欧美精品影院 | 欧美一级在线视频 | 一区二区三区精品在线 | 国产精品日韩欧美一区二区三区 | 日本一区二区视频 | 性在线 | 日韩成人一区 | 日日噜噜噜夜夜爽爽狠狠视频, | 色婷婷久久久亚洲一区二区三区 | 国产精品毛片一区二区三区 | 在线亚洲一区二区 | 国产成人精品免高潮在线观看 | 精品在线观看入口 | 玖玖综合在线 | 久久久久久久久久久久91 | 91超碰在线| 一呦二呦三呦国产精品 | 噜久寡妇噜噜久久寡妇 | 欧美黑人狂野猛交老妇 | 欧美高清一级片 | 完全免费在线视频 | 一级全黄少妇性色生活免费看 | 一级做a| 日韩中文字幕久久 | 日韩色视频 | 蜜桃五月天| 久久久久国产精品免费免费搜索 |