LBl0427A是一种通信用单片微电脑集成电路,应用于来电显示电话机中。 1·功能特点 LBl0427A集成电路内含脉冲/双音频信号发生器、液...
低频信号发生器介绍_低频信号发生器设计
低频信号发生器采用单片机波形合成发生器产生高精度,低失真的正弦波电压,可用于校验频率继电器,同步继电器等,也可作为低频变频电源使用。本文为大家介绍采用单片机和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根据输入的数据大小输出对应电压。波形数据产生子函数流程图如下图所示:
主函数
主函数的任务是进行上电初始化,并在程序运行中不断查询按键情况执行相应的功能。
相关文章
发表评论