基于51单片机的简易波形发生器付仿真

基于51单片机的简易波形发生器

效果图
在这里插入图片描述
该波形可以选择方波 三角波 锯齿波 正弦波

主要是通过DAC0832
在这里插入图片描述
在这里插入图片描述
我们通过控制P0口的电平进而使DAC0832输出电压变化 再经过LM324运放输出.
下面是波形发生的程序。

/*
 * @description	: 方波
 * @param 		: 无
 * @return 		: 无
 */
void fb()
{
		P0=0x00;
		delay_ms(fb_fre);
		P0 = fb_amp;
		delay_ms(fb_fre);
}



/*
 * @description	: 锯齿波
 * @param 		: 无
 * @return 		: 无
 */
void jcb()
{
	uchar i;
	for(i=0; i< jcb_amp;i++)
	{
			P0 = i;
			delay_us(jcb_fre);
	}

}




/*
 * @description	: 三角波
 * @param 		: 无
 * @return 		: 无
 */
void sjb()
{
		uchar i = 0; 
		uchar j=0;
		for(j=0;j<sjb_amp;j++)
		{
				P0=j;
				delay_us(sjb_fre);
				i++;
		}
		for(j=i;j>0;j--)
		{
				P0=j;
				delay_us(sjb_fre);
		}
}

/*
 * @description	: 正弦波
 * @param 		: 无
 * @return 		: 无
 */
void sine()
{
		float x;  		
		for(x=-3.1415;x<3.1415;x+=0.1)
		 {	
				P0=sine_amp*(1+sin(x))/2;	  
				delay_us(sine_fre);  
		 }
}

在这里插入图片描述

需要的可以自己去下载哦!
需要该源码的可以关注公众号:智慧小巷
回复:波形发生器
即可!
在这里插入图片描述

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值