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

📄 soundplay.bak

📁 C51语音播放源码 将语音按占空比放出。原语音为8位8KHz
💻 BAK
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -