📄 测试._c
字号:
ISD_SendData(0x00);
SS_1;
delay_ms(120);
}
/**************************************************************************
* 函数原型: void SetPLAY(uchar cNum);
* 功 能: 定点播放
**************************************************************************/
void SetPLAY(uchar cNum)
{
uint Add_ST,Add_ED;
uchar Add_ST_H, Add_ST_L, Add_ED_H, Add_ED_L;
do{
RdStatus();
}while((SR0_L&0x01)||(!(SR1&0x01)));
//if(SR0_L^0==1){system Err}<CMD_Err==1>
ClrInt();//清除中断
GetToneAdd(cNum, &Add_ST, &Add_ED);//取得播放地址
Add_ST_L=(uchar)(Add_ST&0x00ff); //开始播放的地址
Add_ST_H=(uchar)((Add_ST>>8)&0x00ff);
Add_ED_L=(uchar)(Add_ED&0x00ff); //播放结束地址
Add_ED_H=(uchar)((Add_ED>>8)&0x00ff);
ISD_SendData(SET_PLAY);
ISD_SendData(0x00);
ISD_SendData(Add_ST_L); //S7:S0 开始地址
ISD_SendData(Add_ST_H); //S10:S8
ISD_SendData(Add_ED_L); //E7:E0 结束地址
ISD_SendData(Add_ED_H); //E10:E8
ISD_SendData(0x00);
SS_1;
delay_ms(10); //延迟10ms
do{
RdStatus();
}while((SR0_L&0x01)||((SR1&0x04)));
//if(SR0_L^0==1){system Err}<CMD_Err==1>
}
/**************************************************************************
* 函数原型: void SetREC(uchar cNum);
* 功 能: 定点录音
**************************************************************************/
void SetREC(uchar cNum)
{
uint Add_ST,Add_ED;
uchar Add_ST_H, Add_ST_L, Add_ED_H, Add_ED_L;
do{
RdStatus();
}while(SR0_L&0x01);
//if(SR0_L^0==1){system Err}<CMD_Err==1>
ClrInt();//清除中断
do{
RdStatus();
}while(!(SR1&0x01));//RDY
GetToneAdd(cNum, &Add_ST, &Add_ED);//取出要录音的地址
SetERASE(cNum);
ClrInt();//清除中断
Add_ST_L=(uchar)(Add_ST&0x00ff); //录音开始地址
Add_ST_H=(uchar)((Add_ST>>8)&0x00ff);
Add_ED_L=(uchar)(Add_ED&0x00ff); //录音结束地址
Add_ED_H=(uchar)((Add_ST>>8)&0x00ff);
ISD_SendData(SET_REC);
ISD_SendData(0x00);
ISD_SendData(Add_ST_L); //S7:S0 开始地址
ISD_SendData(Add_ST_H); //S10:S8
ISD_SendData(Add_ED_L); //E7:E0 结束地址
ISD_SendData(Add_ED_H); //E10:E8
//ISD_SendData(0x00);
SS_1;
delay_ms(50); //延迟10ms
do{
RdStatus();
// }while((SR0_L&0x01)||((SR1&0x08))); //if(SR0_L^0==1){system Err}<CMD_Err==1>
}while((SR0_L&0x01)||(!(SR1&0x01))); //if(SR0_L^0==1){system Err}<CMD_Err==1>
}
/**************************************************************************
* 函数原型: void ISD_Init(void);
* 功 能: 初始化
**************************************************************************/
void ISD_Init(void){
ISD_Reset();//复位
do{
ISD_PU(); //上电
RdStatus(); //读状态
}while((SR0_L&0x01)||(!(SR1&0x01))); //if(SR0_L^0==1){system Err}<CMD_Err==1>
ID=RD_DevID();//读取芯片ID,----1760为0xa0
ClrInt();
ISD_WR_APC2(0x60);
RdAPC();
}
/**************************************************************************
* 函数原型: void ISD_Init(void);
* 功 能:主函数
**************************************************************************/
/*void shu(uchar shu)
{
data[0]=shu/100+'0';
data[1]=shu%100/10+'0';
data[2]=shu%10+'0';
} */
void main()
{
uchar i,j,k;
kaiji();
DDRD=0XFF;
spi_sent_init();
ISD_Init();
delay_ms(500);
writecomd(0x01);//清屏显示
wezhi(1,1);
zhiti(data_ziju);
while(1)
{
if(key_press())
{
delay_ms(2);
i=key_scan();
while(key_press());
/*************************************
if(i==1)
{
ISD_REC();
}
if(i==2)
{
ISD_Stop();
}
if(i==3)
{
ClrInt();
ISD_Play();
}
if(i==4)
{
ClrInt();
ISD_FWD();
}
/********************************************/
if(i==11)
{
j=0; //按下10键开始录音
for(k=0;k<4;k++)
{data_ziju[k]=data_zi[k];}
data_ziju[4]=data_zi[8];
data_ziju[5]=data_zi[9];
data_ziju[8]=data_zi[20];
data_ziju[9]=data_zi[21];
wezhi(1,1);
zhiti(data_ziju);
}
if(i==15)
{
j=1; //按下11键开始播放
for(k=4;k<8;k++)
{data_ziju[k-4]=data_zi[k];}
data_ziju[4]=data_zi[8];
data_ziju[5]=data_zi[9];
wezhi(1,1);
zhiti(data_ziju);
}
/******************************************/
if(i==10)//1
{
data_ziju[6]=data_zi[10];
data_ziju[7]=data_zi[11];
wezhi(1,1);
zhiti(data_ziju);
if(j)SetPLAY(0);
SetREC(0);
}
if(i==0)//2
{
data_ziju[6]=data_zi[10];
data_ziju[7]=data_zi[12];
wezhi(1,1);
zhiti(data_ziju);
if(j)SetPLAY(1);
SetREC(1);
}
if(i==1)//3
{
data_ziju[6]=data_zi[10];
data_ziju[7]=data_zi[13];
wezhi(1,1);
zhiti(data_ziju);
if(j)SetPLAY(2);
SetREC(2);
}
if(i==2)//4
{
data_ziju[6]=data_zi[10];
data_ziju[7]=data_zi[14];
delay_ms(2);
wezhi(1,1);
zhiti(data_ziju);
if(j)SetPLAY(3);
SetREC(3);
}
if(i==3)//5
{
data_ziju[6]=data_zi[10];
data_ziju[7]=data_zi[15];
delay_ms(2);
wezhi(1,1);
zhiti(data_ziju);
if(j)SetPLAY(4);
SetREC(4);
}
if(i==14)//6
{
data_ziju[6]=data_zi[10];
data_ziju[7]=data_zi[16];
delay_ms(2);
wezhi(1,1);
zhiti(data_ziju);
if(j)SetPLAY(5);
SetREC(5);
}
if(i==4)//7
{
data_ziju[6]=data_zi[10];
data_ziju[7]=data_zi[17];
delay_ms(2);
wezhi(1,1);
zhiti(data_ziju);
if(j)SetPLAY(6);
SetREC(6);
}
if(i==5)//8
{
data_ziju[6]=data_zi[10];
data_ziju[7]=data_zi[18];
delay_ms(2);
wezhi(1,1);
zhiti(data_ziju);
if(j)SetPLAY(7);
SetREC(7);
}
if(i==6)//9
{
data_ziju[6]=data_zi[10];
data_ziju[7]=data_zi[19];
delay_ms(2);
wezhi(1,1);
zhiti(data_ziju);
if(j)SetPLAY(8);
SetREC(8);
}
if(i==13)//10
{
data_ziju[6]=data_zi[11];
data_ziju[7]=data_zi[10];
delay_ms(2);
wezhi(1,1);
zhiti(data_ziju);
if(j)SetPLAY(9);
SetREC(9);
}
if(i==7)//11
{
data_ziju[6]=data_zi[11];
data_ziju[7]=data_zi[11];
delay_ms(2);
wezhi(1,1);
zhiti(data_ziju);
if(j)SetPLAY(10);
SetREC(10);
}
if(i==8)//12
{
data_ziju[6]=data_zi[11];
data_ziju[7]=data_zi[12];
delay_ms(2);
wezhi(1,1);
zhiti(data_ziju);
if(j)SetPLAY(11);
SetREC(11);
}
if(i==9)//13
{
data_ziju[6]=data_zi[11];
data_ziju[7]=data_zi[13];
delay_ms(2);
wezhi(1,1);
zhiti(data_ziju);
if(j)SetPLAY(12);
SetREC(12);
}
if(i==12)//14
{
for(k=22;k<26;k++)
{data_ziju[k-22]=data_zi[k];}
wezhi(1,1);
zhiti(data_ziju);
Erase_All();//擦除当前曲目
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -