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

📄 main.lst

📁 cc1100模块51单片机参考程序,个人觉得挺好用.
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.50   MAIN                                                                  11/26/2006 22:02:37 PAGE 1   


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

line level    source

   1          #include <reg52.h>
   2          #include <intrins.h>
   3          #include "CC1100.h"
   4          
   5          
   6          #define         INT8U                           unsigned char
   7          #define         INT16U                          unsigned int
   8          
   9          #define         time0h                  (65535-1000)/256
  10          #define         time0l                  (65535-1000)%256                        //定时1MS
  11          #define         WRITE_BURST             0x40                                            //连续写入
  12          #define         READ_SINGLE             0x80                                            //读
  13          #define         READ_BURST              0xC0                                            //连续读
  14          #define         BYTES_IN_RXFIFO     0x7F                                                //接收缓冲区的有效字节数
  15          #define         CRC_OK              0x80                                                //CRC校验通过位标志
  16          
  17          
  18          
  19          #define         INT8U           unsigned char 
  20          #define         INT16U          unsigned int
  21          
  22          #define         FOSC            11059200        
  23          #define         BAUD            9600
  24          #define         TIMER1          0XFD    //256-(110592/(12*32*96))
  25          #define         TIMER0H         (65535-3*FOSC/12/1000)/256
  26          #define         TIMER0L         (65535-3*FOSC/12/1000)%256                      //定时3MSVR
  27          
  28          //--------------------------------------------------------------------------------------------------------
             ---
  29          //内部寄存器定义
  30          //--------------------------------------------------------------------------------------------------------
             ---
  31          sfr             P4                      =       0xc0;   
  32          sfr     ADC_CONTR       =       0xC5;
  33          sfr     AUXR            =       0x8E;
  34          sfr     ADC_DATA        =       0xC6;
  35          sfr     P1_ADC_EN       =       0x97;
  36          
  37          sbit    DAT1    =       P3^5;
  38          sbit    DAT2    =       P3^4;
  39          sbit    DAT3    =       P3^3;
  40          sbit    DAT4    =       P3^2;
  41          sbit    DAT5    =       P4^3;
  42          sbit    DAT6    =       P1^7;
  43          sbit    DAT7    =       P1^6;
  44          sbit    DAT8    =       P1^5;
  45          sbit    DAT9    =       P1^4;
  46          sbit    DAT10   =       P4^2;  
  47          
  48          //定义CC1100模块接口
  49          #define GDO1    DAT1
  50          #define GDO2    DAT2
  51          #define CSN             DAT4
  52          #define MOSI    DAT5
  53          #define MISO    DAT6
C51 COMPILER V7.50   MAIN                                                                  11/26/2006 22:02:37 PAGE 2   

  54          #define SCK             DAT7
  55          
  56          sbit    LED1    =       P4^1;
  57          sbit    LED2    =       P4^0;
  58          sbit    KEY1    =       P2^5;
  59          sbit    KEY2    =       P2^7;
  60          sbit    KEY3    =       P2^6;
  61          
  62          /****************************************************************************************
  63          //全局变量定义
  64          /****************************************************************************************/
  65          INT16U TimeOutCount[2]={0,0};                                                   //超时计数器
  66          INT8U PaTabel[8] = {0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0};
  67          
  68          
  69          //*****************************************************************************************
  70          //函数名:delay(unsigned int s)
  71          //输入:时间
  72          //输出:无
  73          //功能描述:普通廷时
  74          //*****************************************************************************************             
  75          delay(unsigned int s)
  76          {
  77   1              unsigned int i;
  78   1              for(i=0; i<s; i++);
  79   1              for(i=0; i<s; i++);
  80   1              for(i=0; i<s; i++);
  81   1      }
  82          
  83          
  84          void halWait(INT16U timeout) {
  85   1          do {
  86   2              _nop_();
  87   2                      _nop_();
  88   2                      _nop_();
  89   2                      _nop_();
  90   2                      _nop_();
  91   2                      _nop_();
  92   2                      _nop_();
  93   2                      _nop_();
  94   2                      _nop_();
  95   2                      _nop_();
  96   2                      _nop_();
  97   2                      _nop_();
  98   2                      _nop_();
  99   2                      _nop_();
 100   2                      _nop_(); 
 101   2          } while (--timeout);
 102   1      }
 103          
 104          /*****************************************************************************************
 105          //函数名:UartInit()
 106          //输入:无
 107          //输出:无
 108          //功能描述:串口初始化程序
 109          /*****************************************************************************************/
 110          void UartInit(void)
 111          {
 112   1              SCON = 0x50;            //串口方式1,允许接收
 113   1              TMOD = 0x21;            //定时器1工作方式2,定时器0工作方式1
 114   1              TH1 = TIMER1;   
 115   1              TL1 = TIMER1;   
C51 COMPILER V7.50   MAIN                                                                  11/26/2006 22:02:37 PAGE 3   

 116   1              TR1 = 1;                //启动定时器1
 117   1      }
 118          
 119          
 120          /*****************************************************************************************
 121          //函数名:void TimerInit(void)
 122          //输入:无
 123          //输出:无
 124          //功能描述:定时器0初始化程序
 125          /*****************************************************************************************/
 126          void TimerInit(void)
 127          {
 128   1              TH0 = TIMER0H;
 129   1              TL0 = TIMER0L;
 130   1              ET0 = 1;                        //定时器0中断允许
 131   1              TF0 = 0;
 132   1              TR0 = 1;                        //启动定时器0
 133   1              EA = 1;                         //开全局中断
 134   1      }
 135          
 136          void SpiInit(void)
 137          {
 138   1              CSN=0;
 139   1              SCK=0;
 140   1              CSN=1;
 141   1      }
 142          
 143          /*****************************************************************************************
 144          //函数名:CpuInit()
 145          //输入:无
 146          //输出:无
 147          //功能描述:SPI初始化程序
 148          /*****************************************************************************************/
 149          CpuInit(void)
 150          {
 151   1      //              UartInit();
 152   1      //              TimerInit();
 153   1                      SpiInit();
 154   1                      delay(5000);
 155   1      }
 156                  
 157          /*
 158          //*****************************************************************************************
 159          //函数名:ResetTimer(INT8U n)
 160          //输入:要复位的计时器
 161          //输出:无
 162          //功能描述:复位计时器
 163          //*****************************************************************************************
 164          void ResetTimer(INT8U n)
 165          {
 166                  ET0 = 0;                                    // Disable Timer0 interrupt
 167                  timer[n & 0x01] = 0;                        // Clear timer[n]
 168                  ET0 = 1;                                    // Enable Timer0 interrupt
 169          }
 170          
 171          
 172          //*****************************************************************************************
 173          //函数名:INT16U ReadTimer(INT8U n)
 174          //输入:要读的计时器
 175          //输出:读出值
 176          //功能描述:读计时器
 177          //*****************************************************************************************
C51 COMPILER V7.50   MAIN                                                                  11/26/2006 22:02:37 PAGE 4   

 178          INT16U ReadTimer(INT8U n)
 179          {
 180                  INT16U tmp;
 181                  ET0 = 0;                                    // Disable Timer0 interrupt
 182                  tmp = timer[n];                             // Clear timer[n]
 183                  ET0 = 1;                                    // Enable Timer0 interrupt
 184                  return tmp;
 185          }
 186          */
 187          /*****************************************************************************************
 188          //函数名:SendCh(ch)
 189          //输入:无
 190          //输出:无
 191          //功能描述:串口发送一个字符
 192          /*****************************************************************************************/
 193          void SendCh(INT8U ch)
 194          {
 195   1              SBUF = ch;
 196   1              while(!TI);
 197   1              TI = 0;
 198   1      }
 199          
 200          
 201          /*****************************************************************************************
 202          //函数名:void SendStr(INT8U *arr)
 203          //输入:发送的字符串
 204          //输出:无
 205          //功能描述:发送一个字符串
 206          /*****************************************************************************************/
 207          void SendStr(INT8U *arr)
 208          {
 209   1              INT8U i;
 210   1              
 211   1              i = 0;
 212   1              while(arr[i] != '\0')
 213   1              {
 214   2                      SendCh(arr[i]);
 215   2                      i++;

⌨️ 快捷键说明

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