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