#include
#define ad9851_w_clk P2DIR|=BIT2
#define ad9851_w_clk_h P2OUT|=BIT2
#define ad9851_w_clk_l P2OUT&=~BIT2
#define ad9851_fq_up P2DIR|=BIT1
#define ad9851_fq_up_h P2OUT|=BIT1
#define ad9851_fq_up_l P2OUT&=~BIT1
#define ad9851_rest P2DIR|=BIT0
#define ad9851_rest_h P2OUT|=BIT0
#define ad9851_rest_l P2OUT&=~BIT0
#define ad9851_bit_data P1DIR|=BIT7
#define ad9851_bit_data_h P1OUT|=BIT7 #define ad9851_bit_data_l P1OUT&=~BIT7
void ad9851_reset()
{
ad9851_w_clk;
ad9851_w_clk_l;
ad9851_fq_up;
ad9851_fq_up_l;
ad9851_rest;
ad9851_rest_l;
ad9851_rest_h;
ad9851_rest_l;
}
void ad9851_wr_parrel(volatile unsigned char w0,volatile double frequence)
{
volatile unsigned char w;
volatile long int y;
volatile double x;
x=4294967295/180;
frequence=frequence/1000000;
frequence=frequence*x;
y=frequence;
P1DIR|=0xff;
//写w0数据
w=w0;
P1OUT|=w;//w0 ad9851_w_clk;
ad9851_w_clk_h;
ad9851_w_clk_l;
//写w1数据
w=(y>>24);
P1OUT|=w;//w1 ad9851_w_clk;
ad9851_w_clk_h;
ad9851_w_clk_l;
//写w2数据
w=(y>>16);
P1OUT|=w;//w2 ad9851_w_clk;
ad9851_w_clk_h;
ad9851_w_clk_l;
//写w3数据
w=(y>>8);
P1OUT|=w;//w3 ad9851_w_clk;
ad9851_w_clk_h;
ad9851_w_clk_l;
//写w4数据
w=(y>>=0);
P1OUT=w;//w4
ad9851_w_clk;
ad9851_w_clk_h;
ad9851_w_clk_l;
//移入始能
ad9851_fq_up;
ad9851_fq_up_h;
ad9851_fq_up_l;
}
void main(void)
{
WDTCTL=WDTPW+WDTHOLD;
ad9851_reset();
ad9851_wr_parrel(0x01,100);
while(1);
}