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

📄 cc1100_rx.lst

📁 51控制CC1100无线收发IC接收数据程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.06   CC1100_RX                                                             04/09/2006 13:44:48 PAGE 1   


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

stmt level    source

   1          #include <reg52.h>
   2          #include <intrins.h>
   3          #include <string.h>
   4          #include "CC1100.h"
   5          
   6          
   7          #define         INT8U                           unsigned char
   8          #define         INT16U                          unsigned int
   9          
  10          #define         WRITE_BURST             0x40                                            //连续写入
  11          #define         READ_SINGLE             0x80                                            //读
  12          #define         READ_BURST              0xC0                                            //连续读
  13          #define         BYTES_IN_RXFIFO     0x7F                                                //接收缓冲区的有效字节数
  14          #define         CRC_OK              0x80                                                //CRC校验通过位标志
  15          
  16          
  17          #define         FOSC            11059200        
  18          #define         BAUD            9600
  19          #define         TIMER1          0XFD    //256-(110592/(12*32*96))
  20          
  21          //--------------------------------------------------------------------------------------------------------
             ---
  22          
  23          //定义CC1100模块接口
  24          
  25          sbit    DAT1    =       P2^0;
  26          sbit    DAT2    =       P2^1;
  27          sbit    DAT3    =       P2^2;
  28          sbit    DAT4    =       P2^3;
  29          sbit    DAT5    =       P2^4;
  30          sbit    DAT6    =       P2^5;
  31          sbit    in_open=P3^4;
  32          sbit    in_close=P3^5;
  33          sbit    out_open=P3^6;
  34          sbit    out_close=P3^7;
  35          
  36          #define GDO1    DAT1
  37          #define GDO2    DAT2
  38          #define CSN             DAT3
  39          #define MOSI    DAT4
  40          #define MISO    DAT5
  41          #define SCK             DAT6
  42          
  43          sbit    LED1    =       P2^6;
  44          sbit    LED2    =       P2^7;
  45          //sbit  LED1    =       P1^6;
  46          //sbit  LED2    =       P1^7;
  47          sbit OUT_EN =P3^2;
  48          /****************************************************************************************
  49          //全局变量定义
  50          /****************************************************************************************/
  51          INT8U PaTabel[8] = {0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0};
  52          INT8U code in_op_gate[12]={0xEA ,0x11 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00, 0x00 ,0x00 ,0x00 ,0x00};
  53          INT8U code in_cl_gate[12]={0xEA ,0x11 ,0x55 ,0x55 ,0x55 ,0x55 ,0x55 ,0x55, 0x55 ,0x55, 0x55 ,0x55};
  54          INT8U code out_op_gate[12]={0xEA ,0x12 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00, 0x00 ,0x00 ,0x00 ,0x00};
C51 COMPILER V7.06   CC1100_RX                                                             04/09/2006 13:44:48 PAGE 2   

  55          INT8U code out_cl_gate[12]={0xEA ,0x12 ,0x55 ,0x55 ,0x55 ,0x55 ,0x55 ,0x55, 0x55 ,0x55, 0x55 ,0x55};
  56          //*****************************************************************************************
  57          //函数名:delay(unsigned int s)
  58          //输入:时间
  59          //输出:无
  60          //功能描述:普通廷时
  61          //*****************************************************************************************             
  62          delay(unsigned int s)
  63          {
  64   1              unsigned int i;
  65   1              for(i=0; i<s; i++);
  66   1              for(i=0; i<s; i++);
  67   1      }
  68          
  69          
  70          void halWait(INT16U timeout) {
  71   1          do {
  72   2              _nop_();
  73   2                      _nop_();
  74   2                      _nop_();
  75   2                      _nop_();
  76   2                      _nop_();
  77   2                      _nop_();
  78   2                      _nop_();
  79   2                      _nop_();
  80   2                      _nop_();
  81   2                      _nop_();
  82   2                      _nop_();
  83   2                      _nop_();
  84   2                      _nop_();
  85   2                      _nop_();
  86   2                      _nop_(); 
  87   2          } while (--timeout);
  88   1      }
  89          
  90          /*****************************************************************************************
  91          //函数名:UartInit()
  92          //输入:无
  93          //输出:无
  94          //功能描述:串口初始化程序
  95          /*****************************************************************************************/
  96          void UartInit(void)
  97          {
  98   1              SCON = 0x50;            //串口方式1,允许接收
  99   1              TMOD = 0x21;            //定时器1工作方式2,定时器0工作方式1
 100   1              TH1 = TIMER1;   
 101   1              TL1 = TIMER1;   
 102   1          EA = 1;                             //开全局中断
 103   1              TR1 = 1;                //启动定时器1
 104   1      }
 105          
 106          
 107          /*****************************************************************************************/
 108          void SpiInit(void)
 109          {
 110   1              CSN=0;
 111   1              SCK=0;
 112   1              CSN=1;
 113   1      }
 114          
 115          /*****************************************************************************************
 116          //函数名:CpuInit()
C51 COMPILER V7.06   CC1100_RX                                                             04/09/2006 13:44:48 PAGE 3   

 117          //输入:无
 118          //输出:无
 119          //功能描述:SPI初始化程序
 120          /*****************************************************************************************/
 121          CpuInit(void)
 122          {
 123   1                      UartInit();
 124   1                      SpiInit();
 125   1      in_open=1;
 126   1      in_close=1;
 127   1      out_open=1;
 128   1      out_close=1;
 129   1                      delay(5000);
 130   1      }
 131          /*****************************************************************************************
 132          //函数名:SendCh(ch)
 133          //输入:无
 134          //输出:无
 135          //功能描述:串口发送一个字符
 136          /*****************************************************************************************/
 137          void SendCh(INT8U ch)
 138          {
 139   1              SBUF = ch;
 140   1              while(!TI);
 141   1              TI = 0;
 142   1      }
 143          /*****************************************************************************************
 144          //函数名:void SendStr(INT8U *arr)
 145          //输入:发送的字符串
 146          //输出:无
 147          //功能描述:发送一个字符串
 148          /*****************************************************************************************/
 149          void SendStr(INT8U *arr)
 150          {
 151   1              INT8U i;
 152   1              
 153   1              i = 0;
 154   1              OUT_EN=1;
 155   1              while(arr[i] != '\0')
 156   1              {
 157   2                      SendCh(arr[i]);
 158   2                      i++;
 159   2              }
 160   1              OUT_EN=0;
 161   1      }
 162          
 163          //*****************************************************************************************
 164          //函数名:SpisendByte(INT8U dat)
 165          //输入:发送的数据
 166          //输出:无
 167          //功能描述:SPI发送一个字节
 168          //*****************************************************************************************
 169          INT8U SpiTxRxByte(INT8U dat)
 170          {
 171   1              INT8U i,temp;
 172   1              temp = 0;
 173   1              
 174   1              SCK = 0;
 175   1              for(i=0; i<8; i++)
 176   1              {
 177   2                      if(dat & 0x80)
 178   2                      {
C51 COMPILER V7.06   CC1100_RX                                                             04/09/2006 13:44:48 PAGE 4   

 179   3                              MOSI = 1;
 180   3                      }
 181   2                      else MOSI = 0;
 182   2                      dat <<= 1;
 183   2      
 184   2                      SCK = 1; 
 185   2                      _nop_();
 186   2                      _nop_();
 187   2      
 188   2                      temp <<= 1;
 189   2                      if(MISO)temp++; 
 190   2                      SCK = 0;
 191   2                      _nop_();
 192   2                      _nop_();        
 193   2              }
 194   1              return temp;
 195   1      }
 196          
 197          //*****************************************************************************************
 198          //函数名:void RESET_CC1100(void)
 199          //输入:无
 200          //输出:无
 201          //功能描述:复位CC1100
 202          //*****************************************************************************************

⌨️ 快捷键说明

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