Side Menu

ISD1700录放示例C程序

2017-5-6 11:02| 发布者: admin| 查看: 1602| 评论: 0

摘要: 下载:《ISD1700录放示例C程序》下面资料不全,请下载上面完整资料。/************************************************************************* ISD1700 89C51单片机C语言示例程序 ** ...
下载:《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级延迟

鲜花

握手

雷人

路过

鸡蛋