波形发生器作为一种常用的应用电子仪器设备,传统的波形发生器可以完全用硬件电路搭建,如应用555 振荡电路可以产生正弦波,三三角波,方波等波形,传统的波形发生器多采用这种方式设计,这种方式不应用单片机,但是这种方式存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点,在科学研究和生产实践中,如C 业过程控制,生物医学,地震模拟震动等领域往往需要低频信号源,而由硬件搭建的波形发生器效果往往达不到好的效果,而且。低频信号源所需要的RC 很大,大电阻,大电容在制作上有困难,参数的精度也难以保证,而且体积大,漏电,体积大是该类波形发生器的显著缺点。
单片机在波形发生器中的应用
随着电子技术的飞快发展,单片机的应用不断的深入,基于单片机的智能仪器的设计技术不断成熟。单片机构成的仪器具有高可靠性,高性价比,单片机技术在智能仪表和自动化等诸多领域有了极为广泛的应用,并应用到各种家庭电器,单片机技术的广泛应用推动了社会的进步。使得其在某些块单片机芯片就是一台计算机,单片机的这种特殊的结构形式,应用领域,它承担了大中型计算机和通用微机无法完成的一些C 作。单片机有很多优点和特点,归纳有以下几个方面:
1.具有优异的性价比
单片机尽可能的把应用所需要的存储器,各种功能的I/0 接口集成在一块芯片内,因而其性能优越,而价格性对低廉。可靠性高
2.集成度搞,体积小,
单片机把各种功能部件集成在一块芯片上,因而集成度高,为大规模集成电路或大规模集成电路,又内部采用总线结构,因而大大减少了芯片内部之间的连线,这大大提高了单片机的可靠性和抗干扰能力,同时,体积小,对于强磁场环境易于采用屏蔽措施,适合于在恶劣环境下工作。
3.低电压和低功耗
单片机大量应用于便携式产品和家庭消费类产品,低电压和低功耗极为重要。目前,单片机的功耗也越来越低,一枚组扣电池就能使产品运行很长时间
4.控制功能强
单片机体积虽小,但五脏俱全,它非常适合专门的控制用途。其指令系统中含有丰富的转移指令,容易通过编程实现相关控制。
三角波信号是将输出的二二进制数字信号依次加1,达到0xff 时依次减1,并实时将数字信号经D/A 转换得到;。锯齿波信号是将输出的二二进制数字信号依次加l。达到0xff 时置为0x00,并实时将数字信号经D/A 转换得到的;方波信号是将输出二二进制数字信号以1和0 来显示在上面,还是在下面,并实时将数字信号经D/A 转换得到的。
dac0832三种波形的C语言程序
从DAC0832输出端分别产生锯齿波、三角波和方波。 根据单缓冲方式图的连接,DAC0832的口地址为7FFFH。C语言编程:
锯齿波:
#include 《reg51.h》
#include 《absacc.h》 //定义绝对地址访问
#define uchar unsigned char//定义uchar代表无符号字符型
#define DAC0832 XBYTE[0x7FFF]
void main()
{
uchar i; while(1)
{
for (i=0;i《0xff;i++)
{DAC0832=i;}
}
三角波:
#include 《reg51.h》
#include 《absacc.h》 //定义绝对地址访问
#define uchar unsigned char
#define DAC0832 XBYTE[0x7FFF]
void main()
{
uchar i;
while(1)
{
for (i=0;i《0xff;i++) {DAC0832=i;
}
for (i=0xff;i》0;i--)
{DAC0832=i;}
}
}
方波:
#include 《absacc.h》 //定义绝对地址访问
#define uchar unsigned char
#define DAC0832 XBYTE[0x7FFF]
void delay(void);
void main()
{
uchar i;
while(1)
{
DAC0832=0; //输出低电平
delay(); //延时
DAC0832=0xff; //输出高电平
delay(); //延时
}
}
void delay() //延时函数 { uchar i;
for (i=0;i《0xff;i++) {;}
}