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

📄 dds9834.c

📁 KeilC51编程,51与DDS芯片 AD9850的接口程序.包括对DDS的初始化以及输出控制.
💻 C
字号:
#include <absacc.h>
#include <reg51.h>
#include <intrins.h>
#include <stdio.h>
#include <DDS9834.h>

sbit FCLK= P1^6;
sbit FData= P1^7;

sbit FSYNC= P1^5;
sbit FRst= P1^4;

void WriteData(unsigned char aa,unsigned char bb)
{
	unsigned char a[8];
	unsigned char b[8];
	unsigned char i;
	FSYNC=1;
	FCLK=1;
	a[0]=(aa<<0>>7)&0x01;
	a[1]=(aa<<1>>7)&0x01;
	a[2]=(aa<<2>>7)&0x01;	
	a[3]=(aa<<3>>7)&0x01;
	a[4]=(aa<<4>>7)&0x01;
	a[5]=(aa<<5>>7)&0x01;
	a[6]=(aa<<6>>7)&0x01;
	a[7]=(aa<<7>>7)&0x01;

	b[0]=(bb<<0>>7)&0x01;
	b[1]=(bb<<1>>7)&0x01;
	b[2]=(bb<<2>>7)&0x01;
	b[3]=(bb<<3>>7)&0x01;
	b[4]=(bb<<4>>7)&0x01;
	b[5]=(bb<<5>>7)&0x01;
	b[6]=(bb<<6>>7)&0x01;
	b[7]=(bb<<7>>7)&0x01;
	
	FSYNC=0;
	for(i=0;i<=7;i++)
	{
		FData=a[i];
		FCLK=0;
		_nop_();
		FCLK=1;
		_nop_();
	}
	for(i=0;i<=7;i++)
	{
		FData=b[i];
		FCLK=0;
		_nop_();
		FCLK=1;
		_nop_();
	}
	FSYNC=1;
	FCLK=1;
}

void DDS_Rst()
{
//	FRst=1;
//	_nop_();
	FRst=0;//0000 0000 1001 11   01 0100 1001 0110
	WriteData(0x01,0x00);//(0b00000001,0b00000000)//PIN/SW=0 bit,RST=1
	WriteData(0x21,0x00);//(0b00100001,0b00000000);//Write Freq
//	WriteData(0x41,0x03);//(0b01000001,0b00000011);//01 000FBA9
//	WriteData(0x7B,0xA9);//(0b01111011,0b10101001);//50M->12K
	WriteData(0x40,0x27);// 0b01000000 0b00100111)			//009D496
	WriteData(0x54,0x95);// 0b01010100 0b10010110
	WriteData(0xC1,0x00);//(0b11000001,0b00000000);//Phase->0
	WriteData(0x00,0x00);//(0b00000000,0b00000000);//Rst->0
}

⌨️ 快捷键说明

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