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

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

效果图
基于51单片机的简易波形发生器付仿真_第1张图片
该波形可以选择方波 三角波 锯齿波 正弦波

主要是通过DAC0832
基于51单片机的简易波形发生器付仿真_第2张图片
基于51单片机的简易波形发生器付仿真_第3张图片
我们通过控制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);  
		 }
}

基于51单片机的简易波形发生器付仿真_第4张图片

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

你可能感兴趣的:(单片机)