📄 data_disposal.c
字号:
source_entrails_exterior(); //选择相应的外部音源
source_61510(); //61510做最终音源选择
}
else report();
}
series_sign_type=5;
break;
/**************************外部音源2***********************/
case 12: //外部音源2
{
if (source_old[0]!=0)
{
source_state[1]=(source_state[1]&(~(0x01<<(source_old[0]-1))));//清除原先占用状态记录
} //
if ((source_state[1]|0x02)-source_state[1]>0) //若音源占用状态表明没被占用&-与,|-或,^-异或,~-求反
{
source_state[1]=(source_state[1]|0x02); //改写音源占用状态
source_entrails_exterior(); //选择相应的外部音源
source_61510(); //61510做最终音源选择
}
else report();
}
series_sign_type=5;
break;
/****************外部音源3***********************/
case 13: //外部音源3
{
if (source_old[0]!=0)
{
source_state[1]=(source_state[1]&(~(0x01<<(source_old[0]-1))));//清除原先占用状态记录
} //
if ((source_state[1]|0x04)-source_state[1]>0) //若音源占用状态表明没被占用&-与,|-或,^-异或,~-求反
{
source_state[1]=(source_state[1]|0x04); //改写音源占用状态
source_entrails_exterior(); //选择相应的外部音源
source_61510(); //61510做最终音源选择
}
else report();
}
series_sign_type=5;
break;
/***********************外部音源4***********************/
case 14: //外部音源4
{
if (source_old[0]!=0)
{
source_state[1]=(source_state[1]&(~(0x01<<(source_old[0]-1))));//清除原先占用状态记录
} //
if ((source_state[1]|0x08)-source_state[1]>0) //若音源占用状态表明没被占用&-与,|-或,^-异或,~-求反
{
source_state[1]=(source_state[1]|0x08); //改写音源占用状态
source_entrails_exterior(); //选择相应的外部音源
source_61510(); //61510做最终音源选择
}
else report();
}
series_sign_type=5;
break;
/***********************外部音源5***********************/
case 15: //外部音源5
{
if (source_old[0]!=0)
{
source_state[1]=(source_state[1]&(~(0x01<<(source_old[0]-1))));//清除原先占用状态记录
} //
if ((source_state[1]|0x10)-source_state[1]>0) //若音源占用状态表明没被占用&-与,|-或,^-异或,~-求反
{
source_state[1]=(source_state[1]|0x10); //改写音源占用状态
source_entrails_exterior(); //选择相应的外部音源
hc4094_data(); //后四路音源确定
source_61510(); //61510做最终音源选择
}
else report();
}
series_sign_type=5;
break;
/***********************外部音源6***********************/
case 16: //外部音源6
{
if (source_old[0]!=0)
{
source_state[1]=(source_state[1]&(~(0x01<<(source_old[0]-1))));//清除原先占用状态记录
} //
if ((source_state[1]|0x20)-source_state[1]>0) //若音源占用状态表明没被占用&-与,|-或,^-异或,~-求反
{
source_state[1]=(source_state[1]|0x20); //改写音源占用状态
source_entrails_exterior(); //选择相应的外部音源
hc4094_data(); //后四路音源确定
source_61510(); //61510做最终音源选择
}
else report();
}
series_sign_type=5;
break;
/***********************外部音源7***********************/
case 17: //外部音源7
{
if (source_old[0]!=0)
{
source_state[1]=(source_state[1]&(~(0x01<<(source_old[0]-1))));//清除原先占用状态记录
} //
if ((source_state[1]|0x40)-source_state[1]>0) //若音源占用状态表明没被占用&-与,|-或,^-异或,~-求反
{
source_state[1]=(source_state[1]|0x40); //改写音源占用状态
source_entrails_exterior(); //选择相应的外部音源
hc4094_data(); //后四路音源确定
source_61510(); //61510做最终音源选择
}
else report();
}
series_sign_type=5;
break;
/***********************外部音源8***********************/
case 18: //外部音源8
{
if (source_old[0]!=0)
{
source_state[1]=(source_state[1]&(~(0x01<<(source_old[0]-1))));//清除原先占用状态记录
} //
if ((source_state[1]|0x80)-source_state[1]>0) //若音源占用状态表明没被占用&-与,|-或,^-异或,~-求反
{
source_state[1]=(source_state[1]|0x80); //改写音源占用状态
source_entrails_exterior(); //选择相应的外部音源
hc4094_data(); //后四路音源确定
source_61510(); //61510做最终音源选择
}
else report();
}
series_sign_type=5;
break;
/****************** 19:内部mp3音源*****************/
case 19:
{
uch i;
for (i=1;i<7;i++) //从头开始判断mp3音源占用状态
{
if (source_state[0]&0x01<<(i-1)==0)
{
if (i<5)
{
main_4094_2_data=(main_4094_2_data&0x3F)|power_4094[i-5]<<6;
source_state[0]=source_state[0]|0x01<<(i-1);
i=7;
series_sign_type=3;
}
else
{
main_4094_2_data=(main_4094_2_data&0x3F)|power_4094[i-5]<<6;//更新欲发往主板4094的前两位数据,前两位是4094的低位 //主板4094_2即U2控制代码。控制音源,3D,重低音,循环等
hc4094_data(); //61510无需变化,包括fm。功放板4094相应改变
source_data[0]=0x43;
i=7;
series_sign_type=4;
}
}
}
break;
}
/****************** 20:内部FM音源*****************/
case 20:
{
uch i;
for (i=7;i<9;i++)
{
if (source_state[0]&0x01<<(i-1)==0)
{
main_4094_2_data=(main_4094_2_data&0x3F)|power_4094[i-5]<<6;//更新欲发往主板4094的前两位数据,前两位是4094的低位。主板4094_2即U2控制代码。控制音源,3D,重低音,循环等
hc4094_data(); //61510无需变化,包括fm。功放板4094相应改变
source_data[0]=0x43; //高四位表示选择了第5路音源,后四位其实只用了后两位,表示响度开到最大。
i=9;
}
}
series_sign_type=4;
break;
}
/****************** 21:音调低音上调*****************/
case 21: //音调低音上调
{ //音调高音上调
tone_add(tone_l); //低音位于数组第二元素高四位
tone_l=z;
tone_data[room][1]=tone_l<<4|0x08;
series_sign_type=3;
break;
}
/****************** 22:音调低音下调*****************/
case 22:
{ //音调低音下调
tone_add(tone_h);
tone_h=z;
tone_data[room][1]=tone_l<<4|0x08;
series_sign_type=3;
break;
}
/****************** 23:音调中音上调*****************/
case 23: //音调中音上调
{ //音调高音上调
tone_add(tone_m); //中音位于数组第一元素低四位
tone_m=z;
tone_data[room][0]=tone_h<<4|tone_m;
series_sign_type=3;
break;
}
/****************** 24:音调中音下调*****************/
case 24:
{ //音调中音下调
tone_add(tone_m);
tone_h=z;
tone_data[room][0]=tone_h<<4|tone_m;
series_sign_type=3;
break;
}
/****************25:音调高音上调*****************/
case 25:
{ //音调高音上调
tone_add(tone_h);
tone_h=z;
tone_data[room][0]=tone_h<<4|tone_m;
series_sign_type=3;
break;
}
/*****************26:音调高音下调*****************/
case 26:
{ //音调高音下调
tone_dec(tone_h);
tone_h=z;
tone_data[room][0]=tone_h<<4|tone_m;
series_sign_type=3;
break;
}
/*****************27:音调同步上调*****************/
case 27:
{
tone_add(tone_h);
tone_h=z;
tone_m=z;
tone_l=z;
tone_data[room][0]=tone_h<<4|tone_m;
tone_data[room][1]=tone_data[room][1]|tone_l<<4;
series_sign_type=3;
break;
}
/*****************28:音调同步下调*****************/
case 28:
{
tone_dec(tone_h);
tone_h=z;
tone_m=z;
tone_l=z;
tone_data[room][0]=tone_h<<4|tone_m;
tone_data[room][1]=tone_data[room][1]|tone_l<<4;
series_sign_type=3;
break;
}
/*****************29:重低音*****************/
case 29:
{
if (power_4094_data&0x20==0)
power_4094_data=power_4094_data|0x20;
else
power_4094_data=power_4094_data&0xDF;
series_sign_type=2;
break;
}
/*****************30:3D*****************/
case 30:
{
if (power_4094_data&0x40==0)
power_4094_data=power_4094_data|0x40;
else
power_4094_data=power_4094_data&0xBF;
series_sign_type=2;
break;
}
/*****************31:循环*****************/
case 31:
{
if (power_4094_data&0x10==0)
power_4094_data=power_4094_data|0x10;
else
power_4094_data=power_4094_data&0xEF;
series_sign_type=2;
break;
}
/*****************32:节目上选*****************/
/*****************33:节目下选*****************/
/******************34:指定节目*****************/
/******************35:静音**********************/
case 35:
{
if (power_4094_data&0x80==0)
power_4094_data=power_4094_data|0x80;
else
power_4094_data=power_4094_data&0x7F;
series_sign_type=2;
break;
}
/******************36:暂停*****************/
case 36:
{
}
}
}
}
void main()
{
while (1)
if (series_sign==1) //有串行数据
{
data_disp(); //调用数据处理函数
switch(series_sign_type)
{
case 1:
{
series_m4094_send(); //主板4094串行数据发送程序
}
case 2:
{
series_p4094_send(); //功放板4094串行数据发送程序
}
case 3:
{
series_p61510_send(); //主板61510串行数据发送程序
}
case 4:
{
series_p4094_send(); //功放板4094串行数据发送程序
series_p61510_send(); //主板61510串行数据发送程序
}
case 5:
{
series_m4094_send(); //主板4094串行数据发送程序
series_p4094_send(); //功放板4094串行数据发送程序
series_p61510_send(); //主板61510串行数据发送程序
}
series_sign=0; //串行数据标识清零,等待下次中断
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -