难找到的ad9854程序
根据给定的文件信息,我们可以总结出以下与AD9854相关的知识点: ### AD9854简介 AD9854是一款高性能的直接数字频率合成器(DDS),能够提供高精度、高稳定性的频率输出。这款芯片常用于通信系统、测试设备和其他需要精确频率控制的应用场景。 ### AD9854程序设计 该程序是基于AT89X52单片机编写的,用于控制AD9854的各个功能。下面详细介绍程序中的关键部分及其功能。 #### 宏定义 程序中定义了一系列宏,用于映射AD9854所需的GPIO引脚: - `HC_573_C`: 控制数据锁存器。 - `MASTER_RESET`: 复位信号。 - `IO_UP`: 输入/输出更新控制信号。 - `WRB_SCLK`: 写时钟信号。 - `RDB_CSB`: 读使能信号。 - `FSK_BPSK_HOLD`: 调制模式选择。 - `SHAPED_LEYING`: 模式设置信号。 #### 函数声明 - `AD9854_F()`: 控制AD9854进行频率设置或更新。 - `AD9854_IO_INT()`: 输入/输出中断处理函数。 - `DLY_400MS()`: 延时函数,用于实现定时操作。 - `TAB_DataWord()`: 初始化AD9854的数据表。 - `F_DataWord()`: 频率数据设置函数。 - `V_Int()`: 初始化函数。 #### 变量声明 - `temp`: 临时变量。 - `TAB_Data[40]`: 用于存储AD9854配置数据的数组。 - `F_Data[6]`: 存储频率调整字的数据数组。 ### 主函数 主函数首先调用`V_Int()`进行初始化,然后进入一个无限循环。在这个循环中,`TAB_DataWord()`和`F_DataWord()`被调用来配置AD9854的参数。之后的循环用于检测外部中断,并根据不同的中断执行相应的操作。 ### 配置数据设置 `TAB_DataWord()`函数用于配置AD9854的内部寄存器。具体来说,它设置了以下几个方面: - **相位调整寄存器**:通过`TAB_Data[0]`和`TAB_Data[1]`设置第一个相位调整寄存器;通过`TAB_Data[2]`和`TAB_Data[3]`设置第二个相位调整寄存器。 - **频率调谐字**:通过`TAB_Data[4]`到`TAB_Data[9]`设置第一个频率调谐字;通过`TAB_Data[10]`到`TAB_Data[15]`设置第二个频率调谐字。 - **频率增量字**:通过`TAB_Data[16]`到`TAB_Data[21]`设置频率增量字,用于实现频率微调。 - **更新时钟**:通过`TAB_Data[22]`到`TAB_Data[25]`设置更新时钟的值。 ### 时钟配置 程序注释中提到晶振可以使用11.0592MHz,但在调试过程中建议使用12MHz的晶振。这主要是为了确保程序的稳定性和兼容性。 ### 总结 该程序主要实现了对AD9854的控制,包括频率设置、相位调整等功能。通过宏定义映射GPIO引脚,并通过一系列函数调用来完成AD9854的初始化和配置。此外,还涉及了延时函数、中断处理等内容,为AD9854的应用提供了完整的解决方案。
贴子发表于:2008/7/27 8:45:35
欢迎参与调查
#include<AT89X52.H> //晶振可以用11.0592MHZ,如果用串口的话
//提示:在调试程序的时候晶振用12MHZ
#define HC_573_C P2_7
#define MASTER_RESET P2_1
#define IO_UP P2_6
#define WRB_SCLK P2_5
#define RDB_CSB P2_4
#define FSK_BPSK_HOLD P2_3
#define SHAPED_LEYING P2_2
void AD9854_F();
void AD9854_IO_INT();
void DLY_400MS();
void TAB_DataWord();
void F_DataWord();
void V_Int();
unsigned char temp;
//unsigned char UPFLAG;
unsigned char TAB_Data[40];
unsigned char F_Data[6];
{
V_Int();
while(1){
TAB_DataWord();
F_DataWord();
while(1)
{
if(!P1_0)
{
AD9854_F();
}
if(!P1_1)
{
AD9854_IO_INT();
}
if(!P1_2)
{
MASTER_RESET=1;
}
SHAPED_LEYING=1;
MASTER_RESET=0;
HC_573_C=0;
}
}
}
/***********************************************************************************************/
void TAB_DataWord()
{
剩余7页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
- 1
- 2
前往页