LED闪烁+按键控制蜂鸣器
简介
实验名称:LED闪烁+按键控制蜂鸣器
实验现象:两个LED小灯闪烁,按下按键KEY1蜂鸣器响,再按一下蜂鸣器不不响
硬件需求:STM32单片机,LED灯,按键,蜂鸣器
配置方法(轮询法)
1. 配置LED
实现LED初始化函数LED_Init();
2.配置延时
实现延时函数:void delay_ms(u16 nms)
3.配置按键
实现按键初始化函数:void KEY_Init(void);
实现按键扫描函数:uint8_t KEY_Scan(uint8_t mode)
4.编写主函数
最重要的就是主函数了,不能采用普通的延时做法:LED1亮–延时–LED1灭–LED2亮–延时–LED2灭–延时–扫描按键。这样的做法会使单片机处理信息阻塞,导致按键不灵敏。
应该使用轮询法:单片机有个小延时,比如10ms,到时间后变量i++。i达到设定值LED闪烁,其他时间扫描按键实现蜂鸣器响/不响。
实验代码(轮询法)
KEY和LED的代码在前面都有,没有变化,这里只贴出主函数。
int main(void)
{
uint32_t i=0;
LED_Init();
KEY_Init();
LED1 = 1;
LED2 = 1;
while(1)
{
switch