关于学校的学习版,4*4矩阵键盘的检测程序问题

2019-07-16 01:27发布

这个程序是按下K0,led灯亮 再按下灯灭
#include<regx51.h>
unsigned char status=0xff;
sbit Ledce=P1^2;
sbit Keyce=P1^3;
sbit Digce=P1^1;
void delayms(unsigned int );
void Keycan();
  void main()
  {
    P0=0x00;
        P1=0x0c;
   while(1)
   {
    Keycan();
        Ledce=0;
        P0=status;
        delayms(10);
        Ledce=1;
        }
  }
  void delayms(unsigned int x)
  {
        int j=0;
        for(x;x>0;x--)
        for(j=123;j>0;j--);
  }
  void  Keycan()
   {
         unsigned char temp;
         P0=0x00;
         Ledce=1;
         Digce=1;
         P0=0xfe;
         Digce=0;
         P0=0xff;
          Keyce=0;
         temp=P0;
         temp=temp&0x01;
         while(temp!=0x01)
           {
                  delayms(10);
                  temp=P0;
                  temp=temp&0x01;
                  while(temp==0x00)
                  {
                                status=~status;
                  }
                  while(temp==0x00)
                  {
                        temp=P0;
                        temp=temp&0x01;
                  }
           }
           Keyce=1;
   }
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。