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

📄 isd4004_rp.c

📁 语音录放芯片ISD4004完整的C代码源程序-C51编写
💻 C
字号:
//=============================ISD4004录放音程序

//-------------------------------------
PowerDown()   						//下电
{
	uchar Comm,i;

 	Comm = 0x10;						//00010000
	SS = 1;
	_nop_();_nop_();
	SCK = 0;
	_nop_();_nop_();
	SS = 0;
	_nop_();_nop_();
	for (i = 0;i < 8;i ++)
	{
		MOSI = (bit) (Comm & 0x01);
		_nop_();_nop_();
		SCK = 1;
		_nop_();_nop_();
		SCK = 0;
		Comm = Comm >> 1;
	}
	SS = 1;
}
//------------------------------------- 
PowerUp()   						//上电
{
	uchar Comm,i;

 	Comm = 0x20;						//00100000
	SS = 1;
	_nop_();_nop_();
	SCK = 0;
	_nop_();_nop_();
	SS = 0;
	_nop_();_nop_();
	for (i = 0;i < 8;i ++)
	{
		MOSI = (bit) (Comm & 0x01);
		_nop_();_nop_();
		SCK = 1;
		_nop_();_nop_();
		SCK = 0;
		Comm = Comm >> 1;
	}
	SS = 1;
}
//-------------------------------------
StopMode()							//停止
{
	uchar Comm,i;

	Comm = 0x30;						//00110000
	SS = 1;
	_nop_();_nop_();
	SCK = 0;
	_nop_();_nop_();
	SS = 0;
	_nop_();_nop_();
	for (i = 0;i < 8;i ++)
	{
		MOSI = (bit) (Comm & 0x01);
		_nop_();_nop_();
		SCK = 1;
		_nop_();_nop_();
		SCK = 0;
		Comm = Comm >> 1;
	}
	SS = 1;
	delay(8000);
	PowerDown();
	delay(8000);
}
//-------------------------------------
Record(uint address)  				//录音
{
	uchar i,Comm,addH,addL;
	
	addL = address;
	addH = address >> 8;
	
	PowerUp();
	delay(8000);						//上电延时
	PowerUp();
	delay(8000);
	delay(8000);

	Comm = 0xa0;						//10100000--SET REC
	SS = 1;
	_nop_();_nop_();
	SCK = 0;
	_nop_();_nop_();
	SS = 0;
	_nop_();_nop_();
	for (i = 0;i < 8;i ++)
	{
		MOSI = (bit) (addL & 0x01);
		_nop_();_nop_();
		SCK = 1;
		_nop_();_nop_();
		SCK = 0;
		addL = addL >> 1;
	}
	for (i = 0;i < 8;i ++)
	{
		MOSI = (bit) (addH & 0x01);
		_nop_();_nop_();
		SCK = 1;
		_nop_();_nop_();
		SCK = 0;
		addH = addH >> 1;
	}
	for (i = 0;i < 8;i ++)
	{
		MOSI = (bit) (Comm & 0x01);
		_nop_();_nop_();
		SCK = 1;
		_nop_();_nop_();
		SCK = 0;
		Comm = Comm >> 1;
	}
	Comm = 0xb0;						//10110000--REC
	SS = 1;
	_nop_();_nop_();
	SCK = 0;
	_nop_();_nop_();
	SS = 0;
	_nop_();_nop_();
	for (i = 0;i < 8;i ++)
	{
		MOSI = (bit) (Comm & 0x01);
		_nop_();_nop_();
		SCK = 1;
		_nop_();_nop_();
		SCK = 0;
		Comm = Comm >> 1;
	}
	SS = 1;
	P1 = 0xff;
}
//-------------------------------------
Playback(uint address)  			//放音
{
	uchar i,Comm,addH,addL;

	PowerUp();
	delay(8000);						//上电延时

	addL = address;
	addH = address >> 8;
	
	Comm = 0xe0;						//11100000--SET PLAY
	SS = 1;
	_nop_();_nop_();
	SCK = 0;
	_nop_();_nop_();
	SS = 0;
	_nop_();_nop_();
	for (i = 0;i < 8;i ++)
	{
		MOSI = (bit) (addL & 0x01);
		_nop_();_nop_();
		SCK = 1;
		_nop_();_nop_();
		SCK = 0;
		addL = addL >> 1;
	}
	for (i = 0;i < 8;i ++)
	{
		MOSI = (bit) (addH & 0x01);
		_nop_();_nop_();
		SCK = 1;
		_nop_();_nop_();
		SCK = 0;
		addH = addH >> 1;
	}
	for (i = 0;i < 8;i ++)
	{
		MOSI = (bit) (Comm & 0x01);
		_nop_();_nop_();
		SCK = 1;
		_nop_();_nop_();
		SCK = 0;
		Comm = Comm >> 1;
	}
	Comm = 0xf0;						//11110000--PLAY
	SS = 1;
	_nop_();_nop_();
	SCK = 0;
	_nop_();_nop_();
	SS = 0;
	_nop_();_nop_();
	for (i = 0;i < 8;i ++)
	{
		MOSI = (bit) (Comm & 0x01);
		_nop_();_nop_();
		SCK = 1;
		_nop_();_nop_();
		SCK = 0;
		Comm = Comm >> 1;
	}
	SS = 1;
	P1 = 0xff;
	while(INT==1);
	StopMode();
}

⌨️ 快捷键说明

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