51加DAC0832可以制作40KHz的正弦函数发生器么?
最近要做一个函数发生器,由于是菜鸟,只玩过个多月的单片机,今天在编程序的时候,发现频率根本达不到要求,不知道有什么方法解决? 为何用老古董DAC NJ8888 发表于 2012-4-11 11:10 static/image/common/back.gif为何用老古董DAC
其他芯片能产生40KHz的正弦波? 楼主生成正弦波是用查表法还是实时计算?
51工作频率是多少 采用指令周期是多长的51? NJ8888 发表于 2012-4-11 11:10 static/image/common/back.gif
为何用老古董DAC
因为课本上教的是这个。 本帖最后由 davidd 于 2012-4-11 12:19 编辑
40KHz的周期是25us,你算一下一周期能有多少点,正弦波波形滑很不光滑。去找专用的芯片 呵呵,学校里教的就是这个,LZ显然是学生 请教下用查表法的那个正弦表怎么来的 一个波形10个点,40khz*10=800khz,1.25us一个数,用总线模式,外加1T8051,应该可以。 理论上好像可以吧! rclong 发表于 2012-4-11 11:34 static/image/common/back.gif
楼主生成正弦波是用查表法还是实时计算?
51工作频率是多少 采用指令周期是多长的51? ...
11.0598M的 pang123hui 发表于 2012-4-11 12:23 static/image/common/back.gif
呵呵,学校里教的就是这个,LZ显然是学生
呵呵,是的,不过我们没学这个,搞这个纯属个人兴趣 oufuqiang 发表于 2012-4-11 12:39 static/image/common/back.gif
一个波形10个点,40khz*10=800khz,1.25us一个数,用总线模式,外加1T8051,应该可以。 ...
1.25us好像不太行,我调的时候都是十几毫秒 hejiang239 发表于 2012-4-11 15:39 static/image/common/back.gif
1.25us好像不太行,我调的时候都是十几毫秒
你是用sin函数一个个点的数值算出来的?
怎么要几十毫秒那么长的时间。 oufuqiang 发表于 2012-4-11 16:07 static/image/common/back.gif
你是用sin函数一个个点的数值算出来的?
怎么要几十毫秒那么长的时间。
是先定义数组,然后
while(1)
{
P0=table;
i++;
if(i==20)
i=0;
} google搜AVR DDS,可以做到1-65535Hz,DAC0832都省了,直接用R-2R电阻网络。 DAC0832好像问世N多年了! 找个自带DAC的芯片不就得了么.像C8051F410之类的应该是比较容易做到.
页:
[1]