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

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

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

獨(dú)立鍵盤(pán)的檢測(cè)原理及程序?qū)崿F(xiàn)的方法

科技綠洲 ? 來(lái)源:51單片機(jī)學(xué)習(xí)網(wǎng) ? 作者:51單片機(jī)學(xué)習(xí)網(wǎng) ? 2023-09-11 10:44 ? 次閱讀

由于在單片機(jī)在應(yīng)用系統(tǒng)中,更多的會(huì)用到獨(dú)立鍵盤(pán),加之兩者的檢測(cè)原理基本相似,所以這一節(jié)里我主要講解獨(dú)立鍵盤(pán)的檢測(cè)原理及程序?qū)崿F(xiàn)的方法。
1、 按鍵的檢測(cè)原理
按鍵與單片機(jī)的連接如圖5所示,按鍵的一端與地相連,另一端直接與單片機(jī)的I/O口相連。此時(shí)我們?cè)诔绦蛑邢冉oI/O口賦值高電平,然后不斷的檢測(cè)I/O口電平的變化。當(dāng)按鍵沒(méi)有被按下時(shí),此I/O口的電平一直為高;當(dāng)按鍵被按下時(shí),由于按鍵的另一端直接與地相連,相當(dāng)于低電平,此時(shí)我們從I/O口讀出的即為高電平,程序一旦檢測(cè)到I/O口由高電平變?yōu)榈碗娖綍r(shí),說(shuō)明按鍵被按下,此時(shí)馬上執(zhí)行相應(yīng)的動(dòng)作,這就是按鍵檢測(cè)的原理。
圖片

圖片

圖5 按鍵與單片機(jī)連接圖

2、 按鍵的抖動(dòng)與消除
由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開(kāi)關(guān)在閉合時(shí)不會(huì)馬上穩(wěn)定地接通,在斷開(kāi)時(shí)也不會(huì)一下子斷開(kāi)。因而在閉合及斷開(kāi)的瞬間均伴隨有一連串的抖動(dòng),與單片機(jī)I/O口相接的一端的電壓會(huì)出現(xiàn)相應(yīng)的變化,如圖6所示。
圖片

圖6 按鍵按下時(shí)電壓的變化情況

從圖6中我們可以看出,實(shí)際的電壓波形在按下松手的時(shí)候都會(huì)出現(xiàn)一定的抖動(dòng),經(jīng)過(guò)實(shí)驗(yàn)知道,這個(gè)一時(shí)間大概在5-10ms。所在在做單片機(jī)與按鍵相關(guān)的系統(tǒng)時(shí)必須考慮消抖的環(huán)節(jié)。按鍵消抖的方法有兩種,一個(gè)是硬件方法 一個(gè)是軟件的方法,而從節(jié)約成本和盡量簡(jiǎn)化硬件電路的角度出發(fā),一般是采用在程序中加上消抖的方法實(shí)現(xiàn),通常是采用延時(shí)的方法。具體的作法是:
檢測(cè)出鍵閉合后執(zhí)行一個(gè)延時(shí)程序,產(chǎn)生5ms~10ms的延時(shí),讓前沿抖動(dòng)消失后再一次檢測(cè)鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認(rèn)為真正有鍵按下。當(dāng)檢測(cè)到按鍵釋放后,也要給5ms~10ms的延時(shí),待后沿抖動(dòng)消失后才能轉(zhuǎn)入該鍵的處理程序。后面會(huì)結(jié)合到程序進(jìn)行講解。
下面我寫(xiě)一個(gè)簡(jiǎn)單的程序,功能為:當(dāng)一個(gè)鍵按下時(shí),讓一個(gè)發(fā)光二極管發(fā)光,我們先看下按鍵模塊在實(shí)驗(yàn)板上的原理圖,如圖7和圖8所示。
圖片

圖7 發(fā)光二極管模塊原理圖

圖片

圖8 按鍵模塊原理圖

例1 按鍵檢測(cè)程序
//功能:當(dāng)按下S8鍵時(shí),L1燈發(fā)光,松手后,L1燈熄滅。相應(yīng)程序如例1.
#include
#define uint unsigned int
#define uchar unsigned char

sbit D1=P1^0;
sbit S1=P3^4;

void main()
{
P3=0xff;
while(1)
{
if(S1==0) //第一次檢測(cè)按鍵是否按下
delay(20); //消除按下時(shí)的抖動(dòng)
if(S1==0) //再次確定是否按下?tīng)顟B(tài)
{
D1=0; //如果是按下?tīng)顟B(tài),執(zhí)行操作
while(!S1); //檢測(cè)是否是按鍵彈起
delay(20); //消除松開(kāi)時(shí)的抖動(dòng)
}
else
D1=1;
}
}

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

    關(guān)注

    7

    文章

    2707

    瀏覽量

    47476
  • 電平
    +關(guān)注

    關(guān)注

    5

    文章

    360

    瀏覽量

    39900
  • 鍵盤(pán)
    +關(guān)注

    關(guān)注

    4

    文章

    859

    瀏覽量

    39670
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3328

    瀏覽量

    66224
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3787

    瀏覽量

    81049
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    獨(dú)立鍵盤(pán),是指每一個(gè)鍵位單獨(dú)由一個(gè)IO口控制的按鍵。
    的頭像 發(fā)表于 10-31 15:00 ?2080次閱讀
    基于單片機(jī)的<b class='flag-5'>獨(dú)立</b><b class='flag-5'>鍵盤(pán)</b>與矩陣<b class='flag-5'>鍵盤(pán)</b><b class='flag-5'>檢測(cè)</b>

    獨(dú)立鍵盤(pán)檢測(cè)與矩陣鍵盤(pán)檢測(cè)

    獨(dú)立鍵盤(pán)檢測(cè)與矩陣鍵盤(pán)檢測(cè)一、獨(dú)立鍵盤(pán)
    發(fā)表于 07-20 06:20

    獨(dú)立鍵盤(pán)檢測(cè)

    一、獨(dú)立鍵盤(pán)檢測(cè)1、按鍵的檢測(cè)原理單片機(jī)的I/O口既可以作為輸出也可以作為輸入使用,檢測(cè)按鍵時(shí)用的是輸入功能。把按鍵的一端接地,另一端與單片
    發(fā)表于 11-17 06:19

    獨(dú)立鍵盤(pán)實(shí)現(xiàn)流水燈功能

    使用模塊:獨(dú)立鍵盤(pán) 流水燈功能:用獨(dú)立鍵盤(pán)實(shí)現(xiàn)搶答器 即當(dāng)按下四個(gè)獨(dú)立
    發(fā)表于 01-11 06:11

    獨(dú)立鍵盤(pán)c語(yǔ)言

    初學(xué)者的AT89C51的獨(dú)立鍵盤(pán)編寫(xiě)。
    發(fā)表于 01-20 15:00 ?7次下載

    壓縮鍵盤(pán)的設(shè)計(jì)與實(shí)現(xiàn)

    本文設(shè)計(jì)了一種用4個(gè)鍵最多可實(shí)現(xiàn)5個(gè)鍵功能的壓縮鍵盤(pán)。該鍵盤(pán)使用獨(dú)立式按鍵鍵盤(pán)的硬件結(jié)構(gòu),軟件上使用矩陣式
    發(fā)表于 03-29 11:03 ?3次下載

    第四棵--KEY獨(dú)立鍵盤(pán)和矩陣鍵盤(pán)檢測(cè)

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

    使用單片機(jī)C語(yǔ)言實(shí)現(xiàn)獨(dú)立按鍵檢測(cè)與矩陣鍵盤(pán)操作的資料和程序

    獨(dú)立按鍵的檢測(cè)和矩陣鍵盤(pán)操作。完成本文所需硬件:基于C51系列單片機(jī)的開(kāi)發(fā)板(本文是基于STC12C5A60S2處理器的一款開(kāi)發(fā)板),帶中文版windows操作系統(tǒng)的電腦。
    發(fā)表于 07-16 17:39 ?2次下載
    使用單片機(jī)C語(yǔ)言<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>獨(dú)立</b>按鍵<b class='flag-5'>檢測(cè)</b>與矩陣<b class='flag-5'>鍵盤(pán)</b>操作的資料和<b class='flag-5'>程序</b>

    使用單片機(jī)利用獨(dú)立鍵盤(pán)彈琴的程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用單片機(jī)利用獨(dú)立鍵盤(pán)彈琴的程序免費(fèi)下載。
    發(fā)表于 06-26 17:43 ?0次下載
    使用單片機(jī)利用<b class='flag-5'>獨(dú)立</b><b class='flag-5'>鍵盤(pán)</b>彈琴的<b class='flag-5'>程序</b>免費(fèi)下載

    獨(dú)立鍵盤(pán)檢測(cè)原理及程序實(shí)現(xiàn)方法

    由于在單片機(jī)在應(yīng)用系統(tǒng)中,更多的會(huì)用到獨(dú)立鍵盤(pán),加之兩者的檢測(cè)原理基本相似,所以這一節(jié)里我主要講解獨(dú)立鍵盤(pán)
    發(fā)表于 05-13 09:41 ?1.1w次閱讀

    使用51單片機(jī)獨(dú)立鍵盤(pán)控制輸出脈沖信號(hào)的程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)獨(dú)立鍵盤(pán)控制輸出脈沖信號(hào)的程序免費(fèi)下載。
    發(fā)表于 09-22 17:09 ?19次下載
    使用51單片機(jī)<b class='flag-5'>獨(dú)立</b><b class='flag-5'>鍵盤(pán)</b>控制輸出脈沖信號(hào)的<b class='flag-5'>程序</b>免費(fèi)下載

    如何使用獨(dú)立子空間分析實(shí)現(xiàn)不良視頻的檢測(cè)方法

    為了檢測(cè)網(wǎng)絡(luò)中含有不良內(nèi)容的視頻,提出一種基于非監(jiān)督學(xué)習(xí)特征的不良視頻檢測(cè)方法。該方法使用獨(dú)立子空間分析網(wǎng)絡(luò)對(duì)未標(biāo)定視頻進(jìn)行訓(xùn)練,學(xué)習(xí)視頻中
    發(fā)表于 01-13 11:20 ?5次下載
    如何使用<b class='flag-5'>獨(dú)立</b>子空間分析<b class='flag-5'>實(shí)現(xiàn)</b>不良視頻的<b class='flag-5'>檢測(cè)</b><b class='flag-5'>方法</b>

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

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

    51單片機(jī)小白零基礎(chǔ)教程——獨(dú)立鍵盤(pán)檢測(cè)原理以及實(shí)際應(yīng)用

    獨(dú)立鍵盤(pán)檢測(cè)原理以及實(shí)際應(yīng)用一、鍵盤(pán)的概念二、獨(dú)立鍵盤(pán)檢測(cè)
    發(fā)表于 11-21 10:06 ?23次下載
    51單片機(jī)小白零基礎(chǔ)教程——<b class='flag-5'>獨(dú)立</b><b class='flag-5'>鍵盤(pán)</b><b class='flag-5'>檢測(cè)</b>原理以及實(shí)際應(yīng)用

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

    編碼鍵盤(pán)與編碼鍵盤(pán)5.非編碼鍵盤(pán)的掃描方式(1)查詢掃描:(2)定時(shí)掃描:(3)中斷掃描:(二)獨(dú)立鍵盤(pán)1.
    發(fā)表于 11-23 16:51 ?15次下載
    學(xué)習(xí)筆記之51單片機(jī)<b class='flag-5'>鍵盤(pán)</b>篇(非編碼<b class='flag-5'>鍵盤(pán)</b>與編碼<b class='flag-5'>鍵盤(pán)</b>、非編碼<b class='flag-5'>鍵盤(pán)</b>的掃描方式、<b class='flag-5'>獨(dú)立</b><b class='flag-5'>鍵盤(pán)</b>、矩陣<b class='flag-5'>鍵盤(pán)</b>)