微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 跪求大神

跪求大神

时间:10-02 整理:3721RD 点击:
怎么就不能运行?跪谢

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar temp,key,num;
uchar code table[]=
{
  0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,
0x79,0x71
};
void delay(uint x)
{
  uint i,j;

   for(i=x;i>0;i--)
  for(j=110;j>0;j--);

}
void display(uchar num)//xi显示函数
{
  
  P0=table[num];
  P2=0xc0;
  }
  
void keyscan1( ) //检测按键
{
  P3=0xf7;//11110111 第一例低电平,其余高电平
  temp=P3;
  temp=temp&0xf0;
  if (temp!=0xf0)
  {
   delay(10); //去抖动
   temp=P3;
   temp=temp&0xf0;
   if(temp!=0xf0)//有建按下
    {   
  temp=P3;
   switch(temp)
   {  
    case 0xe7:key=0;  //1110 0000
    break;
    case 0xd7:key=1;
     break;
    case 0xb7:key=2;
    break;
    case 0x77:key=3;
    break;
     }
      while(temp!=0xf0);
  {temp=P3;
  temp=temp&0xf0;
      }
display(key)  ;
   }
}
  P3=0xfb;
  temp=P3;
  temp=temp&0xf0;
  if (temp!=0xf0)
  {
   delay(10);
   temp=P3;
  temp=temp&0xf0;
   if(temp!=0xf0)
    { temp=P3;
   switch(temp)
   {
    case 0xeb:key=4;
    break;
    case 0xdb:key=5;
     break;
    case 0xbb:key=6;
    break;
    case 0x7b:key=7;
    break;
     }
    while(temp!=0xf0);
  {temp=P3;
  temp=temp&0xf0;
      }
display(key)  ;
     }
  }
  
  P3=0xfd;
  temp=P3;
  temp=temp&0xf0;
  if (temp!=0xf0)
  {
   delay(10);
   temp=P3;
  temp=temp&0xf0;
   if(temp!=0xf0)
    { temp=P3;
   switch(temp)
   {
    case 0xed:key=8;
    break;
    case 0xdd:key=9;
     break;
    case 0xbd:key=10;
    break;
    case 0x7d:key=11;
    break;
     }
       while(temp!=0xf0);
  {temp=P3;
  temp=temp&0xf0;
      }
display(key)  ;
}
  }


  P3=0xfe;
  temp=P3;
  temp=temp&0xf0;
  if (temp!=0xf0)
  {
   delay(10);
   temp=P3;
  temp=temp&0xf0;
   if(temp!=0xf0)
    {  temp=P3;
   switch(temp)
   {
    case 0xee:key=12;
    break;
    case 0xde:key=13;
     break;
    case 0xbe:key=14;
    break;
    case 0x7e:key=15;
    break;
     }
        while(temp!=0xf0);
  {temp=P3;
  temp=temp&0xf0;
      }
display(key)  ;
}
  }
}
void main()
{
while(1)
{  
keyscan1();
  
  }
}


你直接把文件传上来,帮你跑一下

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top