吴蓓 袁飞
摘 要:函数信号发生器作为科学实验中必不可少的仪器设备,在现代测控领域中已被广泛应用。本设计采用软硬件结合的方法,以STC89C52RC 为控制核心,结合液晶显示模块、信号产生模块、程控增益模块、负压产生模块等实现了正弦波、方波、三角波和锯齿波的输出。
关键词:STC89C52RC;信号发生器;DAC0832;LCD1602
函数信号发生器是一种精密仪器,也是科研实验室中一种常用的实验设备[1]。它主要用来产生各类波形,诸如正弦波、方波等。得益于数字化技术的应用,信号发生器的准确度和精度都很高,低到几μHz,高到几十MHz,都能够完美胜任。
1 硬件电路设计
本系统以STC89C52单片机为核心模块,用户在按键模块中设定相应频率幅值及其所需波形,由单片机运算器加以处理,通过波形产生模块中的DAC0832芯片产生相应频率的波形,然后经过程控增益模块中的DAC0832进行程控放大,得到所需幅值的波形并输出。硬件电路图如图1所示。
STC89C52RC主控模块在整个系统中起主要作用,用以检测按键的输入,控制波形的输出等各种功能,同时还需驱动液晶显示相关参数。采用单片机的P0口作为LCD1602数据线,VO口接一个2.7K电阻至地端,使其液晶显示背光适中。键盘模块使用的是多位独立按键,用来切换不同参数设置界面、切换波形、频率和幅值等参数以及步进增减等。DAC0832是电流输出型DAC芯片,需要采用运算放大器转换成电压,本设计使用了TL072搭建成一个加法器进行信号放大和偏置调整。输出电压幅值范围为2.5V ~ 2.5V。程控放大模块的基准是接到波形发生电路的输出,因此输出为VOUT=VREF×DATA/256 ,DAC0832的数据口与单片机P2口相连,相应电源引脚正常使用,UA741的输出脚至DAC0832形成负反馈。此外,由于电路中运算放大器需要±5V电源供电,而本设计中USB电源接口只能提供+5V电压,因此此处使用ICL7660产生一个5V的电压[2] [3]。
2 软件设计
如果说硬件是整个系统的骨干部分,那么控制单片机的软件就是整个系统的灵魂所在。软件设计部分采用keil软件编写C语言程序。系统软件设计总流程图如图2所示。
3 功能实现
为了证实本文系统的可行性,下面给出硬件调试输出波形图。图3为输出幅值为5Vpp、频率为1000Hz的正弦波;图4为输出幅值为5Vpp、频率为500Hz,占空比为50%的方波;图5为输出幅值为5Vpp、频率为500Hz的三角波;图6为输出幅值为3Vpp、频率为500Hz的锯齿波。
4 总结
本文以STC89C52RC单片机为控制核心,结合LCD1602液晶显示模块、波形产生模块、程控增益模块、负压产生模块等设计了一款函数信号发生器,能够实现正弦波、方波、三角波、锯齿波等多种波形。
参考文献:
[1]王正刚.基于DSP 的数字信号发生器设计[D].南京理工大学,2009.
[2]陈华敏,任立民.基于AT89C51 的信號发生器的设计[J].现代电子技术, 2011 (2):135137.
[3]王浩坤.三维空间中心脏电生理过程实验研究[D].吉林大学,2007.