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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1093|回復: 2
收起左側

單片機按鍵電路模塊設計

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

單片機源程序如下:
#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
回復

使用道具 舉報

ID:1120915 發表于 2024-5-15 20:41 | 顯示全部樓層
  good,有收獲椰絲!!!
回復

使用道具 舉報

ID:1120915 發表于 2024-5-15 20:48 | 顯示全部樓層
謝謝分享,學到了!
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: www.久久久久久久久 | 欧美日韩国产一区二区 | 欧美日韩在线一区二区 | 国产亚洲精品久久情网 | 精品国产一区二区三区久久影院 | 国产小u女发育末成年 | 午夜影院 | 亚洲人成人一区二区在线观看 | 国产精品国产精品国产专区不片 | 一区二区三区视频在线免费观看 | 亚洲一区视频 | 国产精品成人一区二区三区 | 91在线成人 | 色必久久 | 一区二区免费在线 | 超碰精品在线 | 特黄特色大片免费视频观看 | 99久久精品国产一区二区三区 | 久久久久久网站 | 欧洲精品在线观看 | 日本不卡一二三 | 一级欧美黄色片 | 国产日韩精品一区 | 可以免费观看的av片 | 日本三级在线网站 | 男女爱爱福利视频 | 欧美国产精品一区二区三区 | 成人在线免费观看 | 国产视频中文字幕 | 男人天堂网址 | 99精品国自产在线观看 | 黄色片av | 超碰男人天堂 | 精品一区二区三区日本 | 欧美精品一区在线观看 | a视频在线观看 | 亚洲精品国产第一综合99久久 | 久久精品亚洲 | 久久久精品一区二区三区 | 五月天天色 | 欧美日韩亚洲视频 |