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

📄 main.lst

📁 矿工定位系统单端
💻 LST
📖 第 1 页 / 共 3 页
字号:
 504   2            //FLASH_WriteByte(0xc04, 0); 
 505   2        }
 506   1        else
 507   1         {
 508   2          ADDR=0;
 509   2              EA=0;
 510   2              FLASH_ErasePage(0xc01);
 511   2          FLASH_WriteByte(0xc04, 0);
 512   2          FLASH_WriteByte(0xc05, 0x55);
 513   2              FLASH_WriteByte(0xc06, 0xAA);
 514   2          EA=1;
 515   2         }
 516   1        
 517   1      ADDR=60;
 518   1       
 519   1      
 520   1      while(1)
 521   1       { 
 522   2        if(beep_flg)
 523   2        {
 524   3           //BEEP=1;
 525   3               flash_beep(3);
 526   3        }
 527   2        if(!POW_ON)
 528   2        {
 529   3           LED=0; 
 530   3               powoffdelay=0;
 531   3               while(!POW_ON){powoffdelay++;if(powoffdelay>100)break;Delay100ms(1);}
 532   3               if(powoffdelay>100)
 533   3               {  
 534   4               PWR =0;//关
 535   4                   flash_led(2);
 536   4               BEEP=1;Delay100ms(1);BEEP=0;Delay100ms(1); BEEP=1;Delay100ms(1);BEEP=0;
 537   4                       while(!POW_ON);
 538   4                       rtc_stop(); WDCON = WDCON&0XFE;
 539   4                       EA=1;
 540   4                       Delay100ms(5);
 541   4               keypad_init();
 542   4             DIVM =0x00;
 543   4                      // power_mode(POWER_TOTALPOWERDOWN  ) ;
 544   4               
 545   4                       power_mode(POWER_POWERDOWN);
 546   4                         EKBI = 0;
 547   4                       WDCON = WDCON|0X01;
C51 COMPILER V7.05   MAIN                                                                  04/08/2005 13:54:31 PAGE 10  

 548   4               PWR =1;//凯
 549   4                        ports_init();
 550   4                        osc_init();
 551   4                rtc_init();
 552   4                        BEEP=1;Delay100ms(1);BEEP=0;Delay100ms(1);
 553   4                       AUXR1=AUXR1| 0x08;
 554   4               }
 555   3               LED=1; 
 556   3        }
 557   2        //**********************************************88
 558   2         if(ISP)
 559   2         {
 560   3            watchdog_start();
 561   3           
 562   3                if(!KEY){beep_flg=0;wring_send_times=3; key_tem=0x02; LED=0; Delay100ms(2); LED=!LED;LED=0; Delay100ms(
             -2); LED=!LED;}//有键按下
 563   3                 watchdog_feed();
 564   3            if(rxok)
 565   3                {
 566   4                  rxok=0;
 567   4      
 568   4              xxxx=cal_crc( RXtem,4);
 569   4                      /*SBUF=xxxx>>8;
 570   4                      while(!TI);
 571   4                      TI=0;
 572   4                  SBUF=xxxx;
 573   4                      while(!TI);
 574   4                      TI=0;*/
 575   4                      if(xxxx==CRC.intX)//crc交验通过
 576   4                      {
 577   5                       if(RX_BEEP==0x33)
 578   5                       {
 579   6                          beep_delay=40000;
 580   6                          beep_flg=1;
 581   6                       }
 582   5                       
 583   5                      Send_ok(key_tem);
 584   5                  flash_led(3);
 585   5                      i=0;
 586   5                  LED=1;
 587   5                      Link_ok=1;
 588   5              watchdog_feed();
 589   5               PWR =0;//关
 590   5                      }
 591   4                        
 592   4               }
 593   3               if(set_ok)//设置模块的ID
 594   3               {
 595   4              watchdog_feed();
 596   4                      set_ok=0;
 597   4                      Send_ok(key_tem);
 598   4      
 599   4                      watchdog_feed();
 600   4                      EA=0;
 601   4                      FLASH_ErasePage(0xc01);
 602   4              FLASH_WriteByte(0xc05, 0x55);
 603   4                  FLASH_WriteByte(0xc06, 0xAA);
 604   4                  FLASH_WriteByte(0xc04,RX_addr);   //存入新ID
 605   4                  EA=1;
 606   4                      ADDR=RX_addr;
 607   4                  LED=0;
 608   4              flash_led(5);
C51 COMPILER V7.05   MAIN                                                                  04/08/2005 13:54:31 PAGE 11  

 609   4                      i=0;
 610   4                  LED=1;
 611   4                      Link_ok=1;
 612   4              watchdog_feed();
 613   4               }
 614   3          rtc_start();
 615   3        switch(CS_state)
 616   3        {
 617   4         case 0:
 618   4         CS=0;
 619   4         if(T_flag)
 620   4              {  
 621   5           
 622   5             watchdog_feed();
 623   5            rtc_stop();  
 624   5            T_flag=0;
 625   5                  if(i>=2)
 626   5                { 
 627   6                 PWR =1;   
 628   6                }
 629   5         
 630   5                i++;
 631   5          
 632   5                if(i>3)
 633   5                {
 634   6                  i=0;
 635   6              watchdog_feed();
 636   6                  if(Link_ok)
 637   6                  {
 638   7                     Link_ok=0;
 639   7                 watchdog_feed();
 640   7                 
 641   7                  }
 642   6                 else
 643   6                  {
 644   7                     LED=0;
 645   7                 Delay1ms(50);
 646   7                     LED=1;
 647   7                     j++;
 648   7                 watchdog_feed();
 649   7                 CS_state=1;
 650   7                         if(j>5)
 651   7                        {  
 652   8                          PWR =0;   
 653   8                          j=0;
 654   8                          DIVM =0x00;
 655   8                  watchdog_feed();
 656   8                               power_mode(POWER_TOTALPOWERDOWN);//休眠
 657   8                        }
 658   7                  }
 659   6               }
 660   5              }
 661   4          break;
 662   4         case 1:
 663   4           CS=1;
 664   4         if(T_flag)
 665   4              {   // PWR =1;     
 666   5             watchdog_feed();
 667   5            rtc_stop();  
 668   5            T_flag=0;
 669   5                if(i>=2)
 670   5                { 
C51 COMPILER V7.05   MAIN                                                                  04/08/2005 13:54:31 PAGE 12  

 671   6                 PWR =1;   
 672   6                }
 673   5          
 674   5                i++;
 675   5               
 676   5                if(i>3)
 677   5                {
 678   6                 i=0;
 679   6             watchdog_feed();
 680   6                 if(Link_ok)
 681   6                 {
 682   7                  Link_ok=0;
 683   7              watchdog_feed();
 684   7                 
 685   7                 }
 686   6                 else
 687   6                 {
 688   7                  LED=0;
 689   7              Delay1ms(50);
 690   7                  LED=1;
 691   7                  j++;
 692   7              watchdog_feed();
 693   7              CS_state=0;
 694   7                      if(j>5)
 695   7                      {    
 696   8                       PWR =0;   
 697   8                       j=0;
 698   8                       DIVM =0x00;
 699   8               watchdog_feed();
 700   8                   power_mode(POWER_TOTALPOWERDOWN);//休眠
 701   8                      }
 702   7                 }
 703   6               }
 704   5              }
 705   4          break;
 706   4         default:
 707   4          CS_state=0;
 708   4          break;
 709   4         }//end swtich
 710   3       
 711   3      
 712   3         }
 713   2         else
 714   2         {
 715   3          LED=!LED;
 716   3          Delay100ms(10);
 717   3      
 718   3              
 719   3              
 720   3               if(set_ok)//设置模块的ID
 721   3               {
 722   4                  
 723   4              watchdog_feed();
 724   4                      set_ok=0;
 725   4                  EA=0;
 726   4              yyy:    
 727   4                  FLASH_ErasePage(0xc01);
 728   4                  FLASH_WriteByte(0xc04,RX_addr);   //存入新ID
 729   4                  if(FLASH_ReadByte(0XC04)!=RX_addr)
 730   4                      goto yyy;
 731   4                  EA=1;
 732   4                      ADDR=RX_addr;
C51 COMPILER V7.05   MAIN                                                                  04/08/2005 13:54:31 PAGE 13  

 733   4                  LED=0;
 734   4              flash_led(4);
 735   4                      i=0;
 736   4                  LED=1;
 737   4                      Link_ok=1;
 738   4              watchdog_feed();
 739   4                      Setok();
 740   4               }
 741   3         }
 742   2       }
 743   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1404    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     22      14
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      5    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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