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

📄 cc1100.lst

📁 STC89C51单片机与cc1100组合构建的短距离无线通信
💻 LST
📖 第 1 页 / 共 3 页
字号:
 416   3      
 417   3                                        Led_Light(); 
 418   3                  } 
 419   2                }   
 420   1               return 0;                                   //没有应答  
 421   1       } 
 422            
 423          /*********************************************************/ 
 424          /*函数名字:TX_ACK                                       */ 
 425          /*输入参数:无                                           */  
 426          /*输出参数:无                                           */ 
 427          /*功能描述:接收成功发送应答                             */  
C51 COMPILER V7.50   CC1100                                                                05/01/2009 21:14:21 PAGE 8   

 428          /*                               */   
 429          /*********************************************************/ 
 430          void TX_ACK(void) 
 431           { 
 432   1           unsigned char PA; 
 433   1                
 434   1           // PA = Rx_data[4];                            //获取功率  
 435   1                      PA=0X17;
 436   1         
 437   1                
 438   1              Spi_Write_Byte (CC_FREND0,PA);              //功率配置 
 439   1              Spi_Write_Packet(Tx_data,4);                //发送应答         
 440   1       } 
 441            
 442          /*********************************************************/ 
 443          /*函数名字:Tx_cc1100                                    */ 
 444          /*输入参数:无                                           */  
 445          /*输出参数:无                                           */ 
 446          /*功能描述:发送数据,应答失败从发                        */  
 447          /*                              */   
 448          /*********************************************************/  
 449          void Tx_cc1100(void)  
 450           { 
 451   1               unsigned char PA; 
 452   1               unsigned char Tx_Size;      
 453   1                
 454   1               Tx_Size = sizeof(Tx_data);                  //数组长度 
 455   1                          
 456   1               PA=0X17; //最大功率
 457   1             
 458   1               Spi_Write_Byte (CC_FREND0,PA);            //功率配置 
 459   1               Spi_Write_Packet(Tx_data,Tx_Size);        //开始发送 
 460   1                  
 461   1             
 462   1             
 463   1               delay_nms(1); 
 464   1               Spi_Write_Strobe(CC_SIDLE);                 //进入空闲 
 465   1               Spi_Write_Strobe(CC_SRX);                   //进入接收 
 466   1       } 
 467            
 468          /*********************************************************/ 
 469          /*函数名字:Rx_cc1100                                    */ 
 470          /*输入参数:无                                           */  
 471          /*输出参数:无                                           */ 
 472          /*功能描述:接收数据,成功发送应答                        */  
 473          /*                               */   
 474          /*********************************************************/ 
 475          void Rx_cc1100(void) 
 476           { 
 477   1               unsigned char *buffer = Rx_data;   
 478   1               unsigned char i, size; 
 479   1                          
 480   1               for (i = 0; i < sizeof(Rx_data); i++) 
 481   1                { 
 482   2                 buffer[i] = 0; 
 483   2                }                    
 484   1                                  
 485   1               size = sizeof(Rx_data);                     //最大长度 
 486   1               
 487   1                       if(Spi_Read_Packet(Rx_data,size)) flag=1;
 488   1               delay_nms(1); 
 489   1               Spi_Write_Strobe(CC_SIDLE);                 //进入空闲 
C51 COMPILER V7.50   CC1100                                                                05/01/2009 21:14:21 PAGE 9   

 490   1               Spi_Write_Strobe(CC_SRX);                   //进入接收                
 491   1       }  
 492            /*********************************************************/ 
 493          /*函数名字:Init_cc1100                                  */ 
 494          /*输入参数:无                                           */  
 495          /*输出参数:无                                           */ 
 496          /*功能描述:初始化模块                                   */  
 497          /*                               */   
 498          /*********************************************************/  
 499          void Init_cc1100(void)  
 500           { 
 501   1               POWER_UP_RESET_CC1100();                    //上电复位 
 502   1               WriteRfSettings();                          //写入配置 
 503   1               Spi_Write_Burst(CC_PATABLE,PaTabel,8);      //功率配置 
 504   1               Spi_Write_Strobe(CC_SIDLE);                 //进入空闲 
 505   1               Spi_Write_Strobe(CC_SRX);                   //进入接收 
 506   1       } 
 507          
 508          unsigned char counter_data;
 509          void  Int_Series(void)
 510          {
 511   1       
 512   1         SCON=0x50;
 513   1         PCON=0x00;
 514   1         TMOD=0x20;
 515   1         TL1 =0xfd;
 516   1         TH1 =0xfd;
 517   1         IE  |=0x90;
 518   1         TCON|=0x40;
 519   1      
 520   1      }
 521          //***************************通过一个串口返回PC一个字节***************************************************
             -*****
 522          
 523          //#define SERIAL
 524          #ifdef SERIAL
              void Prints(unsigned char * pd)
              {
              while((*pd)!='\0')
                {
                 Send_char(*pd);
                 pd++;
                }
              }
              #endif
 534          //***************************中断处理程序*****************************************************************
             -****
 535          void Serial_Int4(void) interrupt 4 //using 3
 536          {
 537   1         ES=0;
 538   1         if(RI)
 539   1         {
 540   2           ACC=SBUF;
 541   2               counter_data=ACC;
 542   2               B  =ACC;
 543   2         }
 544   1         RI=0;
 545   1         ES=1;
 546   1      }
 547          /*********************************************************/ 
 548          /*函数名字:nain                                         */ 
 549          /*输入参数:无                                           */  
C51 COMPILER V7.50   CC1100                                                                05/01/2009 21:14:21 PAGE 10  

 550          /*输出参数:无                                           */ 
 551          /*功能描述:主程序                                       */  
 552          /*                              */   
 553          /*********************************************************/ 
 554          
 555          void main(void) 
 556           {   
 557   1               unsigned char i;    
 558   1               flag=0;
 559   1               PORT_Init();                                //脚位定义 
 560   1               Init_cc1100();                              //模块设置 
 561   1                       Int_Series();
 562   1                       Led_Light();                                //输出指示 
 563   1             
 564   1           while(1)                                                            //循环程序 
 565   1                {  
 566   2                                                 if (KEY1_DOWN)                                 //按键检测 
 567   2                                                  { 
 568   3                                                       delay_nms(20);                           //防误处理 
 569   3                                                     if (KEY1_DOWN)                              // 
 570   3                                                        {                                  
 571   4                                                         LED1_ON;                               //打开指示 
 572   4                                                                         delay(6000);
 573   4                                                                         EA=0;
 574   4                                                         Tx_cc1100();                           //发送数据
 575   4                                                                         EA=1; 
 576   4                                                         while(KEY1_DOWN);                       //等待弹起 
 577   4                                                 delay(6000);
 578   4                                                                 LED1_OFF;
 579   4                                                        } 
 580   3                                                    } 
 581   2      
 582   2      
 583   2                                                 if (GDO0_H) 
 584   2                                                         { 
 585   3                                                           Rx_cc1100();                  //接收数据
 586   3                                                               if(flag==1)
 587   3                                                               {
 588   4                                                                      flag=0;
 589   4                                                                   for(i=0;i<10;i++)
 590   4                                                                               {
 591   5                                                                                
 592   5                                                                                              Send_char(Rx_data[i]);
 593   5                                                                      delay(500);
 594   5                                              
 595   5                                                                               }   
 596   4                                                                                  LED1_ON;                              //打开指示 
 597   4                                                                                      delay(6000);
 598   4                                                                      LED1_OFF;
 599   4                                                                                              delay(6000);
 600   4                                                                }
 601   3                                                      }
 602   2               
 603   2                  } 
 604   1                 
 605   1       } 
 606          /*********************************************************/ 


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1178    ----
   CONSTANT SIZE    =   ----    ----
C51 COMPILER V7.50   CC1100                                                                05/01/2009 21:14:21 PAGE 11  

   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     28      27
   IDATA SIZE       =   ----    ----
   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 + -