stm32按鍵
#include "stm32f10x.h" // Device header
#include "Delay.h"
#include "LED.h"
#include "Key.h"
uint8_t Num; //定義用于接收按鍵鍵碼的變量
uint8_t ledCount = 0;
#define MAX_LEDS 5
void UpdateLEDs(void) {
for (uint8_t i = 0; i < MAX_LEDS; i++) {
if (i < ledCount) {
GPIO_ResetBits(GPIOA, 1 << i); // 點亮LED
} else {
GPIO_SetBits(GPIOA, 1 << i); // 熄滅LED
}
}
}
int main(void)
{
/*模塊初始化*/
LED_Init(); //LED初始化
Key_Init(); //按鍵初始化
while (1)
{
Num = Key_GetNum(); //獲取按鍵鍵碼
if (Num == 1) //按鍵1按下
{
LED1_Turn();
//LED1翻轉
}
if (Num == 2) //按鍵2按下
{ LED1_Turn();
LED2_Turn(); //LED2翻轉
}
/*if (Num == 3) //按鍵2按下
{LED1_Turn();
LED2_Turn();
LED3_Turn(); //LED2翻轉
}
if (Num == 4) //按鍵2按下
{LED1_Turn();
LED2_Turn();
LED3_Turn();
LED4_Turn(); //LED2翻轉
}*/
if (Num == 3) //按鍵2按下
{if (ledCount < MAX_LEDS) {
ledCount++; // 增加LED數量
UpdateLEDs(); // 更新LED狀態
} //LED2翻轉
}
if (Num == 4) //按鍵2按下
{ if (ledCount >0) {
ledCount--; // 增加LED數量
UpdateLEDs(); // 更新LED狀態
} //LED2翻轉
}
}
}
原理圖: 無
仿真: 無
代碼:
按鍵檢測一外部中斷(EXTI).7z
(178.06 KB, 下載次數: 0)
2025-4-14 18:15 上傳
點擊文件名下載附件
|