新浪博客

7.9. 按键控制LED灯实验-STM32(初学宝典)神舟IV号开发板

2014-09-23 13:33阅读:

7.9.1 实验说明

实现了以上的功能之后,下面我们加多一个按键开关,使得STM32管脚能够读到按键按下的状态,那么这个管脚就应该是一个监听输入的状态:
7.9. <wbr>按键控制LED灯实验-STM32(初学宝典)神舟IV号开发板
按键如上图,下面尝试焊接一下,黑色的有4个腿的。

7.9.2 实验原理图
之前自己搭建好了流水灯电路,每个STM32的芯片管脚连接一个LED灯,每个LED灯连接一个470欧的电阻,现在再加一个按键,具体的原理图如下:
7.9. <wbr>按键控制LED灯实验-STM32(初学宝典)神舟IV号开发板

STM32按键电路原理图

7.9.3 器件清单和连接方法

下图是元器件清单:
品名
型号
位号
数量
备注
JTAG下载电路接口
轻触开关
6×6×6 4脚
S1
1

0805贴片电阻
10K 欧姆
R32
1


7.9.4 程序下载

下载代码,并且按下【复位】键,使得程序开始运行。

7.9.5 代码分析

该代码同以上寄存器例程代码,大家可以找到寄存器版的按键例程进行下载。
int main(void) //main是程序入口
{
unsigned int key_up =1;
RCC_init(); //初始化配置时钟频率为72MHZ
LED_init(); //LED初始化配置
Key_init(); //初始化控制按键的PC4端口

while (1)
{
if(key_up)
LEDON; // 开灯
else
LEDOFF; // 关灯
if ( KEY1 == 0)
key_up = !key_up;
}
}

7.9.6 实验现象

7.9. <wbr>按键控制LED灯实验-STM32(初学宝典)神舟IV号开发板
按下PC4管脚所连的按键(按钮1),每按一次,LED灯会由亮变灭,或者又灭变亮,因为没有防抖代码(下个例程会增加),会发现,有时候按下去,灯会亮灭好几次。



我的更多文章

下载客户端阅读体验更佳

APP专享