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

📄 nrf_perf.lst

📁 Nrf9E5无线收发协议
💻 LST
字号:
C51 COMPILER V7.50   NRF_PERF                                                              02/11/2006 11:23:19 PAGE 1   


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

line level    source

   1          /*= nRF_Perf.c ==================================================================
   2           *
   3           * Development By www.51kaifa.com
   4           * Copyright (C) 2005
   5           *
   6           * 无忧无线SOC开发平台专用测试程序
   7           * 版本:1.0
   8           *
   9           * 2005年7月7日
  10           *
  11           *===============================================================================
  12          */
  13          
  14          #include <Nordic\reg9e5.h>
  15          
  16          #define HFREQ 0                     // 0=433MHz, 1=868/915MHz
  17          #define POWER 3                     // 0=min power...3 = max power
  18          
  19          bit rx_rqst;
  20          char rcv_data;
  21          unsigned int syn_count;
  22          
  23          unsigned char SpiReadWrite(unsigned char b)
  24          {
  25   1          EXIF &= ~0x20;                  // Clear SPI interrupt
  26   1          SPI_DATA = b;                   // Move byte to send to SPI data register
  27   1          while((EXIF & 0x20) == 0x00)    // Wait until SPI hs finished transmitting
  28   1              ;
  29   1          return SPI_DATA;
  30   1      }
  31          
  32          SpiWrite(unsigned char b)
  33          {
  34   1              while((EXIF & 0x20) == 0x00)    // Wait until SPI hs finished transmitting
  35   1              ;
  36   1          EXIF &= ~0x20;                  // Clear SPI interrupt
  37   1          SPI_DATA = b;                   // Move byte to send to SPI data register
  38   1      }
  39          
  40          void PutChar(char c)
  41          {
  42   1          while(!TI)
  43   1              ;
  44   1              TI = 0;
  45   1          SBUF = c;
  46   1      }
  47          
  48          void PutString(const char *s)
  49          {
  50   1          while(*s != 0)
  51   1              PutChar(*s++);
  52   1      }
  53          
  54          
  55          void Init(void)
C51 COMPILER V7.50   NRF_PERF                                                              02/11/2006 11:23:19 PAGE 2   

  56          {
  57   1          unsigned char tmp;
  58   1      
  59   1              //SPI 设置
  60   1              
  61   1          SPICLK = 0;                     // Max SPI clock
  62   1          SPI_CTRL = 0x02;                // Connect intewrnal SPI controller to Radio
  63   1      
  64   1          // Configure Radio:
  65   1          RACSN = 0;
  66   1          SpiReadWrite(WRC | 0x03);       // Write to RF config Rx_deepess 3 (RX payload)
  67   1          SpiReadWrite(0x01);             // One byte RX payload
  68   1          SpiReadWrite(0x01);             // One byte TX payload
  69   1          RACSN = 1;
  70   1      
  71   1          RACSN = 0;
  72   1          SpiReadWrite(RRC | 0x01);       // Read RF config Rx_deepess 1
  73   1          tmp = SpiReadWrite(0) & 0xf1;   // Clear the power and frequency setting bits
  74   1          RACSN = 1;
  75   1      
  76   1          RACSN = 0;
  77   1          SpiReadWrite(WRC | 0x01);      // Write RF config Rx_deepess 1
  78   1          // Change power defined by POWER and to 433 or 868/915MHz defined by HFREQ above:
  79   1          SpiReadWrite(tmp | (POWER <<2) | (HFREQ << 1));
  80   1          RACSN = 1;
  81   1      
  82   1          RACSN = 0;
  83   1          SpiReadWrite(RRC | 0x09);       // Read RF config Rx_deepess 1
  84   1          tmp = SpiReadWrite(0) | 0x04;   // Clear the power and frequency setting bits
  85   1          RACSN = 1;
  86   1      
  87   1      
  88   1          RACSN = 0;
  89   1          SpiReadWrite(WRC | 0x09);       // Write to RF config Rx_deepess 9 (cpu clk)
  90   1          SpiReadWrite(tmp);             // One byte RX cpu clk
  91   1          RACSN = 1;
  92   1      
  93   1      }
  94          
  95          void uart_init(void)
  96          {
  97   1          TH1 = 0xE6;                      // 9600@16MHz (when T1M=1 and SMOD=1)
  98   1          CKCON |= 0x30;                  // T1M=1 (/4 timer clock)
  99   1          PCON = 0x80;                    // SMOD=1 (double baud rate)
 100   1          SCON = 0x52;                    // Serial mode1, enable receiver
 101   1          TMOD = 0x20;                    // Timer1 8bit auto reload 
 102   1          TR1 = 1;                        // Start timer1
 103   1          P0_ALT = 0x06;                 // Select alternate functions on pins P0.1 and P0.2
 104   1          P0_DIR = 0xAA;                 // P0.1 (RxD) is input
 105   1      
 106   1      }
 107          
 108          void Delay(volatile unsigned char n)
 109          {
 110   1          unsigned char i;
 111   1          while(n--)
 112   1                      {
 113   2                        for(i=0;i<6;i++)
 114   2                  ;
 115   2                      }
 116   1      }
 117          
C51 COMPILER V7.50   NRF_PERF                                                              02/11/2006 11:23:19 PAGE 3   

 118          void Transmitstring()
 119          {
 120   1      
 121   1              RACSN = 0;
 122   1              SpiWrite(WTP);
 123   1              SpiWrite(0x23);
 124   1              RACSN = 1;
 125   1      
 126   1              TRX_CE = 1;     
 127   1              Delay(5);
 128   1              TRX_CE = 0;
 129   1      }
 130          
 131          void DR_ISR(void) interrupt 10
 132          {
 133   1      
 134   1              EXIF = EXIF & 0xBF;
 135   1      
 136   1          RACSN = 0;
 137   1          SpiReadWrite(RRP);
 138   1              rcv_data = SpiReadWrite(0);
 139   1          RACSN = 1;
 140   1      
 141   1              if (rcv_data == 0x23)
 142   1                      {
 143   2                      rx_rqst = 1;
 144   2                      P06 = ~P06;
 145   2                      syn_count = 16384;
 146   2                      }
 147   1      
 148   1      }
 149          
 150          void main(void)
 151          {
 152   1      
 153   1          Init();
 154   1              uart_init();
 155   1      
 156   1              EX4 = 1;
 157   1              PX4 = 1;
 158   1      
 159   1              EA = 1;
 160   1      
 161   1              PutString("hello world!\n");
 162   1      
 163   1          while(1)
 164   1                      {
 165   2      
 166   2                      syn_count++;
 167   2      
 168   2                      if (syn_count==32000)
 169   2                      {
 170   3                      TXEN = 1;
 171   3                      }
 172   2                      if (syn_count==32767)
 173   2                              {
 174   3                              Transmitstring();
 175   3                              P04 = ~P04;
 176   3                              syn_count=0;
 177   3                              TXEN = 0;
 178   3                              TRX_CE = 1;
 179   3                              }
C51 COMPILER V7.50   NRF_PERF                                                              02/11/2006 11:23:19 PAGE 4   

 180   2      
 181   2                      if (rx_rqst==1)
 182   2                              {
 183   3                              rx_rqst=0;
 184   3                              PutChar(rcv_data);                                                      
 185   3                              }
 186   2      
 187   2                      }
 188   1      }
 189          
 190          
 191          // End


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    345    ----
   CONSTANT SIZE    =     14    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3       4
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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