云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数码录音与播放系统的设计论文 - 图文

数码录音与播放系统的设计论文 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/6/6 19:44:05

void play_deal() {

isd4004_int=1; if(isd4004_int==1) {

play_key=1; if(play_key==0) {

switch (flag2) {

case 0:

isd4004_play(); flag1=0; break; } } }

while(play_key==0); }

//********************************************************************** //子程序名:void record_deal() //功能:录音处理 //入口: //影响资源:

void record_deal() {

isd4004_int=1;//判断ISD4004是否溢出 if(isd4004_int==1)//溢出后不能在录音 {

record_key=1; if(record_key==0) {

switch (flag4) {

case 0:

isd4004_record(); flag3=0; break; } } }

16

else {

if(flag3==0) {

isd4004_powerdown(); flag3=1; } }

while(record_key==0);//等待按键释放 }

//*************************************************************************** //子程序名:void isd4004_play() //功能:放音 //入口: //影响资源:

void isd4004_play() {

isd4004_powerup();//发送上电命令

delay_50us(600);//上电后延时大于25毫秒 isd4004_cs=0;

send_isd4004(0xa0);//发送放音地址的低8位 send_isd4004(0x00);//发送放音地址的高8位

send_isd4004(0xe0);//发送SET PLAY指令,指令形式:11100XXX delay_3us(); isd4004_cs=1; delay_3us(); isd4004_cs=0;

send_isd4004(0xf0);//送PLAY指令,形式:11110XXX isd4004_cs=1; }

//*************************************************************************** //子程序名:void isd4004_record() //功能:操作ISD4004录音 //入口: //影响资源: a

void isd4004_record() {

isd4004_powerup();//调用ISD4004上电程序 delay_50us(600);//上电后延时至少25毫秒 isd4004_cs=0;

send_isd4004(0xa0);//发送录音地址的低8位,录音地址范围:00A0-0A15 send_isd4004(0x00);//发送录音地址的高8位

send_isd4004(0xa0);//发送SET REC指令,10100XXX isd4004_cs=1;

17

delay_3us(); isd4004_cs=0;

send_isd4004(0xb0);//发送REC指令 10110XXX isd4004_cs=1; }

//*************************************************************************** //子程序名:void isd4004_powerup()

//功能:向ISD4004发送0X20,使ISD4004上电 //入口:

//影响资源:A

void isd4004_powerup() {

isd4004_cs=0;

send_isd4004(0x20); isd4004_cs=1; }

//*************************************************************************** //子程序名:void isd4004_powerdown()

//功能:向ISD4004发送0X10,使ISD4004发送数据 //入口:

//影响资源:A

void isd4004_powerdown() {

isd4004_cs=0; delay_3us();

send_isd4004(0x10); isd4004_cs=1; }

//************************************************************************** //子程序名称:void isd4004_stopmode()

//功能:向SID4004发送0X30,让ISD4004停止工作 void isd4004_stopmode() {

isd4004_cs=0; delay_3us();

send_isd4004(0x30); isd4004_cs=1; }

/*************************************************************************** ;子程序名:void send_isd4004(unsigned char date): ;功能:向ISD4004发送数据 ;入口:A

;影响资源:R7*/

void send_isd4004(unsigned char value)

18

{

unsigned char i; isd4004_mosi=0; isd4004_sclk=0; for(i=0;i<8;i++) {

isd4004_sclk=0;

if((value & 0x01)==1) {

isd4004_mosi=1; } else {

isd4004_mosi=0; }

delay_3us(); isd4004_sclk=1; delay_3us(); value>>=1; } }

//***********************************************

//3微秒延时程序 void delay_3us() { ; ; }

//**************************************************************************************************

//函数名称:void delay_50US(unsigned int t) //功能: 延时50*t(us)

void delay_50us(unsigned int t) {

unsigned char j; for(;t>0;t--) {

for(j=19;j>0;j--); } }

19

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

void play_deal() { isd4004_int=1; if(isd4004_int==1) { play_key=1; if(play_key==0) { switch (flag2) { case 0: isd4004_play(); flag1=0; break; } } } while(play_key==0); } //****************************************************

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com