51/AVR单片机技术驿站!  <在线翻译>     便利工具    特色网址   无弹窗、无插件的绿色站点...  英才招聘   学历查询  喜欢>>收藏我站 

当前位置:首页 > 单片机源码 > 详细内容
最简洁的键盘扫描程序【C语言】
发布时间:2009/7/7  阅读次数:1892  字体大小: 【】 【】【

最简洁的键盘扫描程序

#include<AT89X51.H>
unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};

unsigned char temp,temp1,temp2;
unsigned char key;
unsigned char i,j;
void delay(unsigned char n)
{
unsigned char i,j;
for(i=0;i<n;i++)
for(j=0;j<125;j++);
}
void main(void)
{
while(1)
{
P2=0x0f;
temp1=P2;
temp1=temp1&0x0f;
if (temp1!=0x0f)
{
delay(200);
P2=0xf0;
temp2=P2;
temp2=temp2&0xf0;
if (temp!=0xf0)
{ delay(200);
temp=temp1|temp2;
switch(temp)
{
case 0xe7:
key=0;
break;
case 0xd7:
key=1;
break;
case 0xb7:
key=2;
break;
case 0x77:
key=3;
break;
case 0xeb:
key=4;
break;
case 0xdb:
key=5;
break;
case 0xbb:
key=6;
break;
case 0x7b:
key=7;
break;
case 0xed:
key=8;
break;
case 0xdd:
key=9;
break;
case 0xbd:
key=10;
break;
case 0x7d:
key=11;
break;
case 0xee:
key=12;
break;
case 0xde:
key=13;
break;
case 0xbe:
key=14;
break;
case 0x7e:
key=15;
break;
}
P0=table[key];
}
}
}
}

我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
所有评论[0]
    暂无已审核评论!

网站导航 管理登陆 ┊ 免责声明 问题反馈  友链说明
本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正!
不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作!

    我要报警 Alexa
 mcusy_cn#126.com (请把#改成@) 交流:522422171
本站学习交流群:138..158(高级群1-)、77930286(高级群2)、61804809(群3)
Copyright© MCUSY All Rights Reserved
本站网警备案号: WZ36040002485
  ICP备案证书号:粤ICP备09034963号