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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1685|回復: 4
收起左側

51單片機關于矩形按鍵中斷掃描的問題

[復制鏈接]
ID:1109540 發表于 2024-1-17 20:52 | 顯示全部樓層 |閱讀模式
void InterruptTimer0() interrupt 1
{
unsigned char i;
static unsigned char keyout = 0; //矩陣按鍵掃描輸出索引
static unsigned char keybuf[4][4] = { //矩陣按鍵掃描緩沖區
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}
};
TH0 = 0xFC; //重新加載初值
TL0 = 0x67;
//將一行的 4 個按鍵值移入緩沖區
keybuf[keyout][0] = (keybuf[keyout][0] << 1) | KEY_IN_1;
keybuf[keyout][1] = (keybuf[keyout][1] << 1) | KEY_IN_2;
keybuf[keyout][2] = (keybuf[keyout][2] << 1) | KEY_IN_3;
keybuf[keyout][3] = (keybuf[keyout][3] << 1) | KEY_IN_4;
//消抖后更新按鍵狀態
for (i=0; i<4; i++) //每行 4 個按鍵,所以循環 4 次
{
if ((keybuf[keyout][i ] & 0x0F) == 0x00)
[i ]{ //連續 4 次掃描值為 0,即 4*4ms 內都是按下狀態時,可認為按鍵已穩定的按下
[i ]KeySta[keyout][i ] = 0;
}
else if ((keybuf[keyout][i ] & 0x0F) == 0x0F)
{ //連續 4 次掃描值為 1,即 4*4ms 內都是彈起狀態時,可認為按鍵已穩定的彈起
KeySta[keyout][i ] = 1;
}
}
//執行下一次的掃描輸出
keyout++; //輸出索引遞增
keyout = keyout & 0x03; //索引值加到 4 即歸零
switch (keyout) //根據索引,釋放當前輸出引腳,拉低下次的輸出引腳
{
case 0: KEY_OUT_4 = 1; KEY_OUT_1 = 0; break;
case 1: KEY_OUT_1 = 1; KEY_OUT_2 = 0; break;
case 2: KEY_OUT_2 = 1; KEY_OUT_3 = 0; break;
case 3: KEY_OUT_3 = 1; KEY_OUT_4 = 0; break;
default: break;
}
}請問比如我按了第4行第2個鍵,就是output4為0,keyln2為0,在代碼中是怎么體現的我按的這個鍵?
2024.1.13.1.png
2024.1.13.2.png
回復

使用道具 舉報

ID:161164 發表于 2024-1-17 22:20 | 顯示全部樓層
這里是不是都缺了?
2024-01-17_221821.png

回復

使用道具 舉報

ID:213173 發表于 2024-1-18 08:34 | 顯示全部樓層
矩陣按鍵不需要寫這么繁瑣,只要對行列各掃描一次就行了。
回復

使用道具 舉報

ID:924942 發表于 2024-1-18 10:07 來自手機 | 顯示全部樓層
金沙灘的教程,視頻里講得很清楚,不懂多看幾遍
回復

使用道具 舉報

ID:226055 發表于 2024-1-18 10:37 | 顯示全部樓層
    1、矩陣按鍵的檢測確實比較成熟,原理有多種,下介紹的是比較常用的一種方式。
矩陣原理1.jpg

    2、提供下STC8A8K64D4的例子,基于下圖艾克姆的IK-64D4開發板。應該也是很方便你移植程序的。
實物連接1.jpg



matrix_keyboard_4x4.rar

22.67 KB, 下載次數: 2

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久久免费毛片精品 | 伊人免费网 | 亚洲国产高清高潮精品美女 | 欧美成人精品在线 | 久久精品在线 | 中文字幕亚洲视频 | 日日干夜夜干 | 亚洲欧洲视频 | 日韩在线观看中文字幕 | 国产成人久久精品一区二区三区 | 中文字幕国产第一页 | 日韩精品一区二区三区视频播放 | 欧美激情在线精品一区二区三区 | 国产日韩欧美二区 | 中文字幕第三页 | 欧美在线一区二区三区 | 免费一区 | 午夜在线免费观看 | 91国产视频在线 | 久久久久亚洲 | 黄色网址大全在线观看 | 亚洲免费精品 | 亚洲天堂影院 | 黄色网址在线免费观看 | 一区二区三区四区不卡视频 | 中文字字幕一区二区三区四区五区 | 欧美性受xxxx白人性爽 | 成人在线精品视频 | 福利视频一区二区三区 | 国产精品久久久久久久免费大片 | 国产成人精品久久二区二区 | 国产欧美精品一区二区三区 | 手机看片在线播放 | 日本一区二区电影 | 日韩欧美一二三区 | 精品视频一区二区三区在线观看 | 欧美一区二区三区在线观看 | 91大神在线资源观看无广告 | 欧美日韩综合精品 | 国产99久久精品一区二区300 | 日韩精品在线免费观看视频 |