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

📄 fengshan.lst

📁 遥控风扇
💻 LST
📖 第 1 页 / 共 2 页
字号:
 293   1       delay();
 294   1       P0=0xff;
 295   1       P2_6=1;
 296   1      
 297   1      
 298   1       P2_7=0;
 299   1       P0=tempt[sdate%10];
 300   1       delay();
 301   1       P0=0xff;
 302   1       P2_7=1;
 303   1       
C51 COMPILER V7.06   FENGSHAN                                                              09/21/2008 16:50:11 PAGE 6   

 304   1      }
 305          /*************************************************************
 306          **函数名:time()
 307          **输  入:
 308          **输  出:
 309          **************************************************************/
 310          void time()
 311          {
 312   1      if(TF1==1)
 313   1      {
 314   2      TH1=(65535-1000)/256;
 315   2      TL1=(65535-1000)%256;
 316   2      us1000++;
 317   2      if(us1000==500)
 318   2      {
 319   3      us1000=0;
 320   3      inc_sec();
 321   3      }
 322   2      }
 323   1      }
 324          /*************************************************************
 325          **函数名:主函数
 326          **输  入:
 327          **输  出:
 328          **************************************************************/
 329           void main()
 330           {
 331   1      uint num;
 332   1      int Bcho;
 333   1      P3_1=0;
 334   1      TMOD=0x10;           //设置定时器
 335   1      TH1=(65535-1000)/256;
 336   1      TL1=(65535-1000)%256;
 337   1       TR1=1;
 338   1       EA=1;    //开总中断
 339   1       IT0=1;           //外部中断0触发方式控制位,下降沿触发
 340   1       EX0=1;           //外部中断0(INT0)中断允许位
 341   1      ReadNByte(0xa0,0x00,ucSendBuffer,1);
 342   1      t=ucSendBuffer[0];
 343   1      ReadNByte(0xa0,0x01,ucSendBuffer,1);
 344   1      Bcho=ucSendBuffer[0];
 345   1      hour=t;
 346   1      min=59;
 347   1      sec=0;
 348   1      us1000=0;
 349   1      if(Bcho!=3) aa[0]=0x41;
 350   1      if(P1_0==0) aa[0]=0x41;
 351   1      while(aa[0]==0x41)
 352   1      {
 353   2      if(P1_0==0)
 354   2      {
 355   3      Bcho++;
 356   3      if(Bcho>2) Bcho=0;
 357   3      ucSendBuffer[0]=Bcho;//保存数据
 358   3      WriteNByte(0xa0,0x01,ucSendBuffer,1);
 359   3      beep();
 360   3      aa[2]=0x00;
 361   3      }
 362   2      if(P1_1==0)
 363   2      {
 364   3      Bcho=4;
 365   3      ucSendBuffer[0]=Bcho;//保存数据
C51 COMPILER V7.06   FENGSHAN                                                              09/21/2008 16:50:11 PAGE 7   

 366   3      WriteNByte(0xa0,0x01,ucSendBuffer,1);
 367   3      }
 368   2      if(aa[2]==0x1e)
 369   2      {
 370   3      Bcho--;
 371   3      if(Bcho<0) Bcho=2;
 372   3      ucSendBuffer[0]=Bcho;//保存数据
 373   3      WriteNByte(0xa0,0x01,ucSendBuffer,1);
 374   3      beep();
 375   3      aa[2]=0x00;
 376   3      }
 377   2      if(aa[2]==0x1a)
 378   2      {
 379   3      Bcho++;
 380   3      if(Bcho>2) Bcho=0;
 381   3      ucSendBuffer[0]=Bcho;//保存数据
 382   3      WriteNByte(0xa0,0x01,ucSendBuffer,1);
 383   3      beep();
 384   3      aa[2]=0x00;
 385   3      }
 386   2      if(aa[2]==0x12)
 387   2      {
 388   3      Bcho=3;
 389   3      ucSendBuffer[0]=Bcho;//保存数据
 390   3      WriteNByte(0xa0,0x01,ucSendBuffer,1);
 391   3      beep();
 392   3      aa[2]=0x00;
 393   3      }
 394   2      if(aa[2]==0x16)
 395   2      {
 396   3      Bcho=4;
 397   3      ucSendBuffer[0]=Bcho;//保存数据
 398   3      WriteNByte(0xa0,0x01,ucSendBuffer,1);
 399   3      beep();
 400   3      aa[2]=0x00;
 401   3      }
 402   2      if(aa[2]==0x10)
 403   2      {
 404   3      P2_0=0;
 405   3      Bcho=6;
 406   3      ucSendBuffer[0]=Bcho;//保存数据
 407   3      WriteNByte(0xa0,0x01,ucSendBuffer,1);
 408   3      beep();
 409   3      aa[2]=0x00;
 410   3      }
 411   2      if(aa[2]==0x5a)
 412   2      {
 413   3      Bcho=5;
 414   3      ucSendBuffer[0]=Bcho;//保存数据
 415   3      WriteNByte(0xa0,0x01,ucSendBuffer,1);
 416   3      beep();
 417   3      aa[2]=0x00;
 418   3      }
 419   2      if(aa[2]==0x45)
 420   2      {
 421   3      Bcho=1;
 422   3      ucSendBuffer[0]=Bcho;//保存数据
 423   3      WriteNByte(0xa0,0x01,ucSendBuffer,1);
 424   3      beep();
 425   3      aa[2]=0x00;
 426   3      }
 427   2      switch(Bcho)
C51 COMPILER V7.06   FENGSHAN                                                              09/21/2008 16:50:11 PAGE 8   

 428   2      {
 429   3      case 0:
 430   3      P3_1=0;
 431   3      P2=0xc6;
 432   3      break;
 433   3      case 1:
 434   3       P2_4=1;
 435   3       P2_5=1;
 436   3      P3_1=0;
 437   3      num=hour;
 438   3      if(num==0)
 439   3      {
 440   4      P2_0=1; 
 441   4      P0=0xff;   
 442   4      P2_6=1; 
 443   4      P2_7=1;
 444   4      }
 445   3      else if(num==1)
 446   3      {
 447   4      time(); 
 448   4      P2_0=0;  
 449   4      led(min);
 450   4      }
 451   3      else
 452   3      {
 453   4      time(); 
 454   4      P2_0=0;  
 455   4      led(hour);
 456   4      }
 457   3      break; 
 458   3      case 2 :
 459   3       P3_1=0;
 460   3       led(hour);
 461   3       hour=t;
 462   3       min=59;
 463   3       sec=0;
 464   3       us1000=0;
 465   3       P2_0=1;//关风扇
 466   3       P2_4=1;
 467   3       P2_5=0;
 468   3       P2_3=1;
 469   3       P3_1=0;
 470   3       if(aa[2]==0x1b)
 471   3      { 
 472   4        t++;
 473   4        if(t>10) t=1;
 474   4        ucSendBuffer[0]=t;//保存数据
 475   4        WriteNByte(0xa0,0x00,ucSendBuffer,1);
 476   4         
 477   4        ReadNByte(0xa0,0x00,ucSendBuffer,1);
 478   4        t=ucSendBuffer[0];
 479   4        beep();
 480   4        aa[2]=0x00;
 481   4       }
 482   3       if(aa[2]==0x1f)
 483   3      { 
 484   4        t--;
 485   4        if(t<1) t=10;
 486   4        ucSendBuffer[0]=t;//保存数据
 487   4        WriteNByte(0xa0,0x00,ucSendBuffer,1);
 488   4         
 489   4        ReadNByte(0xa0,0x00,ucSendBuffer,1);
C51 COMPILER V7.06   FENGSHAN                                                              09/21/2008 16:50:11 PAGE 9   

 490   4        t=ucSendBuffer[0];
 491   4        beep();
 492   4        aa[2]=0x00;
 493   4       }
 494   3       if(P1_2==0)
 495   3      {
 496   4        t++;
 497   4        if(t>10) t=1;
 498   4        ucSendBuffer[0]=t;//保存数据
 499   4        WriteNByte(0xa0,0x00,ucSendBuffer,1);
 500   4         
 501   4        ReadNByte(0xa0,0x00,ucSendBuffer,1);
 502   4        t=ucSendBuffer[0];
 503   4        beep();
 504   4        aa[2]=0x00;
 505   4      }
 506   3       break;
 507   3      case 3:
 508   3       P2=0xff;
 509   3       P3_1=0;
 510   3       break;
 511   3      case 4:
 512   3      ReadTemperature();
 513   3      led(sdata);
 514   3       P2_4=0;
 515   3       P2_5=1;
 516   3       P2_3=1;
 517   3       P3_1=0;
 518   3       break;
 519   3      case 5:
 520   3      P2_0=0;
 521   3      delay1(1000);
 522   3      P2_0=1;
 523   3      delay1(2000);
 524   3      P2_0=0;
 525   3      delay1(3000);
 526   3      P2_0=1;
 527   3      delay1(1000);
 528   3      break;
 529   3      default : break;
 530   3      }
 531   2       }
 532   1      }
 533          /****************************************************
 534          **函数名:inc_sec()
 535          **输  入:
 536          **输  出:
 537          *****************************************************/    
 538          void inc_sec()
 539          {
 540   1      sec++;
 541   1      P2_3=!P2_3;
 542   1      if(sec>59)
 543   1      {
 544   2      sec=0;
 545   2      inc_min();
 546   2      }
 547   1      }
 548          /****************************************************
 549          **函数名:inc_min()
 550          **输  入:
 551          **输  出:
C51 COMPILER V7.06   FENGSHAN                                                              09/21/2008 16:50:11 PAGE 10  

 552          *****************************************************/ 
 553          void inc_min()
 554          {
 555   1      min--;
 556   1      if(min<0)
 557   1      {
 558   2      min=59;
 559   2      inc_hour();
 560   2         }
 561   1      }
 562          /****************************************************
 563          **函数名:inc_hour()
 564          **输  入:
 565          **输  出:
 566          *****************************************************/ 
 567          void inc_hour()
 568          {
 569   1      hour--;
 570   1      if(hour<0) hour=t;
 571   1      }
 572          
 573            
 574          
 575          
 576          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1973    ----
   CONSTANT SIZE    =     11    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     32      28
   IDATA SIZE       =      4    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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