原创 開博第一天:盛大公告~!畱作紀念~!

2008-5-7 09:44 1846 4 5 分类: 工程师职场
p>#include <reg51.h>
unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
                       0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
//延时子程序
void delay(void)
{
unsigned i,j;
for(i=0;i<20;i++)
for(j=0;j<250;j++);
}
//LED显示子程序
void display(unsigned char i)
{
P2=0xfe;
P0=table;
}

void keyscan(void)
{
unsigned char n;
//扫描第一行
P1=0xef;
n=P1;
n&=0x0f;
if(n!=0x0f)
{
delay();
P1=0xef;
n=P1;
n&=0x0f;
if(n!=0x0f)
{
switch(n)
{
case(0x0e):display(0);break;
case(0x0d):display(1);break;
case(0x0b):display(2);break;
case(0x07):display(3);break;
}
}
}
//扫描第二行
P1=0xdf;
n=P1;
n&=0x0f;
if(n!=0x0f)
{
delay();
P1=0xdf;
n=P1;
n&=0x0f;
if(n!=0x0f)
{
switch(n)
{
case(0x0e):display(4);break;
case(0x0d):display(5);break;
case(0x0b):display(6);break;
case(0x07):display(7);break;
}
}
}
//扫描第三行
P1=0xbf;
n=P1;
n&=0x0f;
if(n!=0x0f)
{
delay();
P1=0xbf;
n=P1;
n&=0x0f;
if(n!=0x0f)
{
switch(n)
{
case(0x0e):display(8);break;
case(0x0d):display(9);break;
case(0x0b):display(10);break;
case(0x07):display(11);break;
}
}
}
//扫描第四行
P1=0x7f;
n=P1;
n&=0x0f;
if(n!=0x0f)
{
delay();
P1=0x7f;
n=P1;
n&=0x0f;
if(n!=0x0f)
{
switch(n)
{
case(0x0e):display(12);break;
case(0x0d):display(13);break;
case(0x0b):display(14);break;
case(0x07):display(15);break;
}
}
}
}
//函数功能:主程序
void main(void)
{
while(1)
{
keyscan();
}
}

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

jizzll_617398179 2008-5-7 12:46

呵呵,不错,我有一个1000点击纪念
相关推荐阅读
我要评论
1
4
关闭 站长推荐上一条 /3 下一条