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

📄 t905.lst

📁 无线遥控主机程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 266                     SpiWrite(0);
 267                      SpiWrite(0);
 268                           SpiWrite(0);
 269                            SpiWrite(0);
 270          
 271                  CSN=1;                                  // Spi disable                                          
 272                  Delay(1);
 273                  CSN=0;                                  // Spi enable for write a spi command   
 274                  SpiWrite(WTA);                          // Write address command
 275                  for (i=0;i<4;i++)                       // Write 4 bytes address
 276                  {
 277                          SpiWrite(RxTxConf.buf[i+5]);
 278                  }       
 279                  CSN=1;                                  // Spi disable
 280                  TRX_CE=1;                               // Set TRX_CE high,start Tx data transmission
 281                  Delay(1);                               // while (DR!=1);
 282                  TRX_CE=0;                               // Set TRX_CE low
 283          
 284          
 285          }
 286          
 287           */
 288          
 289          
 290          /*******************************************************************************************/
 291          //function RxPacket();
 292          /*******************************************************************************************/
 293          void RxPacket(void)
 294          {
 295   1              uchar i;        
 296   1              TRX_CE=0;                               // Set nRF905 in standby mode   
 297   1              CSN=0;                                  // Spi enable for write a spi command
 298   1              SpiWrite(RRP);                          // Read payload command 
 299   1              for (i=0;i<RECEIVE_LEN_RF;i++)
 300   1              {
 301   2                                      
 302   2                      Rs232TxBuf[i]=SpiRead();                // Read data and save to buffer         
 303   2                      
C51 COMPILER V7.50   T905                                                                  03/10/2006 10:18:41 PAGE 6   

 304   2              
 305   2                      
 306   2              }
 307   1              rs232_send_flag=1;
 308   1      
 309   1              CSN=1;                                  // Disable spi
 310   1              while(DR||AM);
 311   1              TRX_CE=1;
 312   1      
 313   1                                              
 314   1      }
 315          
 316          
 317          
 318          
 319          
 320          /*******************************************************************************************/
 321          //function SetTxMode();
 322          /*******************************************************************************************/
 323          void SetTxMode(void)                            
 324          {       
 325   1              TX_EN=1;
 326   1              TRX_CE=0;
 327   1              Delay(1);                               // delay for mode change(>=650us)
 328   1      }                               
 329          /*******************************************************************************************/
 330          //function SetRxMode();
 331          /*******************************************************************************************/
 332          void SetRxMode(void)
 333          {
 334   1              TX_EN=0;
 335   1              TRX_CE=1;
 336   1              Delay(1);                               // delay for mode change(>=650us)                               
 337   1      }
 338          /*******************************************************************************************/
 339          //Functon Scankey();
 340          /*******************************************************************************************/   
 341          /*
 342          void Scankey()
 343          {
 344                  uchar Temp,xx;
 345                  P0=0xff;
 346                  Temp=P0&0x0f;                           // Read key value from port P0
 347                  if (Temp!=0x0f)
 348                  {       Delay(10);
 349                          Temp=P0&0x0f;                   // Read key value from port P0
 350                          if (Temp!=0x0f)
 351                          {
 352                                  xx=Temp;        
 353                                  Temp=Temp<<4;           // Left shift 4 bits    
 354                                  TxBuf[0]=Temp;          // Turn On the LED
 355                                  P0=Temp;                // Save to Tx buffer[0]
 356                                  SetTxMode();            // Set Tx Mode
 357                                  TxPacket();             // Transmit Tx buffer data
 358                                  TxData (xx);
 359                                  Delay(500);             // Delay for LED light                  
 360                                  P0=0xff;                // Close LED display
 361                                  SetRxMode();            // Set Rx Mode
 362                                  while((P0&0x0f)!=0x0f);
 363                           }
 364                  }
 365          }
C51 COMPILER V7.50   T905                                                                  03/10/2006 10:18:41 PAGE 7   

 366          
 367           */
 368          
 369          
 370          
 371          
 372          
 373          void   rf_send_pakage(void)
 374          {
 375   1      
 376   1         if(  rf_send_flag==1)
 377   1         
 378   1         {  
 379   2                rf_send_flag=0;
 380   2                EA=0;
 381   2                SetTxMode();          // Set Tx Mode
 382   2                TxPacket();           // Transmit Tx buffer data
 383   2                SetRxMode();          // Set Rx Mode
 384   2                EA=1;
 385   2               return;
 386   2         }
 387   1      
 388   1        
 389   1      
 390   1       
 391   1      }
 392           
 393          
 394          
 395          
 396          /*******************************************************************************************/
 397          //Function TxData ();
 398          /*******************************************************************************************/
 399          
 400          void rs232_tx_pakage(void)
 401          {
 402   1         uchar i;
 403   1        if( rs232_send_flag==1)
 404   1        {
 405   2               rs232_send_flag=0;     
 406   2               TI=0;
 407   2         for (i=0;i<RECEIVE_LEN_RF;i++)        
 408   2                 {
 409   3               SBUF=Rs232TxBuf[i];
 410   3           while(!TI);
 411   3               TI=0;
 412   3              
 413   3                 } 
 414   2        }
 415   1        
 416   1      }
 417          
 418          
 419          
 420          
 421          
 422          /*******************************************************************************************/
 423          void rs232_interrupt(void)  interrupt 4  using 1
 424          {  int j;
 425   1         uchar flag,i,sum;
 426   1         
 427   1           if( (RI))
C51 COMPILER V7.50   T905                                                                  03/10/2006 10:18:41 PAGE 8   

 428   1           {
 429   2                 RI=0;
 430   2                if(   rf_send_flag==0)
 431   2                {
 432   3                 Rs232RxBuf[0]=SBUF;
 433   3                      sum=1;
 434   3                      if(     Rs232RxBuf[0]!=0x55)
 435   3                      {
 436   4                      return;
 437   4      
 438   4                      } 
 439   3                      
 440   3      
 441   3                          sum++;
 442   3                          flag=1;
 443   3                  j=0;
 444   3                 while(flag==1)
 445   3                  {  j++;
 446   4                 if(RI!=0){flag=0;}
 447   4                 if(j>=5000)
 448   4                 {flag=0;}
 449   4                  }
 450   3                         if(j>5000)
 451   3                         { 
 452   4      
 453   4                                      rf_send_flag=0;
 454   4                                      sum=0;
 455   4                                      return;
 456   4                               }       
 457   3               
 458   3                          RI=0;
 459   3                         Rs232RxBuf[1]=SBUF;
 460   3                      if(     Rs232RxBuf[1]!=0xaa)
 461   3                      {
 462   4                      return;
 463   4                      }
 464   3                               
 465   3              for( i=2;i<SEND_LEN_RF;i++)
 466   3              {  
 467   4                         sum++;
 468   4                         flag=1;
 469   4                  j=0;
 470   4                 while(flag==1)
 471   4                  {  j++;
 472   5                 if(RI!=0){flag=0;}
 473   5                 if(j>=5000)
 474   5                 {flag=0;}
 475   5                  }
 476   4                         if(j>5000)
 477   4                         { 
 478   5      
 479   5                                      rf_send_flag=0;
 480   5                                      sum=0;
 481   5                                      return;
 482   5                               }       
 483   4               
 484   4                          RI=0;
 485   4                         Rs232RxBuf[i]=SBUF;
 486   4      
 487   4                        }
 488   3      
 489   3                        if(sum==SEND_LEN_RF)rf_send_flag=1;
C51 COMPILER V7.50   T905                                                                  03/10/2006 10:18:41 PAGE 9   

 490   3                       
 491   3                      
 492   3               }
 493   2             }
 494   1             
 495   1            
 496   1      
 497   1      }
 498          
 499          void init_rxbuf(void)
 500          {
 501   1        uchar i;
 502   1        rf_send_flag=0;rs232_send_flag=0;
 503   1       
 504   1        //    rs232_send_sum=0;
 505   1        for( i=0;i< TXBUFF_LEN;i++)
 506   1        {
 507   2               Rs232TxBuf[i]=0;
 508   2      
 509   2         }
 510   1      
 511   1        for( i=0;i< RXBUFF_LEN;i++)
 512   1        {
 513   2              Rs232RxBuf[i]=0;
 514   2      
 515   2         }
 516   1      
 517   1       
 518   1      
 519   1      
 520   1      
 521   1      }
 522           
 523          
 524          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    580    ----
   CONSTANT SIZE    =     11    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1       1
   IDATA SIZE       =     42    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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