最近一直在研究使用单片机做一个可调的音频信号发生器,在网上搜了一下,发现一个AVR 模拟DDS的例子,一直没有弄明白,还好现在根据程序原理。使用汇编写了一个MCS51的程序。
单片机使用得是宏景公司的STC51系列,程序使用汇编编写,参照AVR miniDDS原理图,加了串口通信,使用上微机控制。可以输出正弦波、方波、三角波、锯齿波等。
经试验在6T时钟模式,晶振为22.1184M下,最高波形输出可以达到10KHz(正弦波,不失真)精确到1Hz的控制,最高达到20K,最低可以达到是0.1Hz,方波可以到30KHz,完全可以作为一个实用的音频信号发生器实用。
最后使用宏景的1T单片机STC5410做了试验。发现输出频率可以到30K(不失真。正弦波)方波可以输出到60K以上。但在使用1T STC5410时发现,输出不能像STC8051那样输出漂亮的波形,而是夹杂很多杂波,原本在6T、51 上的程序移植在1T的51上,波形输出不好。。不知为什么。
现在我把它一直在了最新的STC12C56带ADC的51系列上,做成带有音频示波和按键控制的液晶现实小系统。呵呵、还是很好用的仪器。
这是仿真文件
https://static.assets-stash.eet-china.com/album/old-resources/2009/3/14/4e59a890-ed62-4c1e-b872-c9b00c89d46d.rar 两个按钮是频率加减10Hz,DAC可以改成电阻网路型DAC(请参考AVR_miniDDS的DAC方式)。
用户27753 2011-2-22 22:08
用户285138 2010-6-29 12:42
用户152409 2009-3-14 09:43
tengjingshu_112148725 2009-3-12 23:35