当前位置:首页 > 技术学院 > 技术前线
[导读]nRF52832 — 矩阵键盘

写在前面:因为项目内需要用到机械的矩阵按键,所以这里整理一下有关矩阵按键的一些知识~温故而知新。

一、矩阵按键的工作原理:

常用的按键操作方式有IO口按键、AD按键、触摸按键、滑触按键等,在使用IO口按键,且按键数量较多的时候,为了减少IO的占用,通常将按键设计为矩阵形式。矩阵式结构的按键显示比直接法要复杂一些,识别也要复杂一些,上图中,行线通过电阻接正电源,并将行线作为输入脚,列线作为输出脚,当按键没有按下时,所有的输入脚都是高电平,代表无按键按下;一旦有按键按下,则输入脚就会被拉低,所以通过读取输入脚的电平状态,就可以知道是否有按键按下。

二、矩阵按键的识别方法:

1、逐行扫描法、逐列扫描法(最常用);

2、高低电平翻转法;

3、行列扫描法;

三、行列扫描法的工作原理:

1、编程使行线作为输入脚(初始化为输入低),列线作为输出脚(初始化为输出高);

2、扫描所有行线输入脚,如果某个脚为高电平,则说明有按键按下,延时去抖,再次读取该脚,如果电平还是高则进入下一步,否则返回重新判断;

3、开始扫描按键位置,逐列扫描,分别拉高列线输出脚,当拉高其中一列时,其他列都拉低为低电平,读取输入脚的电平获取按键值;

4、然后根据上面得到的行列计算出按键值;

四、行列扫描法代码实现:

第一种直接实现,比较粗糙:

uint32_t Matrix_Key_Scan(void)

{

uint8_t outNum = 0;

uint8_t inNum = 0;

uint32_t ret = 0;

bool tmp = false;

for(inNum = 0; inNum < matrixkey_in_num; inNum++)

{

if(nrf_gpio_pin_read(matrixkey_in_num[inNum]))

{

nrf_delay_ms(30);

if(nrf_gpio_pin_read(matrixkey_in_num[inNum]))

{

for(outNum = 0; outNum < matrixkey_out_num; outNum++)

{

Set_MATRIX_OUTPUT_IO(outNum);

tmp = Read_Matrix_INPUT_IO(inNum);

if(tmp)

ret |= p_matrix_lookup[outNum+inNum*matrixkey_out_num];

}

}

}

}

return ret;

第二种比较精炼:

uint32_t Matrix_Key_Scan(void)

{

uint8_t outNum = 0;

uint8_t inNum = 0;

uint32_t ret = 0;

bool tmp = false;

for(outNum = 0; outNum < matrixkey_out_num; outNum++)

{

Set_MATRIX_OUTPUT_IO(outNum);

nrf_delay_ms(30);

for(inNum = 0; inNum < matrixkey_in_num; inNum++)

{

tmp = Read_Matrix_INPUT_IO(inNum);

if(tmp)

ret |= p_matrix_lookup[outNum+inNum*matrixkey_out_num];

}

}

return ret;

}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

充电效率低。无线充电器的充电效率通常只有有线充电器的50%~70%,这意味着无线充电的速度比有线充电慢。

关键字: 无线 充电器 无线充电

第五代移动通信技术(5th Generation Mobile Communication Technology,简称5G)是一种具有高速率、低时延和大连接特点的新一代宽带移动通信技术,5G通讯设施是实现人机物互联的网络...

关键字: htc 无线 5G通讯

支持CSA倡议表明,Nordic Semiconductor始终致力于为客户提供开发符合物联网设备安全规范的物联网产品所需的安全功能。

关键字: 物联网 无线

数字集群通信系统是一种基于数字技术的无线通信系统,具有高效、可靠、安全等优点。它广泛应用于公共安全、交通运输、工业生产等领域,为人们提供了更加便捷、高效的通信方式。本文将详细介绍数字集群通信系统的主要应用领域,以帮助读者...

关键字: 数字集群 通信系统 无线

从熟悉的蓝牙、Wi-Fi、NFC到近年兴起的UWB,这种设备间的“连接”,已经无处不在,而这背后所离不开的就是无线短距通信技术

关键字: 无线 通信技术 蓝牙

5G技术是当前无线通信技术发展的重要方向,它具有更高的传输速率、更低的延迟和更大的容量,将支持更多的连接和更广泛的应用。

关键字: 无线 通信领域 5G技术

作为世界上最具创新性的智能系统提供商的首选合作伙伴,新突思致力于将多种体验式技术集成到统一平台,让人们的数字生活能够更高效,更富有洞察力,更安全,也能够更加愉快地享受数字生活带来的便利。新突思在触摸、显示和生物识别等领域...

关键字: 无线 物联网

在2023年STM32峰会上,看通用MCU的未来发展方向。

关键字: STM32 ST AI 无线

随着移动智能设备、无线数据传输、无线网络技术的发展,人们对“无线”生活的质量要求越来越 高。不必要的烦琐线头、多样化的充电模式及防水、防尘、便携等高标准的需求、摆脱传统电力传输方式的束缚等因素,正在促使无线充电技术逐渐深...

关键字: 无线 无线充电 传输

随着用电设备对供电质量、安全性、可靠性、方便性、即时性、特殊场合、特殊地理环境等要求的不断提高,使得接触式电能传输方式越来越不能满足实际需要。

关键字: 三星 无线 充电器
关闭
关闭