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

📄 isd4003.c

📁 ISD4003-4M语音的详细使用说明
💻 C
字号:
#include<reg52.h>
#define uchar  unsigned char
#define uint    unsigned    int


sbit yy_clk  = P2^0;
sbit yy_mosi = P2^1;
sbit yy_miso = P2^2;
sbit yy_cs   = P2^3;
sbit yy_int  = P2^4;
sbit led     = P1^2;    //
sbit key1    = P1^4;    //record key
sbit key2    = P1^5;    //playback key
sbit key3    = P1^6;    //stop key

void delay (uint x)
{
    while(x--);
}

/*sent byte to isd4003 by spi bus*/
void yy_sentbyte(uchar dat)
{
    uchar i;
    yy_cs  = 0;
    yy_clk = 0;
    for(i=0;i<8;i++)
    {
        
        yy_mosi = (bit)(dat & 0x01);
        ;
        yy_clk = 1;
        ;
        yy_clk = 0;
        ;
        dat >>=1;
    }
  //  delay(5);
}


/*stop current operation*/
void yy_stop()
{
    yy_sentbyte(0x30);
    yy_cs = 1;
    delay(20);
}

/*stop current operation and enters power-down mode*/
void yy_stop_power()
{
    yy_sentbyte(0x10);
    yy_cs = 1;
    delay(20);
}

/*power up*/
void yy_powerup()
{
    
    yy_sentbyte(0x20);
    yy_cs = 1;
    delay(20);
}

/*initiates playback from "add"
and playback*/
void yy_play(uchar addr)
{   
    yy_sentbyte(addr);
    yy_sentbyte(0xe0);
    yy_cs = 1;
    led = 0;
    
     while(key3)
     {
        yy_sentbyte(0xf0);
        yy_cs = 1;
     }
  
}

/*initiates record from "add",
record from current address unitl "OVF"
is reached*/
void yy_record(uchar addr)
{
    yy_sentbyte(addr);
    yy_sentbyte(0xa0);
    yy_int = 1;
    yy_cs = 1;
    led = 0;
    delay(20);
    while(key3)
    {
        yy_sentbyte(0xb0);
        yy_cs = 1;
    }
}

main()
{
    yy_stop_power();
    delay(100);
    led = 1;
    delay(10);
    while(1)
    {
    if(key1==0)
    {
        delay(50);
        while(key2==0);
        yy_powerup();
        delay(10);
        yy_record(0x20);
        yy_stop();
    }
    
    if(key2==0)
    {
        delay(50);
        while(key2==0);
        yy_powerup();
        delay(10);
        yy_play(0x20);
        yy_stop();
    }
  yy_stop_power();
}
}

⌨️ 快捷键说明

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