📄 main.lst
字号:
C51 COMPILER V7.50 MAIN 07/09/2007 20:07:17 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
3 #define uint unsigned int
4 #define uchar unsigned char
5 sbit dds_en=P1^4;
6 sbit dds_clk=P1^5;
7 sbit dds_dat=P1^6;
8
9
10 void delay(uint k)
11 {
12 1 while (--k);
13 1 }
14
15 void write_2byte(uint a) //写2BYTE到DDS
16 {
17 1 uchar i;
18 1 dds_clk=1;
19 1 dds_dat=1;
20 1 dds_en=1;
21 1 // control=0;
22 1 delay(1000);
23 1 dds_clk=1;
24 1 delay(2);
25 1 dds_en=0;
26 1 for(i=0;i<16;i++)
27 1 {
28 2 if(a&0x8000){dds_dat=1;}//the MSB=1
29 2 else dds_dat=0;//the MSB=0
30 2 dds_clk=0;
31 2 delay(5);
32 2 dds_clk=1;
33 2 a=a<<1;
34 2 }
35 1 delay(2);
36 1 dds_en=1;
37 1 dds_clk=0;
38 1 delay(1000);
39 1 // control=1;
40 1 }
41
42 void init_dds(void)//初始化DDS芯片
43 {
44 1 write_2byte(0x2100);
45 1 write_2byte(0x2000);//write command;28mode;
46 1 write_2byte(0x4000);//write LSB of freq0 reg 置入00FC000
47 1 write_2byte(0x403F);//write MSB of freq0 reg
48 1 write_2byte(0x2900);
49 1 write_2byte(0x8000);//write LSB of freq1 reg 置入00FC000
50 1 write_2byte(0x803F);//write MSB of freq1 reg
51 1 write_2byte(0xC000);//write phase0 reg
52 1 write_2byte(0xF000);//write phase1 reg
53 1 write_2byte(0x2000);//lect freq0,phase 0,28bit mode,rst=0
54 1 }
55 //输出指定频率
C51 COMPILER V7.50 MAIN 07/09/2007 20:07:17 PAGE 2
56 void output(unsigned long freq_value)
57 {
58 1 unsigned long dds;//32 bit data for dds control word
59 1 uint dds1,dds2;
60 1 dds=freq_value*18.64135111111;
61 1 dds=dds<<2;
62 1 dds1=dds; //低字节
63 1 dds2=dds>>16; //高字节
64 1 dds1=dds1>>2;
65 1 dds2=dds2&0x7FFF;
66 1 dds2=dds2|0x4000;
67 1 write_2byte(0x2000);//enable the command mode is 28mode
68 1 write_2byte(dds1);
69 1 write_2byte(dds2);
70 1 }
71
72 void main()
73 {
74 1 init_dds();
75 1 output(1000000);
76 1 while (1);
77 1 }
78
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 272 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 6
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 + -