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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1323|回復: 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.国产一区 | 成人免费观看男女羞羞视频 | 久久亚洲视频 | 午夜电影网| 天天干夜夜操 | 欧美一级久久 | 欧美美女被c | 91精品国产综合久久福利软件 | 久久精品一区二区三区四区 | 日韩成人在线播放 | 成人av免费 | 亚洲视频在线观看 | 亚洲美女在线视频 | 久草在线 | 久久久久国产 | 久久久久国产精品 | 国产99热精品| 色婷婷婷婷色 | 亚洲自拍偷拍欧美 | 精品久久久久久久久亚洲 | 欧美日韩大片 | 色狠狠一区 | 国产一区二区欧美 | 久久机热 | 国产精品亚洲综合 | 亚洲国产高清在线 | 日韩中文字幕一区二区 | 欧美黄色大片在线观看 | 国产精产国品一二三产区视频 | 亚洲国产精品久久 | 久久久国产一区二区三区四区小说 | 国产精品欧美一区二区 | 日本韩国欧美在线观看 | 精品久久久久久久 | 亚洲一级毛片 | 国产精品伦一区二区三级视频 | 狠狠干av| 一区二区三区在线观看免费视频 | 视频在线一区二区 | 1级毛片| 久久99精品久久久97夜夜嗨 |