ISD4004语音芯片资料说明及其应用实例(含程序驱动)

本文介绍了ISD4004语音芯片的工作原理、特点及在智能控制系统中的应用。该芯片无须A/D转换,直接存储声音信号,适合于移动电话等电子产品。文中给出了录音和放音的程序示例,以及与单片机89C51的交互方式。
摘要由CSDN通过智能技术生成

*spi isd4004.h*/
#i nclude "reg51.h"
#i nclude "intrins.h"

 

sbit _cs   = p0^0;
sbit _sclk= p0^3;
sbit _mosi= p0^1;
sbit _miso= p0^2;
sbit _rac = p0^4;
sbit _int = p0^5;


void delay(unsigned int i)   //延时程序
{
    while(i--);
}

void stopmode()    //停止
{
    unsigned char m,i,j;
    _cs=1;
    _sclk=0;
    _cs=0;

    m=0x30;
    for(i=0;i<8;i++)
    {
       m=_cror_(m,1);
       j=m<<1;
       _mosi=cy;
       _sclk=0;
       _sclk=1;
    }
    _cs=1;
}
void powerdown()    //下电
{
     unsigned char m,i,j;
     _cs=1;
    _sclk=0;
    _cs=0;

    m=0x10;
    for(i=0;i<8;i++)
    {
       m=_cror_(m,1);
       j=m<<1;
       _mosi=cy;
       _sclk=0;
       _sclk=1;
    }
    _cs=1;
}

void powerup()    上电
{
    unsigned char m,i,j;
    _cs=1;
    _sclk=0;
    _cs=0;

    m=0x20;
    for(i=0;i<8;i++)
    {
       m=_cror_(m,1);
       j=m<<1;
       _mosi=cy;
       _sclk=0;
       _sclk=1;
    }
    _cs=1;
}
void record4004(unsigned int address)   录音   address--录音地址 0---2400
{
      unsigned char i,m,j;
      unsigned int datasoute=0;


       powerup();
       delay(5118);//上电延时
       powerup();
       delay(5118);//上电延时
       delay(5118);//上电延时
       _cs=1;
       _sclk=0;
       m=0xa0;
       _cs=0;
        for(i=0;i<16;i++)
      {
          address=_iror_(address,1);
          datasoute=address<<1;
          _mosi=cy;
          _sclk=0;
          _sclk=1;
      }
       for(i=0;i<8;i++)
      {
          m=_cror_(m

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值