历史上的今天
今天是:2025年05月26日(星期一)
2021年05月26日 | AT89S51单片机的低频信号仿真研究
2021-05-26 来源:eefocus
1 设计目标和思路
文中设计目标是完成4种波形信号输出,即正弦波、三角波、方波和锯齿波,并使其在低频范围内具有稳定稳定性好、性能可靠、体积较小、占空比调节方便等技术优势。文中采用键盘控制的办法,来实现并输出方波、锯齿波、三角波和正弦波等信号。另外,对频率和幅值的变换情况,用键盘也能够较好的进行控制和调整。同时,本文还将其产生的信号参数用LCD进行仿真显示和调试。
在设计中,首先在函数中对某个数组附值,利用DAC0832来实现输出波形信号输出转换,再经过功放滤波模块处理,这样的话,就会在示波器上观察到不同函数值的波形信号。但是,因为函数对数组中的数附值之后并不是一次就输出显示出来,这就需要编写AT89S51的控制字,使其开中断,然后再用计数器计数。当计数器溢出时便提出中断请求,这时调用中断函数,将数组中一个值送到DAC0832中。这样连续不断的送值,最后在示波器上显示的就是一个连续的波形。最后,为了产生不同的波形,利用独立按键开关实现波形的不同频率,来控制波形的频率,以及利用滑动变阻器来为DAC0832提供不同的参考电压来实现不同幅值的波形。
2 电路原理图
当按下“波形选择”键时,发生外部中断,并在LCD显示所对应的波形序号,通过AT89S51单片机执行某一段中断波形发生程序,向DAC0 832转换器的输入端按一定的规律发送数据,从而在DA0832转换电路的输出端得到相应的电压波形。再经过放大器的放大作用和二阶低通滤波电路滤波作用,滤除高次谐波,最后在模拟示波器上显示出更加光滑平整的目标波形。在上述的基础上,通过选择按下频率增加键和频率减少键可以改变波形的频率,再利用滑动变阻的分压作用,改变DAC0832的参考电压Vref以致改变电流i,即改变参考电压,使输出电压幅度随i发生改变,从而实现幅度的调节。
基于单片机函数信号发生器原理接线图如图1所示。

3 ProtueS仿真调试
本设计方案的思路是通过Protues软件仿真来进行波形调试,利用定时器TMR0定时中断与预设波形数据表配和起来实现波形的生成,将定时器设定成定时方式1,在每次中断发生时,对波形数据进行采集,或者对定时时间进行调整。从而实现当前时刻的波形数据的输出,以及频率的调整。是在keil软件上编译,用C语言设计程序的源代码。
下图2~5即为调试所得各类波形。

仿真过程中,本设计可以实现预期的4种常用低频信号波形的输出,各输出波形标准规范。同时各种波形的输出均可实现调频和调幅操作:对于调频操作,在单片机工作时钟频率为24 MHz条件下,正弦波、锯齿波、三角波可以在1kHz以下范围内保持输出波形不变形,方波的保形频率范围则可以达到2 kHz,对调幅操作,可以做到4种波形幅值在0~5 V范围内连续调节。

4 结束语
尽管技术调试过程中,出现了诸如正弦波、三角波、锯齿波的频率在0~1kHz范围调节可以得到清晰、连续平整的没有变形的波形,但是超过这个范围输出的波形会失真变形;不能一次同时多波形输出等技术难题。但是,实验数据仍然表明,文中采用AT89S51单片机设计的方案,是合理可行。同时,从仿真的数据结果和分析来看,新的设计技术方案获得的输出低频波形信号规整、可靠性较好,符合普通常用低频信号源基本要求,其实验结果是令人满意的。
另外,在调试中发现,因DAC0832受到转换位数和建立时间的限制,从而引起了输出波形不够规整、前后沿不陡峭等问题。我们认为,如果能够采用其他诸如DAC9881等芯片来提高转换位数和建立时间的话,设计方案将能够获得更加完美的输出波形。
史海拾趣
|
石油危机使替代能源成为了热门话题。而这篇文章介绍了七种可替代石油的新能源,以及应用这七种替代能源的汽车。[[[你对哪种最感兴趣] 曾高达每加仑4美元的汽油价格使燃烧汽油成了奢侈品,寻找替代能源成了急切的任务。但哪些汽车能应用这些替代 ...… 查看全部问答> |
|
关于the golbal default build tree (WINCEROOT) has not been set问题 我先安装好vs2005,再装上Embedded CE 6.0 用vs2005建立Platform Builder for CE 6.0工程时,提示the golbal default build tree (WINCEROOT) has not been set ......。 然后我在Tools-Options-Platform Builder for CE里面重新设置 ...… 查看全部问答> |
|
最近在用51单片机和MC30I进行GPRS拨号,PPP连接过程有问题,下面是连接过程中收发的数据包: 1,GPRS-TO-51:7E FF 03 C0 21 01 03 00 7D 39 02 06 00 0A 00 00 07 02 08 02 05 06 CF 34 94 FD 03 05 C2 23 05 EA 3B 7E 2,51-TO-GPRS:7E FF ...… 查看全部问答> |
|
PDA与单片机如何进行红外通信? 使用COM3高速红外,发送数据被包裹了红外协议Irda的数据,通过COM2口Raw IR,则数据混乱,且在1200波特,未检测到发送数据,请高手指导!!… 查看全部问答> |
|
根据金牛开发板上的RTC例程,把程序烧到带有STM32F107VCT6的金牛开发板上,用电脑自带的超级终端进行接收,发现小时分钟秒的输入那得一个速度才行啊,晚了一点点就输入不进去了...好吧,算你狠,能写就成,于是继续调试,可写进去了再复位,也没TIM ...… 查看全部问答> |
|
#include <REG51.h>#define c_register 7#define n_register 15#define r_register 14sbit Din = P2^1; sbit ENB = P2^2;sbit CLK = P2^3;void MC145170_Reset(void){unsigned char Bit_shift_counter; Bit_shift_counter=0;CLK=0;ENB=1;Din=0; ...… 查看全部问答> |
|
altera介绍NIOS处理器的官方文档,对处理器的结构和编程进行介绍,并且介绍了如何建议NIOS核以及NIOS的指令集等详细结构,属于NIOS核最权威的指导文档… 查看全部问答> |
|
大家好: 我在操作 Multisim 的示波器时发觉画面闪得很快,不知道有没有什么方法可以让画面显示平稳一点,或是慢动作播放,谢谢。… 查看全部问答> |




