📄 t10a2_main.c
字号:
//if (Detect_Signal_Timer < 200)
//{
// if(Detect_Signal_Timer%30==0)
// {
// if(!(bdata0_flag&BIT(RUN_F)))
//input_select++;//注意,开了机选择输入不加
// {input_select_autojia();}
// if(input_select==7)input_select=0;
// input_select_disposal();/*inputselect send data*/
// }
// Detect_Signal_Timer++;
//}
//else
//{
//if (Detect_Signal_Timer > 200)
//{
if(bdata0_flag&BIT(CHECK_SINGLE_ALLOW))
{
switch(input_select)//检测信号开机暂时只用7个,OK信号与最后一个通道同时检
{
//case 0:
// if(!(PING&BIT(SPDIF_DET)))single_counter++;
//if((PINA&BIT(OK_INSERT_DET)))ok_single_counter++;
// break;
case 2:
case 3:
case 5:
case 6:
if(!(PINC&BIT(CHECK_SINGLE)))
{
single_counter++;
}
break;
case 0:
case 1:
case 4:
if(!(PING&BIT(SPDIF_DET)))
{
single_counter++;//暂不用,外面没有下拉
}
break;
case 7:
case 8://不可能到8,9,应该
case 9:
//if(cd_input_f&BIT(USB_INSERT_F))single_counter=16;//马上开机
break;
case 10:
case 11:
case 12:
//if(cd_input_f&BIT(CARD_INSERT_F))single_counter=16;
break;
default:
break;
}
counter1_10ms++;
if(counter1_10ms<70)
{
if(single_counter>50)
{
if(input_select<4) //备份
ht_input_select=input_select;
else if(input_select<7)
tv_input_select=input_select;
else
cd_input_select=input_select-7;
Signal_Detect_OK = 1;
turn_on_init();//检测开机
}
else
{
Signal_Detect_OK = 0;
}
}
else
{
counter1_10ms=0;
single_counter=0;
if(!(bdata0_flag&BIT(RUN_F)))
//input_select++;//注意,开了机选择输入不加
{input_select_autojia();}
if(input_select==7)input_select=0;
input_select_disposal();/*inputselect send data*/
}
}
else
{
if(!(PINC&BIT(CHECK_SINGLE)))counter_1s_check++;
//input_select_autojia();
//input_select_disposal();/*这里要修改,暂屏蔽,切换通道前input_select要送*/
}
// }
// else
// {
// Detect_Signal_Timer++;
// }
//}
counter_karaok_10ms++;
if(bdata3_flag&BIT(OK1_INSERT_FLAG))
{
if(!(PINF&BIT(MICIN_1)))no_ok1single_counter++;//ok 拔出
if((no_ok1single_counter>15)&&(counter_karaok_10ms<20))//新加ok检测,待修改
{
bdata3_flag&=~BIT(OK1_INSERT_FLAG);
MIC_Signal_OK = 0;
no_ok1single_counter=0;
//王明文添加
state_counter=6;
Disp_Type = MIC_1;
VFD_Variable = MIC_Pullout;
Display_Proc(MIC_Connect_DisMode);
Flg_MIC_Disp = 1;
}
}
else
{
if(PINF&BIT(MICIN_1))ok1_single_counter++;//KARA OK检测放到外面处理
if((ok1_single_counter>15)&&(counter_karaok_10ms<20))//新加ok检测,待修改
{
bdata3_flag|=BIT(OK1_INSERT_FLAG);
// bdata7_flag&=~BIT(decode_mute);
ok1_single_counter=0; //MIC1 INSERT
//王明文添加
state_counter=6;
Disp_Type = MIC_1;
VFD_Variable = MIC_Insert;
Display_Proc(MIC_Connect_DisMode);
Flg_MIC_Disp = 1;
}
}
if(bdata3_flag&BIT(OK1_INSERT_FLAG) && MIC_Signal_OK == 0)
{
MIC_Signal_OK = 1;
// input_select=0;
input_select=input_select_bak;
if(input_select<4)
ht_input_select=input_select;
else if(input_select<7)
tv_input_select=input_select;
//else if(input_select<10)
//{if(!(cd_input_f&BIT(USB_INSERT_F)))input_select=0;}
//else if(input_select<13)
//{if(!(cd_input_f&BIT(CARD_INSERT_F)))input_select=0;}
else //asm("nop");
{
input_select=0;
ht_input_select=0;
}
input_select_disposal();
// write_data_display(0,13,mic_insert_display);
turn_on_init();
}
if(counter_karaok_10ms>=20)
{
counter_karaok_10ms=0;
no_ok1single_counter=0;
ok1_single_counter=0;
}
}
// if(bdata6_flag&BIT(TOUCH_6930_FLAG))//控制触摸亮灯时间
// {led_6930_100ms++;
// if(led_6930_100ms>2)
// {led_6930_100ms=0;
// bdata6_flag&=~BIT(TOUCH_6930_FLAG);
// }
// }
// else led_6930_100ms=0;
}
if(time_flag&BIT(FLAG_10MS))//FLAG_10MS 处理
{
time_flag&=~BIT(FLAG_10MS);
counter_cm6930_10ms++;
if(counter_cm6930_10ms>=3)
{counter_cm6930_10ms=0;
touch_cm6930_buffer_bak[1]=key_cm6930();
if(touch_cm6930_buffer_bak[0]==touch_cm6930_buffer_bak[1])
{
touch_cm6930_line++;
if(touch_cm6930_line>3)
{
touch_cm6930_buffer=touch_cm6930_buffer_bak[0];
touch_cm6930_line=0;
if(touch_cm6930_buffer==0x00)
{
// data_4094&=~BIT(led_blue);
// data_4094&=~BIT(led_green);
// write4094(data_4094);
touch_flag&=~BIT(TOUCH_cm6930_CONTINUE_F);
}
else
{
touch_cm6930_disposal();
}
}
}
else
{
touch_cm6930_line=0;
touch_cm6930_buffer_bak[0]=touch_cm6930_buffer_bak[1];
touch_flag&=~BIT(TOUCH_cm6930_CONTINUE_F);
}
}
if(touch_counter<250)
{touch_counter++;}
if(touch_counter>=5)
{
touch_counter1=0;
touch_value_bak=0xff;
led=0;
}//按键松开;
}
if(bdata2_flag&BIT(EEPROM_SAVE_F))
{
bdata2_flag&=~BIT(EEPROM_SAVE_F);
j=SREG;
CLI();
if (ram[0]>35)ram[0]=35;
if (ram[0]<15)ram[0]=15;
for(i=1;i<114;i++)
{
__EEPUT(i,ram[i-1]);
}
for(i=114;i<118;i++)
{
__EEPUT(i,ram_2[i-114]);
}
for(i=121;i<176;i++)
{
__EEPUT(i,ram_ht[i-121]);
}
for(i=176;i<189;i++)
{
__EEPUT(i,ram_cd[i-176]);
}
__EEPUT(189,kalaok_mode);
__EEPUT(190,Speaker_Mode);
__EEPUT(191,Cn_En_Mode);
SEI();
SREG=j;
//write_data_display(0,13,&long_avlight[13]);//新加待机显示
//display_state=3;//显示慢显
// write_data_display(0,13,blank);//2007/3/26
display_state=1;//由于取消慢显
disp_reg_line=0;
disp_line=41;
move_line=0;
bdata4_flag|=BIT(DISPLAY_SLOW_F);
}
// touch_disposal();//按键处理
/************解码板发送接收数据处理**************/
if(bdata3_flag&BIT(TWI_RECEIVED_F))
{
bdata3_flag&=~BIT(TWI_RECEIVED_F);
transfer_data_display[4]=transfer_data_display[2];
transfer_data_display[5]=transfer_data_display[3];
transfer_data_display[3]=transfer_data_display[1];
transfer_data_display[2]=transfer_data_display[0];
transfer_data_display[0]=receive_data[0];
transfer_data_display[1]=receive_data[1];
twi_receive_data_disposal();/*i2c接收数据*/
}
}
/**********************************RUN_F=1 开机循环运行*************************/
/*******************************************************************************/
else
{
if(standby_led==0){standby_led=0x40;}//新加常亮待机亮
/************解码板发送接收数据处理**************/
if(bdata3_flag&BIT(TWI_RECEIVED_F))
{bdata3_flag&=~BIT(TWI_RECEIVED_F);
transfer_data_display[4]=transfer_data_display[2];
transfer_data_display[5]=transfer_data_display[3];
transfer_data_display[3]=transfer_data_display[1];
transfer_data_display[2]=transfer_data_display[0];
transfer_data_display[0]=receive_data[0];
transfer_data_display[1]=receive_data[1];
twi_receive_data_disposal();/*i2c接收数据*/
}
if(time_flag&BIT(FLAG_500MS))//FLAG_500MS
{
time_flag&=~BIT(FLAG_500MS);
Temperature_Detect();
if(auto_search_counter!=0)
auto_search_counter--;
else
{
if(bdata4_flag&BIT(AUTO_SEARCH_F))
{
bdata4_flag&=~BIT(AUTO_SEARCH_F);
if(theatre_mode==0)
{
input_select=tv_input_select;//手动从上次TV通道开始切换
/// if(input_select==4)
///521 bdata3_flag|=BIT(DECODER_START);
input_select_init();
}
else if(theatre_mode==1)
{
input_select=ht_input_select;//0
///if((input_select==0)||(input_select==1))
///521 bdata3_flag|=BIT(DECODER_START);//在切选择时启动
input_select_init();
}
state_reg=0x32;
state_counter=6;
//if(input_select>7)
//{write_data_display(0,13,allinput_select_disp[input_select]);}
// write_data_display(0,13,allinput_select_disp[input_select]);
//王明文添加
VFD_Variable = input_select;
Display_Proc(Source_DisMode);
}
}
if(bdata4_flag&BIT(RESET_FLAG))
{
counter_500ms_reset++;
if(counter_500ms_reset>3)//新加,出厂设置恢复,待确?
{
counter_500ms_reset=0;
bdata4_flag&=~BIT(RESET_FLAG);
menu_address=0x33;
state_reg=0x17;
bdata3_flag|=BIT(MENU_OPEN_F);//新加,打开菜单,改
osd_byte[0]=menu_address;
osd_byte[1]=0;
osd_tiaoshi_display();//osd_tiaoshi 附加显示
remote_usbcard_on_disposal_1();
state_counter=6;
}
}
if(!(bdata2_flag&BIT(TURN_OFF_F)))
{
Temportect_disposal();//温度保护
Shortportect_disposal();
single_1s_counter++;
if(single_1s_counter>1220)single_1s_counter=0;//先计1分钟
if(!(PINC&BIT(CHECK_SINGLE)))
counter_1s_check++;//有信号加一
single_check_turnoff();//无信号定时关机, 与下面的重复所以屏蔽
if(bdata3_flag&BIT(OK1_INSERT_FLAG)) //有MIC插着时不关机
{
single_1s_counter=0;
counter_1s_check=0;
}
if((cd_input_f!=0)&&(bdata3_flag&BIT(USB_CARD_PLAYER_F)))//有USB,CARD在播放时不让它关机
{
single_1s_counter=0;
counter_1s_check=0;
}
}//短路保护 ,静音时老出现
counter_500ms_mute++;
if(counter_500ms_mute>1)
{
counter_500ms_mute=0;
if(bdata0_flag&BIT(FLAG_1HZ))
bdata0_flag&=~BIT(FLAG_1HZ);
else bdata0_flag|=BIT(FLAG_1HZ);
}
if(state_counter1>0)//状态定时
state_counter1--;
else
{
if(menu_address!=0)//菜单退出
{
bdata3_flag&=~BIT(MENU_OPEN_F);
menu_address=0;
osd_byte[0]=0;//菜单送数清零
osd_byte[1]=0;
remote_usbcard_on_disposal_1();
state_counter=0;//因为上面又送了一次数
if(theatre_mode==0)
video_select=3;//新加视频切换
else if(theatre_mode==1)
video_select=1;
else
video_select=2;
video_disposal();
}
}
if(state_counter>0)//状态定时
state_counter--;
else
{
Flg_Invalid_OS = 0;
if (Flg_MIC_Disp == 1)
{
Flg_MIC_Disp = 0;
Disp_Type = MIC_1;
state_counter=3;
Display_Proc(MIC_Connect_DisMode);
if (bdata3_flag&BIT(OK1_INSERT_FLAG))
{
VFD_Variable = MIC_Insert;
}
else
{
VFD_Variable = MIC_Pullout;
}
}
else
{
if(!(bdata3_flag&BIT(STATIC_STATE_F)))
{
//if(bdata0_flag&BIT(MUTE_F))
// display_state=2;
//else
//{
//Display_Proc(Frequency_DisMode);
//}
if(!(bdata4_flag&BIT(AUTO_SEARCH_F)))
{
//if (!(PINC&BIT(CHECK_SINGLE)))
if (Signal_Detect_OK == 1)
{
Display_Proc(Frequency_DisMode);
state_counter=6;
}
else
{
Display_Proc(Normal_DisMode);
state_counter=1;
}
}
state_reg=0;
Disp_Register = 0;
}
bdata6_flag&=~BIT(TOUCH_6930_FLAG);
bdata2_flag&=~BIT(SHAN_DONG_F);//闪动清0
// data_4094&=~BIT(led_blue);
// data_4094|=BIT(led_green);
// write4094(data_4094);
led=0;
}
}
}
if(time_flag&BIT(FLAG_200MS))
{
time_flag&=~BIT(FLAG_200MS);
if (touch_flag&BIT(autofit))
{
fshizhen();
}
sshizhen();
}
if(time_flag&BIT(FLAG_100MS))//FLAG_100MS 处理
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -