下载:《ISD1700录放示例C程序》 下面资料不全,请下载上面完整资料。 /************************************************************************ * ISD1700 89C51单片机C语言示例程序 * * 中青世纪 www.atvoc.com * * 功能: 1700芯片SPI工作模式下放音、录音、擦除等功能的编程示例 * * 硬件电路:参考中青世纪ISD1700-89c51实验开发板电路 * * http://www.atvoc.com/cpsj/89C51-isd1700shiyanban.html * * 更多资料请登陆中青世纪网站:www.atvoc.com * * 或来电咨询:010-62101160,010-62106945 * *************************************************************************/ //***********************头文件***************************// #include "REG51.h" //************************宏定义***************************// #define uchar unsigned char #define uint unsigned int //**************ISD1700状态寄存器及各个标志位定义*****************// unsigned char bdata SR0_L; // SR0 寄存器 unsigned char bdata SR0_H; unsigned char bdata SR1; // SR1 寄存器 unsigned char APCL=0,APCH=0; // APC 寄存器 unsigned char PlayAddL=0,PlayAddH=0; // 放音指针低位,高位 unsigned char RecAddL=0,RecAddH=0; // 录音指针低位,高位 sbit CMD=SR0_L^0; // SPI指令错误标志位 sbit FULL=SR0_L^1; // 芯片存储空间满标志 sbit PU=SR0_L^2; // 上电标志位 sbit EOM=SR0_L^3; // EOM标志位 sbit INTT=SR0_L^4; // 操作完成标志位 sbit RDY=SR1^0; // 准备接收指令标志位 sbit ERASE=SR1^1; // 擦除标志位 sbit PLAY=SR1^2; // 播放标志位 sbit REC=SR1^1; // 录音标志位 /************************************************** * ISD1700 SPI指令函数声明 * **************************************************/ unsigned char ISD_SendData(unsigned char dat); unsigned char ISD_Devid (void); void ISD_PU(void); void ISD_STOP(void); void ISD_Reset(void); void ISD_Clr_Int(void); void ISD_Rd_Status(void); void ISD_Rd_Playptr(void); void ISD_PD(void); void ISD_Rd_Recptr(void); void ISD_Play(void); void ISD_Rec(void); void ISD_Erase(void) ; void ISD_G_Erase(void); void ISD_Rd_APC(void); void ISD_WR_APC2(unsigned char apcdatl,apcdath); void ISD_WR_NVCFG(unsigned char apcdatl,apcdath); void ISD_LD_NVCFG(void); void ISD_FWD(void); void ISD_CHK_MEM(void); void ISD_EXTCLK(void); void ISD_SET_PLAY (unsigned char Saddl,Saddh,Eaddl,Eaddh); void ISD_SET_Rec (unsigned char Saddl,Saddh,Eaddl,Eaddh); void ISD_SET_Erase(unsigned char Saddl,Saddh,Eaddl,Eaddh); //**********************端口定义**************************// sbit SS=P1^0; sbit SCK=P1^1; sbit MOSI=P1^2; sbit MISO=P1^3; sbit LED= P1^7; sbit Key_AN= P1^6; sbit Key_STOP= P1^5; sbit Switch_PR=P1^4; //PLAY=0;REC=1; //********************标志位定义***************************// uchar bdata flag; sbit PR_flag=flag^1; // 放音/录音标志位:0=放音,1=录音。 sbit Erase_flag=flag^4; sbit Stop_flag=flag^7; //********************其它函数声明**********************// void Cpu_Init(void); // 系统初始化 void ISD_Init(void); // ISD1700初始化 void ISDWORK (void); void delay(unsigned int t); // ms级延迟 |