⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keyboard.c

📁 KEIL C键盘扫描, KEIL C键盘扫描
💻 C
字号:

//****************************键盘扫描********************************
                           unsigned char keyboard()
                               {
                                unsigned char idata i,temp,t;
                                t=100;
                                P0=0XFF;
                                P2|=0XC0;
                                for(i=0;i<5;i++)/*逐行扫描*/     
                                   {  
                                    switch(i)
                                          {
                                           case 0:P0&=0XDF;break; /*P0.5=0*/
                                           case 1:P0&=0XBF;break; /*P0.6=0*/
                                           case 2:P0&=0X7F;break; /*P0.7=0*/
                                           case 3:P2&=0XBF;break; /*P2.6=0*/
                                           case 4:P2&=0X7F;break; /*P2.7=0*/
                                           } 
                                    delay();
                                    temp=P0;
                                    if((temp&0x01)==0) /*p00按下*/
                                       {
	                                    switch(i)
	                                          {	                                          
                                                   case 0:t=26;break; /*清除*/
	                                           case 1:t=20;break; /*下查*/   
	                                           case 2:t=68;break; /*上查*/
	                                           }
                                         bz_key=0x01;
	                                     break;
                                        }
                                     else
                                         if((temp&0x02)==0) //---p01按下
                                           {
	                                        switch(i)
	                                              {
	                                               case 0:t=11;break;/* *键 */
	                                               case 1:t=0; break;/* 0键 */
	                                               case 2:t=12;break;/* #键 */
	                                               case 3:t=23;break;/*重拨*/  
	                                               }
	                                        bz_key=0x02;
	                                        break; 
                                            }
                                    else
                                       if((temp&0x04)==0) //---p02按下
                                         {
	                                      switch(i)
	                                            {
                                                     case 0:t=7;break; /*  7  */
	                                             case 1:t=8;break; /*  8  */
	                                             case 2:t=9;break; /*  9  */
	                                             case 3:t=31;break;/*来电*/
	                                            }
	                                            bz_key=0x04;
	                                            break;
                                          }	
                                       else
                                           if((temp&0x08)==0) //---p03按下
                                             {
	                                          switch(i)
	                                               {
	                                                case 0:t=4;break;/* 4 */
	                                                case 1:t=5;break;/* 5 */
	                                                case 2:t=6;break;/* 6 */
							case 3:t=80;break;/*确认*/
	                                                case 4:t=91;break;/*功能*/
	                                               }
	                                               bz_key=0x08;
	                                               break;
                                              }	 
                                           else
                                             if((temp&0x10)==0) //---p04按下
                                               {
	                                            switch(i)
  	                                                  {
	                                                   case 0:t=1;break;  /* 1 */
	                                                   case 1:t=2;break;  /* 2 */
	                                                   case 2:t=3;break;  /* 3 */
	                                                   case 3:t=93;break; /*去电*/
	                                                   case 4:t=32;break; /*免提*/
	                                                   }
	                                            bz_key=0x10;
	                                            break;
                                               }	
                                              P0=0XFF;
                                              P2|=0XC0;
                                              }
                                           return t;
                                           }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -