单片机制作函数信号发生器,频率一等下流,只有50HZ,可有良策提高频率???

2020-02-08 09:06发布

我用单片机和DAC0832制作了一个函数信号发生器,方波的频率最高也是不到2K,正弦波的频率更小得可怜,只有50HZ左右。。TMR0定时器的高地位置数寄存器已经加到最大了,但还是不行的。有什么其他的办法,能把这个频率做上去的么?
希望高手值点
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
wangjiati
1楼-- · 2020-02-08 11:46
DAC0832 是一个8位的DAC转换 使用并口传输.

如果你是使用定时器中断了刷新DAC数据的话.那么决定频率的因素有 1.单片机工作频率. 2.定时器中断频率.3.换算DAC数据的快慢.
4.DAC本身的转换频率.

如果是单片定时器中断的频率来说 如果是使用16位定时器.时钟为20/4(PIC16F87X单片机) = 5M.最快的指令执行速度..如果每100条指令执行一次中断中断频率就是50K/2(取反电平) =25K. 这样的话基本就不能做什么事情了..  我有尝试 10HZ-1KHZ.分辨到小数点后1位.到999.9K 就不能保证精度.

如果要追求快一些频率,我个人不建议你用单片机去做.扫描会忙不过来.  DDS 到是可以参考AD9850.

各位继续....
not_at_all
2楼-- · 2020-02-08 11:52
用低性能的芯片是搞不出高性能的东西的。
songshanxiaozi
3楼-- · 2020-02-08 14:10
 精彩回答 2  元偷偷看……
arthur778899
4楼-- · 2020-02-08 16:51
你用什么型号的做的啊?建议至少用16位的
bm6520
5楼-- · 2020-02-08 19:26
优化程序,可以搞个高一点的晶振超频使用,能提高频率,不过不是很好的办法。.....
pengxin213
6楼-- · 2020-02-08 21:19
这个用FPGA/CPLD来跑时序比较常规,51单片机发个控制字什么的还行

一周热门 更多>