急!!基于单片机设计一个任意波形发生器要求能产生任意波、频率,幅值可设定并有显示、方波占空比可调

能产生正弦波、矩形波与三角波,波形频率范围0.1Hz-1MHz;
2、可编辑任意波形并能够输出;
3、能够对输出信号的幅度、频率及类型进行设定,并有相应显示;
4、对矩形波的脉冲宽度应可以调节,并有相应显示;
5、输出频率误差<=1%,幅度误差<=2%,脉宽误差<=5%;原理图+程序最好有文档
我邮箱[email protected]

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

那任意波如何产生呢,这个也是关键的地方

追答

单片机计算能力较弱,你可用查表法,将一个信号周期分为若干点,注意两点之间的间隔就是采样周期,对应采样频率必须高于信号带宽的两倍。若干点的数值转变为PWM的高电平计数值依次记录在表格中,PWM发生器根据点序号查表获得对应时刻的数值即可。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-10
1MHZ? 51单片机不行吧?追问

是不行,改选用那种型号的单片机呢

追答

改个主频高点的,便宜点的MCU就可以了。

相似回答