信号处理电子威廉希尔官方网站 图
低频信号发生器采用单片机波形合成发生器产生高精度,低失真的正弦波电压,可用于校验频率继电器,同步继电器等,也可作为低频变频电源使用。本文为大家介绍采用单片机和DAC0832数模转换器设计的低频信号发生器
采用单片机和DAC0832数模转换器生成波形,由于是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。它的特点是价格低、性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。
单片机内部数据只有0、1之分,所产生的信号也都是离散信号。为了能够让单片机输出所需的数字信号,我们采用对信号采样、量化的方法来实现由单片机产生所需信号。在设计中,对正弦信号进行采样,通过查表来实现输出不同的幅度值。采样点越密,信号失真度也就越小。对于三角波,就是实现2次循环,通过由最小值到最大值和由最大值到最小值的循环来实现三角波的输出。方波的输出时间间隔由键盘输入,然后由软件通过定时、计数器来控制。因此,通过控制不同的计数初值就可以控制整个方波信号的频率,其计数初值=65536-输入值。对于其他波形,程序根据输入频率值计算出波形的输出时间参数,即波形中每2点的时间间隔C。程序设定寄存器T0作定时器,T1作计数器。当计算出C≤65536时,CPU只使用T0。当C>65536时,CPU将T0和T1串联起来使用。T0/T1被调用后开始计数,总定时时间到,输出一个点,反复循环,从而在一个周期内输出完整波形。设计中软件分为初始化模块、显示模块、键盘扫描模块、键值处理模块和波形产生模块。
初始化子函数的主要工作是设置定时器的工作模式、初值预置、开中断和打开定时器等。在这里,定时器T1工作于16位定时模式,单片机按定时时间重复的把波形送到DAC0832的寄存器。其程序流程图如下图所示:
键扫描子函数的任务是检查3个键是否有键按下,若有键按下,则执行相应的功能。这里3个键分别用于频率增加、频率减小和正弦波,锯齿波和方波的选择功能。其程序流程图如下图所示:
波形数据产生函数是定时器T1的中断程序。当定时器溢出时,发生一次中断。当发生中断时,单片机按次序将波形数据表中的波形数据一一送到DAC8032,DAC8032根据输入的数据大小输出对应电压。波形数据产生子函数流程图如下图所示:
主函数的任务是进行上电初始化,并在程序运行中不断查询按键情况执行相应的功能。
本系统是以单片机AT89C51和8位D/A转换芯片DAC0832共同实现正弦波,方波,锯齿波这三种常见波形的产生及显示相互切换的功能。
系统总体框图
对于MCS-51一般的晶振可以在1.2MHZ—12MHZ之间选择,这是电容C可以对应的选择10pf-30Pf。对于本设计的电容C用30pF,晶振选用12MHZ。一条引脚接在XTAL1,另一条接在XTAL2。威廉希尔官方网站 图如下图所示:
复位是单片机的初始化工作,复位后中央处理器CPU和单片机内的其它功能部件都处在一定的初始状态,并从这个状态开始工作。为了防止程序执行过程中失步或运行紊乱,此处我们采用了上电复位及手动复位威廉希尔官方网站 ,威廉希尔官方网站 图如下图所示:
全部0条评论
快来发表一下你的评论吧 !