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

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

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

單片機(jī)按鍵的介紹獨(dú)立按鍵與矩陣鍵盤的概述

j4AI_wujianying ? 來源:未知 ? 作者:易水寒 ? 2018-04-29 20:24 ? 次閱讀

一、基本知識

1.按鍵分類與輸入原理

按鍵按照結(jié)構(gòu)原理科分為兩類,一類是觸點(diǎn)式開關(guān)按鍵,如機(jī)械式開關(guān)、導(dǎo)電橡膠式開關(guān)燈;另一類是無觸點(diǎn)式開關(guān)按鍵,如電氣式按鍵,磁感應(yīng)按鍵等。前者造價(jià)低,后者壽命長。目前,微機(jī)系統(tǒng)中最常見的是觸點(diǎn)式開關(guān)按鍵。

單片機(jī)應(yīng)用系統(tǒng)中,除了復(fù)位按鍵有專門的復(fù)位電路及專一的復(fù)位功能外,其他按鍵都是以開關(guān)狀態(tài)來設(shè)置控制功能或輸入數(shù)據(jù)的。當(dāng)所設(shè)置的功能鍵或數(shù)字鍵按下時(shí),計(jì)算機(jī)應(yīng)用系統(tǒng)應(yīng)完成該按鍵所設(shè)定的功能,鍵信息輸入時(shí)與軟件結(jié)構(gòu)密切相關(guān)的過程。

對于一組鍵或一個(gè)鍵盤,總有一個(gè)接口電路與CPU相連。CPU可以采用查詢或中斷方式了解有無將按鍵輸入,并檢查是哪一個(gè)按鍵按下,將該鍵號送人累加器,然后通過跳轉(zhuǎn)指令轉(zhuǎn)入執(zhí)行該鍵的功能程序,執(zhí)行完成后再返回主程序。

2.按鍵結(jié)構(gòu)與特點(diǎn)

微機(jī)鍵盤通常使用機(jī)械觸點(diǎn)式按鍵開關(guān),其主要功能式把機(jī)械上的通斷轉(zhuǎn)換為電氣上的邏輯關(guān)系。也就是說,它能提供標(biāo)準(zhǔn)的TTL邏輯電平,以便于通用數(shù)字系統(tǒng)的邏輯電平相容。機(jī)械式按鍵再按下或釋放時(shí),由于機(jī)械彈性作用的影響,通常伴隨有一定的時(shí)間觸點(diǎn)機(jī)械抖動,然后其觸點(diǎn)才穩(wěn)定下來。其抖動過程如下圖1所示,抖動時(shí)間的長短與開關(guān)的機(jī)械特性有關(guān),一般為5-10ms。在觸點(diǎn)抖動期間檢測按鍵的通與斷,可能導(dǎo)致判斷出錯(cuò),即按鍵一次按下或釋放錯(cuò)誤的被認(rèn)為是多次操作,這種情況是不允許出現(xiàn)的。為了克服你、按鍵觸點(diǎn)機(jī)械抖動所致的檢測誤判,必須采取消抖措施。按鍵較少時(shí),可采用硬件消抖;按鍵較多式,采用軟件消抖。

單片機(jī)按鍵的介紹獨(dú)立按鍵與矩陣鍵盤的概述

圖1 按鍵觸點(diǎn)機(jī)械抖動

(1)按鍵編碼

一組按鍵或鍵盤都要通過I/O口線查詢按鍵的開關(guān)狀態(tài)。根據(jù)鍵盤結(jié)構(gòu)的不同,采用不同的編碼。無論有無編碼,以及采用什么編碼,最后都要轉(zhuǎn)換成為與累加器中數(shù)值相對應(yīng)的鍵值,以實(shí)現(xiàn)按鍵功能程序的跳轉(zhuǎn)。

(2)鍵盤程序

一個(gè)完整的鍵盤控制程序應(yīng)具備以下功能:

a.檢測有無按鍵按下,并采取硬件或軟件措施消抖。

b.有可靠的邏輯處理辦法。每次只處理一個(gè)按鍵,期間對任何按鍵的操作對系統(tǒng)不產(chǎn)生影響,且無論一次按鍵時(shí)間有多長,系統(tǒng)僅執(zhí)行一次按鍵功能程序。

c.準(zhǔn)確輸出按鍵值(或鍵號),以滿足跳轉(zhuǎn)指令要求。

3.獨(dú)立按鍵與矩陣鍵盤

(1)獨(dú)立按鍵

單片機(jī)控制系統(tǒng)中,如果只需要幾個(gè)功能鍵,此時(shí),可采用獨(dú)立式按鍵結(jié)構(gòu)。

獨(dú)立按鍵式直接用I/O口線構(gòu)成的單個(gè)按鍵電路,其特點(diǎn)式每個(gè)按鍵單獨(dú)占用一根I/O口線,每個(gè)按鍵的工作不會影響其他I/O口線的狀態(tài)。獨(dú)立按鍵的典型應(yīng)用如圖所示。獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡單,但每個(gè)按鍵必須占用一個(gè)I/O口線,因此,在按鍵較多時(shí),I/O口線浪費(fèi)較大,不宜采用。獨(dú)立按鍵如圖2所示。

單片機(jī)按鍵的介紹獨(dú)立按鍵與矩陣鍵盤的概述

圖2 獨(dú)立鍵盤

獨(dú)立按鍵的軟件常采用查詢式結(jié)構(gòu)。先逐位查詢沒跟I/O口線的輸入狀態(tài),如某一根I/O口線輸入為低電平,則可確認(rèn)該I/O口線所對應(yīng)的按鍵已按下,然后,再轉(zhuǎn)向該鍵的功能處理程序。

(2)矩陣鍵盤

單片機(jī)系統(tǒng)中,若使用按鍵較多時(shí)如電子密碼鎖、電話機(jī)鍵盤等一般都至少有12到16個(gè)按鍵,通常采用矩陣鍵盤。

矩陣鍵盤又稱行列鍵盤,它是用四條I/O線作為行線,四條I/O線作為列線組成的鍵盤。在行線和列線的每個(gè)交叉點(diǎn)上設(shè)置一個(gè)按鍵。這樣鍵盤上按鍵的個(gè)數(shù)就為4*4個(gè)。這種行列式鍵盤結(jié)構(gòu)能有效地提高單片機(jī)系統(tǒng)中I/O口的利用率。

矩陣鍵盤的工作原理

最常見的鍵盤布局如圖3所示。一般由16個(gè)按鍵組成,在單片機(jī)中正好可以用一個(gè)P口實(shí)現(xiàn)16個(gè)按鍵功能,這也是在單片機(jī)系統(tǒng)中最常用的形式,4*4矩陣鍵盤的內(nèi)部電路如圖4所示。

單片機(jī)按鍵的介紹獨(dú)立按鍵與矩陣鍵盤的概述

圖3 矩陣鍵盤布局圖

單片機(jī)按鍵的介紹獨(dú)立按鍵與矩陣鍵盤的概述

圖4 矩陣鍵盤內(nèi)部電路圖

當(dāng)無按鍵閉合時(shí),P3.0~P3.3與P3.4~P3.7之間開路。當(dāng)有鍵閉合時(shí),與閉合鍵相連的兩條I/O口線之間短路。判斷有無按鍵按下的方法是:第一步,置列線P3.4~P3.7為輸入狀態(tài),從行線P3.0~P3.3輸出低電平,讀入列線數(shù)據(jù),若某一列線為低電平,則該列線上有鍵閉合。第二步,行線輪流輸出低電平,從列線P3.4~P3.7讀入數(shù)據(jù),若有某一列為低電平,則對應(yīng)行線上有鍵按下。綜合一二兩步的結(jié)果,可確定按鍵編號。但是鍵閉合一次只能進(jìn)行一次鍵功能操作,因此須等到按鍵釋放后,再進(jìn)行鍵功能操作,否則按一次鍵,有可能會連續(xù)多次進(jìn)行同樣的鍵操作。

識別按鍵的方法很多其中,最常見的方法是掃描法

按鍵按下時(shí),與此鍵相連的行線與列線導(dǎo)通,行線在無按鍵按下時(shí)處在高電平。如果所有的列線都處在高電平,則按鍵按下與否不會引起行線電平的變化,因此必須使所有列線處在電平。這樣,當(dāng)有按鍵按下時(shí),改鍵所在的行電平才回由高變低。才能判斷相應(yīng)的行有鍵按下。

獨(dú)立按鍵數(shù)量少,可根據(jù)實(shí)際需要靈活編碼。矩陣鍵盤,按鍵的位置由行號和列號唯一確定,因此可以分別對行號和列號進(jìn)行二進(jìn)制編碼,然后兩值合成一個(gè)字節(jié),高4位是行號,低4位是列號。

4.鍵盤的工作方式

對鍵盤的響應(yīng)取決于鍵盤的工作方式,鍵盤的工作方式應(yīng)根據(jù)實(shí)際應(yīng)用系統(tǒng)中的CPU的工作狀況而定,其選取的原則是既要保證CPU能及時(shí)響應(yīng)按鍵操作,又不要過多占用CPU的工作時(shí)間。通常鍵盤的工作方式有三種,編程掃描、定時(shí)掃描和中斷掃描。

(1)編程掃描方式

編程掃描方式是利用CPU完成其它工作的空余時(shí)間,調(diào)用鍵盤掃描子程序來響應(yīng)鍵盤輸入的要求。在執(zhí)行鍵功能程序時(shí),CPU不再響應(yīng)鍵輸入要求,直到CPU重新掃描鍵盤為止。

(2)定時(shí)掃描方式

定時(shí)掃描方式就是每隔一段時(shí)間對鍵盤掃描一次,它利用單片機(jī)內(nèi)部的定時(shí)器產(chǎn)生一定時(shí)間(例如10ms)的定時(shí),當(dāng)定時(shí)時(shí)間到就產(chǎn)生定時(shí)器溢出中斷。CPU響應(yīng)中斷后對鍵盤進(jìn)行掃描,并在有按鍵按下時(shí)識別出該鍵,再執(zhí)行該鍵的功能程序。

(3)中斷掃描方式

上述兩種鍵盤掃描方式,無論是否按鍵,CPU都要定時(shí)掃描鍵盤,而單片機(jī)應(yīng)用系統(tǒng)工作時(shí),并非經(jīng)常需要鍵盤輸入,因此,CPU經(jīng)常處于空掃描狀態(tài)。

為提高CPU工作效率,可采用中斷掃描工作方式。其工作過程如下:當(dāng)無按鍵按下時(shí),CPU處理自己的工作,當(dāng)有按鍵按下時(shí),產(chǎn)生中斷請求,CPU轉(zhuǎn)去執(zhí)行鍵盤掃描子程序,并識別鍵號。

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

    關(guān)注

    6037

    文章

    44558

    瀏覽量

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

    關(guān)注

    7

    文章

    206

    瀏覽量

    31473
  • 獨(dú)立按鍵
    +關(guān)注

    關(guān)注

    1

    文章

    45

    瀏覽量

    11564

原文標(biāo)題:單片機(jī)獨(dú)立按鍵和矩陣鍵盤概念及原理

文章出處:【微信號:wujianying_danpianji,微信公眾號:單片機(jī)精講吳鑒鷹】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    單片機(jī)獨(dú)立按鍵矩陣鍵盤概念及原理

    按鍵的軟件常采用查詢式結(jié)構(gòu)。先逐位查詢沒跟I/O口線的輸入狀態(tài),如某一根I/O口線輸入為低電平,則可確認(rèn)該I/O口線所對應(yīng)的按鍵已按下,然后,再轉(zhuǎn)向該鍵的功能處理程序。(2)矩陣鍵盤
    發(fā)表于 11-30 16:32

    51單片機(jī)鍵盤接口-獨(dú)立按鍵矩陣按鍵 精選資料分享

    51單片機(jī)鍵盤接口-獨(dú)立按鍵矩陣按鍵按鍵的分類鍵輸
    發(fā)表于 07-16 07:57

    51單片機(jī)獨(dú)立按鍵矩陣按鍵

    51單片機(jī)——獨(dú)立按鍵矩陣按鍵獨(dú)立鍵盤原理圖示原理
    發(fā)表于 11-23 08:31

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

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

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

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

    51單片機(jī)獨(dú)立按鍵按鍵消抖及矩陣按鍵的電路與程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)獨(dú)立按鍵按鍵消抖及矩陣
    發(fā)表于 07-26 17:36 ?28次下載
    51<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>獨(dú)立</b><b class='flag-5'>按鍵</b>和<b class='flag-5'>按鍵</b>消抖及<b class='flag-5'>矩陣</b><b class='flag-5'>按鍵</b>的電路與程序免費(fèi)下載

    單片機(jī)獨(dú)立按鍵的應(yīng)用實(shí)驗(yàn)

    一、 實(shí)驗(yàn)?zāi)康模海ㄒ唬?熟悉單片機(jī) I/O 口的輸入控制;(二) 熟悉開發(fā)板上單片機(jī) I/O 口與數(shù)碼管、 獨(dú)立按鍵的電路連接;(三) 掌握 keil C 軟件的使用;(四) 掌握
    發(fā)表于 11-11 16:21 ?20次下載
    <b class='flag-5'>單片機(jī)</b>:<b class='flag-5'>獨(dú)立</b><b class='flag-5'>按鍵</b>的應(yīng)用實(shí)驗(yàn)

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

    按鍵,每個(gè)按鍵對應(yīng)一個(gè)IO口,通過循環(huán)或者中斷去檢測,這種方法常用于按鍵個(gè)數(shù)較少得時(shí)候。如果按鍵的個(gè)數(shù)較多,每個(gè)按鍵都分配一個(gè)IO口,會占用
    發(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><b class='flag-5'>鍵盤</b>

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

    51單片機(jī)鍵盤接口-獨(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>和<b class='flag-5'>矩陣</b><b class='flag-5'>按鍵</b>

    51單片機(jī)(V51)———獨(dú)立按鍵、4x4矩陣按鍵

    51單片機(jī)(V51)———獨(dú)立按鍵、4x4矩陣按鍵
    發(fā)表于 11-16 17:36 ?26次下載
    51<b class='flag-5'>單片機(jī)</b>(V51)———<b class='flag-5'>獨(dú)立</b><b class='flag-5'>按鍵</b>、4x4<b class='flag-5'>矩陣</b><b class='flag-5'>按鍵</b>

    51單片機(jī)同時(shí)使用矩陣按鍵獨(dú)立按鍵

    這幾天寫個(gè)矩陣按鍵獨(dú)立按鍵共同使用的功能,找了好久都沒有找到代碼,后來在一些啟發(fā)下自己寫了個(gè),其實(shí)對單片機(jī)不熟,只是用來記錄下。以下只是
    發(fā)表于 11-23 16:23 ?10次下載
    51<b class='flag-5'>單片機(jī)</b>同時(shí)使用<b class='flag-5'>矩陣</b><b class='flag-5'>按鍵</b>和<b class='flag-5'>獨(dú)立</b><b class='flag-5'>按鍵</b>

    51單片機(jī)按鍵控制數(shù)碼管0~9_基于proteus的51單片機(jī)開發(fā)實(shí)例24-矩陣鍵盤(行列式鍵盤)...

    1. 基于proteus的51單片機(jī)開發(fā)實(shí)例24-矩陣鍵盤1.1. 實(shí)驗(yàn)?zāi)康膱D1 矩陣鍵盤電路本實(shí)例我們來學(xué)習(xí)
    發(fā)表于 11-23 16:36 ?12次下載
    51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>按鍵</b>控制數(shù)碼管0~9_基于proteus的51<b class='flag-5'>單片機(jī)</b>開發(fā)實(shí)例24-<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>(行列式<b class='flag-5'>鍵盤</b>)...

    單片機(jī)AT89C51--7.按鍵(獨(dú)立按鍵矩陣按鍵)

    單片機(jī)AT89C51--7.按鍵1.鍵盤類型1.1 編碼鍵盤1.2 非編碼鍵盤2.獨(dú)立
    發(fā)表于 11-25 14:51 ?14次下載
    <b class='flag-5'>單片機(jī)</b>AT89C51--7.<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ī)編輯庫一之延時(shí)與led燈單片機(jī)編輯庫二之按鍵單片機(jī)編輯庫三之蜂鳴器單片機(jī)編輯庫四之矩陣
    發(fā)表于 12-31 19:37 ?12次下載
    <b class='flag-5'>單片機(jī)</b>編輯庫四之<b class='flag-5'>矩陣</b><b class='flag-5'>按鍵</b>

    單片機(jī)學(xué)習(xí)-矩陣按鍵

    目錄矩陣按鍵介紹檢測方法C51例程歡迎加QQ及郵件交流矩陣按鍵介紹
    發(fā)表于 12-31 19:37 ?15次下載
    <b class='flag-5'>單片機(jī)</b>學(xué)習(xí)-<b class='flag-5'>矩陣</b><b class='flag-5'>按鍵</b>