工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->基础电路图->数字电路图->ISD4004应用电路及程序

ISD4004应用电路及程序

作者:dolphin时间:2012-08-14

ISD4004应用电路图:

ISD4004应用电路ISD4004电压是3.3V,所以本把5V的电压串联了两个二极管,这样得到的电压会是3.6伏左右,已经符合ISD4004的供电电压,这个图已经是很简化的一个图了,录音输入只采用负端单端输入方式,本人已经试过可以用。

信号放大和功率放大电路:

ISD4004功率放大电路运放采用典型的运放芯片NE5532,对ISD4004信号进行跟随和放大,为后级功放提供了保障。

void Record(uint RecAddr)
{
PowerUp();
delay_ms(50);
PowerUp();
delay_ms(100);
SS_0;
Send_Data((uchar)RecAddr);
Send_Data((uchar)(RecAddr8));
Send_Data(0xA0);
SS_1;
SS_0;
Send_Data(0xB0);
SS_1;
}
void Play(uint Address)
{
PowerUp();
delay_ms(50);
SS_0;
Send_Data((uchar)Address);
Send_Data((uchar)(Address8));
Send_Data( 0xE0);
SS_1;
SS_0;
Send_Data(0xF0);
SS_1;
}
//*************************单片机端口初始化***************************
void port_init()
{
DDRA = 0xFF;
PORTA = 0x00;
DDRB = 0xFF;
PORTB = 0xFF;
DDRC = 0x00;
PORTC = 0xFF;
PINC = 0xff;
DDRD = 0x00;
PORTD = 0xff;
}

////////////////////////
void main()
{
port_init();
while(1)
{
if(!(PIND0x10)(flag==0))
{
delay_ms(5);
if(!(PIND0x10)(flag==0))
{

flag = 1;
//Record(0x600);
while(!(PIND0x10));
}
}

if(!(PIND0x10)(flag == 1))
{
delay_ms(5);
if(!(PIND0x10)(flag == 1))
{
flag=2;
Stop();
while(!(PIND0x10));
}
}
if(!(PIND0x10)(flag == 2))
{
delay_ms(5);
if(!(PIND0x10)(flag == 2))
{
flag=0;
Play(0x600);
while(!(PIND0x10));
}
}
}
}



评论

技术专区