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

📄 allsubfun.lst

📁 用户可以在远端利用固定电话或移动电话发送DTMF双音多频信号,实现对近端电器设备的远程控制。
💻 LST
📖 第 1 页 / 共 3 页
字号:
 465   4                                                        show:         if( jiadian[what] == 0 )
 466   4                                                                                              isdplay(7,1);
 467   4                                                                                      else if( jiadian[what] == 0xffff )
 468   4                                                                                                      isdplay(6,1);
 469   4                                                                                      else isdplay(8,1);
 470   4                                                                                      break;
 471   4                                                              case  16: return;
 472   4                                                              default : goto error;     
 473   4                                                      }
 474   3                                              break ;
 475   3      
 476   3                              /***************留言 听留言*******************************/
 477   3                              
 478   3                                      case MT2:
 479   3                                      isdplay(12,1);
 480   3                                      isdrecord();
 481   3                                      break ; 
 482   3      
 483   3                                      case MT3:
 484   3                                      isdplay(15,1);
 485   3                                      break ;
 486   3      
 487   3      
 488   3                              /**************系统设置*************************************/
C51 COMPILER V7.20   ALLSUBFUN                                                             05/31/2006 22:36:00 PAGE 9   

 489   3                                      case MT4:
 490   3                                              isdplay(9,1);
 491   3                                              {
 492   4                                                      switch(isdwait8870())
 493   4                                                      {
 494   5                                                              case MT1 :
 495   5                                                                      isdplay(11,1);
 496   5      
 497   5                                                                      if(lingchang() == 3)
 498   5                                                                                      return;;
 499   5                                                                      break;
 500   5      
 501   5                                                              case MT2:
 502   5                                                                      isdplay(1,1);
 503   5                                                                      temp = mimachang();
 504   5      
 505   5                                                                      if( temp == 1)
 506   5                                                                              isdplay(13,1);
 507   5                                                                      else if(temp == 0 )
 508   5                                                                              isdplay(14,1);
 509   5                                                                      else return ;
 510   5                                                                      break;
 511   5                                                          case 16 :
 512   5                                                                              return ;                
 513   5                                                              default : goto error;   
 514   5                                                      }
 515   4                                              }
 516   3                                      
 517   3                                              break ;
 518   3                              /**************退出系统***********************************/
 519   3                                      case MT5:
 520   3                                      return ;
 521   3                              /**************重新提示***********************************/
 522   3                                      case MTJ:
 523   3                                      break ;
 524   3                              /**************超时退出**********************************/
 525   3                                      case 16 :
 526   3                                       return;
 527   3      
 528   3                                  default: 
 529   3                              error:  isdplay(14,1);
 530   3                                              break;
 531   3                                              
 532   3                              }
 533   2              }
 534   1        
 535   1      }
 536          
 537          
 538          
 539          
 540          /*******************家电设置 **********************/
 541          void inithome(void)
 542          {       
 543   1              CONTROL0 = 0 ;    /*全关暂时用高电平开*/
 544   1              CONTROL1 = 0 ;
 545   1              CONTROL2 = 0 ;   
 546   1      
 547   1              jiadian[0] = 0 ;
 548   1              jiadian[1] = 0 ;
 549   1              jiadian[2] = 0 ;
 550   1      
C51 COMPILER V7.20   ALLSUBFUN                                                             05/31/2006 22:36:00 PAGE 10  

 551   1      
 552   1      }
 553          void sethome(uchar what, int time)
 554          {
 555   1                jiadian[what] = time ;
 556   1                if(time != 0)
 557   1                              {
 558   2                                      switch(what)
 559   2                                       {
 560   3                                              case  0 : CONTROL0 = 1;
 561   3                                              break;
 562   3                                              case  1 : CONTROL1 = 1;
 563   3                                              break;
 564   3                                              case  2 : CONTROL2 = 1;
 565   3                                              break;
 566   3      
 567   3                                       }      
 568   2                              }
 569   1      }
 570          
 571          
 572          uchar dingshi(uchar what)
 573          {
 574   1              int time;
 575   1              uchar temp ;
 576   1      
 577   1              time = 0 ;
 578   1              isdplay(11,1);
 579   1      
 580   1              while( (temp = get8870()) != MTJ )
 581   1              {
 582   2                      if(temp == 16)
 583   2                              return 3;
 584   2      
 585   2                      if(temp == MT0)
 586   2                              temp = 0 ;
 587   2      
 588   2                      if(temp > 10)
 589   2                              {
 590   3                                       isdplay(14, 1);
 591   3                                       return 0;
 592   3                              }
 593   2      
 594   2                      time = time*10 + temp;
 595   2      
 596   2                      if( time > 50 )
 597   2                         {
 598   3                                isdplay(14, 1);
 599   3                                return 0 ;
 600   3                         }
 601   2              }
 602   1              
 603   1      
 604   1               time = time * 1200;
 605   1               sethome(what,time);
 606   1              return 1;
 607   1      
 608   1      }
 609          
 610          
 611          /*********************本地键盘 *********************/
 612          
C51 COMPILER V7.20   ALLSUBFUN                                                             05/31/2006 22:36:00 PAGE 11  

 613          void keyuse(void) interrupt 2
 614          {
 615   1              static keycount =0 ;
 616   1              uchar temp ;
 617   1      
 618   1              stoprecord();
 619   1              stopisd();
 620   1      
 621   1              temp = KEYDATA ;
 622   1              delay(10000);
 623   1              if(temp == KEYDATA)
 624   1                      {
 625   2                              GETCALL = 1 ;
 626   2                              switch(temp)
 627   2                              {
 628   3                                      case 0x0E:
 629   3                                                      
 630   3                                                      telnetmenu();
 631   3                                              break;
 632   3      
 633   3                                      case 0x0D:
 634   3                                                 keycount ++;
 635   3                                              if(keycount != 3)
 636   3                                                      break;
 637   3                                               keycount = 0 ;
 638   3                                                      mimasave[0] = 0x12;
 639   3                                                      mimasave[1] = 0x34;
 640   3                                                      mimasave[2]     = 0x56;
 641   3                                                      mimasave[3] = 0;
 642   3                                                      mimasave[4]     = 0;
 643   3                                                      
 644   3                                                      lingcount = 6 ;
 645   3                                                      w24c01(0x00,mimasave,5);
 646   3                                                      w24c01(0x06,&lingcount,1); 
 647   3                                                      isdplay(13,1);
 648   3                                                      break;
 649   3      
 650   3                                      case 0x0B:
 651   3                                                      isdplay(15,1);
 652   3                                                      break;
 653   3                                      case 0x07:
 654   3                                                      isdplay(12,1);
 655   3                                                      isdrecord();
 656   3                                                      isdplay(13,1);
 657   3                                                      break;
 658   3                              }
 659   2                                      GETCALL = 0 ;
 660   2                      }
 661   1      }
 662          
 663          
 664          
 665          /*********************本地 LED *********************/
 666          void ledshow(uchar num )  /*显示1MS*/
 667          {
 668   1              LEDSEND(led[num]);
 669   1              LEDCON = 1 ;
 670   1              delay(1000);
 671   1              LEDCON = 0 ;
 672   1      }
 673          
 674          
C51 COMPILER V7.20   ALLSUBFUN                                                             05/31/2006 22:36:00 PAGE 12  

 675          
 676          
 677          
 678          
 679          
 680          
 681          
 682          
 683          
 684          
 685          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1601    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     50      20
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       4
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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