📄 isd2560.c
字号:
/******************************************************
工程:语音芯片ISD2560的驱动程序
功能:语音芯片ISD2560是一个有60秒的直接存储的芯片
作者:永昌
日期:07.08.08
*******************************************************/
#include<reg52.h>
#include<keyscan.h>
#include<max7219.h>
#define uchar unsigned char
#define uint unsigned int
sbit ISD2560_P_R=P3^0; //录放音,高电平放,低电平录
sbit ISD2560_CE=P3^3; //片选端,在下降沿可锁存地址
sbit ISD2560_PD=P3^2; //在高电平的时候进入节电模式,低电平可录音放音
sbit ISD2560_EOM=P3^1; //在录放音结束时,插入结束标志
bit play_flag=0; //放音标示
bit record_flag=0; //录音标示
uchar i=0,count=0;
/**************************************************
函数: void start_record()
功能: 开始录制音乐
***************************************************/
void start_record()
{
ISD2560_CE=0; //片选
ISD2560_P_R=0; //录制
ISD2560_PD=0; //非节电模式
}
/**************************************************
函数: void start_play()
功能: 开始播放音乐
***************************************************/
void start_play()
{
ISD2560_CE=0; //片选
ISD2560_P_R=1; //播放
ISD2560_PD=0; //非节电模式
}
/***************************************************
函数:void time_0() interrupt 1
功能:为了防止录音超过60s.当录音到60s 时自动放音,当有
放音按键按下时,清0
***************************************************/
void time_0() interrupt 1
{
TH0=0x3c;
TL0=0xb0; //50ms
i++;
if(i==20)
{
i=0;
count++;
}
}
/***************************************************
主函数
***************************************************/
void main()
{
TMOD=0x11;
TH0=0x3c;
TL0=0xb0;
//TR0=1;
ET0=1;
EA=1;
P1=0;
write_7219();
init_7219();
while(1)
{
keyscan();
if(key_flag)
{
if(key_val==12) //开始录音,录音的时候,不能放音
{
record_flag=1;
play_flag=0;
}
if(key_val==13) //开始放音,放音标示为1,录音为0
{
play_flag=1;
record_flag=0;
}
if(key_val==14) //停止按键
{
TR0=0;
count=0;
play_flag=0;
record_flag=0;
ISD2560_PD=1; //节电模式,一定要要的东西
}
if(!ISD2560_EOM)ISD2560_PD=1; //放音,节电中
if(play_flag)
{
start_play(); //放音
TR0=0;
TR0=1;
}
if(record_flag)
{
start_record();//录音
TR0=1;
}
} //if(key_flag)
if(count>59)count=0;
send_7219(k6,count/10);
send_7219(k7,count%10);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -