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

📄 init_sys.lst

📁 c8051f020实现4个 产UART 口
💻 LST
📖 第 1 页 / 共 3 页
字号:
                                         Read_BaoJingJiLu_To_CpuRam() ;
                                    #endif   
 388   2      
 389   2                         }
 390   1                         if(Is_Para_all_True_OK()==0)   //读出数据不对时,重复
 391   1                                    goto Looppp0;
 392   1                          MoveByte((uchar *)&Para_all_True_Bak, (uchar *)&Para_all_True, sizeof(Para_all_True));
 393   1                          Para_all_True_Bak.Change_Flag=0;
 394   1                          Add_CSSUM();        
 395   1                              
 396   1        }
 397          
 398          
 399          
 400          
 401          
 402          /**********************************************************************
 403          **函数原型:   void Rf_2262() 
 404          **入口参数:   
 405          **出口参数:   无
 406          **返 回 值:   无
 407          **说    明:  Rf2262子程序INIT
 408          ************************************************************************/
 409           //         250us
 410          
 411          uchar RF_sta=0;
 412          uchar Low_Cnt=0;        
 413          uchar High_Cnt=0;       
 414          uchar WeiShu=0;
 415          
 416          uint Hlcnt=0;
 417          uint Hlcntshu[26],jji,mmkh;
 418          
 419          #define   LOWV    1
 420          #define   HIGHV   3
 421          
 422           uchar ppp2;
 423          
C51 COMPILER V7.50   INIT_SYS                                                              06/10/2007 23:11:21 PAGE 8   

 424          uchar hhh[40],loww[40],ill;
 425          void Rf_2262()   {
 426   1                      
 427   1                      switch(RF_sta)  {
 428   2                            case 0:
 429   2                                                WeiShu=0;             //接收到的位数复位  
 430   2                                                ppp2=P2;
 431   2                                  if(RF315_in_P==0)  {
 432   3                                         RF_sta=1;
 433   3                                                             High_Cnt=1;                              
 434   3                                                }
 435   2                              break;
 436   2      
 437   2                               
 438   2                              case 1:   //检测高电平
 439   2                                            if(RF315_in_P==0)  { // if high
 440   3                                               
 441   3                                                        High_Cnt++;   
 442   3                                                       
 443   3                                                        
 444   3                                                }
 445   2                                                else {
 446   3                                                          RF_sta=2;
 447   3                                                    Low_Cnt=1;
 448   3                                                }                       
 449   2                              break;
 450   2                            case 2: //检测低电平
 451   2                                                if(RF315_in_P==1)  {  //if  di
 452   3                                                                 
 453   3                                                                        Low_Cnt++;
 454   3                                                                       if( Low_Cnt>25)   {
 455   4                                                                                           EA=0;
 456   4                                                                                           Hlcnt=0;
 457   4                                                                                           while(RF315_in_P==1)  {   //di
 458   5                                                                                                if(++Hlcnt>880) 
             - {
 459   6                                                                                                                                EA=1;     RF_sta=0;
 460   6                                                                                                                                        return;                                                               
 461   6      
 462   6                                                                                                              }
 463   5                                                                                                              jji=10;
 464   5                                                                                                              
 465   5                                                                                           }
 466   4      
 467   4                                                                                              mmkh=Hlcnt;              
 468   4                                                                                          jji=0;
 469   4                                                                                           while(1)  {                         
 470   5                                                                                                              Hlcnt=0;
 471   5                                                                                                           while(RF315_in_P==0)  {   //gao
 472   6                                                                                                                if(++Hlcnt>600
             -0)  {
 473   7                                                                                                                                                                EA=1;  RF_sta=0;
 474   7                                                                                                                                        return;                                                                       
 475   7      
 476   7                                                                                                                              }
 477   6                                                                                                                              
 478   6                                                                                                           }
 479   5                                                                                                               Hlcntshu[jji++]=         Hlcnt;
 480   5                                                                                                               if((Hlcnt>300&&Hlcnt<410)||Hlcnt<60||Hlcnt>690){
 481   6                                                                                                                                        EA=1;   RF_sta=0;
 482   6                                                                                                                                        return;               
 483   6                                                                                                               }
C51 COMPILER V7.50   INIT_SYS                                                              06/10/2007 23:11:21 PAGE 9   

 484   5      
 485   5      
 486   5                                                                                                                      
 487   5                                                                                                           Hlcnt=0;
 488   5                                                                                                           while(RF315_in_P==1)  {  //di
 489   6                                                                                                                if(++Hlcnt>600
             -0)  {
 490   7                                                                                                                                         EA=1;    RF_sta=0;
 491   7                                                                                                                                        return;                                                                       
 492   7      
 493   7                                                                                                                              }
 494   6                                                                                                                                      
 495   6                                                                                                           }
 496   5                                                                                                                Hlcntshu[jji++]=        Hlcnt;
 497   5                                                                                                                if((Hlcnt>300&&Hlcnt<410)||Hlcnt<60||Hlcnt>690){
 498   6                                                                                                                                        EA=1;     RF_sta=0;
 499   6                                                                                                                                        return;               
 500   6                                                                                                               }
 501   5      
 502   5      
 503   5                                                                                                                if(jji>=24)  {
 504   6                                                                                                                             for(jji=0;jji<24;jji++)  {
 505   7                                                                                                                                                       XinRf315_Value[0]<<=1; 
 506   7                                                                             if( Hlcntshu[jji]<300) {  
 507   8                                                                                                                                                                XinRf315_Value[0]|=1; 
 508   8                                                                                                                                                               
 509   8                                                                                                                                                 }
 510   7                                                                                                                                                else {
 511   8                                                                                                                                                              XinRf315_Value[0]&=(  (unsigned long)(~1)  );  
 512   8                                                                                                                                                      
 513   8                                                                                                                                                }
 514   7                                                                                                                               }
 515   6                                                                                                                               
 516   6                                                                                                                               if(XinRf315_B==0) {    
 517   7                                                                                                                                         XinRf315_B=1;
 518   7                                                                                                                                                  RF_sta=0;
 519   7                                                                                                                                      XinRf315_Value[1]=XinRf315_Value[0];
 520   7                                                                                                                               }
 521   6                                                                                                                jji=1;
 522   6                                                                                                                              break;                                                            
 523   6                                                                                                                }
 524   5                                                                                              }
 525   4                                                                       } 
 526   3                                                               EA=1;
 527   3                                                                      
 528   3                                                       }
 529   2                                                   else {
 530   3                                                                   RF_sta=0;
 531   3                                                        
 532   3                                                }                       
 533   2                              break;
 534   2                         
 535   2                  default:
 536   2                               RF_sta=0;
 537   2                              break;
 538   2      
 539   2              }
 540   1                
 541   1          
 542   1      }
 543          
 544          
C51 COMPILER V7.50   INIT_SYS                                                              06/10/2007 23:11:21 PAGE 10  

 545          /*
 546          {
 547                          
 548                          switch(RF_sta)  {
 549                                case 0:
 550                                                    WeiShu=0;             //接收到的位数复位  
 551                                                    ppp2=P2;
 552                                      if(RF315_in_P==0)  {
 553                                             RF_sta=1;
 554                                                                 High_Cnt=1;                              
 555                                                    }
 556                                  break;
 557          
 558                                   
 559                                  case 1:   //检测高电平
 560                                                if(RF315_in_P==0)  { // if high
 561                                                   
 562                                                            High_Cnt++;   
 563                                                           
 564                                                            
 565                                                    }
 566                                                    else {
 567                                                              RF_sta=2;
 568                                                        Low_Cnt=1;
 569                                                    }                       
 570                                  break;
 571                                case 2: //检测低电平
 572                                         if(RF315_in_P==1)  {  //if  di
 573                                                                     
 574                                                                            Low_Cnt++;
 575          
 576                                                                            if(WeiShu>=24)   {                                                                     
 577                                                                                  if( High_Cnt==LOWV&&Low_Cnt>=(8*LOWV) )  {
 578                                                                                                                                  //               if( High_Cnt==LOWV&&High_Cnt==(LOWV-1)&&Low_Cnt>=(8*LOWV) )  {
 579                                                                                                          //在这里接收到一帧数据

⌨️ 快捷键说明

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