📄 isd25120语音电路程序.c
字号:
//单片机ISD25120语音电路程序
//2006年6月语音芯片适用
//AT89C54_Ver1.00
#include <REGX51.H>
#include <stdio.h>
#include <intrins.h>
#define ISD_DAT P1 //语音地址线
#define ISD_RED P3_5 //录音按键
#define ISD__CE P3_4 //片选,低电平工作
#define ISD_KPE P3_3 //短放音键
#define ISD_LED P3_2 //指示灯
sbit A9=P1^7;
sbit A8=P1^6;
sbit A5=P1^5;
sbit A4=P1^4;
sbit A3=P1^3;
sbit A2=P1^2;
sbit A1=P1^1;
sbit A0=P1^0;
void time(int nt) //延时函数
{long int it=0;
for(it=0;it<nt*1000;it++);
return;
}
void Delay(unsigned char num) //delay(num*2ms)S
{unsigned char i;
while(--num!=0)
{for(i=0;i<125;i++);
}
}
void Init_ISD2500() //initial ISD2500
{ISD__CE=1;
P1=0x00; //init:address A0--A9 must be 0;
A0=0;A1=0;A2=0;A3=0;
A4=0;A5=0;A8=0;A9=0;
}
main()
{ long int i=0;
unsigned int key=0;
ISD_LED=0;time(4);
ISD_LED=1;time(4);
ISD_LED=0;time(4);
ISD_LED=1;time(4);
Init_ISD2500( ); //地址初始化
START:
if(ISD_KPE==0)
{Delay(10); //延时去抖动
if(ISD_KPE==0) //确认按键已按下
{do {
A5=1;
Delay(10);
ISD__CE=0;
ISD_LED=0; //点亮录音指示灯
}while(ISD_KPE!=1); //等待按键释放,结束录音
A5=0; //reset
ISD__CE=1;
ISD_LED=1; //关闭录音指示灯
}
}
goto START;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -