ISD1730 语音芯片编程 c
2010-07-11 21:22
自己编写的芯片头文件:
#ifndef __SPI_H__
#define __SPI_H__
#include"reg52.h"
//-------------------------------------------------------------------
--------------------
// 命令定义
#define PU 0x01 //17xx 上电
#define STOP 0x02 // 停止当前操作
#define RESET 0x03 // 芯片复位
#define CLR_INT 0x04 // 清除 EOM 标志和中断信
号
#define RD_STATUS 0x05 // 返回状态寄存器内容
#define RD_PLAY_PTR 0x06 // 在 1,2 字节返回状态寄存器
信息, 2 , 3 字节返回放音指针
#define PD 0x07 // 芯片下电
#define RD_REC_PTR 0x08 // 在 1, 2 字节返回状态寄存器
信息, 2 , 3 字节返回录音指针
#define DEVID 0x09 // 读取芯片 ID 号码
#define PLAY 0x40 // 从当前地址放音
#define REC 0x41 // 从当前地址录音
#define ERASE 0x42 // 擦除当前语音段
#define G_ERASE 0x43 // 擦除芯片所有语音
#define RD_APC 0x44 // 返回状态寄存器信息
在 1,2 字节, APC 寄存器信息在 3 字节
#define WR_APC1 0x45 // 将 <D11:D0> 写入 APC 寄
存器
#define WR_APC2 0x65 // 将 <D11:D0> 写入 APC 寄
存器 , 并由 <D2:D0> 位控制音量
#define WR_NVCFG 0x46 // 将 APC 内容写入 NVCFG
#define LD_NVCFG 0x47 // 将 NVCFG 内容写入 APC
#define FWD 0x48 // 将放音指针指向下
一段语音地址处
#define CHK_MEM 0x49 // 检查环状存储体系
#define EXTCLK 0x4a // 外部时钟使能
#define SET_PLAY 0x80 // 从起始地址 <S10:S0> 放
音到结束地址 <E10:E0> 结束
#define SET_REC 0x81 // 从起始地址 <S10:S0> 录