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

火博sports

PRODUCTS
×

火博sports基于51单片机的矩阵键盘设计

发布时间:2024-06-01 05:27:40 来源:火博体育首页 作者:HB火博APP官网

  独立按键,一个按键需要占用一个I/O口,如果需要16个按键,那么就会 占用16个I/O口,占据MCS-51系列

  按键按照4*4的格局进行摆放,组成4行4列,将按键的同行或同列连接在一起,分别连接到P1口。

  以上图的S1为例,当按键被按下S1导通,P17与P13导通,可以通过判断P17与P13端口的电平是否一致,判断按键是否被按下。

  可以先设置P13(检测端口)电平为高电平,假设P17(驱动端口)为低电平,当按键按下,按键导通,读取P13的电平可以读到低电平。

  P2口连接8个LED(如下图所示),P1口连接为4*4的矩阵键盘(如前面的矩阵键盘所示),当按键被按下时,P2口的LED点亮,点亮的LED与按键的键值一致。

  假设设置P17为驱动端口,设置P13为检测端口。初始化时P17口与P13检测口初始状态均为0,然后设置P17口为1,检测P13是否变为高电平,当变为高电平时,说明有按键被按下,代码如下。

  使用上述代码,烧录程序后。LED灯不亮,按下按键S1,LED1也没有亮。这是由于按键按下时,P17驱动端的高电平,会被P13检测端的低电平拉成低电平,检测端口检测不到高电平。

  将代码修改为初始化时P17口与P13检测口初始状态均为1,然后设置P17口为0,检测P13是否变为低电平,当变为低电平时,说明有按键被按下,修改代码如下。


火博sports