语音芯片4004C语言
语音芯片4004C语言
1)这个芯片的录音方式是麦克风语音录入吗?
2)录音怎样存储(比如录入“现在时刻”)?
3)可不可以讲一下下面这个代码?谢谢了,各位大神!
我所见到的代码都是类似的:
/======基于51单片机的ISD4004多段语音录放实验=======/
/==================== isd.c ===================//
/ 控制IC: AT89C51/52,STC89C51/52RC //
/ 系统晶振:22.1184MHz //
/ 程序编写:东冬(自然风) //
/ 调试时间:/02/13 //
/ 版本: ISD4004_1.0V //
/*操作说明:1、按住K1键开始录音,放开K1键结束录音;再按住K1键,开始录第二段;以此类推;
2、按一下K2键,开始放音,等该段放音结束,继续等待;再按下K2键,放第二段,以此类推
PS:每一段录音长度要手动设置,不能自主控制录音长度(以待后改)*/
#include "STC89C52RC.H"
//#include
#include
#include "MyType.h"
//=======分段录音首地址定义======================
#define ISD_ADDS1 0x0000 //录音存放地址1
#define ISD_ADDS2 0x0100 //录音存放地址2
#define ISD_ADDS3 0x0200 //录音存放地址3
#define ISD_ADDS4 0x0300 //录音存放地址4
#define ISD_ADDS5 0x0400 //录音存放地址5
//========ISD4004指令定义========================
#define POWER_UP 0x20 //上电指令
#define SET_PLAY 0xE0 //指定放音指令
#define PLAY 0xF0 //当前放音指令
#define SET_REC 0xA0 //指定录音指令
#define REC 0xB0 //当前录音指令
#define SET_MC 0xE1 //指定快进指令
#define MC 0xF1 //快进执行指令
#define STOP 0x30 //停止当前操作
#define STOP_WRDN 0xF1 //停止当前操作并掉电
#define RINT 0x30 //读状态:OVF和EOM
//=========ISD4004--c51接口定义=================
sbit ISD_SS = P0^0; //片选
sbit ISD_MOSI = P0^1; //数据输入
sbit ISD_SCLK = P0^2; //ISD4004 时钟
sbit ISD_INT = P3^3; //溢出中断
sbit ISD_RAC = P3^2; //行地址时钟
sbit ISD_MISO = P3^6; //数据输出
//==========按键定义==========================
sbit K1 = P1^0 ; //录音键
sbit K2 = P1^1; //放音键
//==========BEEP开关定义======================
#define Beep_ON (P0&=0x7f) //蜂鸣器开
#define Beep_OFF (P0|=0x80) //蜂鸣器关
//==========ISD4004函数定义===================
void ISD_SPI_Send8( uchar isdx8 ); //spi 串行发送子程序,8位数据,从低到高
void ISD_SPI_Send16( uint isdx16 ); //spi 串行发送子程序,16位数据.从低到高
uint ISD_SPI_Radd(void); //读取标行地址
void ISD_Stop(void); //发送 stop 指令
void ISD_PowerUp(v
如果觉得《语音芯片c语言程序 语音芯片4004C语言.doc》对你有帮助,请点赞、收藏,并留下你的观点哦!