波形发生器是能够发出一定规律的周期性信号的装置,比如正弦波、方波、三角波、锯齿波等,一些数字信号发生器可以发出任意波形。波形发生器按照实现原理,一般有两种,一种是模拟式、另外一种是数字式,模拟式主要以模拟电路为主,通过各种信号发生电路来产生对应的信号;另外一种是利用数字控制的方式。今天我们介绍一个利用51单片机产生简易正弦波、方波、三角波的实验方法。
控制核心是AT89C51单片机、四个独立的控制按键、一个1602液晶显示器、波形输出方面使用的是DAC0832,比较典型的DAC,虽然现实中不怎么使用但是很多教材里都对这款芯片情有独钟,DA的输出端利用两个运放组成的反向电路对信号进行了处理和放大。四个按键的主要功能是对输出波形的种类进行选择、对输出波形的频率进行调整、对输出波形的幅值进行调整。
上电以后1602显示的内容为波形类型、波形频率、波形幅值。信号的基本要素都显示有显示。
接下来点开示波器看一下产生的波形图。左侧第一个按键是用于进行波形选择的。
三种波形还算可以没有出现严重的失真。在波形幅值方面主要是从1-5V。左侧开始第二个按键用于参数加、第三个按键用于参数减,第四个按键用于修正参数的选择。
波形的主要实现方式是将三种波形的数据转换成数组,然后通过对数组的查询,实现相应波形的输出,通过修改数据输出的时间间隔就可以达到修改信号频率的目的。通过对表中数据进行运算就可以改变相应的幅值。