STM32的按键原理和编程过程

按键原理

在这里插入图片描述
WK_UP接VCC3.3,是高电平,当WK_UP==1的时候处于开启状态
KEY0和KEY1都接在GND上面,是处在低电平,当KEY0 和 KEY1=0时处于开启状态。

WK_UP接PA0;KEY0接PC5;KEY1接PA15。

mode:0,不支持连续按;1,支持连续按;

key_up=0是按下去;key_up=1是弹出来;

按键编程

实验的主要功能:用三个按键来控制灯的亮灭情况

1、建立led和key的.c文件和.h文件。led.h文件头文件如下:
在这里插入图片描述
key.h文件头文件如下:
在这里插入图片描述


2、写出"led.c"的程序:
引用"led.h"的头文件
写出灯程序
{
定义结构体
使能GPIOA、GPIOD的时钟函数
写出GPIOA、GPIOD分别的内置程序:
GPIO_InitStructure的三个方面:Pin、Mode、Speed,并配置三个方面的格式,根据设定参数初始化
再写出那个端口的输出高即灯灭
}



3、写出"key.h"的程序:
调用key.h的头文件
再调用delay.h的头文件
写出按键程序
{
定义结构体
使能GPIOA、GPIOC的时钟函数
关闭jtag,使能SWD,可以用SWD模式调试
写出KEY0、KEY1、WK_UP分别的内置程序:
GPIO_InitStructure的两个方面:Pin、Mode,并配置两个方面的格式,根据设定参数初始化
再处理按键函数
{
按键松开标志(注意静态工作变量)
选择是否连按
选择if(key_up&&(KEY00||KEY10||WK_UP1))或者   (KEY01&&KEY11&&WK_UP0)
}
}



4、写出主的程序:
引用"led.h"、“delay.h”、“sys.h”、"key.h"的头文件
写出主程序
{
初始化延时函数、KEY函数、LED函数
写一个开关函数
设置使用按键控制小灯反装
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值