⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ad9851.h

📁 AD9851模块制作
💻 H
字号:

#define uchar unsigned char
#define lint long int
#define uint unsigned int

//---------	AD9851控制IO定义------------------------
sbit load=P3^5;      	 	//AD9851信号更新位FQ_UP
sbit clk=P3^6;      	 	//写控制字时钟WCLK	 
sbit dat=P3^7; 				//数据位D7	
					
void delay(uint t)
{
	uint i;
	while(t--)
	{
		/* 对于12M时钟,约延时1ms */
		for (i=0;i<125;i++)
		{}
	}
}
void ad9851_reset() //初始化 
{ 
clk=0; 
load=0; 

clk=1; 
clk=0; 

load=1; 
load=0; 
} 

					
void write_dds(unsigned long dds)
{
    uchar temp=0x80;
	uchar i;
	load=0;
	clk=0;
	for(i=0;i<40;i++)
	{
		clk=0;
		delay(10);
		if( (dds&0x00000001) || (i==32)  )
		{
		dat=1;
		}
		else dat=0;
		delay(10);
		clk=1;
		dds=dds>>1;
	}
	load=1;
	clk=0;
	delay(10);
	load=0;


}

 void write_freq(unsigned long frequency)
{
	frequency=(unsigned long)(23.860929422*frequency);    //使用30M*6晶振,frequence就是所要输出的频率
	write_dds(frequency);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -