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

📄 main.lst

📁 菜鸟,详细NRF24E1运用,程序,电路
💻 LST
字号:
C51 COMPILER V9.00   MAIN                                                                  11/13/2010 14:58:23 PAGE 1   


C51 COMPILER V9.00, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Program Files\KEIL C  V4\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

*** WARNING C500 IN LINE 1 OF MAIN.C: LICENSE ERROR (R208: RENEW LICENSE ID CODE (LIC))

   1          /******************************************************
   2          /程序部分开始                           
   3          ******************************************************/
   4          # include "reg24le1.h"
   5          # include "intrins.h"
   6          /*****************************************************/
   7          #define ad9850_w_clk     P00
   8          #define ad9850_fq_up     P01
   9          #define ad9850_rest      P02  
  10          #define ad9850_bit_data  P03
  11          #define LED              P04
  12          #define Enableint        do{EA=1;}while(0)
  13          #define Disableint       do{EA=0;}while(0)
  14          #define EnableAD9850     do{ad9850_fq_up=0;\
  15                                      ad9850_fq_up=1; }while(0)
  16          /*****************************************************
  17          /重定义数据类型
  18          *****************************************************/
  19          typedef unsigned char uchar;
  20          typedef unsigned int  uint ;  
  21          /*****************************************************
  22          /
  23          /AD9850复位(并口模式)
  24          /
  25          *****************************************************/                                                           
  26          void ad9850_reset()
  27          {
  28   1      ad9850_w_clk=0;
  29   1      ad9850_fq_up=0;
  30   1      /* rest信号 */
  31   1      ad9850_rest=0;
  32   1      ad9850_rest=1;
  33   1      ad9850_rest=0;
  34   1      }
  35          /*****************************************************
  36          /
  37          /AD9850复位(串口模式)                 
  38          /
  39          ******************************************************/
  40          
  41          void ad9850_reset_serial()
  42          {
  43   1      ad9850_w_clk=0;
  44   1      ad9850_fq_up=0;
  45   1      /*rest信号       */
  46   1      ad9850_rest=0;
  47   1      ad9850_rest=1;
  48   1      ad9850_rest=0;
  49   1      /*w_clk信号      */
  50   1      ad9850_w_clk=0;
  51   1      ad9850_w_clk=1;
  52   1      ad9850_w_clk=0;
  53   1      /*fq_up信号      */
  54   1      ad9850_fq_up=0;
C51 COMPILER V9.00   MAIN                                                                  11/13/2010 14:58:23 PAGE 2   

  55   1      ad9850_fq_up=1;
  56   1      ad9850_fq_up=0;
  57   1      }
  58          /*****************************************************
  59          /
  60          /往AD9850移入一个字节(串口模式)
  61          /
  62          ******************************************************/
  63          void Write_Byte_S(uchar Dat)
  64          {
  65   1       uchar i;
  66   1        for(i=0;i<8;i++)
  67   1        {
  68   2        ad9850_bit_data=(Dat>>i)&0x01;
  69   2        ad9850_w_clk=1;
  70   2        ad9850_w_clk=0;
  71   2        }
  72   1      }
  73          
  74          /*****************************************************
  75          /
  76          /往AD9850移入一个字节(并口模式,设并口连接P0口)
  77          /
  78          ******************************************************/
  79          void Write_Byte_P(uchar Dat)
  80          {
  81   1       P0=Dat;     
  82   1       ad9850_w_clk=1;
  83   1       ad9850_w_clk=0;
  84   1      }
  85          /****************************************************
  86          /                       
  87          /向ad9850中写命令与数据(并口)
  88          /
  89          *****************************************************/
  90          void ad9850_wr_parrel(uchar w0,double frequence)
  91          {
  92   1      uchar    w;
  93   1      long int y;
  94   1      double   x;
  95   1      x=4294962957/125;
  96   1      frequence=frequence*x/1000000;
  97   1      y=frequence;
  98   1      w=w0;   
  99   1      Write_Byte_P(w);/*写w0数据      */
 100   1      w=(y>>24);
 101   1      Write_Byte_P(w);/*写w1数据      */
 102   1      w=(y>>16);
 103   1      Write_Byte_P(w);/*写w2数据  */
 104   1      w=(y>>8);
 105   1      Write_Byte_P(w);/*写w3数据      */
 106   1      w=(y>>=0);
 107   1      Write_Byte_P(w);/*写w4数据      */
 108   1      EnableAD9850;   /*移入使能  */
 109   1      }
 110          /*****************************************************
 111          /
 112          /串口方式写AD9850的控制字
 113          /
 114          ******************************************************/
 115          void ad9850_wr_serial(uchar w0,double frequence)
 116          {
C51 COMPILER V9.00   MAIN                                                                  11/13/2010 14:58:23 PAGE 3   

 117   1      uchar    w;
 118   1      long int y;
 119   1      double   x;
 120   1      x=4294967295/125;
 121   1      frequence=frequence*x/1000000;
 122   1      y=frequence;
 123   1      w=(y>>=0);
 124   1      Write_Byte_S(w);/*写w4数据  */
 125   1      w=(y>>8);
 126   1      Write_Byte_S(w);/*写w3数据  */
 127   1      w=(y>>16);
 128   1      Write_Byte_S(w);/*写w2数据  */
 129   1      w=(y>>24);
 130   1      Write_Byte_S(w);/*写w1数据  */
 131   1      w=w0;   
 132   1      Write_Byte_S(w);/*写w0数据  */
 133   1      EnableAD9850;   /*移入使能  */
 134   1      }
 135          /****************************************************     
 136          /
 137          /nRF24LE1工作时钟设置
 138          /
 139          ****************************************************/
 140          void WorkClkSet()
 141          {
 142   1      CLKCTRL = 0x28;                         
 143   1      CLKLFCTRL = 0x01;
 144   1      }
 145          /****************************************************
 146          /
 147          /nRF24LE1的I/O口配置函数,P0口配置成输出,初始为低电平
 148          /
 149          *****************************************************/
 150          void IO_CNFG()
 151          {
 152   1      P0DIR=0X00;
 153   1      P0=0X00;
 154   1      }
 155          /****************************************************
 156          /
 157          /Delay延时函数
 158          /
 159          ****************************************************/
 160          void Delay(uint x)
 161          {
 162   1      uint dl;
 163   1        for(;x>0;x--)
 164   1          for(dl=120;dl>0;dl--)
 165   1                {
 166   2                _nop_();
 167   2                }
 168   1      }
 169          /****************************************************
 170          /
 171          /LED灯的闪烁函数
 172          /
 173          *****************************************************/
 174          void Light_LED()
 175          {
 176   1      LED=!LED;
 177   1      Delay(1000);
 178   1      }
C51 COMPILER V9.00   MAIN                                                                  11/13/2010 14:58:23 PAGE 4   

 179          /****************************************************
 180          /
 181          /主函数部分
 182          /
 183          *****************************************************/
 184          main()
 185          {
 186   1       Disableint;
 187   1       WorkClkSet();
 188   1       IO_CNFG();
 189   1       ad9850_reset_serial();             /*复位芯片 AD9850*/
 190   1       Delay(100);
 191   1       ad9850_wr_serial(0x00,10000000);                  /*串行写入 AD9850*/
 192   1       Delay(100);
 193   1       Enableint;
 194   1       while(1)
 195   1        {
 196   2        Light_LED();          /*LED指示灯进行芯片状态显示*/
 197   2        }
 198   1      }
 199          /****************************************************
 200          *                  程序到此结束                     *
 201          ****************************************************/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    407    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      18
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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