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

📄 ad9851.h

📁 89S51单片机并行驱动AD9851的程序
💻 H
字号:
#ifndef __AD9851_H__
#define __AD9851_H__

#include "regx51.h"

typedef unsigned char uchar;					  

unsigned long f_freqword;
unsigned char f_phaseword=0x01;


#define RST_DDS	P2_5
#define CLK_DDS	P2_7
#define UPDATE	P2_6
#define Data_DDS P0


void InitDDSport()
{
	RST_DDS = 1;
	RST_DDS = 0;
	Data_DDS = 0;
	CLK_DDS = 0;
	UPDATE = 0;
}


void SendData()
{						  
	CLK_DDS=0;
	Data_DDS = f_phaseword;
	CLK_DDS=1;
							 
	CLK_DDS = 0;
	Data_DDS = (f_freqword>>24) & 0xFF;
	CLK_DDS = 1;		 
	CLK_DDS = 0;
	Data_DDS = (f_freqword>>16) & 0xFF;
	CLK_DDS = 1;  
	CLK_DDS = 0;
	Data_DDS = (f_freqword>>8) & 0xFF;
	CLK_DDS = 1;   
	CLK_DDS = 0;
	Data_DDS = f_freqword & 0xFF;
	CLK_DDS = 1;
	CLK_DDS = 0;

	UPDATE=0;
	UPDATE=1;
}

void SendFreq(double freq)
{
	f_freqword=(unsigned long)freq*26.5121438;
	SendData();
}
			  /*
void SendPhase(unsigned char phase)
{
	f_phaseword = (phase<<3) | 1;
	SendData();
}
				  */
void SendDefault()
{
	f_phaseword = 1;
	f_freqword = 1000;
	SendFreq(f_freqword);
}

#endif

⌨️ 快捷键说明

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