RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于單片機(jī)的獨(dú)立鍵盤與矩陣鍵盤檢測

CHANBAEK ? 來源: Machine City ? 作者: 失落的龍族 ? 2023-10-31 15:00 ? 次閱讀

獨(dú)立鍵盤與矩陣鍵盤檢測

NEWS

獨(dú)立鍵盤與矩陣鍵盤介紹

圖片

獨(dú)立鍵盤,是指每一個(gè)鍵位單獨(dú)由一個(gè)IO口控制的按鍵。

矩陣鍵盤,主要是指像矩陣一樣分布,由兩個(gè)IO口(行IO與列IO)才能夠識(shí)別的按鍵。

與按鍵所連接的IO口既可以輸出也可以輸入,檢測按鍵主要通過檢測IO口接受的電平信號(hào)來實(shí)現(xiàn)。

圖片

如圖所示,所有鍵盤的IO口由P3控制,P3IO口由高到低的排列是P3.7~P3.0。

PART

01 獨(dú)立鍵盤的檢測

在對(duì)獨(dú)立鍵盤進(jìn)行檢測之前,應(yīng)當(dāng)先確保其對(duì)應(yīng)的IO口都處于高電平的狀態(tài),當(dāng)按鍵被按下時(shí),IO口與接地會(huì)接通,會(huì)接收到低電平信號(hào)。檢測時(shí)只需依次對(duì)按鍵對(duì)應(yīng)的IO口檢測其是否有接收到低電平信號(hào)即可。

由于點(diǎn)平的變化并非完美的波形,其在按下與松開時(shí)會(huì)有短暫的不穩(wěn)定的高低電平,因此要通過延時(shí)二次檢測來進(jìn)行防抖。

圖片

在本示例程序中對(duì)S2按鍵進(jìn)行了檢測,其中先對(duì)P3IO口進(jìn)行設(shè)置都為高電平,key _S2已經(jīng)提前配定義為了P3.4IO口,然后用判斷語句來判斷電平是否有變化,delay延時(shí)后在此進(jìn)行檢測,如果確實(shí)收到了低電平則開始執(zhí)行對(duì)應(yīng)程序。程序執(zhí)行完畢后,用while函數(shù)來決定是否繼續(xù)往下執(zhí)行,只有徹底松開后才能夠繼續(xù)向下執(zhí)行程序。

圖片

PART

02 矩陣鍵盤的檢測

矩陣鍵盤不同于獨(dú)立鍵盤,它需要對(duì)行和列都進(jìn)行檢測,檢測原理與獨(dú)立鍵盤一樣,只是獨(dú)立鍵盤的接地變成了為低電平的IO口。

圖片

在進(jìn)行檢測時(shí),行和列必須有一個(gè)為高電平,有一個(gè)為低電平。我們?cè)诖艘獙⒅鹨粚⒘蠭O賦為低電平,行IO都為高電平然后去檢測行IO是否接收到低電平。示例程序如下

//ju zhen an jian cheng xu

void matrix_key()

{

P3=0Xef;/ 將P3.4賦為低電平對(duì)S6所在列進(jìn)行檢測 /

matrix_demo=P3;//讀取P3

matrix_demo=matrix_demo&0x0f;

//對(duì)P3低四位進(jìn)行比較

if(matrix_demo!=0x0f)

{

delay(10);

matrix_demo=P3;

matrix_demo=matrix_demo&0x0f;

if(matrix_demo!=0x0f)

{

matrix_demo=P3;

switch(matrix_demo)

{

case 0xee://KEY_S6(1110 1110)

dis_num=7;

shiwan=dis_num/10;

wan=dis_num%10;

_shiwan=num_table[shiwan];

_wan=num_table[wan];

break;

case 0xed://KEY_S10(1110 1101)

dis_num=4;

shiwan=dis_num/10;

wan=dis_num%10;

_shiwan=num_table[shiwan];

_wan=num_table[wan];

break;

case 0xeb://KEY_S14(1110 1011)

dis_num=1;

shiwan=dis_num/10;

wan=dis_num%10;

_shiwan=num_table[shiwan]

;_wan=num_table[wan];

break;

case 0xe7://KEY_S18(1110 0111)

shiwan=15;wan=15;

_shiwan=num_table[shiwan];

_wan=num_table[wan];

break;

}

//檢測按鍵是否斷開,后四位是否恢復(fù)為高電平

while(matrix_demo!=0x0f)

{

matrix_demo=P3;

matrix_demo=matrix_demo&0x0f;

}

delay(10);

while(matrix_demo!=0x0f)

{

matrix_demo=P3;

matrix_demo=matrix_demo&0x0f;

}

}

}

上附程序?yàn)閷?duì)S6所在列進(jìn)行檢測的程序。

PART

03 自我測驗(yàn)

自己編寫程序使鍵盤達(dá)到以下效果。

1、開啟單片機(jī)時(shí),數(shù)碼管前兩位顯示00;

2、按下S2按鍵數(shù)碼管加1,到六十自動(dòng)歸 零

3、按下S3數(shù)碼管減1,如果數(shù)碼管為00,則 0-1變?yōu)?0

4、按下S4歸零

5、按下S5開/暫停計(jì)時(shí),滿六十歸零

6、矩陣鍵盤十六個(gè)按鍵按下分別使數(shù)碼管顯 示0-F

本次講解及示例使用的為郭天祥TX-1C的開發(fā)板。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6035

    文章

    44554

    瀏覽量

    634615
  • 矩陣鍵盤
    +關(guān)注

    關(guān)注

    7

    文章

    206

    瀏覽量

    31454
  • IO口
    +關(guān)注

    關(guān)注

    3

    文章

    170

    瀏覽量

    24023
  • 鍵盤檢測
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    5792
  • 獨(dú)立鍵盤
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    4573
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    51單片機(jī)矩陣鍵盤獨(dú)立鍵盤沖突

    請(qǐng)問在用51單片機(jī)做一個(gè)計(jì)算器,4*4矩陣鍵盤和四個(gè)獨(dú)立按鍵都要使用到,如何掃描按鍵才能使它們不沖突,想請(qǐng)教關(guān)鍵的代碼是怎樣的?
    發(fā)表于 07-27 12:17

    獨(dú)立鍵盤檢測矩陣鍵盤檢測

    鍵盤檢測1、工作原理打開單片機(jī)原理圖文件,找到獨(dú)立鍵盤的原理圖:上圖中89C52與獨(dú)立
    發(fā)表于 07-20 06:20

    單片機(jī)獨(dú)立按鍵和矩陣鍵盤的原理是什么?

    單片機(jī)獨(dú)立按鍵和矩陣鍵盤的原理是什么?鍵盤的工作方式是什么?
    發(fā)表于 01-18 07:31

    矩陣鍵盤檢測獨(dú)立按鍵與單片機(jī)連接

    4.2 矩陣鍵盤檢測獨(dú)立按鍵與單片機(jī)連接時(shí),每個(gè)按鍵都需要單片機(jī)的一個(gè)I/O口,若
    發(fā)表于 02-22 06:14

    第四棵--KEY獨(dú)立鍵盤矩陣鍵盤檢測

    獨(dú)立鍵盤矩陣鍵盤檢測,十分詳細(xì)。適合新手。
    發(fā)表于 09-01 11:44 ?0次下載

    單片機(jī)8x8矩陣鍵盤原理說明

    本文主要介紹了介紹基于51單片機(jī)矩陣鍵盤原理以及單片機(jī)8x8矩陣鍵盤原理說明,另外還詳細(xì)的附上
    的頭像 發(fā)表于 02-24 16:14 ?2.6w次閱讀
    <b class='flag-5'>單片機(jī)</b>8x8<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>原理說明

    AVR單片機(jī)十日通:介紹獨(dú)立鍵盤矩陣鍵盤的原理及應(yīng)用

    欣世紀(jì)電子阿迪老師單片機(jī)系列視頻教程之《AVR單片機(jī)十日通》,這是第五日:獨(dú)立鍵盤矩陣鍵盤原理
    的頭像 發(fā)表于 07-10 11:11 ?4884次閱讀

    單片機(jī)鍵盤檢測與應(yīng)用

    非編碼鍵盤通常又分為獨(dú)立鍵盤矩陣鍵盤兩大類。所謂獨(dú)立鍵盤
    的頭像 發(fā)表于 09-18 16:34 ?5344次閱讀

    單片機(jī)--矩陣鍵盤實(shí)驗(yàn)

    實(shí)驗(yàn)?zāi)康暮腿蝿?wù)目的:利用“模塊化單片機(jī)教學(xué)實(shí)驗(yàn)平臺(tái)”,加深對(duì)單片機(jī)矩陣鍵盤的接口電路設(shè)計(jì)以及程序設(shè)計(jì)的理解。任務(wù):1、學(xué)習(xí)獨(dú)立式按鍵的查詢
    發(fā)表于 11-11 12:06 ?17次下載
    <b class='flag-5'>單片機(jī)</b>--<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>實(shí)驗(yàn)

    51單片機(jī)按鍵檢測--獨(dú)立按鍵與矩陣鍵盤

    按鍵,每個(gè)按鍵對(duì)應(yīng)一個(gè)IO口,通過循環(huán)或者中斷去檢測,這種方法常用于按鍵個(gè)數(shù)較少得時(shí)候。如果按鍵的個(gè)數(shù)較多,每個(gè)按鍵都分配一個(gè)IO口,會(huì)占用大量的資源,所以就有了矩陣鍵盤。矩陣
    發(fā)表于 11-12 11:06 ?15次下載
    51<b class='flag-5'>單片機(jī)</b>按鍵<b class='flag-5'>檢測</b>--<b class='flag-5'>獨(dú)立</b>按鍵與<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>

    51單片機(jī)鍵盤接口-獨(dú)立按鍵和矩陣按鍵

    51單片機(jī)鍵盤接口-獨(dú)立按鍵和矩陣按鍵按鍵的分類鍵輸入原理獨(dú)立鍵盤
    發(fā)表于 11-12 12:36 ?13次下載
    51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>鍵盤</b>接口-<b class='flag-5'>獨(dú)立</b>按鍵和<b class='flag-5'>矩陣</b>按鍵

    PIC單片機(jī)矩陣鍵盤檢測原理及實(shí)現(xiàn)

    PIC單片機(jī)矩陣鍵盤檢測原理及實(shí)現(xiàn)
    發(fā)表于 11-16 11:51 ?2次下載
    PIC<b class='flag-5'>單片機(jī)</b><b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b><b class='flag-5'>檢測</b>原理及實(shí)現(xiàn)

    PIC單片機(jī)矩陣鍵盤檢測原理及實(shí)現(xiàn)

    PIC單片機(jī)矩陣鍵盤檢測原理及實(shí)現(xiàn)
    發(fā)表于 11-16 12:51 ?7次下載
    PIC<b class='flag-5'>單片機(jī)</b><b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b><b class='flag-5'>檢測</b>原理及實(shí)現(xiàn)

    學(xué)習(xí)筆記之51單片機(jī)鍵盤篇(非編碼鍵盤與編碼鍵盤、非編碼鍵盤的掃描方式、獨(dú)立鍵盤、矩陣鍵盤

    這篇博文主要記錄51單片機(jī)鍵盤篇(非編碼鍵盤與編碼鍵盤、非編碼鍵盤的掃描方式、獨(dú)立
    發(fā)表于 11-23 16:51 ?15次下載
    學(xué)習(xí)筆記之51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>鍵盤</b>篇(非編碼<b class='flag-5'>鍵盤</b>與編碼<b class='flag-5'>鍵盤</b>、非編碼<b class='flag-5'>鍵盤</b>的掃描方式、<b class='flag-5'>獨(dú)立</b><b class='flag-5'>鍵盤</b>、<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>)

    矩陣鍵盤-單片機(jī)入門課件

    矩陣鍵盤-單片機(jī)入門課件
    發(fā)表于 03-18 11:12 ?0次下載
    RM新时代网站-首页