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

📄 anjian.lst

📁 按键的识别算法
💻 LST
📖 第 1 页 / 共 2 页
字号:
 290   1           if(count==5)
 291   1            count=1;
 292   1          flag[4]=count;
 293   1         
 294   1        if(flag[2]==1)
 295   1        {   if(flag[4]==1) 
 296   2            {  con_disp (0x00,0x00,0x98,0x90,8,16); 
 297   3                   con_disp (0xff,0xff,0x80,0x80,8,16); 
 298   3                } 
 299   2                if(flag[4]==2) 
 300   2                 { con_disp (0x00,0x00,0x80,0x80,8,16);
 301   3                   con_disp (0xff,0xff,0x90,0x90,8,16);
 302   3                 }
 303   2                if(flag[4]==3)
C51 COMPILER V7.50   ANJIAN                                                                10/08/2007 15:34:45 PAGE 6   

 304   2                 { con_disp (0x00,0x00,0x90,0x90,8,16);
 305   3                   con_disp (0xff,0xff,0x88,0x80,8,16);
 306   3                 }
 307   2           if(flag[4]==4)
 308   2                      { con_disp (0x00,0x00,0x88,0x80,8,16); 
 309   3                        con_disp (0xff,0xff,0x98,0x90,8,16);  
 310   3                      }
 311   2         }         
 312   1      }
 313          
 314          /*-----------------3#键------------------*/
 315          void key3(uchar flag[])
 316          { 
 317   1          list++;
 318   1        if(list==15)
 319   1          list=1;
 320   1           flag[6]=list;
 321   1       if(flag[5]==1)
 322   1        {    lat_disp (0x00,0x00);
 323   2                 chn_disp1 (tab1);
 324   2            if(flag[6]==1) 
 325   2                  { con_disp (0x00,0x00,0x87,0x80,1,16);
 326   3                        con_disp (0xff,0x00,0x80,0x80,1,16);
 327   3                      }
 328   2          if(flag[6]==2)
 329   2              {   con_disp (0x00,0xff,0x80,0x80,1,16);}
 330   2                if(flag[6]==3)
 331   2                  {  con_disp (0x00,0x00,0x80,0x80,1,16);
 332   3                 con_disp (0xff,0x00,0x81,0x80,1,16);
 333   3                  } 
 334   2          if(flag[6]==4)
 335   2                  { con_disp (0x00,0xff,0x81,0x80,1,16); } 
 336   2            if(flag[6]==5)
 337   2                  {  con_disp (0x00,0x00,0x81,0x80,1,16);   
 338   3                     con_disp (0xff,0x00,0x82,0x80,1,16); 
 339   3                  }  
 340   2          if(flag[6]==6)
 341   2                {  con_disp (0x00,0xff,0x82,0x80,1,16); }
 342   2            if(flag[6]==7)
 343   2                {  con_disp (0x00,0x00,0x82,0x80,1,16);   
 344   3                   con_disp (0xff,0x00,0x83,0x80,1,16); 
 345   3                } 
 346   2          if(flag[6]==8)
 347   2                {  con_disp (0x00,0xff,0x83,0x80,1,16); } 
 348   2            if(flag[6]==9)
 349   2                {  con_disp (0x00,0x00,0x83,0x80,1,16);   
 350   3                   con_disp (0xff,0x00,0x84,0x80,1,16); 
 351   3                }
 352   2          if(flag[6]==10)
 353   2                {  con_disp (0x00,0xff,0x84,0x80,1,16); } 
 354   2                if(flag[6]==11)
 355   2                {  con_disp (0x00,0x00,0x84,0x80,1,16);   
 356   3                   con_disp (0xff,0x00,0x85,0x80,1,16); 
 357   3                }
 358   2              if(flag[6]==12)
 359   2                {  con_disp (0x00,0xff,0x85,0x80,1,16); } 
 360   2                if(flag[6]==13)
 361   2                {  con_disp (0x00,0x00,0x85,0x80,1,16);   
 362   3                   con_disp (0xff,0x00,0x86,0x80,1,16); 
 363   3                } 
 364   2          if(flag[6]==14)
 365   2                {  con_disp (0x00,0xff,0x86,0x80,1,16); } 
C51 COMPILER V7.50   ANJIAN                                                                10/08/2007 15:34:45 PAGE 7   

 366   2                if(flag[6]==15)
 367   2                { con_disp (0x00,0x00,0x86,0x80,1,16);   
 368   3                  con_disp (0xff,0x00,0x87,0x80,1,16); 
 369   3                } 
 370   2          if(flag[6]==16)
 371   2                { con_disp (0x00,0xff,0x87,0x80,1,16);} 
 372   2         }
 373   1      }
 374          /*-----------------4#键------------------*/
 375           key4(uchar flag[],uchar idata tt[])
 376          {  uchar i, time,hour;
 377   1         
 378   1         if(flag[6]==1)
 379   1          {    buffer[0]++;
 380   2              if(buffer[0]>9)
 381   2                     buffer[0]=0;
 382   2          }
 383   1       
 384   1         if(flag[6]==2)
 385   1          {    buffer[1]++;
 386   2                   if(buffer[1]>9)
 387   2                      buffer[1]=0;
 388   2          }
 389   1         if(flag[6]==3)
 390   1          {    buffer[1]++;
 391   2                   if(buffer[1]>9)
 392   2                      buffer[1]=0;
 393   2          }
 394   1              if(flag[6]==4)
 395   1          {    buffer[1]++;
 396   2                   if(buffer[1]>9)
 397   2                      buffer[1]=0;
 398   2          }
 399   1         if(flag[6]==6)
 400   1          {    buffer[2]++;
 401   2              if(buffer[2]>1)
 402   2                     buffer[2]=0;
 403   2          }
 404   1        
 405   1         if(flag[6]==7)
 406   1          {     buffer[3]++;
 407   2                  if(buffer[3]>9)
 408   2                     buffer[3]=0;
 409   2          }
 410   1      
 411   1         if(flag[6]==9)
 412   1          {   buffer[4]++;
 413   2                  if(buffer[4]>3)
 414   2                  buffer[4]=0;
 415   2          }
 416   1       
 417   1         if(flag[6]==10)
 418   1           {   buffer[5]++;
 419   2                  if(buffer[5]>9)
 420   2               buffer[5]=0;
 421   2               }
 422   1      
 423   1         if(flag[6]==12)
 424   1           {    buffer[6]++;
 425   2                   if(buffer[6]>2)
 426   2                      buffer[6]=0;
 427   2           }
C51 COMPILER V7.50   ANJIAN                                                                10/08/2007 15:34:45 PAGE 8   

 428   1          if(flag[6]==13)
 429   1          {    buffer[7]++;
 430   2                  if(buffer[7]>9)
 431   2               buffer[7]=0;
 432   2          }
 433   1         if(flag[6]==15)
 434   1          {   buffer[8]++;
 435   2                 if( buffer[8]>5)
 436   2                   buffer[8]=0;
 437   2          }
 438   1        if(flag[6]==16)
 439   1          {  buffer[9]++;
 440   2                  if( buffer[9]>9)
 441   2                  buffer[9]=0;
 442   2          }
 443   1          for(i=0;i<5;i++)
 444   1          {  time=buffer[2*i];
 445   2                 time=time<<4;
 446   2             hour=buffer[2*i+1];
 447   2                 tt[i]=time|hour;
 448   2              }
 449   1          for(i=0;i<6;i++)
 450   1          {  time=buffer[2*i];
 451   2                 time=time<<4;
 452   2             hour=buffer[2*i+1];
 453   2                 tt[i]=time|hour;
 454   2              }
 455   1          convent(buffer);
 456   1          chn_disp1 (tab1);
 457   1      
 458   1        }
 459          /*-----------------5#键------------------*/
 460          /*void key4(uchar  flag[],uchar idata tab1[])
 461          {  
 462             if(flag[6]==1)
 463            {  tab1[1]++;
 464               if(tab1[1]>9)
 465                   tab1[1]=0; 
 466               chn_disp1 (tab1);
 467            }
 468             if(flag[6]==2)
 469            {  tab1[2]++;
 470               if(tab1[2]>9)
 471                   tab1[2]=0; 
 472               chn_disp1 (tab1);
 473            }
 474            if(flag[6]==4)
 475            {  tab1[4]++;
 476               if(tab1[4]>1)
 477                   tab1[4]=0; 
 478               chn_disp1 (tab1);
 479            }
 480             if(flag[6]==5)
 481            {  tab1[5]++;
 482               if(tab1[5]>9)
 483                   tab1[5]=0; 
 484               chn_disp1 (tab1);
 485            }
 486             if(flag[6]==7)
 487            {  tab1[7]++;
 488               if(tab1[7]>3)
 489                   tab1[7]=0; 
C51 COMPILER V7.50   ANJIAN                                                                10/08/2007 15:34:45 PAGE 9   

 490               chn_disp1 (tab1);
 491            }
 492             if(flag[6]==8)
 493            {  tab1[8]++;
 494               if(tab1[8]>9)
 495                   tab1[8]=0; 
 496               chn_disp1 (tab1);
 497            }
 498             if(flag[6]==10)
 499            {  tab1[10]++;
 500               if(tab1[10]>2)
 501                   tab1[10]=0; 
 502               chn_disp1 (tab1);
 503            }
 504             if(flag[6]==11)
 505            {  tab1[11]++;
 506               if(tab1[11]>9)
 507                   tab1[11]=0; 
 508               chn_disp1 (tab1);
 509            }
 510             if(flag[6]==13)
 511            {  tab1[13]++;
 512               if(tab1[13]>5)
 513                   tab1[13]=0; 
 514               chn_disp1 (tab1);
 515            }
 516             if(flag[6]==14)
 517            {  tab1[14]--;
 518               if(tab1[14]>9)
 519                   tab1[14]=0; 
 520               chn_disp1 (tab1);
 521            }
 522            flag[8]=1;
 523          }*/
 524          
 525          /*--------------检测键---------------------*/
 526          uchar testkey(void)
 527          { uchar i,p;
 528   1        P0=0xff;
 529   1        for(i=0;i<8;i++)
 530   1          { P0=0xff;
 531   2            delay(100);
 532   2            if((P0&0xff)!=0xff)
 533   2                p=P0;
 534   2                   return (p);
 535   2          }
 536   1      }
 537          
 538          /*----------得键值------------*/
 539          void obtain( uchar keycode, uchar tt[],uchar idata pp[])
 540          {
 541   1         switch(keycode)
 542   1              { case 0xfe: key1(tt); break;
 543   2                case 0xfd: key2(tt); break;
 544   2                        case 0xfb: key3(tt); break;
 545   2                        case 0xf7: key4(tt,pp); break;
 546   2                        //case 0xef: key5(tt); break;
 547   2                        //case 0xdf: key6(tt); break;
 548   2                       // case 0xbf: key7(tt); break;
 549   2                       // case 0x7f: key8(tt); break;
 550   2                    default: break;
 551   2                 }
C51 COMPILER V7.50   ANJIAN                                                                10/08/2007 15:34:45 PAGE 10  

 552   1      }
 553          
 554          /*------------------------------------------------*/
 555          void main()
 556          {   uchar idata tt[6]={0x20,0x07,0x06,0x06,0x17,0x25};                 
 557   1          uchar  flag[9]={0,1,1,1,0,0,0,0,0};
 558   1          uchar keycode;
 559   1          while(1)
 560   1              {   transfer(tt);
 561   2                  keycode=testkey();
 562   2              obtain(keycode, flag,tt);
 563   2          }
 564   1      }   
 565          
 566          
 567          
 568          
 569          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2547    ----
   CONSTANT SIZE    =    215    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3      67
   IDATA SIZE       =    141      23
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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