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

📄 isd4002代码.txt

📁 isd4002语音播报芯片程序!基于AT89c51单片机的!~
💻 TXT
字号:
/* pin description */
sbit    _SS = P2^7;
sbit    _MOSI = P2^6;
sbit    _MISO = P2^5;
sbit    _SCLK = P2^4;
sbit    _INT  = P3^4;
sbit    _RAC  = P3^5;
/* constant defination */
#define LOW 0
#define HIGH 1
#define TRUE 1
#define FALSE 0

#define SET_PLAY 0xE0
#define SET_RECORD 0xA0
#define SET_MC 0xE8
static void StartISD (void)
{
    _SS = HIGH;
    _nop_();
    _SCLK = LOW;
    _nop_();
    _SS = LOW;
    _nop_();
}

static void StopISD (void)
{
    _SCLK    = LOW;
    _SS = HIGH;
    _nop_();
    _nop_();
}

static void SendByte (unsigned char byte)
{
    unsigned char i = 8;

    _SCLK = LOW;
    byte >>= 1;
    do
    {
        _MOSI = CY;
        _SCLK = HIGH;
        byte >>= 1;
        _SCLK = LOW;
    }
    while(--i);
}

void PowerUp (void)
{
    StartISD();
    SendByte(0x20);
    StopISD();
}

void StopAction(void) reentrant
{
    StartISD();
    SendByte(0x30);
    StopISD();
}

void PowerDown (void)
{
    StartISD();
    SendByte(0x10);
    StopISD();
}    

void SetPlay (unsigned int address)
{
    StartISD();
    SendByte((uchar)(address%256));
    SendByte(((uchar)(address/256)&0x07)|(SET_PLAY&0xF8));
    StopISD();
}

void Play (void)
{
    StartISD();
    SendByte(0xF0);
    StopISD();
}

void SetRecord (unsigned int address)
{
    StartISD();
    SendByte((uchar)(address%256));
    SendByte(((uchar)(address/256)&0x07)|(SET_RECORD&0xF8));
    StopISD();
}

void Record (void)
{
    StartISD();
    SendByte(0xB0);
    StopISD();
}

void SetMc (unsigned int address)
{
    StartISD();
    SendByte((uchar)(address%256));
    SendByte(((uchar)(address/256)&0x07)|(SET_MC&0xF8));
    StopISD();
}

void Mc (void)
{
    StartISD();
    SendByte(0xF8);
    StopISD();
}

⌨️ 快捷键说明

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