RM新时代网站-首页

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

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

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

在Proteus軟件中如何讀取矩陣鍵盤?

冬至子 ? 來源:風(fēng)標(biāo)電子 ? 作者:風(fēng)標(biāo)電子工程師 ? 2023-07-19 15:26 ? 次閱讀

Proteus使用技巧

矩陣鍵盤是讀取一系列按鍵的有效方法,例如讀取電話的撥號(hào)盤、POS機(jī)小鍵盤、電腦鍵盤,甚至是電子鋼琴上的鍵盤。

讀取大量按鍵輸入的一種方法是將每個(gè)按鍵連接到其自己的微控制器輸入引腳。對(duì)于 4x4 鍵盤,這將需要 16 個(gè) GPIO(通用輸入/輸出)引腳。

圖片

但是,通過在矩陣中連接按鍵,只需 8 個(gè) GPIO 即可讀取相同數(shù)量的按鍵。

圖片

這減少了所需的微控制器引腳數(shù)量,以及相關(guān)布線/PCB走線的數(shù)量。

矩陣式鍵盤是按行和列的網(wǎng)格布線的(盡管它們?cè)谖锢砩喜灰欢ㄒ催@個(gè)方向布置,例如電子鋼琴鍵盤)。在微控制器上,行或列的引腳被永久設(shè)置為輸入(本文中我們堅(jiān)持使用行連接),而另一組引腳(本文中我們堅(jiān)持使用列連接)在輸出(低電平驅(qū)動(dòng))和浮空(基本上是開漏輸出)之間切換。

行輸入引腳需要上拉電阻,這可以在微控制器外部添加,也可以在微控制器內(nèi)部激活(如果微控制器包含此功能)。一些微控制器具有開漏輸出引腳(用于列),或者可以簡(jiǎn)單地將這些引腳設(shè)置為輸入,以使其浮空。如果你對(duì)上拉電阻、浮空和/或開漏這些術(shù)語不熟悉,那么這里有一些快速解釋:

浮空輸入

浮空輸入是一種不主動(dòng)驅(qū)動(dòng)到任何特定水平的輸入,它真的可以是任何東西(例如,基于環(huán)境中的靜電)。我們都使用過自動(dòng)關(guān)閉的門,比如在公共設(shè)施中常見的門--除非你主動(dòng)把門打開,否則就會(huì)有一個(gè)機(jī)制把它再次關(guān)上。如果沒有自動(dòng)關(guān)閉機(jī)制(現(xiàn)在想象一下,門沒有閂鎖機(jī)制),門會(huì)被風(fēng)吹來吹去,或者被進(jìn)出的人移動(dòng),它不會(huì)默認(rèn)到任何特定的位置。

上拉(或下拉)電阻

上拉(或下拉)電阻類似于這些門上的自動(dòng)關(guān)閉機(jī)制,因?yàn)樗诓恢鲃?dòng)驅(qū)動(dòng)時(shí)將輸入保持在一個(gè)特定的水平。上拉(或下拉)電阻可以被認(rèn)為是一個(gè)彈簧,當(dāng)它沒有被主動(dòng)驅(qū)動(dòng)時(shí),它將輸入拉到一個(gè)特定的水平,你可能注意到,電阻符號(hào)實(shí)際上看起來像一個(gè)小彈簧:

圖片

開漏輸出

開漏輸出是一個(gè)只能被驅(qū)動(dòng)為低電平的輸出,而不是高電平;輸出要么是低電平,要么是浮空的。本質(zhì)上,輸出只是連接到一個(gè)晶體管的漏極引腳(因此稱為開漏)。

圖片

通過將微控制器引腳在輸入(浮空,沒有上拉或下拉電阻)和輸出(被驅(qū)動(dòng)為低電平)之間切換,可以實(shí)現(xiàn)類似的效果。

讀取矩陣鍵盤

為了讀取矩陣中的任何特定按鍵,我們將相應(yīng)的列引腳驅(qū)動(dòng)為低電平,然后讀取相應(yīng)的行引腳;如果行引腳讀取為低電平,則該按鍵被按下,如果它讀取為高電平,則該按鍵未被按下。

圖片

圖片

通常,這是在快速順序掃描操作中完成的,以檢查矩陣中的每個(gè)按鍵,依次驅(qū)動(dòng)每個(gè)列引腳,同時(shí)讀取中間的每個(gè)行引腳。同時(shí)按鍵不會(huì)對(duì)此方法造成任何問題,并且仍然可以單獨(dú)讀取每個(gè)鍵。

防抖動(dòng)

機(jī)械開關(guān)也會(huì)出現(xiàn)一種彈跳現(xiàn)象,即開關(guān)的觸點(diǎn)在接觸時(shí)發(fā)生物理彈跳,并在開關(guān)穩(wěn)定在新狀態(tài)之前出現(xiàn)一些快速的電壓轉(zhuǎn)換:

圖片

如果微控制器非常頻繁地讀取輸入,那么它可能會(huì)將彈跳記錄成按下按鍵的次數(shù)(而不是用戶期望的一次按下);最簡(jiǎn)單的解決方案是每次讀取按鍵之間留出一定的延遲時(shí)間,這將使按鍵有足夠的時(shí)間在兩次讀取之間轉(zhuǎn)換(通常 10-50ms 就足夠了),這就是防抖開關(guān)技術(shù)。

*本文章版權(quán)歸英國LABCENTER公司所有,由廣州風(fēng)標(biāo)電子提供翻譯,原文鏈接如下:*https://www.labcenter.com/blog/sim-matrix-keypad/

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

    關(guān)注

    48

    文章

    7542

    瀏覽量

    151316
  • 上拉電阻
    +關(guān)注

    關(guān)注

    5

    文章

    359

    瀏覽量

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

    關(guān)注

    7

    文章

    206

    瀏覽量

    31454
  • PROTEUS仿真
    +關(guān)注

    關(guān)注

    28

    文章

    308

    瀏覽量

    35245
  • PCB走線
    +關(guān)注

    關(guān)注

    3

    文章

    135

    瀏覽量

    13917
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    proteus矩陣鍵盤仿真電路

    proteus矩陣鍵盤仿真電路,本文通過proteus上搭建51單片機(jī)的矩陣
    發(fā)表于 07-15 08:27

    矩陣鍵盤怎么操作

    矩陣鍵盤矩陣鍵盤的實(shí)現(xiàn)和動(dòng)態(tài)數(shù)碼管有一定的相似之處,動(dòng)態(tài)數(shù)碼管是循環(huán)通過段選來點(diǎn)亮.而矩陣鍵盤(
    發(fā)表于 01-07 06:28

    Arduino搭建一個(gè)3*3的矩陣鍵盤

    矩陣鍵盤在51單片機(jī)的案例應(yīng)用較多,但是Arduino很少使用,今天小編就特立獨(dú)行一次,
    發(fā)表于 01-12 06:09

    Proteus矩陣鍵盤的識(shí)別之一

    Proteus矩陣鍵盤的識(shí)別之一,很好的Proteus資料,快來下載不學(xué)習(xí)吧。
    發(fā)表于 04-18 16:42 ?0次下載

    Proteus矩陣鍵盤的識(shí)別之二

    Proteus矩陣鍵盤的識(shí)別之二,很好的Proteus資料,快來下載不學(xué)習(xí)吧。
    發(fā)表于 04-18 16:42 ?0次下載

    Proteus矩陣鍵盤的識(shí)別之三

    Proteus矩陣鍵盤的識(shí)別之三,很好的Proteus資料,快來下載不學(xué)習(xí)吧。
    發(fā)表于 04-18 16:42 ?0次下載

    基于8051的Proteus仿真-4×4鍵盤矩陣控制條形LED顯

    基于8051的Proteus仿真-4×4鍵盤矩陣控制條形LED顯示
    發(fā)表于 09-06 16:52 ?17次下載

    基于8051的Proteus仿真-數(shù)碼管顯示4×4鍵盤矩陣按鍵

    基于8051的Proteus仿真-數(shù)碼管顯示4×4鍵盤矩陣按鍵
    發(fā)表于 09-01 23:36 ?95次下載

    矩陣鍵盤有什么用_矩陣鍵盤有何用途

    本文開始介紹了什么是矩陣鍵盤矩陣鍵盤的組成結(jié)構(gòu),其次詳細(xì)闡述了矩陣鍵盤用途,最后介紹了
    發(fā)表于 02-24 14:01 ?1.7w次閱讀

    單片機(jī)矩陣鍵盤的使用之讀取鍵盤

    矩陣鍵盤的使用在單品機(jī)的學(xué)習(xí)當(dāng)中十分廣泛,可是對(duì)于許多新手,包括本人有時(shí)也是搞不明白,昨天晚上和今天早上的思考和同行們的討論,終于有了點(diǎn)頭緒,所以想記錄下讀取鍵盤的思路。
    發(fā)表于 02-23 10:11 ?4397次閱讀
    單片機(jī)<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>的使用之<b class='flag-5'>讀取</b><b class='flag-5'>鍵盤</b>

    使用Proteus仿真LCD顯示日期時(shí)間及矩陣鍵盤控制的代碼和工程文件

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用Proteus仿真LCD顯示日期時(shí)間及矩陣鍵盤控制的代碼和工程文件。
    發(fā)表于 10-23 08:00 ?2次下載
    使用<b class='flag-5'>Proteus</b>仿真LCD顯示日期時(shí)間及<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>控制的代碼和工程文件

    基于proteus+矩陣鍵盤掃描掃描工程文件

    基于proteus+矩陣鍵盤掃描掃描工程文件
    發(fā)表于 11-08 11:48 ?8次下載

    proteus進(jìn)行51單片機(jī)矩陣鍵盤仿真實(shí)驗(yàn)

    本文通過proteus上搭建51單片機(jī)的矩陣鍵盤電路并聯(lián)合keil編程軟件編寫的源程序進(jìn)行8*8矩陣
    發(fā)表于 11-12 11:06 ?26次下載
    <b class='flag-5'>proteus</b>進(jìn)行51單片機(jī)<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>仿真實(shí)驗(yàn)

    Proteus以中斷方式實(shí)現(xiàn)矩陣鍵盤的掃描

    )定時(shí)掃描:利用定時(shí)器每間隔一段時(shí)間掃描一次鍵盤(2)程序掃描:程序運(yùn)行的過程,當(dāng)有必要了解是否有按鍵按下時(shí),調(diào)用鍵盤掃描函數(shù)進(jìn)行掃描(3)中斷掃描:當(dāng)有按鍵按下時(shí),觸發(fā)外部中斷。
    發(fā)表于 11-26 12:21 ?9次下載
    <b class='flag-5'>Proteus</b><b class='flag-5'>中</b>以中斷方式實(shí)現(xiàn)<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>的掃描

    Proteus仿真-矩陣鍵盤(實(shí)驗(yàn)一)

    最近,由于在學(xué)習(xí)51單片機(jī),學(xué)會(huì)了用proteus進(jìn)行仿真Proteus仿真-矩陣鍵盤由于一般的按鍵是單獨(dú)接在一根I/O線上,構(gòu)成所謂的獨(dú)立式鍵盤
    發(fā)表于 12-28 19:23 ?12次下載
    <b class='flag-5'>Proteus</b>仿真-<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>(實(shí)驗(yàn)一)
    RM新时代网站-首页