STM32第一课:按键控制LED灯和蜂鸣器

您所在的位置:网站首页 stm32一个按键控制灯亮灭代码 STM32第一课:按键控制LED灯和蜂鸣器

STM32第一课:按键控制LED灯和蜂鸣器

2024-07-10 15:40| 来源: 网络整理| 查看: 265

文章目录 功能要求一、开发思路二、详细步骤及相关代码1.查看原理图2.各个模块代码的编写LED灯按键蜂鸣器 三、主函数编写四、总结

功能要求

设备上电,4个灯灭 按键1按下,4个灯灭 按键2按下,4个灯亮 按键3按下,蜂鸣器响 按键4按下,蜂鸣器关闭

一、开发思路

1.打开原理图找到对应模块的引脚,分析电路工作的原理。 2.顺着引脚找到连接芯片的对应位置,看看到底是PX几。 3.打开参考手册找到GPIOX的位置,并顺着GPIOX的位置找到该部分的时钟总线。 4.在参考手册中找到该总线的寄存器,查看如何配置能够开启对应的时钟。 5.配置引脚模式。低八位(0-7)配置GPIOx_CRL,高八位(8-15)配置GPIOx_CRH。 6.通过ODR/IDR,配置默认输出/输入数据。 7.根据以上编写好对应模块的.c和.h文件。 8.在main函数中进行综合编程,以满足功能要求。

二、详细步骤及相关代码 1.查看原理图

找到所需模块的位置并分析工作高低电平。 LED灯模块: 在这里插入图片描述 分析电路: 4个LED灯末端接低电平时开始工作。

按键模块: 在这里插入图片描述 分析电路: KEY1默认低电平,按下时会产生一个高电平信号 KEY2,KEY3,KEY4均为默认高电平,按下时会产生一个低电平信号。

蜂鸣器模块: 在这里插入图片描述 分析电路: 当输入低电平时电路截止,蜂鸣器不响。 等输入高电平时电路导通,蜂鸣器开始响。

找到芯片上每个模块对应的引脚 1.LED灯: 在这里插入图片描述 2.按键: 在这里插入图片描述在这里插入图片描述 3.蜂鸣器: 在这里插入图片描述

2.各个模块代码的编写 LED灯

从原理图上我们可以得知四个LED灯分别对应的引脚为PE2-PE5,且低电平使能。 此时我们可以打开参考手册找到系统结构,在系统结构中找到控制GPIOE的时钟。 在这里插入图片描述 在这里插入图片描述 由图可知: 控制GPIOE的时钟在APB2总线上。 时钟可以理解为控制GPIOE的开关总闸,若要使用该部分就必须先打开该部分的时钟。

如何打开对应的时钟呢? 首先在芯片手册中找到APB2外设时钟使能寄存器。 在这里插入图片描述 我们可以看到,IOPE的位置在底6位。 该寄存器默认都是0,所有时钟均为关闭状态,置为1时为打开。 所以为了使用PE部分的引脚,我们需要将第6位置为1。 在代码中为:

RCC->APB2ENR |= 0X01


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3