前段时间忙着画板子搞运放搞滤波了,程序更新的少,发现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))
54 
55 
56 extern void AD9850_INIT_SERIAL(void);
57 
58 extern void AD9850_RESET_SERIAL(void);
59 
60 extern void AD9850_WR_SERIAL(unsigned char w0,double frequence);
61 
62 extern void AD9850_INIT_PARREL(void);
63 
64 extern void AD9850_RESET_PARREL(void);
65 
66 extern void AD9850_WR_PARREL(unsigned char w0,double frequence);
67 
68 
69 #endif /* LED_H_ */
AD9850.h

相关文章: