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

📄 main.lst

📁 DDS芯片9833的驱动
💻 LST
字号:
C51 COMPILER V7.50   MAIN                                                                  07/09/2007 15:52:07 PAGE 1   


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

line level    source

   1          #include <reg52.h>
   2          #include "AD9833.H"
   3          #include <intrins.h>
   4          
   5          sbit  FSYNC=P1^4;
   6          sbit  SCLK=P1^5;
   7          sbit  SDATA=P1^6;
   8          
   9          tWord Config_Data[8];
  10          
  11          void  Wave_Generate(tLong,tByte);
  12          
  13          void main(void)
  14          {
  15   1      
  16   1        FSYNC=1;
  17   1         _nop_();
  18   1        SCLK=0;
  19   1      
  20   1        Wave_Generate(1000000,1);
  21   1      
  22   1        while(1) ;
  23   1      
  24   1      }
  25          //向ad9833写一命令字(2Bytes)
  26          void AD9833_Send_Word(tWord Data_In)
  27          {
  28   1         tByte i;
  29   1         tByte j;
  30   1      
  31   1         SCLK=1;
  32   1         _nop_();
  33   1         FSYNC=0;
  34   1         for(i=0;i<16;i++)
  35   1         {
  36   2           SCLK=0;
  37   2           SDATA=(bit)((Data_In & 0x8000)>>15);
  38   2           j=0x01;
  39   2           while(j--);
  40   2           SCLK=1;
  41   2           Data_In=Data_In<<1;
  42   2           j=0x01;
  43   2           while(j--);
  44   2         }
  45   1         FSYNC=1;
  46   1         _nop_();
  47   1         SCLK=0;
  48   1         _nop_();
  49   1      
  50   1      }
  51          //波形发生函数
  52          //入口参数: 频率:Freq (<=12000000)
  53          //          形状:0(正弦波),1(三角波),2(方波)
  54          //默认: Fmclk=25MHz, 0相移,方波不分频.
  55          void  Wave_Generate(tLong Freq,tByte Shape)
C51 COMPILER V7.50   MAIN                                                                  07/09/2007 15:52:07 PAGE 2   

  56          {
  57   1         tLong temp;
  58   1         tByte k;
  59   1         if(Freq>12000000) Freq=12000000;
  60   1         switch(Shape)
  61   1         {
  62   2           case 0: Config_Data[0]=0x2108;
  63   2                   Config_Data[7]=0x2008;
  64   2                   break;
  65   2           case 1: Config_Data[0]=0x210A;
  66   2                   Config_Data[7]=0x200A;
  67   2                   break;
  68   2           case 2: Config_Data[0]=0x2128;
  69   2                   Config_Data[7]=0x2028;
  70   2                   break;
  71   2           default:Config_Data[0]=0x2108;
  72   2                   Config_Data[7]=0x2008;
  73   2         }
  74   1      
  75   1         temp=Freq*13.4217728;   //temp=Freq*(0x10000000/20000000);
  76   1         Config_Data[1]=temp&0x00003fff;
  77   1         Config_Data[3]=Config_Data[1];
  78   1         Config_Data[2]=(temp&0x0fffc000)>>14;
  79   1         Config_Data[4]=Config_Data[2];
  80   1      
  81   1         Config_Data[1]=Config_Data[1]|0x4000;
  82   1         Config_Data[2]=Config_Data[2]|0x4000;
  83   1         Config_Data[3]=Config_Data[3]|0x8000;
  84   1         Config_Data[4]=Config_Data[4]|0x8000;
  85   1         Config_Data[5]=0xC000;
  86   1         Config_Data[6]=0xE000;
  87   1      
  88   1         for(k=0;k<8;k++)
  89   1        {
  90   2           AD9833_Send_Word(Config_Data[k]);
  91   2        }
  92   1      
  93   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    298    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     16       9
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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