soundplay.bak

来自「音响效果程序」· BAK 代码 · 共 41 行

BAK
41
字号
#include <reg52.h>
#include <math.h>
#include <stdio.h>

sbit SpeakerPin=P2^5;
code unsigned char cSoundData[]=
{
	0x80, 0x90, 0xa0, 0xb0, 0xc0, 0xd0, 0xe0, 0xf0, 0xff, 0xf0, 0xe0, 0xd0, 0xc0, 0xb0, 0xa0, 0x90,
	0x80, 0x70, 0x60, 0x50, 0x40, 0x30, 0x20, 0x10,	0x00, 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70
};
xdata unsigned char SoundData[2];

void main( void )
{
	unsigned char Dat, High, Low;
	unsigned int i=0;

	SCON = 0x51;
	TI = 1;
	TH1 = -2;
	TMOD = 0x20;
	TR1 = 1;
	
	for( i=0; i<64; i++ )
	{
		SoundData[i] =(sin( 2 * 3.14159 / 64.0 * i )+1.0)*128;
		printf( "%.3X  ", SoundData[i] );
	}
	while( 1 )
	{
		SpeakerPin = 1;
		High = SoundData[ i ];
		for( Dat=1; Dat<High; Dat++);
		SpeakerPin = 0;
		Low = -High;
		for( Dat=1; Dat<Low; Dat++);
		if( ++i >= 64 ) i=0;
	}
}
	

⌨️ 快捷键说明

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