久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1274|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)按鍵電路模塊設(shè)計

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1120726 發(fā)表于 2024-5-15 01:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在這段程序中,按鍵的原理及作用如下:
### 按鍵原理:
1. **按鍵狀態(tài)檢測**:程序通過查詢(`KEY1`, `KEY2`, `KEY3`, `KEY4`)這四個宏或變量的值來檢測按鍵的狀態(tài)。當(dāng)按鍵被按下時,對應(yīng)的宏或變量會被設(shè)置為0,表示低電平;當(dāng)按鍵釋放時,對應(yīng)的宏或變量會被設(shè)置為1,表示高電平。
2. **去抖動**:為了過濾掉按鍵按下和釋放時的機(jī)械抖動,程序中使用了`delay_ms(10)`函數(shù)在檢測到按鍵按下后延時10毫秒。這樣可以避免短暫的電平變化導(dǎo)致的誤操作。
### 按鍵作用:
1. **KEY_Init函數(shù)**:這個函數(shù)初始化GPIOA端口的四個引腳(Pin 5, 6, 4, 7),將它們設(shè)置為輸入上拉模式。這意味著引腳內(nèi)部有一個上拉電阻,當(dāng)沒有按鍵按下時,引腳電平會被拉高到近似于電源電壓(3.3V或5V,取決于具體的微控制器)。
2. **KEY_Scan函數(shù)**:這個函數(shù)用于掃描按鍵的狀態(tài),并返回按鍵值。
   - 當(dāng)`mode`參數(shù)為1時,`key_up`變量被設(shè)置為1,表示程序開始檢測按鍵釋放。
   - 如果`key_up`為1,并且任何一個按鍵被按下,程序會等待10毫秒的延時,然后將`key_up`設(shè)置為0,表示檢測到按鍵按下。
   - 然后程序檢查是哪個按鍵被按下,并返回相應(yīng)的按鍵值(1, 2, 3, 或4)。
   - 如果所有按鍵都釋放,`key_up`被設(shè)置為1,準(zhǔn)備檢測下一個按鍵事件。
   - 如果沒有任何按鍵被按下,函數(shù)返回0。
總結(jié)來說,這段程序中的按鍵用于用戶輸入,通過檢測按鍵的狀態(tài)變化來觸發(fā)不同的操作。當(dāng)按鍵被按下時,程序能夠識別并返回一個值,這個值可以用來執(zhí)行相應(yīng)的功能,例如在菜單選擇、參數(shù)配置或者其他用戶交互場景中。

單片機(jī)源程序如下:
#include "key.h"
#include "sys.h"
#include "delay.h"
#include "user_peripheral.h"
#if KEY_Pre
void KEY_Init(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);

        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_4|GPIO_Pin_7;//
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
        GPIO_Init(GPIOA, &GPIO_InitStructure);

}


u8 KEY_Scan(u8 mode)
{         
        static u8 key_up=1;
        if(mode)key_up=1;               
        if(key_up&&(KEY1==0||KEY2==0||KEY3==0||KEY4==0))
        {
                delay_ms(10);
                key_up=0;
                if(KEY1==0)return 1;
                else if(KEY2==0)return 2;
                else if(KEY3==0)return 3;
                else if(KEY4==0)return 4;
        }else if(KEY1==1&&KEY2==1&&KEY3==1&&KEY4==1)key_up=1;            
        return 0;
}

#endif
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:1120915 發(fā)表于 2024-5-15 20:41 | 只看該作者
  good,有收獲椰絲!!!
回復(fù)

使用道具 舉報

板凳
ID:1120915 發(fā)表于 2024-5-15 20:48 | 只看該作者
謝謝分享,學(xué)到了!
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久国产精品久久久久久 | 人人99 | 国产精品自拍啪啪 | 日韩视频专区 | 中文字幕在线播放不卡 | 日韩精品极品视频在线观看免费 | 国产乱人伦精品一区二区 | 亚洲电影中文字幕 | 天堂综合网久久 | 久草在线在线精品观看 | 午夜国产羞羞视频免费网站 | 精品婷婷 | 伊人在线| 久久久久久久久久爱 | 亚洲免费视频一区 | 三级在线视频 | av影音资源| 久久亚洲春色中文字幕久久久 | 狠狠艹 | 欧美精品一区二区三区蜜桃视频 | 综合在线视频 | 91久操网| 国产精品污www一区二区三区 | 激情黄色在线观看 | 国产色网 | 中文字幕1区 | 久久丝袜 | 国产精品久久久久久高潮 | 中文字幕在线视频精品 | 国产精品1区2区 | 天天操天天拍 | 国产精品久久久久久久模特 | 日韩精品视频网 | 性生活毛片 | 91国产视频在线 | 操一草| 中文字幕高清一区 | 美国一级黄色片 | 一级一级一级毛片 | 亚洲人人 | 岛国午夜 |