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