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

📄 main.lst

📁 矿工定位系统单端
💻 LST
📖 第 1 页 / 共 3 页
字号:
 476   1          while(0==TI);                       // 等待发送完毕
 477   1          TI = 0;                             // 清除发送标志
 478   1          ES=1;
 479   1      }
 480          //**************************************************************
 481          void main(void)
C51 COMPILER V7.05   MAIN                                                                  03/05/2003 15:44:08 PAGE 9   

 482          {
 483   1        unsigned  char Link_ok=0,j,CS_state=0;
 484   1       // unsigned int xxx;
 485   1      
 486   1        
 487   1        ports_init();
 488   1        BEEP=0;
 489   1       if(ISP) 
 490   1        {
 491   2         user_uart_init();//用户串口初始化
 492   2          watchdog_init();//初始化看门狗
 493   2        
 494   2         }
 495   1       else
 496   1        {
 497   2         uart_init();  //进入ISP模式
 498   2         FLASH_WriteByte(0xc04, 0);
 499   2        }
 500   1        osc_init();
 501   1        rtc_init();
 502   1        EA=1;
 503   1        ES=1;
 504   1        CS=0;
 505   1        TX_EN=0; //接收状态
 506   1        PWR =1;
 507   1       //rtc_start();
 508   1       LED=0;
 509   1       Delay100ms(2);
 510   1       LED=1;
 511   1        if((FLASH_ReadByte(0XC05)==0x55)&(FLASH_ReadByte(0XC06)==0xaa))//初始化模块的ID
 512   1        {
 513   2          EA=0;
 514   2          ADDR=FLASH_ReadByte(0XC04); 
 515   2          EA=1;
 516   2            //FLASH_WriteByte(0xc04, 0); 
 517   2        }
 518   1        else
 519   1         {
 520   2          ADDR=0;
 521   2              EA=0;
 522   2          FLASH_WriteByte(0xc04, 0);
 523   2          FLASH_WriteByte(0xc05, 0x55);
 524   2              FLASH_WriteByte(0xc06, 0xAA);
 525   2          EA=1;
 526   2         }
 527   1        
 528   1      //ADDR=2;
 529   1      
 530   1      
 531   1      while(1)
 532   1       { 
 533   2        if(beep_flg)
 534   2        {
 535   3           //BEEP=1;
 536   3               flash_beep(3);
 537   3        }
 538   2         if(ISP)
 539   2         {
 540   3            watchdog_start();
 541   3           
 542   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;}//有键按下
C51 COMPILER V7.05   MAIN                                                                  03/05/2003 15:44:08 PAGE 10  

 543   3                 watchdog_feed();
 544   3            if(rxok)
 545   3                {
 546   4                  rxok=0;
 547   4      
 548   4              xxxx=cal_crc( RXtem,4);
 549   4                      /*SBUF=xxxx>>8;
 550   4                      while(!TI);
 551   4                      TI=0;
 552   4                  SBUF=xxxx;
 553   4                      while(!TI);
 554   4                      TI=0;*/
 555   4                      if(xxxx==CRC.intX)//crc交验通过
 556   4                      {
 557   5                       if(RX_BEEP==0x33)
 558   5                       {
 559   6                          beep_delay=40000;
 560   6                          beep_flg=1;
 561   6                       }
 562   5                       
 563   5                      Send_ok(key_tem);
 564   5                  flash_led(3);
 565   5                      i=0;
 566   5                  LED=1;
 567   5                      Link_ok=1;
 568   5              watchdog_feed();
 569   5               PWR =0;//关
 570   5                      }
 571   4                        
 572   4               }
 573   3               if(set_ok)//设置模块的ID
 574   3               {
 575   4              watchdog_feed();
 576   4                      set_ok=0;
 577   4                      Send_ok(key_tem);
 578   4      
 579   4                      watchdog_feed();
 580   4                      EA=0;
 581   4                  FLASH_WriteByte(0xc04,RX_addr);   //存入新ID
 582   4                  EA=1;
 583   4                      ADDR=RX_addr;
 584   4                  LED=0;
 585   4              flash_led(5);
 586   4                      i=0;
 587   4                  LED=1;
 588   4                      Link_ok=1;
 589   4              watchdog_feed();
 590   4               }
 591   3          rtc_start();
 592   3        switch(CS_state)
 593   3        {
 594   4         case 0:
 595   4         CS=0;
 596   4         if(T_flag)
 597   4              {  
 598   5           
 599   5             watchdog_feed();
 600   5            rtc_stop();  
 601   5            T_flag=0;
 602   5                  if(i>=2)
 603   5                { 
 604   6                 PWR =1;   
C51 COMPILER V7.05   MAIN                                                                  03/05/2003 15:44:08 PAGE 11  

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

 667   7                  LED=1;
 668   7                  j++;
 669   7              watchdog_feed();
 670   7              CS_state=0;
 671   7                      if(j>5)
 672   7                      {    
 673   8                       PWR =0;   
 674   8                       j=0;
 675   8                       DIVM =0x00;
 676   8               watchdog_feed();
 677   8                   power_mode(POWER_TOTALPOWERDOWN);//休眠
 678   8                      }
 679   7                 }
 680   6               }
 681   5              }
 682   4          break;
 683   4         default:
 684   4          CS_state=0;
 685   4          break;
 686   4         }//end swtich
 687   3       
 688   3      
 689   3         }
 690   2         else
 691   2         {
 692   3          LED=!LED;
 693   3          Delay100ms(10);
 694   3      
 695   3              
 696   3              
 697   3               if(set_ok)//设置模块的ID
 698   3               {
 699   4                  
 700   4              watchdog_feed();
 701   4                      set_ok=0;
 702   4                  EA=0;
 703   4                  FLASH_WriteByte(0xc04,RX_addr);   //存入新ID
 704   4                  EA=1;
 705   4                      ADDR=RX_addr;
 706   4                  LED=0;
 707   4              flash_led(4);
 708   4                      i=0;
 709   4                  LED=1;
 710   4                      Link_ok=1;
 711   4              watchdog_feed();
 712   4                      Setok();
 713   4               }
 714   3         }
 715   2       }
 716   1      }

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

⌨️ 快捷键说明

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