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

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

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

基于51單片機的獨立按鍵實現(xiàn)原理

CHANBAEK ? 來源:透析之眼 ? 作者: AdamChen ? 2023-10-31 17:45 ? 次閱讀

I/O口,I代表Inpout,O代表Output。前面的所講的點亮LED,是單片機輸出高低電平,從而達(dá)到控制LED;這一講將會通過按鍵輸入電平,單片機檢測到輸入高低電平,將會有對應(yīng)的動作。

STC89C52的輸入電平識別。

圖片

獨立按鍵

按鍵的一端接單片的I/O口,另一端接GND或者VCC(接VCC的時候需要注意,電壓是需要單片機能夠識別的輸入的電壓。) ,下圖是接GND的連接方式。

圖片

當(dāng)獨立按鍵按下時,高低電平(VCC或者GND)會直接到達(dá)I/O口,此時單片機可以檢測到該I/O口是高電平(1)或者低電平(0),然后做獨立按鍵被按下的對應(yīng)處理。

現(xiàn)在有一個功能需求,當(dāng)按下按鍵時LED被點亮,手松開時LED熄滅。代碼應(yīng)該如何寫呢?

#include "reg52.h"  
//引入頭文件
sbit led1 = P2^0;   
//位定義led1,可以直接通過位控制led亮滅
sbit key1 = P3^1;   
//位定義key1,可以通過位控制檢測該I/O口的狀態(tài)
void main() { 
    //循環(huán)
    while(1) {
        if(key1==0) {  //判斷I/O口狀態(tài),如果為0
            led1 = 0;    //點亮Lled
        }
        else {
            led1 = 1;   //熄滅led
        }
    }
}

總結(jié):獨立按鍵一端連接I/O口,另一端連接GND或者VCC,當(dāng)按鍵被按下GND或者VCC的電平直接到I/O口。通過檢測I/O口電壓可以判斷按鍵是否被按下,進而觸發(fā)不同的程序行為。

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

    關(guān)注

    6037

    文章

    44558

    瀏覽量

    635353
  • 51單片機
    +關(guān)注

    關(guān)注

    274

    文章

    5702

    瀏覽量

    123623
  • GND
    GND
    +關(guān)注

    關(guān)注

    2

    文章

    539

    瀏覽量

    38721
  • 獨立按鍵
    +關(guān)注

    關(guān)注

    1

    文章

    45

    瀏覽量

    11564
收藏 人收藏

    評論

    相關(guān)推薦

    求解惑:使用51單片機獨立按鍵實現(xiàn)數(shù)碼管的顯示控制,代碼無報錯,但是運行結(jié)果是錯的

    求解答:使用51單片機數(shù)碼管的前兩位顯示一個十進制數(shù),變化范圍是00~59,開始時顯示00,每按下s2鍵一次,數(shù)值增加一次,每按下s3鍵一次,數(shù)值減一,每按下s4鍵一次,數(shù)值歸0,每按下s5鍵一次
    發(fā)表于 08-08 23:47

    請問怎么實現(xiàn)51單片機獨立按鍵和矩陣按鍵?

    請問怎么實現(xiàn)51單片機獨立按鍵和矩陣按鍵?
    發(fā)表于 08-30 06:17

    51單片機獨立按鍵按鍵消抖及矩陣按鍵的電路與程序免費下載

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

    使用51單片機獨立按鍵的程序免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機獨立按鍵的程序免費下載。
    發(fā)表于 07-05 17:41 ?3次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>獨立</b><b class='flag-5'>按鍵</b>的程序免費下載

    51單片機獨立按鍵程序免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機獨立按鍵程序免費下載。
    發(fā)表于 06-20 17:43 ?7次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>獨立</b><b class='flag-5'>按鍵</b>程序免費下載

    51單片機(二十四)—— 獨立按鍵工作原理

    按鍵單片機應(yīng)用中必不可少的輸入器件,本文我們基于51單片機來介紹獨立按鍵的工作原理。 在
    發(fā)表于 11-11 10:21 ?14次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>(二十四)—— <b class='flag-5'>獨立</b><b class='flag-5'>按鍵</b>工作原理

    單片機按鍵使用程序 (51單片機

    單片機獨立按鍵使用程序 (51單片機獨立按鍵
    發(fā)表于 11-11 18:36 ?108次下載
    <b class='flag-5'>單片機</b><b class='flag-5'>按鍵</b>使用程序 (<b class='flag-5'>51</b><b class='flag-5'>單片機</b>)

    51單片機按鍵檢測--獨立按鍵與矩陣鍵盤

    按鍵可以說是51單片機項目開發(fā)的一個重要組件了,它是作為51單片機IO口輸入的一種重要方式。我們可以通過
    發(fā)表于 11-12 11:06 ?15次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>按鍵</b>檢測--<b class='flag-5'>獨立</b><b class='flag-5'>按鍵</b>與矩陣鍵盤

    51單片機鍵盤接口-獨立按鍵和矩陣按鍵

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

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

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

    51單片機獨立按鍵數(shù)碼管(模塊化)

    51單片機獨立按鍵數(shù)碼管(C語言)基于普中51單片機開發(fā)板,運用定時器/計數(shù)器0。
    發(fā)表于 11-23 17:06 ?19次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>獨立</b><b class='flag-5'>按鍵</b>數(shù)碼管(模塊化)

    基于89C51單片機的8位端口檢測8獨立按鍵源程序

    基于89C51單片機的8位端口檢測8獨立按鍵源程序
    發(fā)表于 05-16 10:49 ?1次下載

    基于89C51單片機獨立按鍵依次輸入數(shù)據(jù)源程序

    基于89C51單片機獨立按鍵依次輸入數(shù)據(jù)源程序
    發(fā)表于 05-16 09:12 ?3次下載

    基于51單片機的電子鐘【整點報時,6數(shù)碼管,獨立按鍵】(仿真)

    基于51單片機的電子鐘【整點報時,6數(shù)碼管,獨立按鍵】(仿真)
    的頭像 發(fā)表于 04-10 00:37 ?960次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的電子鐘【整點報時,6數(shù)碼管,<b class='flag-5'>獨立</b><b class='flag-5'>按鍵</b>】(仿真)

    基于51單片機的電子鐘【調(diào)時,DS1302,數(shù)碼管,獨立按鍵】(仿真)

    基于51單片機的電子鐘【調(diào)時,DS1302,數(shù)碼管,獨立按鍵】(仿真)
    的頭像 發(fā)表于 04-10 00:41 ?2472次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的電子鐘【調(diào)時,DS1302,數(shù)碼管,<b class='flag-5'>獨立</b><b class='flag-5'>按鍵</b>】(仿真)