标题: 单片机按键灯程序怎么弄?这个是2X2的怎么改为3X3的? [打印本页]

作者: myr6093511    时间: 2020-5-11 20:16
标题: 单片机按键灯程序怎么弄?这个是2X2的怎么改为3X3的?
#include<regx51.h>               
#define uchar unsigned char        
#define uint  unsigned int
uchar y;        

bit ce_anjian ( )
{
  bit key=0;      
  P1=0xf3;      
  if(P1!=0xf3)         
      key=1;      
  else
      key=0;      
  return(key);      
}

void doudong_ys( )
{
    uchar i,j;            
    for(i=0;i<30;i++)   
      for(j=0;j<248;j++);
}

void ce_jianzhi ( )
{
{
   uchar i,j,p;      
   P1=0xf3;      
   i=P1&0x03;      
   if(i==0x02) j=1;     
   if(i==0x01) j=3;     
   P1=0xfc;     
   i=P1&0x0c;      
   if(i==0x08) p=0;   
   if(i==0x04) p=1;           
   y=j+p;
   }

               
        
   doudong_ys();
   do
   {
      while(ce_anjian()==1);

          doudong_ys();
        }while(ce_anjian()==1);
}
void main()
{
  while(1)
  {
     if(ce_anjian()==1)
         {
           ce_jianzhi();
           switch(y)
           {
             case 1:P2=0xfe;break;
                 case 2:P2=0xfd;break;
                 case 3:P2=0xfb;break;
                 case 4:P2=0xf7;break;
                 default:break;
                }
          }
        }
  }
               
这个是2X2的怎么改为3X3的?


作者: xxpp2011    时间: 2020-5-11 22:31
矩阵键盘接法三条行线三条列线,每个按键分别接一条行线一条列线




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