dds.c

来自「AD9850串行驱动程序,使用51单片机,通过修改宏,能方便地对DDS进行配置!」· C语言 代码 · 共 58 行

C
58
字号
#include"reg52.h"
#define uchar unsigned char
sbit clk  = P1^3;
sbit load = P1^4;
sbit dat  = P1^5;

void init_dds(void)
{
	clk=0;
	load=0;
	clk=1;
	clk=0;
	load=1;
	load=0;
}

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

void write_freq(unsigned long freq)
{
	unsigned long dds;
	dds=34.35943*freq;
	write_dds(dds);
}



void main()
{
	init_dds();
	write_freq(500000);
	write_freq(500000); 
	while(1)
	{
	}
	
}



⌨️ 快捷键说明

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