搜索
bottom↓
回复: 3

ad9850驱动for m16

[复制链接]

出0入0汤圆

发表于 2010-12-24 03:23:44 | 显示全部楼层 |阅读模式
淘宝上买了块9850模块板。附带的资料
gcc编译环境。那位给转成icc环境吧。gcc俺不会用。谢谢
点击此处下载 ourdev_606775HJI2UR.zip(文件大小:18K) (原文件名:avr-AD9850(并行).zip)
点击此处下载 ourdev_606776FLUGO6.zip(文件大小:26K) (原文件名:avr-AD9850(串行).zip)

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2010-12-24 13:52:19 | 显示全部楼层
我来看AD9850驱动M16的

出0入0汤圆

 楼主| 发表于 2010-12-25 02:10:15 | 显示全部楼层
还是得自己搞定。呵呵。编译通过还没有经过验证。等出差回去就测试
/************************************************************

串行驱动 AD9850
FRUD -- B0
REST -- B1
WCLK -- B2

数据接口 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   5000000    // 定义 输出 频率 ADout
#define  IO9850  PORTA      
#define  IO_1  SET_1(IO9850,7)
#define  IO_0  CLE_0(IO9850,7)


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();
}
}

出110入109汤圆

发表于 2013-12-24 17:10:51 | 显示全部楼层
果然有移植好的,我坛威武~谢谢分享
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 14:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表