前段时间忙着画板子搞运放搞滤波了,程序更新的少,发现MSP430不是太好用,尤其Timer,不过也与我使用内部晶振有关,产生正玄波之前用MSP430发出PWM,再进行滤波变为正弦波太麻烦了,这次改用DDS芯片,今天板子回来一会就调了出来很方便。
AD9850为一款DDS芯片,这里不做什么详细介绍了,有两种接口:serial 和 parrel,两种接口驱动均完成


1 /* 2 * AD9850.h 3 * 4 * Created on: 2013-7-12 5 * Author: Allen 6 */ 7 8 #ifndef AD9850_H_ 9 #define AD9850_H_ 10 11 #include <MSP430G2553.h> 12 #include "MyType.h" 13 14 15 //---------------------------------------------------------------------------------- 16 //AD9850:W_CLK P2.5 17 #define AD9850_W_CLK_DIR (P2DIR) 18 #define AD9850_W_CLK_OUT (P2OUT) 19 #define AD9850_W_CLK_PIN_NUM (BIT5) 20 21 #define AD9850_W_CLK_IO_INIT (Set_Bit(P2DIR,AD9850_W_CLK_PIN_NUM)) 22 #define AD9850_W_CLK_H (Set_Bit(P2OUT,AD9850_W_CLK_PIN_NUM)) 23 #define AD9850_W_CLK_L (Clr_Bit(P2OUT,AD9850_W_CLK_PIN_NUM)) 24 25 //---------------------------------------------------------------------------------- 26 //AD9850:FQ_UP P2.4 27 #define AD9850_FQ_UP_DIR (P2DIR) 28 #define AD9850_FQ_UP_OUT (P2OUT) 29 #define AD9850_FQ_UP_PIN_NUM (BIT4) 30 31 #define AD9850_FQ_UP_IO_INIT (Set_Bit(P2DIR,AD9850_FQ_UP_PIN_NUM)) 32 #define AD9850_FQ_UP_H (Set_Bit(P2OUT,AD9850_FQ_UP_PIN_NUM)) 33 #define AD9850_FQ_UP_L (Clr_Bit(P2OUT,AD9850_FQ_UP_PIN_NUM)) 34 35 //---------------------------------------------------------------------------------- 36 //AD9850:RESET P2.3 37 #define AD9850_RESET_DIR (P2DIR) 38 #define AD9850_RESET_OUT (P2OUT) 39 #define AD9850_RESET_PIN_NUM (BIT3) 40 41 #define AD9850_RESET_IO_INIT (Set_Bit(P2DIR,AD9850_RESET_PIN_NUM)) 42 #define AD9850_RESET_H (Set_Bit(P2OUT,AD9850_RESET_PIN_NUM)) 43 #define AD9850_RESET_L (Clr_Bit(P2OUT,AD9850_RESET_PIN_NUM)) 44 45 //---------------------------------------------------------------------------------- 46 //AD9850:BIT_DATA P1.7 47 #define AD9850_BIT_DATA_DIR (P1DIR) 48 #define AD9850_BIT_DATA_OUT (P1OUT) 49 #define AD9850_BIT_DATA_PIN_NUM (BIT7) 50 51 #define AD9850_BIT_DATA_IO_INIT (Set_Bit(P1DIR,AD9850_BIT_DATA_PIN_NUM)) 52 #define AD9850_BIT_DATA_H (Set_Bit(P1OUT,AD9850_BIT_DATA_PIN_NUM)) 53 #define AD9850_BIT_DATA_L (Clr_Bit(P1OUT,AD9850_BIT_DATA_PIN_NUM))