电子爱好者在日常电子电路设计中,经常要用到各种波形的信号源,下面介绍一款用单片机设计的低频信号发生器。
该低频信号发生器可以产生锯齿波、三角波,正弦波、方波等常用波形,并可以方便地改变各种波形的周期或频宰,具有线路简单、结构紧凑、成本低、性能优越、操作方便等优点。
一、系统硬件设计
1、电路组成及芯片选择
本设计的总体框图如图l所示。
选用AT89C51单片机作控制器;D/A转换器选用8位D/A转换芯片DAC0832它与微处理器完全兼容,价格低廉、接口简单、转换控制容易;输出运算放大器选用NE5532P芯片,它的DC和AC特性良好,其特点是低噪声、高输出驱动、高增益、低失真、高转换率,具有输入保护二极管和输出保护电路。
2、电路工作原理
电路如图2所示。单片机的Pl口接按键SI~s4和四只发光二极管.SI—S4分别控制产生锯齿波、三角波、正弦波和矩形泼(含方波).而四只发光二极管则作为不同波形的指示灯:单片机的外部中断口1-3.2和P3.3分别接按键55、S6.用于调整各信号的频率;D/A转换器的数据输入端与单片机的的P0口相连,将单片机产生的各种波形的数字信号送人DAC0832进行数模转换,
OAC0832的输入寄存器选择信号cs、输入寄存器写选通信号WR1受单片机P2口控制,DAC0832的DAC寄存器写选通信号WR2和数据传送信号XFER直接接地,单片机与DAC0832形成“单缓冲”方式连接:经DAC0832数模转换的模拟信号送人运算放大器NE5532P进行二级放大输出,得到最终的输出信号波形。
二、系统软件设计
系统程序流程如图3所示。程序运行肘,依次判断S1一S4按键是否接下,当SI按下时输出锯齿波,当按键S2按下时输出三角波,当按键S3按下时输出正弦泼,当按键S4按下时输出方渡。每个波形输出后都要查询按键S6、S7.看是否进行频率调整。
1、锯齿波设计
产生锯齿波的原理.是逐步向单片机PO口加1,同时通过DAC0832进行实时的数横转换输出,直到PO的值溢出为零,这样周而复始,从而输出锯齿渡信号。锯齿波程序流程如图4所示。
2、三角波设计
产生三角渡的原理.是逐步向单片机PO口加I.到PO的值为FFH时,又逐步递减,直到PO的值为零,同时通过DAC0832进行实时的数横转换输出,这样周而复始,从而输出三角波信号。三角波设计程序如图S所示。
3、正弦波设计
产生正弦渡的原理,是将一个周期的正弦波均匀地取255个值,用这些对应的幅度值构成一个查值表,单片机通过查表,将这些值逐一通过PO口输出到DAC0832进行实时的数模转换输出,这样周而复始,从而输出正弦波信号。正弦波程序流程如图6所示。
4、方波设计
经过实物制作调试,单片机输出的方波信号通过DAC0832进行了数模转换后,再送到NE5532P进行信号放大输出的效果不是很理想,故将单片机产生的方波信号直接送到NE5532P进行信号放大输出。当进入正弦渡产生程序后,先将P2.0口置高电平,进行延时,再将P2.0口置低电平,进行延时,这样周而复始,从而得到方渡信号输出。方波信号程序流程如图7所示。
三、安装调试与测试分析
1.电路安装
在设备条件不便的情况下,用普通万能板作为电路板是非常经济、方便的。注意:集成块AT89C51、NE5532P和DAC0832最好不要直接焊在电路板上,应使用插座,单片机最好选用活动卡座。用于频率调整的两只按键S6、S7最好选用非常灵敏,可靠的按钮。
2、调试与测试图
9~图l2分别为用示波器测得的锯齿波、三角波、正弦波和方波信号波形。
测得各波形的最大输出频率(最小周期)、输出电压以及每按一次频率调整按钮S6和S7时产生的步进周期值,如附表所示。
3.、分析与讨论
测试结果表明,本低频信号发生器产生的锯齿波信号最大输出频率是217.4Hz,最大输出电压(峰峰值)为11.2V;三角波信号最大输出频率是96.2Hz.最大输出电压(峰峰值)为11.4V;正弦渡信号最大输出频率是178.6Hz.最大输出电压(峰峰值)为11.4V;方波信号最大输出频率是)250.0Hz.最大输出电压(峰峰值)为15.ov。
由于单片机使用的晶振是j2MHz.所以得到的波形最大输出频率比较低。如果要进一步提高波形的最大输出频率,可以使用更高频率的晶振.如24MHz.同时对产生各波形的程序进行优化,使程序运行周期更短,从而提高频率范围。
另外.本低频信号发生器产生的方波信号是等占空比的矩形信号,大家可以根据需要修改程序,以产生各种不同占空比的方渡信号。