基于LPC1752的独立按键的原理及实现

发布时间:
来源: 电子工程世界

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

测试结果:

测试结果表明,按键驱动可以正常使用。


文章来源于: 电子工程世界 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。