資料介紹
三種方法讀取鍵值
使用者設(shè)計(jì)行列鍵盤(pán)介面,一般常採(cǎi)用三種方法讀取鍵值。
中斷式
在鍵盤(pán)按下時(shí)產(chǎn)生一個(gè)外部中斷通知CPU,並由中斷處理程式通過(guò)不
同位址讀資料線上的狀態(tài)判斷哪個(gè)按鍵被按下。
本實(shí)驗(yàn)採(cǎi)用中斷式實(shí)現(xiàn)使用者鍵盤(pán)介面。
掃描法
對(duì)鍵盤(pán)上的某一行送低電位,其他為高電位,然後讀取列值,若列值
中有一位是低,表明該行與低電位對(duì)應(yīng)列的鍵被按下。否則掃描下一
行。
反轉(zhuǎn)法
先將所有行掃描線輸出低電位,讀列值,若列值有一位是低表明有鍵
按下;接著所有列掃描線輸出低電位,再讀行值。
根據(jù)讀到的值組合就可以查表得到鍵碼。
4x4鍵盤(pán)按4行4列組成如圖電路結(jié)構(gòu)。按鍵按
下將會(huì)使行列連成通路,這也是見(jiàn)的使用者鍵
盤(pán)設(shè)計(jì)電路。
//-----------4X4鍵盤(pán)程序--------------//
uchar keboard(void)
{ uchar xxa,yyb,i,key;
if((PINC&0x0f)!=0x0f) //是否有按鍵按下
{delayms(1); //延時(shí)去抖動(dòng)
if((PINC&0x0f)!=0x0f) //有按下則判斷
{ xxa=~(PINC|0xf0); //0000xxxx
DDRC=0x0f;
PORTC=0xf0;
delay_1ms();
yyb=~(PINC|0x0f); //xxxx0000
DDRC=0xf0; //復(fù)位
PORTC=0x0f;
while((PINC&0x0f)!=0x0f) //按鍵是否放開(kāi)
{ display(data); }
i=4; //計(jì)算返回碼
while(xxa!=0)
{ xxa=xxa>>1;
i--; }
if(yyb==0x80)
key=i;
else if(yyb==0x40)
key=4+i;
else if(yyb==0x20)
key=8+i;
else if(yyb==0x10)
key=12+i;
return key; //返回按下的鍵盤(pán)碼
}
}
else return 17; //沒(méi)有按鍵按下
}
- 用于Arduino UNO的LED 4x4矩陣
- 帶有stm32的宏鍵盤(pán)4x4矩陣
- 4X4動(dòng)態(tài)掃描鍵盤(pán)的PCB原理圖免費(fèi)下載 25次下載
- 數(shù)碼管顯示4X4鍵盤(pán)矩陣按鍵的程序和電路圖免費(fèi)下載 52次下載
- 使用單片機(jī)實(shí)現(xiàn)數(shù)碼管顯示4X4鍵盤(pán)矩陣按鍵的程序和仿真資料免費(fèi)下載 31次下載
- 4X4矩陣鍵盤(pán)的應(yīng)用仿真電路圖和keil程序免費(fèi)下載 38次下載
- 數(shù)碼管顯示4X4鍵盤(pán)矩陣按鍵的仿真原理圖免費(fèi)下載 42次下載
- 使用51單片機(jī)設(shè)計(jì)4X4矩陣鍵盤(pán)電子琴的電路圖和程序免費(fèi)下載
- 使用單片機(jī)實(shí)現(xiàn)4x4矩陣鍵盤(pán)的程序免費(fèi)下載
- 使用單片機(jī)進(jìn)行4X4按鍵數(shù)碼管顯示0到9的程序免費(fèi)下載
- 使用51單片機(jī)實(shí)現(xiàn)4x4矩陣鍵盤(pán)的程序免費(fèi)下載
- 使用51單片機(jī)設(shè)計(jì)4X4矩陣鍵盤(pán)的程序免費(fèi)下載
- 4x4和5x8矩陣按鍵C語(yǔ)言程序免費(fèi)下載 20次下載
- 4X4鍵盤(pán)顯示源程序 1次下載
- 4x4矩陣鍵盤(pán)程序及原理圖PCB 0次下載
- AURIX? TC4x免費(fèi)開(kāi)發(fā)環(huán)境介紹 210次閱讀
- DYNA4集成SUMO在CANoe中實(shí)現(xiàn)V2X三維場(chǎng)景 1550次閱讀
- DDR4、LPDDR4和LPDDR4x的區(qū)別 1.6w次閱讀
- OpenCV4.x可實(shí)現(xiàn)加載模型與執(zhí)行推斷 903次閱讀
- 使用單片機(jī)設(shè)計(jì)電子琴的詳細(xì)資料說(shuō)明 4049次閱讀
- 微雪電子4x4矩陣式按鍵模塊小鍵盤(pán)簡(jiǎn)介 2777次閱讀
- 最新的研究中,研究者僅需要音頻信息就生成了人臉 1681次閱讀
- IR宣布PQFN 4mm x 4mm封裝的推出 1807次閱讀
- 如何利用PIC16F877單片機(jī)的c語(yǔ)言寫(xiě)一個(gè)時(shí)鬧鐘程序 2450次閱讀
- 如何從技術(shù)上解決手機(jī)信號(hào)問(wèn)題?一加6替你想到了 2.8w次閱讀
- 淺談2G NandFlash如何升級(jí)4G? 5465次閱讀
- ST公司STM32F334x4/6/8系列MCU開(kāi)發(fā)方案 9724次閱讀
- 4*4鍵盤(pán)數(shù)碼管顯示程序解析 6897次閱讀
- 4x4mimo是什么_4x4mimo手機(jī)有哪些 11.3w次閱讀
- 4x4矩陣鍵盤(pán)工作原理及掃描程序 24w次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 651單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)大棚環(huán)境控制器仿真程序
- 1.10 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多