一、实验目的

实现按键按下去的时候蜂鸣器响,并且有流水灯效果,当按下另一个按键的时候,关闭蜂鸣器和流水灯。

二、实验原理

图 5.2.1 蜂鸣器原理图

蜂鸣器与 STM32F4 连接原理图图中我们用到一个 NPN 三极管(S8050)来驱动蜂鸣器,R61 主要用于防止蜂鸣器的误发声。当 PB5 输出高电平的时候,蜂鸣器将发声,当 PB5 输出低电平的时候,蜂鸣器停止发声。

主要仪器设备

GEC-STM32F429开发板和keil 5软件

三、实验内容及步骤

  1. 首先用keil软件打开实验项目,确保可编译之后。
  2. 开发板使用usb连接线连接上电脑
  3. 然后使用点击load加载到开发板上。
  4. 修改代码
  5. 以下是main函数代码
#include "stm32f4xx.h"
#include "./led/bsp_led.h"
#include "./key/bsp_key.h"
#include "./beep/bsp_beep.h"int i=0;
void delay(int time);
int led1 = 1;
int led2 = 0;void Delay1(__IO u32 nCount); /*** @brief  主函数* @param  无* @retval 无*/
int main(void)
{/* LED 端口初始化 */LED_GPIO_Config();   /*初始化按键*/Key_GPIO_Config();/*峰名器 初始化*/BEEP_GPIO_Config(); /* 轮询按键状态,若按键按下则反转LED */ while(1)                            {       if( Key_Scan(KEY1_GPIO_PORT,KEY1_PIN) == KEY_ON  ){while(1){/*LED1反转*/LED1_TOGGLE;delay(1000000);LED2_TOGGLE;delay(1000000);LED3_TOGGLE;delay(1000000);BEEP_ON;if( Key_Scan(KEY2_GPIO_PORT,KEY2_PIN) == KEY_ON  ){/*LED2反转*/LED1(ON);delay(1000000);LED2(ON);delay(1000000);LED3(ON);delay(1000000); BEEP_OFF;break;} }  }}
}void delay(int time){for(;i<time;i++){}i= 0;
}void Delay1(__IO uint32_t nCount)   //延时函数
{for(; nCount != 0; nCount--);
}

【致敬嵌入式攻城狮第2期活动预热征文】蜂鸣器加流水灯按键检测的实现相关推荐

  1. 【致敬嵌入式攻城狮第2期活动预热征文】解决瑞萨RA2E1开发板在RT-Thread的版本中编译报错 error: ‘board_cfg.h‘ file not found

    解决瑞萨RA2E1开发板在RT-Thread的版本中编译报错 error: 'board_cfg.h' file not found 继上上周在RA2E1开发板上跑通了RT-Thread最新版本的代码 ...

  2. 【致敬嵌入式攻城狮第2期活动预热征文】 [深入理解SSD 20] 话说固态硬盘里的HMB

    声明 主页: 元存储的博客_CSDN博客 依公开知识及经验整理,如有误请留言. 个人辛苦整理,付费内容,禁止转载. 内容摘要 1. 何为 HMB? 2. HMB 是怎么做到的? 2.1 被替代的 DR ...

  3. Haozi的嵌入式攻城狮修炼历程

    文章目录 入门 -- 基础 进阶 -- RTOS(RT-Thread) 番外:工具 练习:设计 入门 -- 基础 ===>> 此系列代码在这 Gitee <<=== STM32 ...

  4. 嵌入式攻城狮 I Linux基础

    一.操作系统概述 1.励志公式 2.什么是OS? 3.不同领域的主流操作系统 4.虚拟机 5.操作系统发展简史 转存失败重新上传取消二.Linux与Windows对比 1.Windows与Linux的 ...

  5. 《致敬未来的攻城狮计划》 第2期正式开启报名。。。

    <致敬未来的攻城狮计划> 第2期 摘要: 一个崭新的计划,寻找那群有志于向嵌入式发展的未来工程师! 1 活动计划初衷 <致敬未来的攻城狮计划>来源于架构师李肯的一个念想,我一直 ...

  6. 【致敬未来的攻城狮计划】第1期 作业汇总贴 + 获奖公布

    ​ 文章目录 一.写在前面 二.种子学员介绍 三.作业贴汇总 四.小小总结 五.获奖公布 六.学员有话说 七.特别致谢 一.写在前面 时间过得真快,距离 [致敬未来的攻城狮计划]第1期 的发起,已经过 ...

  7. 【致敬未来的攻城狮计划】第2期定向赠书《RT-Thread设备驱动开发指南》+ 《GD32 MCU原理及固件库开发指南》

    开启攻城狮的成长之旅!这是我参与的由 CSDN博客专家 架构师李肯(超链接:http://yyds.recan-li.cn)和 瑞萨MCU (超链接:瑞萨电子 (Renesas Electronics ...

  8. 《致敬未来的攻城狮计划》| 文末赠书3本

    <致敬未来的攻城狮计划>-- 文末有福利 摘要: 一个崭新的计划,寻找那群有志于向嵌入式发展的未来工程师! 文章目录 1 活动计划初衷 2 活动计划形式 3 活动计划收获 4 活动计划要求 ...

  9. 【致敬未来的攻城狮计划】— 连续打卡第一天:提前对CPK_RA2E1是瑞萨RA系列开发板的初体验,了解一下(文字上的初理解)

    系列文章目录 系列文章目录 前言 一.瑞萨MCU(CPK_RA2E1是瑞萨RA系列开发板)是什么? 首先引入是什么? 他的优势在哪? 瑞萨CPK_RA2E1 对标stm32 相似之处和不同之处? 瑞萨 ...

最新文章

  1. 201-3-19李宏毅机器学习视频笔记七(游戏解释Gradient Descent)
  2. 【2-SAT问题】解题报告:POJ 3678 Katu Puzzle(2-SAT问题的判定)
  3. LUA中相同签名函数覆盖
  4. 面试中关于多线程同步,你必须要思考的问题
  5. 笨方法“学习python笔记之输入
  6. Mr.J-- jQuery学习笔记(十三)--选项Tab卡
  7. linux bochs 网卡,Bochs 在Windows和Linux下配置对比
  8. ASP.NET长文章分页
  9. java为什么要设计包装类_Java 为什么需要包装类
  10. 获取本地文件所需配置
  11. C-Free 5.0最新注册码
  12. 【数学逻辑思维】A 好玩的数独游戏——002
  13. vss导入git vss导入svn
  14. Three.js星空粒子特效
  15. Linux 系统中的用户管理
  16. 黑客张福:互联网是黑暗的森林
  17. 开源基于涂鸦模组和沁恒RISC-V 架构32位MCU的IOT物联网生活环境监测系统及涂鸦模组使用
  18. 如何区分b ,B,KB,MB,GB?
  19. 中介模式(python实现2)
  20. 第一章:机器学习概览

热门文章

  1. Python:解析PDF文本及表格——pdfminer、tabula、pdfplumber 的用法及对比
  2. Excel工作表事件(4)- 单元格修订记录跟踪
  3. Linux内核二进制hook的手艺-总结
  4. signature=e260e08d0d5973d18c37cc596c51cae8,女性不妊症領域におけるレーザー手術の現況...
  5. 最新版基于TP开发的9国语言海外多语言抢单源码+9色前端UI
  6. 实现北大官网首页的动态图标
  7. OSS signature 计算
  8. 新入职的 Java 同事天天净写垃圾代码,难道就没办法?
  9. tomcat8弱口令漏洞复现与getshell
  10. 老司机双十一厚礼之玩转 3D Swiper 性感秀之思路分析总结