AD9833产生三角波的问题
来源:百度知道 编辑:UC知道 时间:2024/05/09 17:51:44
有可能是你的负载上有电容,你断开其他的电路,直接去测量AD9833的输出脚就可以了,下面是一个例程,工参考
#include "head.h"
#include "cpu.h"
#include "AD9833.h"
//定义延时变量,用于宏AD9833_Delay()()
UNCHAR AD9833_delay_t;
/******************AD9833 延时******************/
/*宏定义:AD9833_Delay() */
#define AD9833_Delay()\
{\
AD9833_delay_t = (AD9833_Delay_Value);\
while ( --AD9833_delay_t!= 0 );\
}
/************延迟N 个SCLK 节拍***************/
void Delay_N_MCLK(UNCHAR N)
{
UNCHAR i,t;
for(i=0;i<=N;i++)
{
AD9833_SCLK = 1;
for(t=0;t<20;t++);
AD9833_SCLK = ~AD9833_SCLK;
for(t=0;t<20;t++);
}
}
/******************向单个AD9833 写入一个16位的信息字节******************/
//AD9833_16 表示写入的信息,Which_AD9833 表示写入哪个AD9833;
void Write_16bit_One(UNCHAR Char_1,UNCHAR Char_2, UNCHAR Which_AD9833_CS)
{
UNCHAR i,t;
AD9833_SCLK = 1;
switch(Which_AD9833_CS) //确定