RM新时代网站-首页

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

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

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

單片機(jī)按鍵檢測電路原理詳解

CHANBAEK ? 來源:科創(chuàng)追夢者 ? 作者:謝士金 ? 2023-11-02 15:28 ? 次閱讀

在本次課程中,我將向大家介紹單片機(jī)的輸入口的使用。

在這里,我以最簡單的檢測一個按鍵是否被按下為例來向大家介紹。

一、STC15W408AS按鍵檢測電路

下面是本例中按鍵檢測的電路原理圖,K1是一個按鍵,它接在單片機(jī)的P3.3口上,R2是一個與按鍵連接的上拉電阻。

圖片

二、按鍵檢測原理

在本例中,按鍵與單片機(jī)的第14腳(P3.3引腳)相連。當(dāng)按鍵沒有按下時,P3.3的電平是高電平;當(dāng)按鍵被按下時,按鍵將P3.3與地短接,此時P3.3的電平為低電平。

從分析可知,根據(jù)P3.3電平的變化狀態(tài),我們可以知道按鍵是否被按下。因此,我們只要檢測P3.3電平的狀態(tài),就可以判斷出按鍵的狀態(tài)。

三、STC15W408AS輸入模式配置方法

為了讓單片機(jī)能檢測按鍵,我們必須將單片機(jī)的P3.3口設(shè)置為輸入口,也就信號是從單片機(jī)外輸入到單片機(jī)內(nèi)。因此,必須將單片機(jī)的IO口模式設(shè)置為輸入模式。

如果要將STC15W408AS的引腳配置成輸入模式,只需修改PxM0和PxM1兩個寄存器的值。下面是STC15的STC15W408AS引腳的配置說明:

圖片

四、按鍵檢測有關(guān)代碼

下面是本例中,按鍵檢測相關(guān)的代碼:

#define Pin_KEY P33

#define Pin_KEY_M1 P3M1

#define Pin_KEY_M0 P3M0

#define Pin_KEY_BIT BIT3

#define GetKey_High() Pin_KEY==1

void PinKEY_DirIn(void)

{

    Pin_KEY_M1 &=~Pin_KEY_BIT;

    Pin_KEY_M0 &=~Pin_KEY_BIT;

}

五、本例中按鍵檢測指示

為了顯示按鍵的是否被按下,我們用上節(jié)課程中介紹的單片機(jī)點(diǎn)LED的亮滅狀態(tài)來表示按鍵的狀態(tài)。當(dāng)按鍵沒被按下時,LED不亮;當(dāng)按鍵被按下時,LED燈點(diǎn)亮。

請看下面代碼:

PinKEY_DirIn();   //將按鍵所在的口設(shè)置為輸入模式

while(TRUE)

{

  if(GetKey_High())  //如果檢測到按鍵口是高電平

  {

    PinLed_High(); //則將LED所在口置高,LED不亮。

  }else{

    PinLed_Low(); //否則,將LED所在口置低,LED點(diǎn)亮

  }  

}

六、按鍵檢測完整源程序

#define BIT0 0x01

#define BIT1 0x02

#define BIT2 0x04

#define BIT3 0x08

#define BIT4 0x10

#define BIT5 0x20

#define BIT6 0x40

#define BIT7 0x80

#define TRUE 1

#define FALSE 0

#define BEEP_ON    1

#define BEEP_OFF    0

#define Pin_LED P32

#define Pin_LED_M1 P3M1

#define Pin_LED_M0 P3M0

#define Pin_LED_BIT BIT2

#define PinLed_High() Pin_LED=1

#define PinLed_Low() Pin_LED=0

#define Pin_KEY P33

#define Pin_KEY_M1 P3M1

#define Pin_KEY_M0 P3M0

#define Pin_KEY_BIT BIT3

#define GetKey_High() Pin_KEY==1

void PinKEY_DirIn(void);

void PinLED_DirOut(void);

void main(void)

{

  PinLED_DirOut();

  PinKEY_DirIn();

  PinLed_Low();



  while(TRUE)

  {

    if(GetKey_High())

    {

       PinLed_High();

    }else{

       PinLed_Low();

    }

   }

}

void PinKEY_DirIn(void)

{

    Pin_KEY_M1 &=~Pin_KEY_BIT;

    Pin_KEY_M0 &=~Pin_KEY_BIT; 

}

void PinLED_DirOut(void)

{

    Pin_LED_M1 &=~Pin_LED_BIT;

    Pin_LED_M0 |=Pin_LED_BIT;  

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

    關(guān)注

    6035

    文章

    44554

    瀏覽量

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

    關(guān)注

    5

    文章

    359

    瀏覽量

    30607
  • 電路原理圖
    +關(guān)注

    關(guān)注

    40

    文章

    347

    瀏覽量

    38318
  • 按鍵檢測
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    4834
  • STC15W408AS
    +關(guān)注

    關(guān)注

    10

    文章

    27

    瀏覽量

    10244
收藏 人收藏

    評論

    相關(guān)推薦

    單片機(jī)按鍵設(shè)計的方法,這幾個方案不錯

    單片機(jī)按鍵設(shè)計的四個方案詳解單片機(jī)系統(tǒng)里,按鍵是常見的輸入設(shè)備,在本文江介紹幾種按鍵硬件、軟件
    的頭像 發(fā)表于 01-06 07:05 ?1w次閱讀
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>按鍵</b>設(shè)計的方法,這幾個方案不錯

    如何實(shí)現(xiàn)基于單片機(jī)的鍵盤檢測

    鍵盤是單片機(jī)與用戶交互設(shè)備之一,用戶通過鍵盤輸入數(shù)據(jù)或命令到單片機(jī)。最簡單的鍵盤僅有一個按鍵,復(fù)雜一些的鍵盤有多個按鍵。在單片機(jī)的外圍
    的頭像 發(fā)表于 10-31 14:39 ?1905次閱讀
    如何實(shí)現(xiàn)基于<b class='flag-5'>單片機(jī)</b>的鍵盤<b class='flag-5'>檢測</b>

    單片機(jī)按鍵檢測

    Atmega16單片機(jī),按鍵電路如下,按鍵另一端一般都是直接接地的,這個比較另類。嘗試了不少方法還是沒寫出檢測
    發(fā)表于 05-25 01:31

    單片機(jī)按鍵詳解

    單片機(jī)按鍵詳解
    發(fā)表于 07-28 14:51

    單片機(jī)按鍵處理總結(jié)——含程序詳解

    講述幾種常用的按鍵的應(yīng)用及程序處理方法,幫助大家掌握單片機(jī)處理按鍵的方法。
    發(fā)表于 11-10 10:55 ?11次下載

    簡談單片機(jī)檢測按鍵原理和中斷按鍵檢測的辦法

    首先說一下獨(dú)立鍵盤檢測,在單片機(jī)外圍電路中 ,通常用到的按鍵都是機(jī)械彈性開關(guān),當(dāng)開關(guān)閉合時,線路導(dǎo)通,開關(guān)斷開時,線路斷開。單片機(jī)
    發(fā)表于 06-27 10:44 ?2w次閱讀
    簡談<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>的辦法

    51單片機(jī)按鍵檢測和信號函數(shù)仿真的詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)按鍵檢測和信號函數(shù)仿真的詳細(xì)資料說明,在單片機(jī)中會遇到識別按鍵的問題,常用的獨(dú)立
    發(fā)表于 04-11 18:22 ?4次下載
    51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>按鍵</b><b class='flag-5'>檢測</b>和信號函數(shù)仿真的詳細(xì)資料說明

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

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

    單片機(jī)實(shí)現(xiàn)按鍵電路和程序設(shè)計資料說明

    單片機(jī)應(yīng)用系統(tǒng)中,按鍵主要有兩種形式:1、直接按鍵; 2、矩陣編碼鍵盤。直接按鍵的每個按鍵都單獨(dú)接到
    的頭像 發(fā)表于 10-06 18:14 ?9721次閱讀

    單片機(jī)按鍵使用程序 (51單片機(jī)

    單片機(jī)獨(dú)立按鍵使用程序 (51單片機(jī))獨(dú)立按鍵單片機(jī)中很重要的一個器件,在這篇文章里,通過這個用獨(dú)立
    發(fā)表于 11-11 18:36 ?108次下載
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>按鍵</b>使用程序 (51<b class='flag-5'>單片機(jī)</b>)

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

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

    PIC單片機(jī) 按鍵檢測識別

    目錄按鍵和PIC單片機(jī)一、按鍵二、按鍵的物理連接與檢測三、PIC16F18854單片機(jī)
    發(fā)表于 11-16 12:36 ?12次下載
    PIC<b class='flag-5'>單片機(jī)</b> <b class='flag-5'>按鍵</b><b class='flag-5'>檢測</b>識別

    單片機(jī)按鍵檢測

    獨(dú)立按鍵電路:獨(dú)立按鍵編程:一個獨(dú)立按鍵單片機(jī)的一個I/O口連接,當(dāng)按鍵按下時,對應(yīng)I/O口由
    發(fā)表于 11-17 09:21 ?3次下載
    <b class='flag-5'>單片機(jī)</b>之<b class='flag-5'>按鍵</b><b class='flag-5'>檢測</b>

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

    目錄矩陣按鍵介紹檢測方法C51例程歡迎加QQ及郵件交流矩陣按鍵介紹 獨(dú)立鍵盤與單片機(jī)連接時,每一個按鍵都需要
    發(fā)表于 12-31 19:37 ?15次下載
    <b class='flag-5'>單片機(jī)</b>學(xué)習(xí)-矩陣<b class='flag-5'>按鍵</b>

    單片機(jī)按鍵切換模式怎么設(shè)置

    單片機(jī):選擇一款合適的單片機(jī)型號,例如常見的8051、STM32等。 按鍵模塊:用于實(shí)現(xiàn)按鍵輸入,通常由一個或多個按鍵組成。
    的頭像 發(fā)表于 12-13 11:07 ?4085次閱讀
    RM新时代网站-首页