📄 dds_test.lst
字号:
C51 COMPILER V8.02 DDS_TEST 08/30/2013 15:54:47 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE DDS_TEST
OBJECT MODULE PLACED IN DDS_TEST.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DDS_TEST.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /////////////////////////////////////
2 // Generated Initialization File //
3 /////////////////////////////////////
4
5
6 #include <c8051f020.h>
7 #include <intrins.h>
8
9
10 //---------------------------
11 #define ADDRESS P2
12 #define DATA P1
13 #define ulong unsigned long
14 #define uchar unsigned char
15
16 sbit MASTER_RESET = P3^3;
17 sbit IO_UPDATE = P3^4;
18 sbit FBH = P3^5; //fsk/bpsk/hold
19 sbit RD = P3^6;
20 sbit WR = P3^7;
21 sbit SHAPED_LEYING= P0^3;
22
23 uchar temp;
24 uchar TAB_Data[40];
25
26 ////////////////////////////////////////////
27 ////////////////////////////////////////////
28 /////////////////////////////////////////
29
30 ulong fre=10000000;//输出频率
31 //////////////////////////////////////////
32 ///////////////////////////////////////////
33 //////////////////////////////////////////
34
35 void AD9854_IO_INT();
36 void TAB_DataWord(double);
37 void V_init();
38
39
40 //-----------------------
41 void delay(long t)
42 {
43 1 unsigned int i=0;
44 1 while(t--)
45 1 for(i=0;i<=1000;i++);
46 1 }
47
48 //--------------------------
49 void update(void)
50 {
51 1 IO_UPDATE=0;
52 1 delay(10);
53 1 IO_UPDATE=1;
54 1 // delay(0);
55 1
C51 COMPILER V8.02 DDS_TEST 08/30/2013 15:54:47 PAGE 2
56 1 }
57
58 //----------------------
59 void Port_IO_Init()
60 {
61 1
62 1 P0MDOUT = 0xff;
63 1 P1MDOUT = 0xFF;
64 1 P2MDOUT = 0xFF;
65 1 P3MDOUT = 0xFF;
66 1 XBR2 = 0x40;
67 1 }
68 //-------------------------
69 void Oscillator_Init()
70 {
71 1 OSCICN = 0x07;
72 1 }
73 //---------------------------
74
75 void Init_Device(void)
76 {
77 1 Port_IO_Init();
78 1 Oscillator_Init();
79 1 }
80
81 ////////////////////////////////////////////////////////
82 //**********************************************************
83 void main (void)
84 {
85 1
86 1 WDTCN = 0xde; //关看门狗
87 1 WDTCN = 0xad;
88 1
89 1 Init_Device();
90 1
91 1 V_init();
92 1 TAB_DataWord(fre);
93 1 AD9854_IO_INT();
94 1 while(1);
95 1
96 1 }
97 //////////////////////////////////////////////////////
98 //****************************************************
99
100
101 void TAB_DataWord(double f)
102
103 {
104 1
105 1
106 1 //////////////////////////////////////////////////
107 1 //------------ phase turning word 1----------------
108 1 TAB_Data[0]=0x00; //高位
109 1 TAB_Data[1]=0x00; //低位
110 1 //------------ phase turning word 2----------------
111 1 TAB_Data[2]=0x00; //高位
112 1 TAB_Data[3]=0x00; //低位
113 1
114 1 /////////////////////////////////////////////////
115 1 //------------ frequency turning word 1----------------
116 1 TAB_Data[4]=((ulong)((f*256)/300000000))&(0x0000000000ff);// 0x00;// //高位
117 1 TAB_Data[5]=((ulong)((f*65536)/300000000))&(0x0000000000ff);//0x00;//
C51 COMPILER V8.02 DDS_TEST 08/30/2013 15:54:47 PAGE 3
118 1 TAB_Data[6]=((ulong)((f*16777216)/300000000))&(0x0000000000ff);//0x9f;//
119 1 TAB_Data[7]=((ulong)((f*4294967296)/300000000))&(0x0000000000ff);//0x16;//
120 1 TAB_Data[8]=((ulong)((f*1099511627776)/300000000))&(0x0000000000ff);//0xb1;//
121 1 TAB_Data[9]=((ulong)((f*281474976710656)/300000000))&(0x0000000000ff);//0x1c;//
122 1 //------------ frequency turning word 2----------------
123 1 TAB_Data[10]=0x00; //高位
124 1 TAB_Data[11]=0x00;
125 1 TAB_Data[12]=0x00;
126 1 TAB_Data[13]=0x00;
127 1 TAB_Data[14]=0x00;
128 1 TAB_Data[15]=0x00;
129 1 /////////////////////////////////////////////////
130 1 //------------ delta frequency word 1----------------
131 1 TAB_Data[16]=0x00; //高位
132 1 TAB_Data[17]=0x00;
133 1 TAB_Data[18]=0x00;
134 1 TAB_Data[19]=0x00;
135 1 TAB_Data[20]=0x00;
136 1 TAB_Data[21]=0x00; //低位 三角波
137 1
138 1
139 1 /////////////////////////////////////////////////
140 1 //------------ update clock----------------
141 1 TAB_Data[22]=0x00; //高位
142 1 TAB_Data[23]=0x00;
143 1 TAB_Data[24]=0x00;
144 1 TAB_Data[25]=0x00; //低位
145 1
146 1
147 1 /////////////////////////////////////////////////
148 1 //------------ ramp rate clock----------------
149 1 TAB_Data[26]=0x00;
150 1 TAB_Data[27]=0x00;
151 1 TAB_Data[28]=0x00;
152 1
153 1 /////////////////////////////////////////////////
154 1 //------------ 初始化预设----------------
155 1 TAB_Data[29]=0x00; //高位
156 1 TAB_Data[30]=0x00; ///300M
157 1 TAB_Data[31]=0x00;
158 1 TAB_Data[32]=0x00; //低位
159 1
160 1
161 1 /////////////////////////////////////////////////
162 1 //------------ output shape key I Mul----------------
163 1 TAB_Data[33]=0x00;
164 1 TAB_Data[34]=0x00;
165 1 //------------ output shape key Q Mul----------------
166 1 TAB_Data[35]=0x00;
167 1 TAB_Data[36]=0x00;
168 1
169 1
170 1 /////////////////////////////////////////////////
171 1 //------------ output shape key ramp rate-------------
172 1 TAB_Data[37]=0x00;
173 1
174 1
175 1
176 1 /////////////////////////////////////////////////
177 1 //------------QDAC-------------
178 1 TAB_Data[38]=0x00;
179 1 TAB_Data[39]=0x00;
C51 COMPILER V8.02 DDS_TEST 08/30/2013 15:54:47 PAGE 4
180 1
181 1 }
182
183
184
185 //***********************************************************
186 void AD9854_IO_INT()
187 {
188 1 uchar i;
189 1
190 1 MASTER_RESET=0;
191 1 FBH=0;
192 1 SHAPED_LEYING=1;//使上斜或下斜的引脚
193 1
194 1 temp=0;
195 1
196 1 for(i=0;i<40;i++)
197 1 {
198 2 ADDRESS=temp; //送地址
199 2 DATA=TAB_Data[i];
200 2 WR=0;
201 2 WR=1;
202 2 WR=0;
203 2 temp++;
204 2 }
205 1 update();
206 1 delay(2);
207 1 }
208
209
210 void V_init(void)
211
212 {
213 1
214 1 MASTER_RESET=0;
215 1
216 1
217 1 ADDRESS=0x1d;
218 1 DATA=0x00;
219 1 WR=0;
220 1 WR=1;
221 1 WR=0;
222 1
223 1 ADDRESS=0x1e;//倍频5倍,时钟为200MHz
224 1 DATA=0x45;
225 1 WR=0;
226 1 WR=1;
227 1 WR=0;
228 1
229 1 ADDRESS=0x1f;
230 1 DATA=0x00;
231 1 WR=0;
232 1 WR=1;
233 1 WR=0;
234 1
235 1 ADDRESS=0x20;
236 1 DATA=0x40;
237 1 WR=0;
238 1 WR=1;
239 1 WR=0;
240 1
241 1 update();
C51 COMPILER V8.02 DDS_TEST 08/30/2013 15:54:47 PAGE 5
242 1
243 1 delay(2);
244 1
245 1 }
246
247
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 413 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 45 8
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 + -