赞
踩
有的人的单片机的部分端口引脚被一些固定原件占用了,无法直接读取ABCD端口对应寄存器的值,于是矩阵键盘8个引脚被迫各连各的,比如读A2,B3,C4,等等,很麻烦。那就用我的方法把,可以适用任意端口的引脚连接你的矩阵键盘,并用一个函数将对应按键按下数字作为读取按键值。
切记:4*4矩阵键盘是由行线,列线,各四条线交叉形成的16个点组成的,我采用先扫描行线上的电平值,再扫描列上的电平值,这样的方法识别按下了哪个键的。
我购买的器件及原理图如上, 仔细观察正面R1R2R3R4对应一二三四行,反过来背面看,从上往下数C4C3C2C1分别对应四三二一列,
如果我们先初始化R1R2R3R4对应你接在stm32上引脚的初始状态为输入上拉(GPIO_Mode_IPU),C4C3C2C1对应引脚为推挽输出(GPIO_Mode_Out_PP)。那么此时R1R2R3R4均为高电平,然后如果按下R1第一行S1S2S3S4,任意一个键,此时读取到的R1电平值为低电平,R2R3R4依然是高电平,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。