函数信号发生器设计导师:答辩人:专业:电子信息工程1.引言波形发生器又被称为函数发生器,它是一种多波形的信号源,它能够提供正弦波、方波、三角波甚至随意波形的输出使用。它生成一些固定的周期性波形(正弦波、方波、三角波、脉冲波等)信号,频率可从几个Hz到几十MHz,在教学实践和产品测试中发挥着极大的作用。函数信号发生器和别的电子设备进行通信,构成自动测试系统,它在自动化设备、震动激励、通讯和仪器仪表等方面有着普遍的运用。由单片机制作的电子仪器具备可靠性高、价格低廉、性能优越特点。在电子工程、通讯系统、自动化设备、遥测控制、检测设备、仪表和计算机等技术领域处处可以看见它的应用。2函数信号发生器设计任务目标:1、能实现正弦波、三角波、方波形信号输出。2、电路输出频率可调并且能显示工作频率。3、频率误差小于1%主要器件:单片机STC89C52RC、DAC0832、TL082、LCD1602、LM7812、LM7912、78L05等。硬件设计系统总体框图电路原理图STC89C52RC单片机STC89C52RC是低电压高性能CMOS微型处理器,内部有8K字节可不断擦除和写入Flash只读程序存储器,只读程序存储器可以在5V电压中电擦除写入或运用编程器对其反复编程。随机存取存储器为512字节RAM。按键电路按键电路主要是通过与单片机相连的按键来调节输出函数的和改变其频率大小,按键电路需输入5V电压。按键K1在通电情况中会每次按下可以切换正弦波、三角波、方波进行输出。按键K2按下,增大输出频率。按键K3按下减小输出频率。K4,K5作为电路的预留按键。DAC0832数模转换电路DAC0832是一款8分辨率的数模转换集成芯片。数模转换器通常是8位输入锁存器、8位DAC寄存器、8位数模转换电路和转换控制等几部分组成。LCD1602显示电路LCD1602的八位数据端与STC89C52RC芯片的P0口相连,RS、RW、E这三个使能端分别与单片机的P25—P27相连。经过写好程序和按键及旋钮的使用调节LCD1602屏幕上输出波形的类别、波形的频率、波形的电压等信息。TL082运算放大电路TL082是常用的高输入阻抗双运算放大器。TL082的第一级运算放大器的功能是把DAC0832模块已经完成数模转换后的模拟信号的电流信号转变成电压信号V1,第二级运算放大器的功能把V1经由反向放大电路-(R2/R1)倍输出显示相关的频率、电压、波形等信息。电源电路由于电路经过DA转换器后面的电压转换电路输出为负电压,所以运算放大电路需要提供正负电源供电才能运行,因此设计直流扩容稳压电路。程序总体程序框图这个程序主要判断按键是否按下来实现正弦波、方波、三角波三种不同类型波形的稳定的输出。正弦波程序框图正弦波波形生成基本原理是就是由查表指令方式获得。方波程序框图方波是将A=0,即在通过单片机输入输出口向DAC0832输出并转换成低电平信号进行延时到A=255时,程序在通过单片机的输入输出口向DAC0832发送信号输出高电平完成翻转在延时一样的时间就可以得到一个周期的方波波形。三角波程序框图设一个变量A,初始值为00H,程序初始化后不断通过单片机向DAC0832输出数据至A增加至FFH,后不断减1输出至DAC0832中进行数模转换,这个过程就可以得到一个周期的三角波波设计实验结果正弦波按下K1切换至正弦波,按下K2使得频率加到4000Hz输出。示波器显示频率为3974Hz。则误差为(4000-3974)/4000=0.0065=0.65%方波按下K1切换至方波,按下K2使得频率加到1800Hz输出。示波器显示频率为1799Hz。则误差为(1800-1799)/1800=0.00055=0.06%三角波按下K1切换至三角波,调节到1000Hz输出。示波器显示频率为1001Hz。则误差为(1001-1000)/1000=0.001=0.1%函数信号发生器基本可以实现正弦波、三角波、方波等三种波形在的输出,可实现频率1000Hz-5000Hz,电压调0V-5V的范围调节。但是输出波形不够平稳,不断跳动,存在一定误差。这是因为DAC0832芯片来完成,芯片是有量化位数的,存在量化误差,这个是无法避免的;频率输出受到了单片机时钟频率的限制造成输出频率稳定性和精度都会受到一些影响;此外正弦波频率与查表速度相关,而单片机输出速度有限。致谢谢谢各位评阅老师的指点。也感谢在整个设计过程中给过我帮助的人,尤其是陈志雄老师的指导,让我不断进步和成长。结束