2420|0

16

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

【连载】【星光闪电STM32F407开发板】第七章 按键输入实验 [复制链接]

                  第 按键输入实验

7.1 实验目的
本实验旨在学习STM32IO作为数字输入口的使用方法,开发板板载4个功能按键,通过这几个按键学习机械按键的检测原理。

7.2 实验简介
常用的按键键盘分为独立式按键和矩阵式按键。独立式按键电路为每个按键占用一个IO口,按键数目较少时(6个以内)采用这种方式较好;矩阵式按键为行列扫描式按键电路,当按键较多时,采用这种方式为宜,占用IO较少。本实验采用的就是独立式按键电路。下图为1个4*4矩阵键盘示例。
7.2.1
按键在闭合和断开的瞬间,不会立即处于稳定的闭合或断开状态,会有一个抖动的过程,一般为5-10ms,如图7.2.2,在设计按键驱动程序时要注意这点,消除抖动的干扰,不然会出现按下一次按键,执行多次的现象,这就是抖动造成的。
7.2.2
按键消抖方法:
① 检测到按键按下,延时20ms,再检测按键,如果依然按下,判断按键有效,执行相关操作。
② 检测到按键按下,延时1ms,循环检测20次,20次后,按键依然按下,判断按键有效,执行相关操作。
③ 检测到按键按下,利用定时器定时1ms,后再检测,循环检测20次,20次后,按键依然按下,判断按键有效,执行相关操作。
3种方法,第一种实时性最低,第三种实时性最高,星光开发板按键驱动采用的是第二种,后面章节学完定时器后,用户可以尝试实现第3种方法。

7.3 电路设计
闪电F407开发板载有4个功能按键,电路如图7.3.1所示:
图7.3.1
其中KEY1按键连接到PA0上,可用作普通按键,也可以用作待机唤醒输入,另外3个按键用作普通按键,KEY2-KEY4分别连接到STM32的PE2、PE3、PE4,这4个按键都可以作为普通IO输入,这4个按键都是低电平有效的。

7.4 软件设计
打开光盘目录下的3、程序源码->1、基础实验->下的实验4 按键输入实验工程,打开左侧目录树BSP下的key.c文件,此为按键的驱动程序文件,工程目录如下图所示:
图7.4.1
打开key.c文件,代码如下:
                                       
                                       
                                       
                                       
                                       
                                         
按键驱动程序,用到一个按键信息结构体,定义在头文件key.h中,如下所示:
打开main.c文件,按键应用的处理代码如下:
                                 
                                 
7.5 下载验证
用MINI USB线通过CN3的USB口连接电脑和开发板,拨动电源开关给开发板上电,D3电源指示灯点亮,连接好JLINK/ST-LINK下载调试器,打开“实验4 按键输入实验”工程代码,编译下载,按下KEY1键D4亮,按下KEY2键D4灭,按下KEY3键D5亮,按下KEY4键D5灭。



此内容由EEWORLD论坛网友hejecu原创,如需转载或用于商业用途需征得作者同意并注明出处


实验4 按键输入实验.zip

644.54 KB, 下载次数: 8

此帖出自stm32/stm8论坛
点赞 关注(1)
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表