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

📄 main.lst

📁 显示及鼠标、键盘切换程序。使用STC单片机
💻 LST
📖 第 1 页 / 共 5 页
字号:
 287   1      bxpout = 0;
 288   1      bxout = state;
 289   1      /*leda = state;
 290   1      ledb = ~state;*/
 291   1      #endif
 292   1      vi = 1;
 293   1      avcc = 0;
 294   1      bvcc = 0;
 295   1      /*声音计时时间*/
 296   1      usetime1 = 0;
 297   1      /*按键滤波次数*/
 298   1      usetime = 0;
 299   1      send_aa00_time = 0;
 300   1      ms_pluse = 0;
 301   1      }
 302          
 303          void state_cutab( INT8U a_b )
C51 COMPILER V7.06   MAIN                                                                  01/15/2007 15:24:50 PAGE 6   

 304          {
 305   1      if( a_b == 0 )
 306   1              {
 307   2              state = 0;
 308   2              leda = state;
 309   2              ledb = ~state;
 310   2              bxout = state;
 311   2              /*****************************************************/
 312   2              /*                      切换后先发送复位命令,让上位机复位设置,保证正常工作                    */
 313   2              msoption = 0;
 314   2              mroption = 0;
 315   2              ksoption = 0;
 316   2              kroption = 0;
 317   2              mcodenum = 2;
 318   2              mcode[1] = 0xAA;
 319   2              mcode[0] = 0x00;
 320   2              kcodenum = 1;
 321   2              kcode[0] = 0xAA;
 322   2              /*if( msoption == 0 && mroption == 0 )
 323   2                      {
 324   2                      mcodenum = 2;
 325   2                      mcode[1] = 0xAA;
 326   2                      mcode[0] = 0x00;
 327   2                      
 328   2                      }*/
 329   2              mclkin = 1;
 330   2              mdatain = 1;
 331   2              kclkin = 1;
 332   2              kdatain = 1;
 333   2              /*****************************************************/
 334   2              }
 335   1      else if( a_b == 1 )
 336   1              {
 337   2              state = 1;
 338   2              /*leda = state;
 339   2              ledb = ~state;*/
 340   2              bxout = state;
 341   2              /*****************************************************/
 342   2              /*                      切换后先发送复位命令,让上位机复位设置,保证正常工作                    */
 343   2              msoption1 = 0;
 344   2              mroption1 = 0;
 345   2              ksoption1 = 0;
 346   2              kroption1 = 0;
 347   2              mcodenum1 = 2;
 348   2              mcode1[1] = 0xAA;
 349   2              mcode1[0] = 0x00;
 350   2              kcodenum1 = 1;
 351   2              kcode1[0] = 0xAA;
 352   2              /*if( msoption1 == 0 && mroption1 == 0 )
 353   2                      {
 354   2                      mcodenum1 = 2;
 355   2                      mcode1[1] = 0xAA;
 356   2                      mcode1[0] = 0x00;
 357   2                      }*/
 358   2              mclkin1 = 1;
 359   2              mdatain1 = 1;
 360   2              kclkin1 = 1;
 361   2              kdatain1 = 1;
 362   2              /********************************************************/
 363   2              }
 364   1      }
 365          void check_key( void )
C51 COMPILER V7.06   MAIN                                                                  01/15/2007 15:24:50 PAGE 7   

 366          {
 367   1      /*************************************/
 368   1      /* 指示灯闪烁切换
 369   1      /*************************************/
 370   1      led_time ++;
 371   1      if( led_time == 0 )
 372   1              {
 373   2              if( state == 1 )
 374   2                      {
 375   3                      ledb = !ledb;
 376   3                      leda = 1;
 377   3                      }
 378   2              else
 379   2                      {
 380   3                      leda = !leda;
 381   3                      ledb = 1;
 382   3                      }
 383   2              }
 384   1      if( ctl_cs == 0 )
 385   1              {
 386   2              bxout = 1;
 387   2              _nop_();
 388   2              if( bxout == 0 )
 389   2                      {
 390   3                      if( state != 0 )
 391   3                              {
 392   4                              state_cutab( 0 );
 393   4                              }
 394   3                      }
 395   2              else
 396   2                      {
 397   3                      if( state != 1 )
 398   3                              {
 399   4                              state_cutab( 1 );
 400   4                              }
 401   3                      }
 402   2              viout = 0;
 403   2              if( cut_p_time >150 )
 404   2                      {
 405   3                      ctl_ou = 1;
 406   3                      }
 407   2              cut_p_time ++;
 408   2              }
 409   1      else
 410   1              {
 411   2              if( key1 == 0)
 412   2                      {
 413   3                      usetime ++;
 414   3                      if( key1out == 0 )
 415   3                              {
 416   4                              if( usetime > 100 )
 417   4                                      {
 418   5                                      if( state == STATE_B )
 419   5                                              {
 420   6                                              state_cutab( 0 );
 421   6                                              }
 422   5                                      vi = 1;
 423   5                                      key1out = 1;
 424   5                                      }
 425   4                              }
 426   3                      }
 427   2              else
C51 COMPILER V7.06   MAIN                                                                  01/15/2007 15:24:50 PAGE 8   

 428   2                      {
 429   3                      key1out = 0;
 430   3                      }
 431   2              if( key2 == 0)
 432   2                      {
 433   3                      usetime ++;
 434   3                      if( key2out == 0 )
 435   3                              {
 436   4                              if( usetime > 100 )
 437   4                                      {
 438   5                                      if( state == STATE_A )
 439   5                                              {
 440   6                                              state_cutab( 1 );       
 441   6                                              }
 442   5                                      vi = 1;
 443   5                                      key2out = 1;    
 444   5                                      }
 445   4                              }
 446   3                      }
 447   2              else
 448   2                      {
 449   3                      key2out = 0;
 450   3                      }
 451   2              if( key1 == 1 && key2 == 1 )
 452   2                      {
 453   3                      usetime = 0;
 454   3                      }
 455   2              if( vi == 1 )
 456   2                      {
 457   3                      if( usetime1 > 250 )
 458   3                              {
 459   4                              vi = 0;
 460   4                              viout = 0;
 461   4                              usetime1 = 0;
 462   4                              }
 463   3                      else
 464   3                              {
 465   4                              viout = 1;
 466   4                              usetime1++;
 467   4                              }
 468   3                      }
 469   2              }
 470   1      }
 471          
 472          /*                              鼠标上电检测程序                                */
 473          /*                              张亚成                                          */
 474          /*                              2006.4.29                                       */
 475          void check_powerm( void )
 476          {
 477   1      
 478   1      if( bvcc == 0 && avcc == 0 )
 479   1              {
 480   2              if( amvcc == 1 )
 481   2                      {
 482   3                      state = 0;
 483   3                      bxout = state;
 484   3                      /*leda = state;
 485   3                      ledb = ~state;*/
 486   3                      vi = 1;
 487   3                      avcc = 1;
 488   3                      ctl_ou = 0;
 489   3                      cut_p_time = 0;
C51 COMPILER V7.06   MAIN                                                                  01/15/2007 15:24:50 PAGE 9   

 490   3                      }
 491   2              else if( bmvcc == 1 )
 492   2                      {
 493   3                      state = 1;
 494   3                      bxout = state;
 495   3                      /*leda = state;
 496   3                      ledb = ~state;*/
 497   3                      vi = 1;
 498   3                      bvcc = 1;
 499   3                      ctl_ou = 0;
 500   3                      cut_p_time = 0;
 501   3                      }
 502   2              }
 503   1      if( amvcc == 0)
 504   1              {
 505   2              avcc = 0;
 506   2              }
 507   1      if( bmvcc == 0 )
 508   1              {
 509   2              bvcc = 0;
 510   2              }
 511   1      
 512   1      if( state == 0)
 513   1              {
 514   2              if( bmvcc == 1 && avcc == 1 && bvcc == 0)
 515   2                      {
 516   3                      msoption1 = 0;
 517   3                      mroption1 = 0;
 518   3                      ksoption1 = 0;
 519   3                      kroption1 = 0;
 520   3                      bvcc = 1;
 521   3                      mcodenum1 = 2;
 522   3                      mcode1[1] = 0xAA;
 523   3                      mcode1[0] = 0x00;
 524   3                      kcodenum1 = 1;
 525   3                      kcode1[0] = 0xAA;
 526   3                      }
 527   2              }
 528   1      else if( state == 1 )
 529   1              {
 530   2              if( amvcc == 1 && bvcc ==1 && avcc == 0)
 531   2                      {
 532   3                      msoption = 0;
 533   3                      mroption = 0;
 534   3                      ksoption = 0;
 535   3                      kroption = 0;
 536   3                      avcc = 1;
 537   3                      mcodenum = 2;
 538   3                      mcode[1] = 0xAA;
 539   3                      mcode[0] = 0x00;
 540   3                      kcodenum = 1;
 541   3                      kcode[0] = 0xAA;
 542   3                      }
 543   2              }
 544   1      }
 545          
 546          /*                              命令处理程序                                    */
 547          /*                              张亚成                                          */
 548          /*                              2006.5.8                                        */      
 549          
 550          void code_pro( void )
 551          {
C51 COMPILER V7.06   MAIN                                                                  01/15/2007 15:24:50 PAGE 10  

 552   1      if( mcoderok )
 553   1              {
 554   2              mcoderok = 0;
 555   2              if( mrcode == 0xFF )
 556   2                      {
 557   3                      mcodenum = 3;
 558   3                      mcode[2] = 0xFA;
 559   3                      mcode[1] = 0xAA;
 560   3                      mcode[0] = 0x00;
 561   3                      }
 562   2              else if ( mrcode == 0xF2 )
 563   2                      {
 564   3                      mcodenum = 2;
 565   3                      mcode[1] = 0xFA;
 566   3                      mcode[0] = 0x00;
 567   3                      }
 568   2              else if( mrcode == 0xe9 )
 569   2                      {
 570   3                      mcodenum = 1;
 571   3                      mcode[0] = 0x00;
 572   3                      }
 573   2              else
 574   2                      {
 575   3                      mcodenum = 1;
 576   3                      mcode[0] = 0xFA;
 577   3                      }
 578   2              }
 579   1      if( kcoderok )

⌨️ 快捷键说明

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