0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:一板网 作者:admin 2020-10-28 14:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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 配置问题求解

    我正在使用 LPC546xx,需要知道单个 CTIMER 是否可以同时: Use channels 0 and 1 for input capture Use a match register
    发表于 04-20 07:38

    使用 LPC55S69 和 MCUX 驱动程序的 CDC 应该实现什么样的吞吐量?

    ,使用 LPC55S69 和 MCUX 驱动程序的 CDC 应该实现什么样的吞吐量? 特别是,我想知道 CDC 驱动程序是否针对性能进行了优化,或者它是否设计为将复杂性降至最低。我试图避免切换到高速 USB
    发表于 04-16 09:20

    探索LPC82x 32位ARM Cortex - M0+微控制器:特性、应用与设计要点

    探索LPC82x 32位ARM Cortex - M0+微控制器:特性、应用与设计要点 在当今的电子设计领域,微控制器扮演着至关重要的角色。NXP的LPC82x系列32位ARM Cortex
    的头像 发表于 04-09 09:45 164次阅读

    探索NXP LPC111xLV/LPC11xxLVUK 32位ARM Cortex - M0微控制器

    探索NXP LPC111xLV/LPC11xxLVUK 32位ARM Cortex - M0微控制器 在当今的电子设计领域,寻找一款性能卓越、功耗低且功能丰富的微控制器是每个工程师的追求。NXP
    的头像 发表于 04-09 09:15 529次阅读

    ADP1752/ADP1753:低输入电压、低 dropout 线性稳压器的卓越之选

    ADP1752/ADP1753:低输入电压、低 dropout 线性稳压器的卓越之选 在电子设备的电源管理领域,一款性能出色的线性稳压器对于保障设备的稳定运行至关重要。今天,我们就来深入了解一下
    的头像 发表于 03-19 17:05 329次阅读

    【瑞萨RA × Zephyr评测】LED、按键和UART

    实现在Zephyr操作系统下按键控制 LED 的开关状态,并通过 UART 输出按键事件日志,验证 GPIO 和串口通信功能。
    的头像 发表于 01-10 10:21 2608次阅读
    【瑞萨RA × Zephyr评测】LED、<b class='flag-5'>按键</b>和UART

    LPC800系列MCU:低功耗与高性能的完美结合

    LPC800系列MCU:低功耗与高性能的完美结合 在电子工程师的日常工作中,选择合适的微控制器(MCU)对于项目的成功至关重要。今天,我们就来详细探讨一下NXP的LPC800系列MCU,看看它有
    的头像 发表于 12-24 16:40 466次阅读

    探索NXP LPC5536-EVK评估板:快速上手指南

    探索NXP LPC5536-EVK评估板:快速上手指南 作为电子工程师,在日常的设计和开发工作中,我们经常需要借助各种评估板来验证和实现新的想法。今天就来和大家分享一下NXP的LPC
    的头像 发表于 12-24 15:55 645次阅读

    如何进行按键检测

    实际情况是由于按键的机械抖动特性,在程序进入中断后必须进行滤波处理才能判定是否有效的按键事件。如果每个按键都是独立的接一个 IO 引脚,需要我们给每个 IO 都设置一个中断,程序中过多
    发表于 12-10 06:03

    CW32 电容式触摸按键设计指南

    前言 CW32 电容式触摸按键设计指南向客户提供一种利用 CW32 内部资源结合软件编程实现电容式触摸按键有效 触摸检测的方法。本指南的内容重点在于工作原理、软件检测过程以及调试指引。 利用芯源
    发表于 12-09 06:53

    使用德思特GNSS模拟器实现RTK基站与流动站的独立模拟

    德思特GNSS模拟器GTS P74实现基准站与流动站双站RTK定位仿真测试。通过同步控制两个独立信号源,配合Ublox与和芯星通接收机,成功构建厘米级高精度定位测试场景,为户外移动设备提供完整解决方案。
    的头像 发表于 11-30 15:21 1086次阅读
    使用德思特GNSS模拟器<b class='flag-5'>实现</b>RTK基站与流动站的<b class='flag-5'>独立</b>模拟

    按键消抖的方法

    ,但是在人机交互界面的时候会有些许延迟,特别是有些队伍在智能车比赛过程中需要通过按键来修改阈值。一直点击按钮实现增减阈值,40ms的延时显得既不优雅又不顺畅。由于代码中有循环的部分,如果按键一直按下,其他
    发表于 11-27 06:12

    Key_Scan按键扫描函数详解

    按键程序设计思路可以非常简单:想要知道某个按键是否被按下,只需检测连接到改按键的IO引脚是高电平还是低电平,若是低电平,说明按键正处于被按下的状态。
    的头像 发表于 08-04 14:01 2224次阅读

    AS32X601驱动系列教程 GPIO_按键检测详解

    在嵌入式系统开发中,GPIO(通用输入输出端口)是实现硬件与软件交互的关键组件。本节主要利用的时GPIO的输入采集功能,本节的主要功能为,读取板载按键,当按键按下时,对应led亮起,抬起按键
    的头像 发表于 05-23 16:44 988次阅读
    AS32X601驱动系列教程 GPIO_<b class='flag-5'>按键</b>检测详解

    第六章 GPIO输入——按键检测

    本篇文章讲述了如何在W55MH32上实现按键输入检测,以及按键输入检测的注意事项、实现方式和代码讲解等。掌握了按键检测方式之后,我们就可以用
    的头像 发表于 05-22 16:41 1160次阅读
    第六章 GPIO输入——<b class='flag-5'>按键</b>检测