📄 isd4002代码.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 + -