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

📄 main.lst

📁 nfr2401的图和程序
💻 LST
字号:
C51 COMPILER V7.08   MAIN                                                                  04/13/2006 17:21:21 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <string.h>
   2          #include <reg52.h>
   3          #include <intrins.h>
   4          
   5          #define         INT8U           unsigned char 
   6          #define         INT16U          unsigned int
   7          
   8          #define         FOSC            11059200        
   9          #define         BAUD            9600
  10          #define         TIMER1          0XFD    //256-(110592/(12*32*96))
  11          #define         TIMER0H         (65535-3*FOSC/12/1000)/256
  12          #define         TIMER0L         (65535-3*FOSC/12/1000)%256                      //定时3MSVR
  13          //--------------------------------------------------------------------------------------------------------
             ---
  14          //内部寄存器定义
  15          //--------------------------------------------------------------------------------------------------------
             ---
  16          sfr     P4              =       0xc0;   
  17          sfr     ADC_CONTR       =       0xC5;
  18          sfr     AUXR            =       0x8E;
  19          sfr     ADC_DATA        =       0xC6;
  20          sfr     P1_ADC_EN       =       0x97;
  21          //定义I/O口
  22          sbit    POW_UP  =       P3^5;
  23          sbit    CE      =       P3^4;
  24          sbit    DR2     =       P3^3;
  25          sbit    SCK2    =       P3^2;
  26          sbit    MOSI    =       P4^3;
  27          sbit    MISO    =       P1^7;
  28          sbit    SCK     =       P1^6;
  29          sbit    DOUT2   =       P1^5;
  30          sbit    CS      =       P1^4;
  31          sbit    DR1     =       P4^2;
  32          sbit    LED1    =       P4^1;
  33          sbit    LED2    =       P4^0;
  34          
  35          
  36          
  37          
  38          
  39          /********************* I/O define end*****************************************************/
  40          
  41          
  42          #define         FRESELE         0x28            //频道选择
  43          #define         DATANUM         4               //有效数据位数
  44          
  45          #define time0h (65535-3000)/256
  46          #define time0l (65535-3000)%256                 //定时3MS
  47          
  48          
  49          
  50          
  51          code INT8U CofigBuf[15]=
  52                          {
  53                          0x00,                           //接收频道二有效数据长度
C51 COMPILER V7.08   MAIN                                                                  04/13/2006 17:21:21 PAGE 2   

  54                          
  55                          40,                             //接收频道一有效数据长度
  56                          
  57                          0x00,0x00,0x00,0x00,0x00,       //接收频道二地址
  58                          
  59                          0x00,0xcd,0xef,0x12,0xaa,       //接收频道一地址
  60                          
  61                          0x83,                           //32位地址,16位CRC,使能CRC
  62                                                          //bit7~2:ADDR_W,最大40位
  63                                                          
  64                                                          //bit1:CRC_L
  65                                                          //Logic 0: 8 bit CRC    
  66                                                          //Logic 1: 16 bit CRC
  67                                                          
  68                                                          
  69                                                          //BIT0:CRC_EN
  70                                                          //Logic 0: On-chip CRC generation/checking disabled
  71                                                          //Logic 1: On-chip CRC generation/checking enabled
  72                                                          
  73                                                          
  74                          0x4f,                           //ShockBurst模式,250 kbps,16M晶振,0dBm最大功率
  75                          
  76                                                          //Bit 15:RX2_EN
  77                                                          //Logic 0: One channel receive
  78                                                          //Logic 1: Two channels receive
  79                                                          
  80                                                          //Bit 14:
  81                                                          //Communication Mode:
  82                                                          //Logic 0: nRF2401 operates in direct mode.
  83                                                          //Logic 1: nRF2401 operates in ShockBurst. mode
  84          
  85                                                          //Bit 13:
  86                                                          //RF Data Rate:
  87                                                          //Logic 0: 250 kbps
  88                                                          //Logic 1: 1 Mbps
  89                                                          
  90                                                          //Bit 12-10:Selects the nRF2401 crystal frequency to be used:
  91                                                          //      D12     D11     D10     Crystal Frequency [MHz]
  92                                                          //      0       0       0               4
  93                                                          //      0       0       1               8
  94                                                          //      0       1       0               12
  95                                                          //      0       1       1               16
  96                                                          //      1       0       0               20
  97                                                          
  98                                                          //Bit 9-8:RF_PWR: Sets nRF2401 RF output power in transmit mode:
  99                                                          //      D9      D8      P [dBm]
 100                                                          //      0       0       -20
 101                                                          //      0       1       -10
 102                                                          //      1       0       -5
 103                                                          //      1       1       0
 104                                                          
 105                                                          
 106                                                          
 107                          0x50                    //2400+4*1=2404MHZ=2.404G,发送模式
 108                          
 109                                                          //Bit 7 – 1:RF_CH#: Sets the frequency channel the nRF2401 operates on.
 110                                                          //Channelrf = 2400MHZ + RF_CH# * 1.0MHZ
 111                                                          
 112                                                          //Bit 0:Set active mode:
 113                                                          //Logic 0: transmit mode
 114                                                          //Logic 1: receive mode
 115                          };
C51 COMPILER V7.08   MAIN                                                                  04/13/2006 17:21:21 PAGE 3   

 116                          
 117                          
 118          INT8U AddrCofig[4]={0xcd, 0xef, 0x12, 0xaa};                            //地址
 119          INT8U TxBuf[8]={0x40, 0x22, 0x66, 0x88, 0x40, 0x00, 0x00, 0x00};        //发送绶冲区
 120          INT8U RxBuf[8]={0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};        //接收绶冲区                                                    
 121          INT16U timer[2];                                                                //超时计数器
 122          
 123          
 124                          
 125          /*****************************************************************************************
 126          //函数名:void Delay100us(INT8U s)
 127          //输入:时间
 128          //输出:无
 129          //功能描述:廷时
 130          /*****************************************************************************************/
 131          void Delay100us(INT8U n)
 132          {
 133   1              INT8U i;
 134   1              while(n--)
 135   1              {
 136   2                      for(i=0; i<35; i++);
 137   2              }
 138   1      }
 139          /*****************************************************************************************
 140          //函数名:delay(unsigned int s)
 141          //输入:时间
 142          //输出:无
 143          //功能描述:普通廷时
 144          /*****************************************************************************************/             
 145          delay(unsigned int s)
 146          {
 147   1              unsigned int i;
 148   1              for(i=0; i<s; i++);
 149   1              for(i=0; i<s; i++);
 150   1      }
 151          /*****************************************************************************************
 152          //函数名

⌨️ 快捷键说明

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