⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crt_data.bak

📁 利用高速da通过查表法进行正弦波,方波,三角波产生的stc89c51程序和波形码表生成的c程序
💻 BAK
字号:
#include "stdio.h"
#include "math.h"
void main(void)
{
    unsigned char kuai,unit,loop;
    int data_temp,data_temp1;
	FILE *fp;
	fp=fopen("data.bin","wb");
	/*正弦波*/
	for(unit=0;unit<=50;unit++)
	{
		for(loop=0;loop<8;loop++)
		{
			data_temp=5.1*unit*sin(6.283185307*loop/8)+128;
			putc(data_temp,fp);
		}
	}
	for(unit=51;unit<=63;unit++)
	{
		for(loop=0;loop<8;loop++)
		{
			data_temp=0;
			putc(data_temp,fp);
		}
	}

	/*方波*/
	for(unit=0;unit<=50;unit++)
	{
		data_temp=0;
		putc(data_temp,fp);
		putc(data_temp,fp);
		putc(data_temp,fp);
		putc(data_temp,fp);

		data_temp=5.1*unit;
		putc(data_temp,fp);
		putc(data_temp,fp);
		putc(data_temp,fp);
		putc(data_temp,fp);
	}
	for(unit=51;unit<=63;unit++)
	{
		for(loop=0;loop<8;loop++)
		{
			data_temp=0;
			putc(data_temp,fp);
		}
	}
	/*三角波*/
	for(unit=0;unit<=50;unit++)
	{
		for(loop=0;loop<4;loop++)
		{
			data_temp=(int)((float)loop*unit*1.275);
			putc(data_temp,fp);
		}
		for(loop=4;loop<8;loop++)
		{
			switch(loop)
			{
				case 4:
					data_temp=(int)(5.1*unit);
					putc(data_temp,fp);
				break;
				case 5:
					data_temp=(int)(3.825*unit);
					putc(data_temp,fp);
				break;
				case 6:
					data_temp=(int)(2.55*unit);
					putc(data_temp,fp);
				break;
				case 7:
					data_temp=(int)(1.275*unit);
					putc(data_temp,fp);
				break;
			}
		}
	}
	for(unit=51;unit<=63;unit++)
	{
		for(loop=0;loop<8;loop++)
		{
			data_temp=128;
			putc(data_temp,fp);
		}
	}
	/*锯齿波*/
	for(unit=0;unit<=50;unit++)
	{
		for(loop=0;loop<8;loop++)
		{
			data_temp=(int)(0.6375*(float)unit*loop);
			putc(data_temp,fp);
		}
	}
	for(unit=51;unit<=63;unit++)
	{
		for(loop=0;loop<8;loop++)
		{
			data_temp=128;
			putc(data_temp,fp);
		}
	}
	fclose(fp);

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -