只要你了解PWM产生机理,原理图较简单,你可在百度文库搜索一下,原程序最好自己学会。只能提供以下几点建议:
1、可采用单片机定时器的PWM加积分器的方式输出任意波形,其优点是可输出任意形状的波形,缺点是受单片机主频的影响,输出信号带宽较窄。
2、高频方波可直接输出,方波输出接积分器即可输出三角波。
3、高频正弦波可采用方波加锁相环选频获取。
4、输出频率误差可达0.1%没有问题,只要频率够低,PWM分辨率够高,电源够稳定,幅值误差应该可以达到0.5%甚至更高都没有问题。
1MHZ? 51单片机不行吧?