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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 434|回復: 11
收起左側

求大佬寫一個STM32單片機按鍵控制流水燈和蜂鳴器

[復制鏈接]
ID:1151234 發表于 2025-5-22 01:17 | 顯示全部樓層 |閱讀模式
通過按鍵能夠實現對燈光的啟動、關閉、效果花樣切換功能 3.設計要求至少控制8盞LED燈,能夠完成至少四種花樣。能夠實現燈光能與蜂鳴器的配合
我試了好多代碼忙了好幾天了還是不行
1000144946.png
回復

使用道具 舉報

ID:1091366 發表于 2025-5-22 08:31 | 顯示全部樓層
按鍵下去一個燈亮,這個最簡單的你完成了嗎
回復

使用道具 舉報

ID:1151234 發表于 2025-5-22 15:13 | 顯示全部樓層
SHH123456 發表于 2025-5-22 08:31
按鍵下去一個燈亮,這個最簡單的你完成了嗎

這個我會但是這個好難我不會
回復

使用道具 舉報

ID:1151234 發表于 2025-5-22 15:15 | 顯示全部樓層
我找了好多代碼好多模板去改進到最后還是不行,檢測按鍵按下后,燈就不亮
回復

使用道具 舉報

ID:1064915 發表于 2025-5-23 09:34 | 顯示全部樓層
電路有瑕疵,單片機是控制,不能驅動
回復

使用道具 舉報

ID:1151234 發表于 2025-5-23 11:25 | 顯示全部樓層
joyb 發表于 2025-5-23 09:34
電路有瑕疵,單片機是控制,不能驅動

我是小白大佬幫幫
回復

使用道具 舉報

ID:1151327 發表于 2025-5-23 12:41 | 顯示全部樓層
好簡單,需要遠程幫忙調試不
回復

使用道具 舉報

ID:370824 發表于 2025-5-23 14:51 | 顯示全部樓層
你這個LED燈接法錯誤, 正負極反了哦
回復

使用道具 舉報

ID:554658 發表于 2025-5-23 15:32 | 顯示全部樓層
是的,LED接反了
回復

使用道具 舉報

ID:1151234 發表于 2025-5-24 01:37 | 顯示全部樓層
已經做完了,
回復

使用道具 舉報

ID:420836 發表于 2025-5-26 05:02 | 顯示全部樓層
LED正負極接反
回復

使用道具 舉報

ID:1151681 發表于 2025-5-26 10:49 | 顯示全部樓層
#include "main.h"  // 定義流水燈引腳 #define LED_PORT GPIOA #define LED_PIN1 GPIO_PIN_0 #define LED_PIN2 GPIO_PIN_1 #define LED_PIN3 GPIO_PIN_2 #define LED_PIN4 GPIO_PIN_3 #define LED_PIN5 GPIO_PIN_4 #define LED_PIN6 GPIO_PIN_5 #define LED_PIN7 GPIO_PIN_6 #define LED_PIN8 GPIO_PIN_7  // 定義蜂鳴器引腳 #define BUZZER_PORT GPIOB #define BUZZER_PIN GPIO_PIN_0  // 定義按鍵引腳 #define BUTTON_PORT GPIOC #define BUTTON_PIN GPIO_PIN_13  // 定義流水燈狀態 uint8_t led_state = 0;  void SystemClock_Config(void); static void MX_GPIO_Init(void);  int main(void) {     HAL_Init(); // 初始化HAL庫     SystemClock_Config(); // 配置系統時鐘     MX_GPIO_Init(); // 初始化GPIO      while (1)     {         // 檢測按鍵是否按下(低電平有效)         if (HAL_GPIO_ReadPin(BUTTON_PORT, BUTTON_PIN) == GPIO_PIN_RESET)         {             // 按鍵按下,控制流水燈和蜂鳴器             HAL_Delay(200); // 延時消抖              // 更新流水燈狀態             led_state = (led_state + 1) % 8;              // 清除所有流水燈             HAL_GPIO_WritePin(LED_PORT, LED_PIN1 | LED_PIN2 | LED_PIN3 | LED_PIN4 |                                       LED_PIN5 | LED_PIN6 | LED_PIN7 | LED_PIN8, GPIO_PIN_RESET);              // 點亮當前流水燈             switch (led_state)             {                 case 0:                     HAL_GPIO_WritePin(LED_PORT, LED_PIN1, GPIO_PIN_SET);                     break;                 case 1:                     HAL_GPIO_WritePin(LED_PORT, LED_PIN2, GPIO_PIN_SET);                     break;                 case 2:                     HAL_GPIO_WritePin(LED_PORT, LED_PIN3, GPIO_PIN_SET);                     break;                 case 3:                     HAL_GPIO_WritePin(LED_PORT, LED_PIN4, GPIO_PIN_SET);                     break;                 case 4:                     HAL_GPIO_WritePin(LED_PORT, LED_PIN5, GPIO_PIN_SET);                     break;                 case 5:                     HAL_GPIO_WritePin(LED_PORT, LED_PIN6, GPIO_PIN_SET);                     break;                 case 6:                     HAL_GPIO_WritePin(LED_PORT, LED_PIN7, GPIO_PIN_SET);                     break;                 case 7:                     HAL_GPIO_WritePin(LED_PORT, LED_PIN8, GPIO_PIN_SET);                     break;             }              // 蜂鳴器發聲             HAL_GPIO_WritePin(BUZZER_PORT, BUZZER_PIN, GPIO_PIN_SET);             HAL_Delay(100); // 蜂鳴器發聲100ms             HAL_GPIO_WritePin(BUZZER_PORT, BUZZER_PIN, GPIO_PIN_RESET);         }     } }  static void MX_GPIO_Init(void) {     GPIO_InitTypeDef GPIO_InitStruct = {0};      // 使能GPIO時鐘     __HAL_RCC_GPIOA_CLK_ENABLE();     __HAL_RCC_GPIOB_CLK_ENABLE();     __HAL_RCC_GPIOC_CLK_ENABLE();      // 配置流水燈引腳為輸出模式     GPIO_InitStruct.Pin = LED_PIN1 | LED_PIN2 | LED_PIN3 | LED_PIN4 |                           LED_PIN5 | LED_PIN6 | LED_PIN7 | LED_PIN8;     GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;     GPIO_InitStruct.Pull = GPIO_NOPULL;     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;     HAL_GPIO_Init(LED_PORT, &GPIO_InitStruct);      // 配置蜂鳴器引腳為輸出模式     GPIO_InitStruct.Pin = BUZZER_PIN;     GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;     GPIO_InitStruct.Pull = GPIO_NOPULL;     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;     HAL_GPIO_Init(BUZZER_PORT, &GPIO_InitStruct);      // 配置按鍵引腳為輸入模式,上拉電阻使能     GPIO_InitStruct.Pin = BUTTON_PIN;     GPIO_InitStruct.Mode = GPIO_MODE_INPUT;     GPIO_InitStruct.Pull = GPIO_PULLUP;     HAL_GPIO_Init(BUTTON_PORT, &GPIO_InitStruct); }  void SystemClock_Config(void) {     // 系統時鐘配置(根據開發板實際情況進行配置)     // 這里使用默認的系統時鐘配置 }
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美黄色大片在线观看 | 欧洲性生活视频 | www一级片 | 欧美在线观看网站 | 精品日韩一区二区三区 | 久久国产视频一区 | 美人の美乳で授乳プレイ | 久久精品久久久久久 | 欧美一区二区三区在线播放 | 亚洲毛片在线观看 | 青青草综合 | 久久久久久久久久毛片 | 又黑又粗又长的欧美一区 | 国产精品一区二区欧美黑人喷潮水 | 欧美精品一区二区蜜桃 | 日韩精品在线看 | 欧美一级毛片在线播放 | 亚洲欧美在线一区 | 日本中文字幕在线观看 | 国产精品久久久久久久久久久久冷 | 日韩中文一区二区三区 | 视频在线一区 | 成年人国产在线观看 | 在线亚洲一区 | 一区二区在线不卡 | 一区二区三区四区电影视频在线观看 | 国产中文字幕av | 99久久国产精 | 一区二区在线免费观看视频 | 91精品国产欧美一区二区 | 91影库| 亚洲视频在线观看 | 国产99在线 | 欧美 | 日日夜夜免费精品 | 国产精品美女一区二区三区 | 成年无码av片在线 | 国产一级免费视频 | 国产精品久久777777 | 成人自拍视频 | 99久久国产精 | 九九热精品视频 |