4X4矩阵键盘程序
来源:互联网 发布:银行市场份额数据 编辑:程序博客网 时间:2024/04/28 22:25
下面的程序就是用线反写一个4x4键盘识别程序:
#include<AT89X52.H>
#include<delay.h>
#define KEY_SCAN P1
#define uchar unsigned char
//char num;
/********************************/
/*函数名称:KEY_DOWN() */
/*函数功能:延时子函数 */
/*参 数:无 */
/*返 回:返回1或0 */
/*备 注:1表示有键按下,0则无*/
/********************************/
bit KEY_DOWN()
{
KEY_SCAN=0x0f; //先给键盘口赋个初值
if(KEY_SCAN!=0x0f) //判断是有按键按下,即KEY_SCAN不等于初值时有键按下
{
delayms(10); //消抖
if(KEY_SCAN!=0x0f) //再次判断是否真有键按下
return 1; //真有就返回1没有返回零
else
return 0;
}
else
return 0;
}
/********************************/
/*函数名称:SCAN_GET() */
/*函数功能:键盘值函数 */
/*参 数:无 */
/*返 回:返回1或0 */
/*备 注:无 */
/********************************/
uchar SCAN_GET()
{
char button;
uchar key_code;
button=KEY_SCAN;
KEY_SCAN=0xf0;
button=(button|KEY_SCAN);
while(KEY_SCAN!=0xf0);
delayms(10);
switch(button)
{
case 0xd7: key_code='1';break;
case 0xdb: key_code='2';break;
case 0xdd: key_code='3';break;
case 0xb7: key_code='4';break;
case 0xbb: key_code='5';break;
case 0xbd: key_code='6';break;
case 0x77: key_code='7';break;
case 0x7b: key_code='8';break;
case 0x7d: key_code='9';break;
case 0xeb: key_code='0';break;
case 0xee: key_code=0xee;break;
default : break;
}
return key_code;
}
//////////////////////////////////////////////////////////////
//此程序是上两个程序结合的
/********************************/
/*函数名称:Key_Get() */
/*函数功能:键盘扫描函数 */
/*参 数:无 */
/*返 回:无 */
/*备 注:无 */
/********************************/
void Key_Get()
{
char button;
KEY_SCAN=0x0f;
if(KEY_SCAN!=0x0f)
{
delayms(5);
if(KEY_SCAN!=0x0f)
{
button=KEY_SCAN;
KEY_SCAN=0xf0;
button=(button|KEY_SCAN);
while(KEY_SCAN!=0xf0);
switch(button)
{
case 0xd7: num='1';P0=0x00;break;
case 0xdb: num='2';P0=0x0f;break;
case 0xdd: num='3';break;
case 0xb7: num='4';break;
case 0xbb: num='5';break;
case 0xbd: num='6';break;
case 0x77: num='7';break;
case 0x7b: num='8';break;
case 0x7d: num='9';break;
case 0xeb: num='0';break;
case 0xe7: num='a';break;
case 0xed: num='b';break;
case 0xee: num='c';break;
case 0xde: num='d';break;
case 0xbe: num='e';break;
case 0x7e: num='f';break;
default : break;
}
}
}
}
- 4X4矩阵键盘程序
- 4X4矩阵键盘扫描程序
- 4X4矩阵键盘扫描程序
- 4x4 矩阵键盘
- 4X4矩阵键盘1
- 4x4的矩阵键盘
- s3c2410 4X4矩阵键盘驱动
- 单片机挂4X4矩阵键盘
- linux下4x4矩阵 键盘驱动,用了定时器控制扫描程序来抗抖。
- 4X4键盘扫描演示程序
- 51单片机的4x4矩阵键盘扫描例程(C51)
- 单片机实验——4X4矩阵键盘识别技术
- c51上跑smallrtos 之4x4 矩阵键盘任务
- 键盘扫描4X4
- 4x4矩阵求逆
- Unity 中的4X4矩阵
- 基于stm32的4X4矩阵键盘定时器扫描消抖法,彻底告别delay函数!
- 再发一种基于stm32的4X4矩阵键盘定时器扫描消抖法,彻底告别delay函数! .
- Effective C++ 总结
- Undefined function 'Nz' in expression.
- android之PopUpWindow使用实例
- [转]爸爸和无我编程十条诫律
- PendingIntent AlarmManager
- 4X4矩阵键盘程序
- Linux内核驱动程序初始化顺序的调整
- poj 2262
- asp.net Files 的值 "***" 的解决办法
- escape()、encodeURI()、encodeURIComponent()区别详解
- 杂
- gcc 工具链简介实例
- ViewPager的使用from android developers blog
- 真实的谎言?——苹果官方对业绩下滑回应的深层剖析