📄 dds9852.lst
字号:
C51 COMPILER V8.05a DDS9852 01/11/2009 22:55:15 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE DDS9852
OBJECT MODULE PLACED IN dds9852.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE dds9852.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <main.h>
2 #include <math.h>
3
4 #define ad9852_D P1
5 #define ad9852A_Ctrl P2
6
7 sbit ddsRST =P3^5 ;
8 sbit ddsWR =P3^4 ;
9
10 unsigned char Mul_fctrl=4,M_ctrl=0,PLL_BPnum=0x20; //disable PLL
11 unsigned long F0ctrl_word=0; //频率
12 unsigned char AD9852_F0[6];
13
14 /*****************写地址,写数据**************************/
15 void Write_AD9852(unsigned char ADDR,unsigned char WRdata)
16 {
17 1 ad9852A_Ctrl =ADDR;
18 1 ad9852_D=WRdata;
19 1 ddsWR=0;
20 1 ddsWR=1;
21 1 }
22
23 /**********************工作模式选择***********************/
24
25 void WR_AD9852Mode(unsigned char M_ctrl)
26 {
27 1 Write_AD9852(0x1F,0x01|(M_ctrl<<1));
28 1 }
29 /**********************DDS初使化************************/
30 void ddsInit()
31 {
32 1 unsigned char i;
33 1 for(i=15;i>0;i--);
34 1 ddsRST=0;
35 1 for(i=15;i>0;i--);
36 1 ddsRST=1;
37 1 for(i=15;i>0;i--);
38 1 ddsRST=0;
39 1 ddsWR=1;
40 1
41 1 Write_AD9852(0x1F,0X01); //普通模式,内部更新时钟
42 1 Write_AD9852(0x20,0x40); //旁路反正弦
43 1
44 1 }
45 /*******************DDS开始***********************/
46 void start_dds(F0ctrl_word)
47 {
48 1 unsigned char i;
49 1 for(i=0;i<4;i++)
50 1 {
51 2 AD9852_F0[i+2]=(unsigned char)( (long)(F0ctrl_word*85.89934592) >>(8*i) ); //f250m=17.179869184
52 2 Write_AD9852((7-i),AD9852_F0[i+2]); //f50m=
53 2 }
54 1 }
55
C51 COMPILER V8.05a DDS9852 01/11/2009 22:55:15 PAGE 2
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 126 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 13 3
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 + -