标题:
MSP430单片机AD9851 AD9850源码
[打印本页]
作者:
嘿嘿哈哈哈哈
时间:
2019-8-5 19:15
标题:
MSP430单片机AD9851 AD9850源码
DDS的应用
单片机源程序如下:
#include <msp430x14x.h>
/**********定义w_clk***********************************************************/
#define W_CLK_PORT P3OUT
#define W_CLK_DIR P3DIR
#define W_CLK_BIT BIT5
#define W_CLK_HIGH W_CLK_PORT |= W_CLK_BIT //w_ckl高
#define W_CLK_LOW W_CLK_PORT &=~ W_CLK_BIT //w_clk 低
/**********定义fq_up***********************************************************/
#define FQ_UP_PORT P3OUT
#define FQ_UP_DIR P3DIR
#define FQ_UP_BIT BIT6
#define FQ_UP_HIGH FQ_UP_PORT |=FQ_UP_BIT //FQ_UP高
#define FQ_UP_LOW FQ_UP_PORT &=~FQ_UP_BIT //FQ_UP 低
/**********定义rest***********************************************************/
#define REST_PORT P3OUT
#define REST_DIR P3DIR
#define REST_BIT BIT7
#define REST_HIGH REST_PORT |=REST_BIT //w_ckl高
#define REST_LOW REST_PORT &=~REST_BIT //w_clk 低
int table[5]={100,300,1000,3000,10000};
/*******************************************
函数名称:delay
功 能:延时约 z us的时间
参 数:z
返回值 :无
********************************************/
void delay(unsigned int z)
{
unsigned char i;
for(i = 0;i < z;i++)
_NOP();
}
/*******************************************
函数名称: ad9850_Init
功 能: ad9850初始化
参 数:无
返回值 :无
********************************************/
void ad9850_Init(void)
{
P3DIR|=BIT5+BIT6+BIT7;
P1DIR=0xFF;
P1OUT=0x00;
}
/*******************************************
函数名称: ad9850_Reset
功 能: ad9850复位(并口模式)
参 数:无
返回值 :无
********************************************/
void ad9850_Reset(void)
{
W_CLK_LOW;
FQ_UP_LOW ;
//reset 信号
REST_LOW;
_NOP();
REST_HIGH;
_NOP();
REST_LOW;
_NOP();
}
/*******************************************
函数名称: ad9850_wr_parrel
功 能: w0,frequence --频率
参 数:无
返回值 :无
********************************************/
void ad9850_Wr_parrel(unsigned char w0,double frequence)
{
unsigned char w;
long int y;
double x;
//计算频率的HEX值
x=4294967295/125;//适合125M晶振
//如果时钟频率不为125MHZ,修改该处的频率值,单位MHz !!!
frequence=frequence/1000000;
frequence=frequence*x;
y=frequence;
//写w0数据
w=w0;
P1OUT=w; //w0
W_CLK_HIGH;
_NOP();
W_CLK_LOW ;
_NOP();
//写w1数据
w=(y>>24);
P1OUT=w; //w1
W_CLK_HIGH;
_NOP();
W_CLK_LOW;
_NOP();
//写w2数据
w=(y>>16);
P1OUT=w; //w2
W_CLK_HIGH;
_NOP();
W_CLK_LOW;
_NOP();
//写w3数据
w=(y>>8);
P1OUT=w; //w3
W_CLK_HIGH;
_NOP();
W_CLK_LOW;
_NOP();
//写w4数据
w=(y>>=0);
P1OUT=w; //w4
W_CLK_HIGH;
_NOP();
W_CLK_LOW;
_NOP();
//移入始能
FQ_UP_HIGH;
_NOP();
FQ_UP_LOW;
_NOP();
}
复制代码
所有资料51hei提供下载:
DDS.7z
(7.63 MB, 下载次数: 12)
2019-8-6 02:57 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1