STM32 按键实验

STM32 按键实验

项目说明

使用按键对单片机进行输入,之后通过led的显示来展示输出。通过判断输入端口的数值来执行程序,并不才用中断控制的方式。

知识点

  • 1、按键抖动。由于机械点的弹性作用,一个按键开关在闭合时不会马上稳定的接通,在断 开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动。抖动 时间的长短由按键的机械特性决定的,一般为 5ms 到 10ms。
  • 2、按键去抖动的方法。一般来说一个简单的按键消抖就是先读取一次按键的状态,如果得到按键按下之后,延时 10ms,再次读取一次按键的状态,如果按键还是按下状态,那么说明按键已经按下。
  • 3、GPIO的输入模式。采用下啦输入的模式。按键被按下则相应引脚位变为1。

部分代码

1
2
3
4
5
6
7
8
9
if(k_up==1) //判断按键是否被按下
{
delay_ms(10); //延迟10ms
if(k_up==1) //按键仍然被按下
{
GPIO_Write(GPIOC,(u16)0xfe);
}
while(k_up); //等待按键放开后跳出循环
}