ZKX's LAB

正弦波波形发生器单片机设计 用51单片机制作简易的波形发生器时,想要控制正弦波和三角波的幅值求汇编语言程序

2020-07-26知识15

设计一个单片机波形发生器 一、设计任务设计制作一个波形发生器,该波形发生器能产生正弦波、方波、三角波和由用户编辑的特定形状波形。二、设计要求1.基本要求具有产生正弦波、方波、三角波三种周期性的波形。用键盘输入编辑生成上述三种波形(同周期)的线性组合波形,以及由基波及其谐波5次以下)线性组合的波形。具有波形存储功能。输出波形的频率为100hz~20khz(非正弦波频率按10次谐波计算):重复频率可调,频率步进间隔≤100hz。输出波形幅度范围0~5v(峰-峰值),可按步进0.1v(峰-峰值)调整。具有显示输出波形的类型、重复频率(周期)和幅度的功能。2.发挥部分输出波形频率范围扩展至100hz~200khz。用键盘或其他输入装置产生任意波形。增加稳幅输出功能,当负载变化时,输出电压幅度变化不大于±3%(负载电压变化范围100ω~∞)。具有掉电存储功能,可存储掉电前用户编辑的波形和设置。可产生单次或多次(1000次以下)特定波形(如产生一个半周期三角波输出)。其它(如增加频谱分析、失真度分析、频率扩展>200khz、扫频输出等功能)。单片机8051设计简易波形发生器,要求能产生正弦波,方波,三角波,通过键盘可改变输出信号的频率和幅度? 你这个项目工作量好大,这里只能简单说,需要用到 DAC,即数模转换功能与电路;看看所选择的单片机包不包含有DAC功能模块,没有的话就需要外加一个,如下图示;DAC0808控制起来相对简单;为了提高输出信号频率,最好预先制表,采用查表方式,尽量避免过程中的运算,这样很费时,本身单片机的运算能力就不足了;基于单片机的信号发生器设计,要求输出波形代码,例如正弦波,能用1表示吗?还是用zhengxian 不知道你所说的波形代码是什么,如果是在屏幕上显示的话无所谓用什么基于单片机设计一个波形发生器,可产生方波、三角波、正弦波,且波形幅度、周期可调。 1、推荐采用AVR单片机,理由:速度快,价格低,外围电路简单,为了调试方便,建议采用带JTAG仿真口的单片机,如Atmeg162。2、最小系统只要接上电源,如果对频率准确要求较高,外接一个晶体整荡器(16MHz),为了实现你的设计,还需要RC滤波器,运算放大器,按键,LED指示灯等。3、建议不用数模转换,方波直接由定时器产生,三角波由方波经积分器产生,正弦波采用PWM输出加低通滤波器实现。4、方波调幅通过调节其后放大器增益实现,采用数字电位计或模拟电位计,三角波幅值调节通过调节方波幅值实现。正弦波调幅通过改变PWM调制比实现。5、建议采用双电源(运放比较好用,也好选型),单片机输出波形经低通滤波器滤波后,再经过电容耦合,采用运算放大器放大。6、编程主要关注定时器的使用,AVR定时器PWM工作模式,正弦波输出采用查表法。7、在熟悉定时器应用并了解PWM基本原理后,你说的所有功能都较容易实现,而且可以实现任意波形。但是,也有缺点,缺点就是正弦波频率不能太高,要波形品质较好的话,上限频率只能达到1kHz左右。

#单片机#单片机最小系统#三角波#dds#正弦波

随机阅读

qrcode
访问手机版