1. 简介
本文档主要介绍LPC1752采集4个独立按键的原理及实现。
本设计共有4个独立按键,分别是确认键(SW1)、上键(SW2)、下键(SW3)和复合键(SW4)。确认键(SW1)连接至LPC1752的P1.25引脚,上键(SW2)连接至LPC1752的P1.26引脚,下键(SW3)连接至LPC1752的P1.28引脚,复合键(SW4)连接至LPC1752的P1.29引脚。连接图如下:

图1 独立按键连接图
本设计按键采用高电平输入有效方式。按键按下时,LPC1752检测到高电平,认为有按键信号输入。本设计可以处理独立按键的按下、长按以及按键间的组合键。
2. 程序设计
2.1 定义

2.2 初始化函数KeyInit
初始化与按键相连的GPIO,设置为带下拉的输入模式。代码实现如图2。

图2 KeyInit函数
2.3 设置按键状态值函数CheckPinKeyState
设置按键按下或者长按时按键状态值。代码实现如图3。

图3 CheckPinKeyState函数
2.4 读取按键ReadKeyState
读取引脚的值,消除抖动后,根据该值调用CheckPinKeyState函数设置按键状态值。具体代码如图4。

图4 ReadKeyState函数
3. 测试
测试流程:
每隔200ms检测一下按键的值,当按键按下时,使用Watch1监测KeyStateRead的值。测试代码如图5。

图5 测试主函数main
测试结果:

测试结果表明,按键驱动可以正常使用。
编辑:hfy
-
独立按键
+关注
关注
1文章
45浏览量
12065 -
LPC1752
+关注
关注
0文章
4浏览量
3729
发布评论请先 登录
求助,关于LPC546XX CTIMER 配置问题求解
使用 LPC55S69 和 MCUX 驱动程序的 CDC 应该实现什么样的吞吐量?
探索LPC82x 32位ARM Cortex - M0+微控制器:特性、应用与设计要点
探索NXP LPC111xLV/LPC11xxLVUK 32位ARM Cortex - M0微控制器
ADP1752/ADP1753:低输入电压、低 dropout 线性稳压器的卓越之选
LPC800系列MCU:低功耗与高性能的完美结合
探索NXP LPC5536-EVK评估板:快速上手指南
如何进行按键检测
CW32 电容式触摸按键设计指南
使用德思特GNSS模拟器实现RTK基站与流动站的独立模拟
按键消抖的方法
Key_Scan按键扫描函数详解
AS32X601驱动系列教程 GPIO_按键检测详解
基于LPC1752的独立按键的原理及实现
评论