标题: 【求助】单片机矩阵键盘数码显示问题 [打印本页]

作者: denghuajing    时间: 2009-8-7 20:15
标题: 【求助】单片机矩阵键盘数码显示问题
我初学,,写了一个单片机矩阵键盘的程序
有几个问题:
1:数码管会显示0;我程序开始的时候让P1=0x00;
2:只有3,7,b,f按键有用
希望高手帮我解决
图,Proteus 电路图在附件里面
下面是我程序:
char b[]={0xfe,0xfd,0xfb,0xf7};
char c[]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xdb,0x7bb,0x7b,0xe7,0xd7,0xb7,0x77};
int temp,num=0;
void key(char);
void main()
{
  P2=0x00;
  P1=0xff;
  while(1)
     {
     key(0);
    key(1);
    key(2);
    key(3);      
  }
}
void key(char x)
{P1=b[x];
 temp=P1;
       if(temp!=b[x])
        {temp=P1;
   if(temp==c[0+4*x]) num=0+4*x;
         if(temp==c[1+4*x]) num=1+4*x;
   if(temp==c[2+4*x]) num=2+4*x;
   if(temp==c[3+4*x]) num=3+4*x;
      P2=a[num];
        }else ;
}

作者: denghuajing    时间: 2009-8-7 20:17
a[]={0xfe,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,0xf7,0x1f,0x4e,0x3d,0x4f,0x47};
P2=0x00;





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1