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

电子说

1.2w人已加入

描述

1. 简介

本文档主要介绍LPC1752采集4个独立按键的原理及实现。

本设计共有4个独立按键,分别是确认键(SW1)、上键(SW2)、下键(SW3)和复合键(SW4)。确认键(SW1)连接至LPC1752的P1.25引脚,上键(SW2)连接至LPC1752的P1.26引脚,下键(SW3)连接至LPC1752的P1.28引脚,复合键(SW4)连接至LPC1752的P1.29引脚。连接图如下:

LPC1752

图1 独立按键连接图

本设计按键采用高电平输入有效方式。按键按下时,LPC1752检测到高电平,认为有按键信号输入。本设计可以处理独立按键的按下、长按以及按键间的组合键。

2. 程序设计

2.1 定义

LPC1752

2.2 初始化函数KeyInit

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

LPC1752

图2 KeyInit函数 

2.3 设置按键状态值函数CheckPinKeyState

设置按键按下或者长按时按键状态值。代码实现如图3。

LPC1752

图3 CheckPinKeyState函数

2.4 读取按键ReadKeyState

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

LPC1752

图4 ReadKeyState函数

3. 测试

测试流程:

每隔200ms检测一下按键的值,当按键按下时,使用Watch1监测KeyStateRead的值。测试代码如图5。

LPC1752

图5 测试主函数main

测试结果:

LPC1752

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分