低频信号发生器采用单片机波形合成发生器产生高精度,低失真的正弦波电压,可用于校验频率继电器,同步继电器等,也可作为低频变频电源使用。本文为大家介绍采用单片机和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和单片机内的其它功能部件都处在一定的初始状态,并从这个状态开始工作。为了防止程序执行过程中失步或运行紊乱,此处我们采用了上电复位及手动复位电路,电路图如下图所示:
比亚迪发布刀片电池技术,其真实效果到底怎样
传统厨房将被机器人制造、无人机运送的外卖所取代?
人类大脑正在被AI逐步替换,AI这条道路人类从未停止探索
2016年年度全球销量榜新鲜出炉 华为让三星睡不好觉!
4G到5G的演进 3GGP都做了些什么?
低频信号发生器介绍_低频信号发生器设计
基于形状记忆合金弹簧驱动柔性脊柱的仿壁虎机器人
太赫兹波相机可捕捉微观世界的3D图像
LDO为什么只能降压?ldo稳压芯片原理
华为Mate家族再添新成员 平板电脑业务很受欢迎
如何使用微控制器测量电容
进行开关电源电路设计要注意的细节
锂电池的原理是什么?锂空气电池工作原理概述
二手苹果7拍天价!为何二手苹果7能卖出如此高价?
如何推动信息化和工业化的深度融合
工业元宇宙的应用场景
关于高清矩阵系统功能的详细解析
新能源共享汽车平台在长沙开通分时租赁网点并与湘潭实现互通
诺基亚SteelHR智能手表评测 时尚亦智能
动力电池领域再现“黑马” 这家企业凭啥冲击第一阵营?