基于单片机的信号发生器设计与仿真
0 引言
信号发生器是一种常用的信号源,广泛应用于科学研究、生产实践和教学实验等领域.目前常见的信号发生器有三种.第一种是由分立元件(或集成电路)构成,采用振荡电路实现.第二种是采用专用波形集成芯片(如 ICL8038),通过改变外围参数实现.第三种是采用微处理器、FPGA、DDS 芯片等,用现代电子设计技术实现.由分立元件构成的信号发生器由于元器件的分散性及环境条件的改变等因素,致使波形频率产生偏差.由现代电子技术实现的波形发器主要有“单片机 + 低速 D/A 转换”和“FP-GA+ 高级 D/A 转换或采用 DDS 数字合成”两种,前者用于低频,价位低,后者主要用于高频或高精度场所,价位高.采用现代电子技术通过编程实现的信号源,从技术上克服了元器件分散性造成波形失真的问题.文章拟定以 AT89C51 为核心,通过创新设计,实现了波形自由切换,频率和幅度在线调整.产品适用于电子技术实验室作为信号源,或电子爱好者作为调试设备.
1 方案设计
基于单片机的信号发生器设计方案如图 1 所示.系统在程序控制下,先读取 P3 口决定波形信号类别,然后由 P0 口输出数据,经 D/A 转换后放大、滤波输出. 波形频率在线调整是通过读取 P2 口上的拨码开关的编码,并根据该编码产生的数字量,在P0 口输出一个数据后立即产生一个对应时长的延时时间来实现. 幅度调整是通过接在 DAC 上的滑动变阻器来改变 D/A 转换的参考电压来实现.
1.1 波形产生
P0 口输出数据经 D/A 转换(DAC0808),将数字量转换成模拟量输出.
模拟量输出:V=K*D([Vref+)-(Vref-)]式中 K 为常数,D 为要转换的数字量,Vref- 、Vref+ 为参考电压.因此,改变 D,输出对应发生变化.如果 D 在程序控制下,由 00H→FFH,则输出电压由 0→15V 线性变化,这就是锯齿波产生的原理.同样,如果将正弦波对应的二进制码放在单片机的存储区,通过“MOVC A,@A+DPTR”不断取数据送 P0 端口,则在滤波输出端可得到正弦波信号.
1.2 频率在线调整
在满足 D/A 转换速度的前提下,P0 口输出数据的快慢就决定了信号频率的大小.为了实现频率在线调整,当从 P0 口每送一个数据就从 P2 口读入一个由拨码开关控制的数字量,通过 P2 口输入不同数字量来达到频率的在线调整.实现频率调整的部分程序如下:
MOV P0,DATA ; DATA 为 P0 输出的数据.
MOV P2,#0FFH; 读端口前先应置 1.
MOV A,P2 ; 读 P2 口的拨码开关产生的数字量.
MOV R3,A ; P2 口数字量送 R3,R3 为控制延时时间的一个寄存器.
相关文章
- 2024-07-23数码相机镜头自检测设计的研究
- 2024-02-02容量计重中管道存留量的计算方法
- 2024-10-28混杂边界轴向运动Timoshenko梁固有频率数值解
- 2022-06-08工业软件产业发展的探索与实践
- 2024-10-12乳化器内部流场的数值模拟与分析
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。