MSP430单片机AD9851 AD9850源码

2020-07-29来源: 51hei关键字:MSP430  单片机  AD9851  AD9850

DDS的应用


单片机源程序如下:

#include

/**********定义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();

}


关键字:MSP430  单片机  AD9851  AD9850 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic504669.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:MSP430实现计时器的源代码
下一篇:msp430f149单片机+4*4键盘+1602程序

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

MSP430实现计时器的源代码
和上一篇文章一样,用到了 TM1638。计时器初值设为 23:57:45,计时到 23:59:59 时重置为 0点 0分 0秒。(和上次的定时器一样,主函数中的delay是我自己写的,是为了便于调试,并没有真正起到延时1s的作用)源の代码:#include "TM1638.h"#include "msp430f6638.h"#include "stdint.h"uint8_t num[8];    //各个数码管显示的值uint8_t led_flag[8];const uint8
发表于 2020-07-25
MSP430f5529之PWM控制舵机程序
#include <msp430.h>                        //函数库int sum=0;                                  //全局变量int main(void){  volatile unsigned int i;     
发表于 2020-07-25
msp430超声波测距源程序 1602显示
单片机源程序如下:#include <msp430x14x.h>#include "cry1602.h"uchar tishi[]={"the distance is:"};uchar geshi[]={".cm"};//26.2cmuchar  num[]={"0123456789 "};uchar Edge=1;uint RiseCapVal;   //上升沿时刻捕获值存放变量//uint TA_Overflow_Cnt; //TA溢出次数存放变量,可能距离远超过65535unsigned long int
发表于 2020-07-25
MSP430单片机定时器TA中断 程序
程序1#include  <msp430x41x.h>void main(void){  WDTCTL = WDTPW + WDTHOLD;                       // 停止看门狗  FLL_CTL0 |= XCAP18PF;                         // 配置晶振负载电容  P1DIR |
发表于 2020-07-25
msp430f5529 MCP4725程序
//**************************************//I2C起始信号//**************************************void I2C_Start(){    SDAOUT;                  //数据线设为输出方向    SDA1;                   &
发表于 2020-07-25
msp430f5529 RC522射频卡程序
;   SDA p2.2    SCK P2.7    MOSI P3.3    MISO p3.4    IRQ 不接    RST p2.3连接好上述引线后,能实现以下功能:1.PC发送字符A,读出卡的型号和UID信息。2.PC发送字符F,单次寻卡模式,接触一次显示一次卡的型号信息。*/#include "msp430.h"#include "PIN_DEF.H"#include "RC522.H"#include "UART_Func.h"//串口已
发表于 2020-07-25
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved