keyBoard组件

keyBoard.h

#ifndef _KEY_BOARD_H
#define _KEY_BOARD_H

sbit KEY_ROW_3 = P2^0;
sbit KEY_ROW_2 = P2^1;
sbit KEY_ROW_1 = P2^2;
sbit KEY_ROW_0 = P2^3;
sbit KEY_COL_0 = P2^4;
sbit KEY_COL_1 = P2^5;
sbit KEY_COL_2 = P2^6;
sbit KEY_COL_3 = P2^7;

extern uint8_t code keyCodeMap[4][4];
extern uint8_t xdata keyState[4][4];

extern void keyAction(uint8_t keyCode);
void keyDriver();
void keyScan();

#endif // _KEY_BOARD_H


keyBoard.c

#include <reg52.h>
#include "stdint.h"
#include "keyBoard.h"

uint8_t code keyCodeMap[4][4] = { //矩阵按键编号到标准键盘键码的映射表
    {0x31, 0x32, 0x33, 0x26}, //数字键1、数字键2、数字键3、向上键
    {0x34, 0x35, 0x36, 0x25}, //数字键4、数字键5、数字键6、向左键
    {0x37, 0x38, 0x39, 0x28}, //数字键7、数字键8、数字键9、向下键
    {0x30, 0x1B, 0x0D, 0x27}  //数字键0、ESC键、  回车
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值