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

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

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

CC2530(zigbee)入門開發(fā): 按鍵檢測(輸入)

DS小龍哥-嵌入式技術(shù) ? 來源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2022-05-28 13:34 ? 次閱讀

一、按鍵功能與原理圖介紹

在學習單片機、嵌入式過程中;按鍵是必學的一個外設,常見的按鍵分為為獨立按鍵、矩陣按鍵等。下面這里介紹的是獨立按鍵,原理比較簡單,只需要將與單片機連接的IO口配置成輸入模式,然后不停的檢測按鍵的狀態(tài)即可,根據(jù)原理圖分析可以提前知道按鍵空閑和按下是什么狀態(tài),程序里檢測到之后對應處理即可。

image.pngimage.png

二、GPIO口輸入模式配置

GPIO口作為按鍵檢測使用時,需要將模式配置成輸入模式,詳細的配置步驟下面有截圖,在手冊里每個功能位都有詳細介紹。

image.pngimage.png

三、核心代碼

#include 

//定義LED燈的端口
#define LED1 P1_2
#define LED2 P1_3

//定義KEY按鍵的端口
#define KEY1 P1_0       //定義按鍵為P1_0口控制
#define KEY2 P1_1       //定義按鍵為P1_1口控制

/*
函數(shù)功能:LED燈IO口初始化
硬件連接:LED1-->P1_2 , LED2-->P1_3
*/
void LED_Init(void)
{
    P1DIR |=0x3<<2;  //配置P1_2、P1_3為輸出模式
    LED1 = 1;
    LED2 = 1;
}

/*
函數(shù)功能:按鍵IO口初始化
硬件連接:KEY1-->P1_0  KEY2-->P1_1  
*/
void KEY_Init(void)
{
    P1SEL&=~(0x3<<0); //配置P1_0,P1_1處于通用GPIO口模式
    P1DIR&=~(0x3<<0); //配置P1_0,P1_1為輸入模式
    P1INP|= 0x3<<0;   //上拉   
}


void delay10ms(void)   //誤差 0us
{
    unsigned char a,b,c;
    for(c=193;c>0;c--)
        for(b=118;b>0;b--)
            for(a=2;a>0;a--);
}


/*
函數(shù)功能:按鍵掃描
返 回 值:按下的按鍵值
*/
unsigned char Key_Scan(void)
{
    static unsigned char stat=1;
    if((KEY1==0||KEY2==0)&&stat)
    {
       stat=0;
       delay10ms();
       if(KEY1==0)return 1;
       if(KEY2==0)return 2;
    }
    else
    {
        if(KEY1&&KEY2)stat=1;
    }
    return 0;
}

/*主函數(shù)*/
void main(void)
{
    unsigned char key;
    LED_Init();//初始化LED燈控制IO口
    KEY_Init();//按鍵初始化
    while(1)          
    {  
       key=Key_Scan();
       if(key)
       {
          LED1 = !LED1;     
          LED2 = !LED2;
       }       
    }
}

復制代碼

編寫完畢之后,編譯,下載程序、測試按鍵

image.png

審核編輯:湯梓紅

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

    關(guān)注

    6023

    文章

    44376

    瀏覽量

    628297
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1172

    瀏覽量

    51511
  • CC2530
    +關(guān)注

    關(guān)注

    19

    文章

    220

    瀏覽量

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

    關(guān)注

    0

    文章

    22

    瀏覽量

    4812
收藏 人收藏

    評論

    相關(guān)推薦

    基于CC2530(ZigBee設計)的溫度報警器

    這是基于CC2530設計的遠程溫度報警器,通過CC2530終端檢測環(huán)境溫度上傳給手機APP實時顯示。
    的頭像 發(fā)表于 05-27 09:54 ?8514次閱讀
    基于<b class='flag-5'>CC2530</b>(<b class='flag-5'>ZigBee</b>設計)的溫度報警器

    CC2530 Zigbee開發(fā)——開發(fā)工作室教程

    `CC2530 Zigbee開發(fā)——開發(fā)工作室教程`
    發(fā)表于 03-08 10:33

    CC2530 點對點通信

    本人是新手,對zigbee不了解,剛買了塊開發(fā)板, 想要實現(xiàn)的功能:當一個CC2530模塊檢測到有按鍵時,通道無線發(fā)送,另一個
    發(fā)表于 05-14 07:56

    【技術(shù)精選】嵌入式STM32原創(chuàng)征文活動精選文章

    CC2530(zigbee)入門開發(fā): 串口收發(fā)配置CC2530(zigbee)入門開發(fā): 外部
    發(fā)表于 07-27 18:26

    基于CC2530芯片_zigbee基礎(chǔ)實驗

    zigbee基礎(chǔ)實驗,基于CC2530芯片
    發(fā)表于 12-11 10:48 ?48次下載

    基于CC2530ZigBee協(xié)調(diào)器節(jié)點設計

    本文給出了基于TI新一代芯片CC2530ZigBee協(xié)調(diào)器節(jié)點設計方法,該方法選用TICC2591作為射頻前端芯片。
    發(fā)表于 01-05 15:25 ?4.8w次閱讀
    基于<b class='flag-5'>CC2530</b>的<b class='flag-5'>ZigBee</b>協(xié)調(diào)器節(jié)點設計

    CC2530芯片的基本特性和CC2530無線模塊的設計

    本文介紹了CC2530芯片的基本特性,論述了以CC2530芯片為核心的無線通信模塊的硬件設計和調(diào)試軟件設計,在介紹設計規(guī)范和模塊結(jié)構(gòu)的基礎(chǔ)上,采用TI公司的CC2530芯片作為主控制芯片設計出具
    發(fā)表于 02-11 08:00 ?96次下載
    <b class='flag-5'>CC2530</b>芯片的基本特性和<b class='flag-5'>CC2530</b>無線模塊的設計

    如何使用ZigBee TI ZStack CC2530 2.5搭建開發(fā)環(huán)境

    本文檔的主要內(nèi)容詳細介紹的是如何使用ZigBee TI ZStack CC2530 2.5搭建開發(fā)環(huán)境。
    發(fā)表于 05-10 18:14 ?24次下載
    如何使用<b class='flag-5'>ZigBee</b> TI ZStack <b class='flag-5'>CC2530</b> 2.5搭建<b class='flag-5'>開發(fā)</b>環(huán)境

    微雪電子ZIGBEE開發(fā)CC2530 Eval Kit簡介

    ZigBee CC2530 串口透傳 開發(fā)套件 物聯(lián)網(wǎng)套件 板載電池插槽 支持多種供電方式 引出所有IO 方便用戶功能擴展 板載一個CP2102 方便調(diào)試下載 型號 CC2530 Ev
    的頭像 發(fā)表于 01-09 11:05 ?1920次閱讀
    微雪電子<b class='flag-5'>ZIGBEE</b><b class='flag-5'>開發(fā)</b>板 <b class='flag-5'>CC2530</b> Eval Kit簡介

    微雪電子ZIGBEE開發(fā)CC2530 Eval Kit5簡介

    ZigBee CC2530 串口透傳 開發(fā)套件 XBEE 物聯(lián)網(wǎng)套件 直插接口兼容Xbee 支持自動組網(wǎng) 支持板載PCB天線及IPEX外接天線 型號 CC2530 Eval Kit5
    的頭像 發(fā)表于 01-10 09:01 ?1933次閱讀
    微雪電子<b class='flag-5'>ZIGBEE</b><b class='flag-5'>開發(fā)</b>板 <b class='flag-5'>CC2530</b> Eval Kit5簡介

    基于CC2530ZigBee通信網(wǎng)的應用設計.pdf

    基于CC2530ZigBee通信網(wǎng)的應用設計.pdf
    發(fā)表于 12-15 18:17 ?23次下載

    CC2530按鍵控制LED開關(guān)實驗

      實驗目的   1)、通過實驗掌握CC2530芯片GPIO的配置方法   2)、掌握Led驅(qū)動電路及開關(guān)Led的原理   3)、掌握檢測按鍵的方法
    發(fā)表于 04-11 15:32 ?6次下載

    CC2530(zigbee)入門開發(fā): 安裝IAR開發(fā)環(huán)境

    CC2530本身是一個51單片機內(nèi)核,開發(fā)過51的搞起來非常容易,也就是多了一個無線射頻部分;如果不使用無線射頻功能,那么就和一個正常的51單片機一樣。要進行CC2530的軟件開發(fā),需
    的頭像 發(fā)表于 05-28 13:38 ?1.1w次閱讀
    <b class='flag-5'>CC2530</b>(<b class='flag-5'>zigbee</b>)<b class='flag-5'>入門開發(fā)</b>: 安裝IAR<b class='flag-5'>開發(fā)</b>環(huán)境

    Zigbee(CC2530)傳感器板

    電子發(fā)燒友網(wǎng)站提供《Zigbee(CC2530)傳感器板.zip》資料免費下載
    發(fā)表于 07-04 14:49 ?10次下載
    <b class='flag-5'>Zigbee</b>(<b class='flag-5'>CC2530</b>)傳感器板

    基于CC2530ZigBee通信網(wǎng)絡的應用設計

    電子發(fā)燒友網(wǎng)站提供《基于CC2530ZigBee通信網(wǎng)絡的應用設計.pdf》資料免費下載
    發(fā)表于 10-26 09:34 ?3次下載
    基于<b class='flag-5'>CC2530</b>的<b class='flag-5'>ZigBee</b>通信網(wǎng)絡的應用設計