DAC0832正弦波输出程序
函数法的正弦波计算,查表法的高效查值,用起来都挺顺手的。DAC0832这个 8 位数模转换器,在玩51 单片机
时常见,模拟输出电压用得比较多。不管你是实时计算派,还是查表党,这段程序都能给你点启发。适合做音频合成、小信号输出实验什么的。
函数法生成正弦波的方式就是,程序里直接用sin()
函数算值。你只要控制一下角度变量,每次算一个角度的值,再乘个系数缩放一下,丢到P1
口就完了。延时控制下频率,效果还挺平稳的。
查表法就更快一点。提前把正弦值算好放在数组sin[]
里,循环的时候直接查出来用,再叠点高频成分,波形更细腻。适合对速度要求高的场合,比如实时输出。你要是觉得sin()
太慢,查表法挺值得一试。
代码结构也清晰:先设置cs1
和rd
引脚,再进循环。无论哪种方法,都把结果压成 8 位整数输出。注意delay()
时间控制,否则波形采样不均。
如果你也在折腾 DAC 输出波形,是DAC0832
相关的,蛮推荐你看看这段代码,思路清晰,改起来也方便。你还可以参考这些:
如果你手上是51 单片机
项目,可以直接套用这套代码试试看,改点角度步长或者换成你自己的delay()
函数,波形就能跑出来了。
199KB
文件大小:
评论区