搜索
bottom↓
回复: 4

关于AD9834的控制程序

[复制链接]

出0入0汤圆

发表于 2008-8-7 16:23:04 | 显示全部楼层 |阅读模式
我编写了一个控制AD9834产生,程序如下:
#include <avr/io.h>
#include <avr/delay.h>
#include <stdio.h>
void send_con(unsigned int con)
{unsigned char i;
asm("cbi 0x0B,2");
for (i=0;i<16;i++)
     {if(con&0x8000)
             asm("sbi 0x0B,0");
      else
             asm("cbi 0x0B,0");
          con<<=1;
          asm("sbi 0x0B,1");
          asm("cbi 0x0B,1");
          }
asm("sbi 0x0B,2");
}
void send_fre(unsigned int fre)
{send_con(fre);
}
void send_phase(void)
{send_con(0xC000);
}
void main()
{unsigned long fr=0x3333333;
unsigned int LSB,MSB;
PORTD=0x0000;
DDRD=0xFFFF;
asm ("cbi 0x0B,1");
asm ("sbi 0x0B,2");
LSB=fr/0x4000+0x4000;
MSB=fr%0x4000+0x4000;
send_con(0x2100);
send_fre(LSB);
send_fre(MSB);
send_phase;
}
但是总没有波形产生,请各位高手指点一下。

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

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

出0入0汤圆

 楼主| 发表于 2008-8-7 16:28:35 | 显示全部楼层
附AD9834pdf
点击此处下载 ourdev_371573.pdf(文件大小:233K) (原文件名:AD9834.pdf)

出0入0汤圆

发表于 2011-6-6 00:40:32 | 显示全部楼层
send_con(0x2100);
应该不是这句吧~
应该是Send_Con(0x2038);吧~

出0入0汤圆

发表于 2011-8-10 10:23:09 | 显示全部楼层
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3578471&bbs_page_no=1&search_mode=1&search_text=AD9834&bbs_id=9999
这里面有个AD9834的代码,貌似好用的,看看有什么区别吧。

出0入0汤圆

发表于 2012-9-13 14:49:01 | 显示全部楼层
请问一下大家:

AD9834为什麽要有两个频率寄存器(FREQ0和FREQ1)以及两个相位寄存器(PHASE0和PHASE1)?

因为IC只有一个输出,如果两个频率寄存器和两个相位寄存器都写了值,

那请问输出频率和相位会由哪一个寄存器来决定,还请高手解答。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-7-24 06:27

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

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