新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 矩阵键盘实验程序

矩阵键盘实验程序

作者: 时间:2016-12-02 来源:网络 收藏
void DigDisplay()
{
unsigned char i;
unsigned int j;

wei = wei1[i]; //发送位选
duan = duan1[ge]; //发送段码
j = 10; //扫描间隔时间设定
while(j--);
duan = 0x00; //消隐
}

void s(unsigned char xms)
{
unsigned char x,y;
for(x=xms;x>0;x--)
for(y=110;y>0;y--);
}

void keys()
{
P1=0x7f;
temp=P1;
if(temp!=0x7f)
{
s(5);
temp=P1;
if(temp!=0x7f)
{
temp=temp&0x0f;
switch(temp)
{
case 0x07:ge=0;break;
case 0x0b:ge=1;break;
case 0x0d:ge=2;break;
case 0x0e:ge=3;break;
}
while(temp!=0x0f)
{
temp=P1;
temp=temp&0x0f;
DigDisplay();
}
}
}

P1=0xbf;
temp=P1;
if(temp!=0xbf)
{
s(5);
temp=P1;
if(temp!=0xbf)
{
temp=temp&0x0f;
switch(temp)
{
case 0x07:ge=4;break;
case 0x0b:ge=5;break;
case 0x0d:ge=6;break;
case 0x0e:ge=7;break;
}
while(temp!=0x0f)
{
temp=P1;
temp=temp&0x0f;
DigDisplay();
}
}
}

P1=0xdf;
temp=P1;
if(temp!=0xdf)
{
s(5);
temp=P1;
if(temp!=0xdf)
{
temp=temp&0x0f;
switch(temp)
{
case 0x07:ge=8;break;
case 0x0b:ge=9;break;
case 0x0d:ge=10;break;
case 0x0e:ge=11;break;
}
while(temp!=0x0f)
{
temp=P1;
temp=temp&0x0f;
DigDisplay();
}
}
}

P1=0xef;
temp=P1;
if(temp!=0xef)
{
s(5);
temp=P1;
if(temp!=0xef)
{
temp=temp&0x0f;
switch(temp)
{
case 0x07:ge=12;break;
case 0x0b:ge=13;break;
case 0x0d:ge=14;break;
case 0x0e:ge=15;break;
}
while(temp!=0x0f)
{
temp=P1;
temp=temp&0x0f;
DigDisplay();
}
}
}
}
上一页 1 2 下一页

关键词: 矩阵键盘实验程

评论


技术专区

关闭