AD9850驱动程序--MSP430版本

本文介绍了如何使用MSP430微控制器驱动AD9850 DDS芯片,包括串行和并行接口的驱动程序实现。作者分享了在使用MSP430过程中遇到的问题,以及AD9850的简单操作,强调了这种方法的便捷性。

前段时间忙着画板子搞运放搞滤波了,程序更新的少,发现MSP430不是太好用,尤其Timer,不过也与我使用内部晶振有关,产生正玄波之前用MSP430发出PWM,再进行滤波变为正弦波太麻烦了,这次改用DDS芯片,今天板子回来一会就调了出来很方便。

AD9850为一款DDS芯片,这里不做什么详细介绍了,有两种接口:serial 和 parrel,两种接口驱动均完成

 

ContractedBlock.gif ExpandedBlockStart.gif
 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))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值