找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5774|回复: 1
收起左侧

【求助】单片机矩阵键盘数码显示问题

[复制链接]
ID:16043 发表于 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 ;
}
回复

使用道具 举报

ID:16043 发表于 2009-8-7 20:17 | 显示全部楼层
a[]={0xfe,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,0xf7,0x1f,0x4e,0x3d,0x4f,0x47};
P2=0x00;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表