当前位置: 首页 > 产品展示 > 数码模块

火博sports

PRODUCTS
×

火博sports基于STM32嵌入式的4×4矩阵键盘的识别在每一个

发布时间:2024-04-13 23:05:34 来源:火博体育首页 作者:HB火博APP官网

  4X4小键盘一共八个引脚,低4位设置为输出,高4位设置为输入。高四位启用内部上拉电阻,低四位平时设置为高电平,程序扫描的时候逐个输出电平。此时检测高四位,看哪一位被拉低了,就知道行列交叉的对应按键被按下了。16个按键,定义一个十六位的无符号整数。从低到高依次对应16个按钮,哪个按钮被按下了就把对应的位置为1,否则该位就复0。

  7段数码管,再加上一个小数点一起,共8位,显示0~9,A~F,共计16个字符,还需要增加1个无显示的状态,所以对应有17个字模。当没有按键被按下,或者是有多个按键被按下的时候,无显示。当且仅当某个按键被按下的时候显示对应字符。

  1、定义一个键盘扫描子程序,行接PORTC的低4位,列接PORTC的高4位。程序内每次改变第四位输出低电平的位置后,需要等待一个小延时,一般为几微秒就够了,待电平稳定后再检测高电平。从而来判断哪些按钮被按下了,据此改变对应16位的按键标志位。

  2、定义一个数码管管理子程序。数码管子程序根据给定的按键特征值来查找对应的字符字模,通过控制PORTD端口来让数码管显示。

  3、主程序里面反复调用这两个子程序。主循环里面根据需要加入延时函数,这个延时函数有两个作用,一是增加两次按键扫描的间隔,从而躲避物理按键的抖动跳变。二是根据需要降低主程序扫描的速度,减少单片机不必要的工作量。防抖动延迟时间请自行查阅资料,不再赘述。


火博sports