┊ 网站导航 ┊ 管理登陆 ┊ 免责声明 ┊ 问题反馈 ┊ 友链说明┊本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正! 不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作! ![]() ![]() ![]() ![]() ![]() ![]() 本站学习交流群:138..158(高级群1-满)、77930286(高级群2)、61804809(群3) Copyright© MCUSY All Rights Reserved 本站网警备案号: WZ36040002485 ICP备案证书号:粤ICP备09034963号 |
最简洁的键盘扫描程序
#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];
}
}
}
}
┊ 网站导航 ┊ 管理登陆 ┊ 免责声明 ┊ 问题反馈 ┊ 友链说明┊本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正! 不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作! ![]() ![]() ![]() ![]() ![]() ![]() 本站学习交流群:138..158(高级群1-满)、77930286(高级群2)、61804809(群3) Copyright© MCUSY All Rights Reserved 本站网警备案号: WZ36040002485 ICP备案证书号:粤ICP备09034963号 |