K60入门课程 06 首都师范大学物理系 靳熙芃
按键处理(interrupt) 消抖 按键轮询检测 按键中断检测
知识回顾 输入 (Input) 控制IO端口 输出 (Output) GPIO_ReadBit(uint32_t instance, uint8_t pin) 输入 (Input) GPIO_QuickInit(uint32_t instance, uint32_t pinx, GPIO_Mode_Type mode) 控制IO端口 GPIO_WriteBit(uint32_t instance, uint8_t pin, uint8_t data) 输出 (Output) GPIO_ToggleBit(uint32_t instance, uint8_t pin) 延时函数: DelayInit() DelayMs()
按键 是输入?还是输出? 需要调用哪些函数?
上拉电阻与下拉电阻 上拉电阻与下拉电阻用在什么场合? 用在数字电路中,存在高低电平的场合。 上拉电阻与下拉电阻怎么接线? 上拉电阻与下拉电阻用在什么场合? 用在数字电路中,存在高低电平的场合。 上拉电阻与下拉电阻怎么接线? 上拉电阻:电阻一端接VCC,一端接逻辑电平接入引脚 (如单片机引脚) 下拉电阻:电阻一端接GND,一端接逻辑电平接入引脚 (如单片机引脚)
开关抖动
按键消抖的方法 硬件去抖 软件去抖
按键消抖的方法 硬件去抖 软件去抖 延时函数
开关抖动 5-10ms 5-10ms
练习6-1 自行编写一个小程序,加入按键去抖,使按键 按下时LED1亮,松开按键时LED1熄灭 检测按键是否按下 延时消抖 再次检测按键是否按下 执行相应的程序
按键轮询检测
作业1 利用按键控制数码管上面显示的数字,第一次按 下按键时数码管上面显示数字一,第二次显示数 字二,以此类推一直显示到数字九后,再次循环
作业2 利用按键控制LED灯闪烁的次数,按第一次按键时 LED以400ms为周期闪烁一次,第二次按下按键 LED闪烁两次,第三次闪烁三次,以此类推。。。 当按下第6次按键时从头开始LED闪烁一次,之后 以此方式循环。