AT89X52驱动AD9854程序代码分享

5星 · 超过95%的资源 需积分: 12 69 下载量 70 浏览量 更新于2024-11-23 收藏 35KB DOC 举报
该资源是关于使用AT89C52微控制器控制AD9854 DDS(直接数字频率合成)芯片的程序代码。程序发布日期为2008年7月27日。 AT89C52是一款8位微控制器,广泛应用于嵌入式系统,具有256字节的片上RAM和8KB的闪存程序存储器。在这个程序中,AT89C52被用来配置和控制AD9854,一个能够生成精确频率信号的DDS芯片。 AD9854是一种高精度、低功耗的频率合成器,它通过数字输入产生模拟正弦波、方波和三角波输出。该芯片通常用于通信、测试与测量设备以及各种频率生成应用。在本程序中,AD9854的设置和操作通过I/O端口进行,这些端口在AT89C52的P2口上定义,包括数据线、时钟线、使能和选择线等。 程序的主要函数包括: 1. `AD9854_F()`: 这个函数可能是用来设置AD9854的频率生成参数,可能通过写入特定的数据到DDS芯片来设定输出频率。 2. `AD9854_IO_INT()`: 这个函数可能处理与AD9854的I/O交互和中断处理,确保正确地发送和接收数据。 3. `DLY_400MS()`: 这个函数实现了一个400毫秒的延迟,可能用于等待AD9854完成内部操作或稳定输出。 4. `TAB_DataWord()` 和 `F_DataWord()`: 这两个函数用于设置和传输数据到AD9854,`TAB_Data` 和 `F_Data` 分别可能包含相位调整和频率设置信息。 5. `V_Int()`: 这个函数可能是初始化或设置一些内部变量。 在程序的主循环中,根据P1口的输入,执行不同的功能。例如,当P1.0为低电平时,调用`AD9854_F()`改变频率设置;当P1.1为低电平时,调用`AD9854_IO_INT()`处理I/O交互;而P1.2的低电平则用于重置AD9854。 程序中的相位调整寄存器(PhaseAdjustRegister)用于设置输出信号的相位,其值影响生成的波形相位。例如,`TAB_Data[1] = 0X00` 和 `TAB_Data[2] = 0X00` 表示相位调整寄存器#1和#2的某些位设置为0,这将决定相位初始设置。 总体来说,这个程序提供了一个基础框架,展示了如何使用AT89C52与AD9854通信,以生成所需的频率信号。开发者可以通过修改`TAB_Data` 和 `F_Data` 的值,以及调整其他相关函数来定制频率合成器的输出。