📄 ad9851.lst
字号:
C51 COMPILER V8.15 AD9851 07/13/2008 20:42:00 PAGE 1
C51 COMPILER V8.15, COMPILATION OF MODULE AD9851
OBJECT MODULE PLACED IN AD9851.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE AD9851\AD9851.c BROWSE DEBUG OBJECTEXTEND PRINT(.\AD9851.lst) OBJECT(AD9851
-.obj)
line level source
1 /*
2 * Copyright (C) 2007, 华中科技大学电气与电子科技创新中心
3 * All Rights Reserved.
4 *
5 * 文件名: AD9851.c
6 * 文件描述: AD9851驱动程序文件
7 *
8 * 当前版本: 1.1
9 * 作者:
10 * 完成日期: 2007年7月25日
11 *
12 */
13 #include"AD9851\AD9851.h"
14 #include<intrins.h>
15
16 /***************************************
17 说明: 初始化AD9851,写入空数据进行初始化
18 *****************************************/
19 void AD9851_Initial(void)
20 {
21 1 CLK=0;
22 1 _nop_();
23 1 LOAD=0;
24 1 AD9851_Delay(2);
25 1 CLK=1;
26 1 AD9851_Delay(2);
27 1 CLK=0;
28 1 AD9851_Delay(5);
29 1 LOAD=1;
30 1 AD9851_Delay(2);
31 1 LOAD=0;
32 1 }
33 /***************************************
34 说明: 写入频率,将要写入的频率转化成32位频率控制位;
35 如写入500Hz,即调用此函数AD9851_WriteFreq(500);
36 ****************************************/
37 void AD9851_WriteFreq(unsigned long f)
38 {
39 1 unsigned long dds;
40 1 dds=f*35.79139413; //30MHz晶振所用23.860929422做为倍乘系数
41 1 AD9851_WriteData(dds);
42 1 }
43
44 /**************************************
45 说明: 串行写入数据子程序,先写入32位数据控制位,
46 后写入8位其他控制位,用6倍频。
47 **************************************/
48 void AD9851_WriteData(unsigned long dds)
49 {
50 1 unsigned char i;
51 1 LOAD=0;
52 1 CLK=0;
53 1 for(i=0;i<40;i++)
54 1 {
C51 COMPILER V8.15 AD9851 07/13/2008 20:42:00 PAGE 2
55 2 CLK=0;
56 2 _nop_();
57 2 if((dds&0x00000001)||(i==32))
58 2 DAT=1;
59 2 else
60 2 DAT=0;
61 2 _nop_();
62 2 CLK=1;
63 2 dds=dds>>1;
64 2 }
65 1 LOAD=1;
66 1 CLK=0;
67 1 _nop_();
68 1 AD9851_Delay(5);
69 1 LOAD=0;
70 1 }
71
72 /************************************
73 说明:延量50us子程序
74 **************************************/
75 void AD9851_Delay(unsigned char t)
76 {
77 1 unsigned char i,j;
78 1 for(i=0;i<t;i++)
79 1 {
80 2 for(j=0;j<255;j++)
81 2 ;
82 2 }
83 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 147 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 4
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 + -