📄 keboard.c.bak
字号:
/****************************************************************************/
/* */
/* Copyright (c) 2005, 老树工作室 */
/* All rights reserved. */
/* */
/* http://www.saintone.net Email:hxm0902@163.com */
/* QQ:112431149 Tel:010-62966630 */
/* */
/****************************************************************************/
/****************************************************************************/
/* 文件名:keyboard.c */
/* 版 本:Version 1.0 */
/* 描 述:按键检测代码 */
/* 作 者:spot */
/* 函 数: */
/* delay_key */
/* system_init */
/* */
/* 历史记录: */
/* spot 2005-06-20 Creat Inital version. (Version 1.0) */
/****************************************************************************/
#include <reg52.h>
#include <absacc.h>
typedef unsigned char u_char;
typedef unsigned int u_int;
/* 键码定义 */
#define BUTTON_1 0xEE
#define BUTTON_2 0xDE
#define BUTTON_3 0xBE
#define BUTTON_4 0x7E
#define BUTTON_5 0xED
#define BUTTON_6 0xDD
#define BUTTON_7 0xBD
#define BUTTON_8 0x7D
#define BUTTON_9 0xEB
#define BUTTON_10 0xDB
#define BUTTON_11 0xBB
#define BUTTON_12 0x7B
#define BUTTON_13 0xE7
#define BUTTON_14 0xD7
#define BUTTON_15 0xB7
#define BUTTON_16 0x77
/* 定义结束 */
void delay_key(void); /* 按键检测延时子程序 */
void system_init(void); /* 系统上电初始化 */
/* 按键检测延时子程序 */
void delay_key(void)
{
u_char i;
for(i=200; i>0; i--);
}
/* 反转法检测按键,行1:P2.0,列1:P2.4*/
u_char scan_key(void)
{
uchar key_code = 0xFF;
P2 = 0xF0;
if ((P2&0xF0) != 0xF0) /* 有键按下 */
{
delay_key();
key_code = P2; /* 读入列值 */
P2 = 0x0F;
key_code |= P2; /* 读入行值,与列值相或得到键码 */
return(key_code);
}
}
/* 系统上电初始化 */
void system_init(void)
{
EA = 0;
P0 = 0xFF;
}
void main(void)
{
u_char key_code = 0xFF;
system_init();
while(1)
{
key_code = scan_key();
switch(key_code)
{
case BUTTON_1:
break;
case BUTTON_2:
break;
case BUTTON_3:
break;
case BUTTON_4:
break;
case BUTTON_5:
break;
case BUTTON_6:
break;
case BUTTON_7:
break;
case BUTTON_8:
break;
case BUTTON_9:
break;
case BUTTON_10:
break;
case BUTTON_11:
break;
case BUTTON_12:
break;
case BUTTON_13:
break;
case BUTTON_14:
break;
case BUTTON_15:
break;
case BUTTON_16:
break;
default:
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -