51单片机波形发生器产生各种波形的原理

本文详细介绍了如何使用51单片机配合DAC0832生成锯齿波、三角波、梯形波、方形波和正弦波。通过控制DAC0832中存储的数据变化,实现不同波形的产生,具体代码和仿真结果展示辅助理解。

**

51单片机波形发生器产生锯齿波、三角波、梯形波、方形波、正弦波。

**
dac0832相关内容
各种波形:
(1)锯齿波:dac0832中所存数据不断增大,直至到达最值(十进制255),随后令dac0832中所存数据变为0,从而到达锯齿波的效果,具体代码如下:

for(j=0;j<200;j++)
{
   
   
	for(i=0;i<255;i+=5)//锯齿波
	{
   
   
		dac0832=i;
		if(i==255)
		dac0832=0;
	}
}//外层for循环为波形循环产生时间

结果图:
锯齿波
(2)三角波:原理同锯齿波相似,dac0832中所存数据不断增大,直至到达最值(十进制255),随后以相同增长速率减小,直至为0,即可达到产生三角波的目的,代码如下:

for(j=0;j<100;j++)	//波形循环产生时间
{
   
   
	for(i=0;i<255;i+=5)
	{
   
   
		dac0832=i;
	}
	for(i=255;i>0;i-=5)
	{
   
   
		dac0832=i;
	}
}

结果图:
三角波
(3)梯形波:原理同锯齿波相似,dac0832中所存数据不断增大,直至到达最值(十进制255),随后维持一段时间最大值,之后以相同增长速率减小,直至为0,即可产生梯形波,代码如下:

for(j=0;j<100;j++)
{
   
   
	for(i=0;i<255;i+=5)
	{
   
   
		dac0832=i;
	}
	dac0832=0xff;//0xff为16进制255
	delay(1);
	for(i=255;i>0;i-=5)
	{
   
   
		dac0832=i;
	}
	dac0832=0x00;
	delay(1);
}

结果图:
梯形波
(4)方形波:只要保证dac0832中两次所存数据不同即可产生方形波,代码如下:

for(j=0;j<150;j++)
{
   
   
	dac0832
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值