论坛风格切换切换到宽版
  • 5075阅读
  • 10回复

39元的ad9850模块驱动起来了。 [复制链接]

上一主题 下一主题
离线峰回路转
 
发帖
584
只看楼主 倒序阅读 0楼 发表于: 2010-12-28
39元的ad9850模块驱动起来了。
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线峰回路转
发帖
584
只看该作者 1楼 发表于: 2010-12-28
测试驱动如下,m16,icc编译。。。
看起来频谱很干净。波形很漂亮呵呵。


/************************************************************
串行驱动 ad9850
frud -- b0
rest -- b1
wclk -- b2
d7------b3
数据接口 d7 -- a7(注意:串行方式时d0,d1接高电平,d2接地)
adout 定义输出频率

****************************************************************/

#include <iom16v.h>
#include <macros.h>
#include <delay.h>
#include <avr_bit.h>

#define uint unsigned int
#define uchar unsigned char

#define set_1(a,b) a|=(1<<b)
#define cle_0(a,b) a&=~(1<<b)

#define frud_1 portb_0=1
#define frud_0 portb_0=0
#define rest_1 portb_1=1
#define rest_0 portb_1=0
#define wclk_1 portb_2=1
#define wclk_0 portb_2=0

#define adout 10000000 // 定义 输出 频率 adout
#define io9850 porta
#define io_1 portb_3=1
#define io_0 portb_3=0


void initio(void)
{
ddra = 0xff;
ddrb = 0xff;
}


void init9850(void)
{
wclk_0;
frud_0;
rest_1;
rest_0;

}

void update(void)
{
frud_1;
frud_0;
}

void sentcom(void)
{
sendword(0);
sendword(0);
sendword(1);
sendword(0);
sendword(0);
sendword(0);
sendword(0);
}

void sendword(uchar dat)
{
if(dat)
io_1;
else
io_0;

wclk_1;
wclk_0;
}



void startad(void)
{ long unsigned int dat;
unsigned char i = 0;
update();
dat =(long int) adout * 42.949672;
dat=dat>>1;
for(;i<32;i++)
{
sendword((uchar) (dat&1));
dat=dat>>1;
}

sentcom();
update();

}


int main(void)
{ initio();
init9850();
startad();
while(1)
{

nop();
}
}
离线bd9cr
发帖
1202
只看该作者 2楼 发表于: 2010-12-28
参考一下
学习学习
离线BG4-2-12747
发帖
1611
只看该作者 3楼 发表于: 2010-12-28
这是个重大利好消息! 楼主,有51的汇编版本吗?c的不会。
离线徐徐2009
发帖
6544
只看该作者 4楼 发表于: 2010-12-28
麻烦,搞神油的pic驱动吧
离线ba7ib
发帖
4569
只看该作者 5楼 发表于: 2010-12-28
围观,记号
离线田鼠
发帖
235
只看该作者 6楼 发表于: 2011-01-19
很好!学习一下!
离线BH7NAO
发帖
18519
只看该作者 7楼 发表于: 2013-05-17
mark 123
DIY是一种心瘾
离线BG4FQD
发帖
3407
只看该作者 8楼 发表于: 2013-05-18
回 BG4-2-12747 的帖子
BG4-2-12747:这是个重大利好消息! 楼主,有51的汇编版本吗?c的不会。 (2010-12-28 14:58) 

有汇编的底子,学学C,还是比较容易的。
别人吃饭我看着,别人睡觉我站着。
离线西门飘雪
发帖
587
只看该作者 9楼 发表于: 2013-05-18
用icc的人好像比较少,用Keil的人比较多一些!
爷不缺钱,爷也不缺女人,爷缺的是有钱的女人!
离线BG7SHF
发帖
1105
只看该作者 10楼 发表于: 2013-05-18
回 西门飘雪 的帖子
西门飘雪:用icc的人好像比较少,用Keil的人比较多一些! (2013-05-18 20:13) 

avr  怎么用keil??
137227

约炮:139083ED(0x)