2.23 haas506 2.0开发教程 - KeyPad - 矩阵键盘(仅支持M320开发板)

最新案例教程点击下方链接跳转,CSDN已停止更新

点击跳转HaaS506官方最新案例







矩阵键盘

  • 矩阵键盘是单片机外部设备中所使用的排布类似于矩阵的键盘组。在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显。
320矩阵键盘连线
  • 矩阵式结构的键盘显然比直接法要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。
  • 开发板KEYIN1~KEYIN5是输入口,作为列线
  • 开发板KEYOUT0~KEYOUT3是输出口作为行线
  • 总共组成19个键的矩阵键盘(其中KEYIN5与KEYOUT3键值不存在)
    在这里插入图片描述
    在这里插入图片描述
案例说明
  • 如下图,使用两组线,一组接入行线,一组接入列线
  • 本案例将行线与列线短接,检测320开发板的矩阵键盘返回数值
    在这里插入图片描述

测试代码

main.py

from driver import KeyPad
import utime as time


keypad=KeyPad()  
keypad.init()
#usrFun参数为list数据类型,list[0]: 对应键值;list[1] :按键状态:按下为1,松开为2
def userfun(l_list):
    if  l_list[1] == 1 :
        print('key_value:',l_list,'-------------------')
    else:
        print('release the key:',l_list)

keypad.set_callback(userfun)
while True:
    time.sleep_ms(500)


功能测试
  • 将两组线随机短接测试,pin脚接触时打印(‘key_value:’,l_list,‘-------------------’)
  • 松开时打印(‘release the key:’,l_list)
  • 不同行列的pin脚短接会返回不同的键值,共计19个键值.
    在这里插入图片描述

class - KeyPad

keypad.initkeypad.set_callback
初始化keypad设置回调函数

创建keypad对象
keypad = KeyPad()

参数:

keypad.init() - 初始化keypad

参数:

返回值:

  • 成功返回0,失败返回-1。
keypad.set_callback(usrFun) - 设置回调函数

作用:

  • 按键接入模组后,按放按键后触发回调函数设置。

参数

参数参数类型参数说明
usrFunfunction回调函数,当外接键盘按键按放会触发此函数。

注意:usrFun参数为list数据类型。

list包含2个参数。其含义如下:

list[0]: 对应键值

list[1] :按键状态:按下为1,松开为2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值