📄 main.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 + -