基于单片机的信号发生器

哪位单片机高手能给我说明一下 怎么在程序里调节信号频率,我用51单片机加DAC0808连接的仿真 频率只有3千多HZ就不能提高了,我要怎么样才能达到20KHZ。
有没有谁弄过这个的啊 可以发个给我不[email protected] 帮帮忙咯 分可以多给!
我要怎么样才能达到20KHZ?楼下能说稍微再明白点吗,我摸电学得不好 ,对锁相环了解不多。

第1个回答  2009-03-31
DAC0808 在使用51时最大频率可以达到多少?

系统时钟:12MHz
由于51执行一条指令至少要6个时钟周期,所以每秒指令数为1MHz
51对DAC0808的操作至少要有 写->启动 两个过程.而写的过程至少要2个指令周期,这样一来就需要3个指令周期才可以对DAC0808的输出更新一次.此时输出方波频率 f = 1MHz/3 = 3.333KHz.如果正弦等还不会到3khz.
所以,要用DAC0808和51使其输出20KHz不大可能.当然有些51系列的芯片也支持更高频率.
如果使用方波可以用IO口直接输出,如果功率不够可以加一级功率放大电路.
第2个回答  2009-04-07
你可以利用DDS技术,利用一个相位累加器和高频标准晶振,来实现较高频的信号发生器(任意波形)。我们原来用一些比较常见的芯片做过,可以到500-600KHZ,如果仔细挑选各种芯片,以及认真优化方案,上M应该没有问题!
第3个回答  2009-04-01
用锁相环CD4046吧,单片机控制DAC0808数模后控制CD4046,锁相环CD4046输出频率信号反馈回单片机检测.检测方法可以测周期,或频率.

看看人家的设计就知了:
地址:
http://blog.21ic.com/user1/870/archives/2006/21081.html本回答被提问者采纳
第4个回答  2009-03-28
这主要是跟单片机运行的时钟频率有关系。
还有就是输出控制DA的幅度值,当然减少控制幅度值波形会失真。
第5个回答  2009-04-05
51的 ale非 引脚分频
相似回答