如何用51单片机控制DAC0832产生不同频率正弦波,键盘改变频率,求具体的C语言程序

2024-12-28 14:50:51
推荐回答(2个)
回答1:

我就不写程序了,费事,说说思路吧
假设你把一个正弦波的一周期分成180个点,那么每个点相差是2度,那么每个点是有一个对应的SIN值的,比如SIN0 SIN2 SIN4等。假设1ms发送一个点(即单片机向DA写一个该SIN值所对应的电压大小), 那么写完一个正弦波,要180ms。如果2ms写一个点,这就改变了正弦波的频率了。
一周期所分的点越多,则正弦波越规则,波形效果越好
其实不但频率能改,正弦波的幅度同时也能改的。

回答2:

利用定时器来控制查表速度,
定时器中断时查表输出到DA形成正弦波,
所以修改定时器的填充值就可以控制正弦波的频率。