?? t10a2_main.c
字號:
time_flag&=~BIT(FLAG_100MS);
counter2_100ms++;
if(counter2_100ms>1)
{counter2_100ms=0;
if(touch_flag&BIT(TOUCH_100MS_F))
touch_flag&=~BIT(TOUCH_100MS_F);
else touch_flag|=BIT(TOUCH_100MS_F);
}
if(I2C_counter==0)//放到上面蔽開同時發生
{
if(bdata4_flag&BIT(MENU_INIT_F))//改
{
bdata4_flag&=~BIT(MENU_INIT_F);
menu_address=0;
bdata3_flag&=~BIT(MENU_OPEN_F);
osd_byte[0]=0;
osd_byte[1]=0;
remote_usbcard_on_disposal_1();
}
else if(bdata3_flag&BIT(DECODER_START)) //加
{
if((input_select==0)||(input_select==1)||(input_select==4))
{
decode_counter=0x00;
bdata7_flag|=BIT(decode_mute); //2007/05/18
}
bdata3_flag&=~BIT(DECODER_START);//由于前面加一0x01,0xXX,命令,所以推后,如需改回,只要將上面的子程序刪?
osd_byte[0]=0xa1;//啟動解碼板
osd_byte[1]=0x01;
remote_usbcard_on_disposal_1();
if((input_select==4)||(input_select<2))
bdata5_flag|=BIT(DECODER_OUTPUT_F);//啟動解碼之后,發送需要的輸出狀態.
I2C_counter=20;//作延時用,
}
else if(bdata5_flag&BIT(OSD_DELAY_F))//發送延時
{
bdata5_flag&=~BIT(OSD_DELAY_F);
osd_byte[0]=osd_byte_bak[0];
osd_byte[1]=osd_byte_bak[1];
remote_usbcard_on_disposal_1();
}
else if(bdata5_flag&BIT(DECODER_OUTPUT_F))//發送PrologicII,Downmix,standard,deBT_Sel輸出
{
bdata5_flag&=~BIT(DECODER_OUTPUT_F);//待驗證
if(bdata6_flag&BIT(OUT_PUT_FLAG0))
{
bdata6_flag&=~BIT(OUT_PUT_FLAG0);
output_disposal();//暫不用
}
}
else asm("nop");
}
if(I2C_counter!=0)
I2C_counter--;/*新加*/
if(I2C_counter==0)
{
PORTC&=~BIT(TWI_TRANS_F);
}
if(touch_flag&BIT(CONTINUE_F))//按鍵連續,清0,
{
if((touch_value_bak==0)||(touch_value_bak==1))
{
touch_counter1++;
if(touch_counter1>4)
{
touch_value_bak=0xff;
touch_counter1=5;
}
}
}
counter1_100ms++;
if(counter1_100ms>1)
{
counter1_100ms=0;
if(time_flag&BIT(FLAG_5HZ)) //取反
time_flag&=~BIT(FLAG_5HZ);
else time_flag|=BIT(FLAG_5HZ);
}
//if(disp_line<40)//40
//{write_data_display_1(0,13,&disp_buffer[disp_line]);}//流動
if((disp_line==12)||(disp_line==25)||(disp_line==38))counter0_100ms=5;//12,25,39
if(disp_line<41)//41
{
if((disp_line==13)||(disp_line==26)||(disp_line==39))
{
if(counter0_100ms==0)
disp_line+=1;
}
else
disp_line+=1;
}
if(counter0_100ms>0)counter0_100ms--;
if((bdata2_flag&BIT(TURN_OFF_F))&&(state_counter==0))//TURN_OFF_F=1
{
// PORTA|=BIT(STB);
// write_data_display(0,13,blank); //關機清零
//王明文添加
CLEAR_VFD();
VFD_Display_Mode = Initial_DisMode;
//Flg_Standby_SW = 0;
Signal_Detect_OK = 0;
data_4094&=~BIT(led_green);
data_4094&=~BIT(led_blue);
data_4094&=~BIT(MUTE_SURROUND);
data_4094&=~BIT(MUTE_ALL);
write4094(data_4094);
delay_ms(50);
bdata2_flag&=~BIT(TURN_OFF_F);//TURN_OFF_F=0;
//turn_off_init(); 不能用,修改
//bdata0_flag&=~BIT(CHECK_SINGLE_ALLOW); //暫時不允許檢測信號
bdata0_flag&=~BIT(RUN_F);//RUN_F=0;
bdata2_flag|=BIT(STANDBY_F);//STANDBY_F=1;
bdata7_flag|=BIT(mute_off_f);
// delay_us(5);
// PORTC|=BIT(POWER_DECODER); ////解碼板關閉
// PORTC&=~BIT(POWER_DECODER);//解碼板打開
cd_input_f=0;//2007/4/10待機后清USB CARD標志
// PORTD|=BIT(STANDBY_SWITCH);
standby_led=0x40;
}
// bdata7_flag&=~BIT(mode_adj_f);
}
if(time_flag&BIT(FLAG_5MS))//FLAG_5MS 處理
{
time_flag&=~BIT(FLAG_5MS);
//Lighten_VFD();
}
if(time_flag&BIT(FLAG_10MS))//FLAG_10MS 處理
{
time_flag&=~BIT(FLAG_10MS);
VFD_Display();
Dcportect_disposal();
//檢測信號
Signal_Detect_Time++;
if(!(PINC&BIT(CHECK_SINGLE)))
{
Signal_Detect_Time1++;
}
else
{
Signal_Detect_Time2++;
}
if (Signal_Detect_Time > 25)
{
if (Signal_Detect_Time1>15)
{
Signal_Detect_OK = 1;
}
else //if (Signal_Detect_Time2>70)
{
Signal_Detect_OK = 0;
}
Signal_Detect_Time = 0;
Signal_Detect_Time1 = 0;
Signal_Detect_Time2 = 0;
}
//信號檢測結素
if(touch_flag&BIT(fai_autosearch_tv))
{
touch_flag&=~BIT(fai_autosearch_tv);
ai_autosearch_tv();
}
if(bdata7_flag&BIT(keyai))
{
ai_single_counter1++;
if(!(PINC&BIT(CHECK_SINGLE)))ai_single_counter2++;
if(ai_single_counter1>20)
{
ai_single_counter1=0x00;
bdata7_flag&=~BIT(keyai);
if(ai_single_counter2>10)
{
ai_single_counter2=0x00;
if(!(bdata3_flag&BIT(MENU_OPEN_F)))
{
state_counter=6;
if(Disp_Register==0x50)
{
//王明文添加
if (bdata7_flag&BIT(ai_on))
{
bdata7_flag &=~ BIT(ai_on);
}
else
{
bdata7_flag |= BIT(ai_on);
}
}
else
{
Disp_Register=0x50;
state_reg = 0;
}
if(bdata7_flag&BIT(ai_on))
{
VFD_Variable = SW_OFF;
}
else
{
VFD_Variable = SW_ON;
}
Display_Proc(AI_DisMode);
//bit_eor(bdata7_flag,ai_on);
sendbyte1_r2s15902();
//display ai; ai_on=1,開啟,
}
}
else
{
ai_single_counter2=0x00;
bdata7_flag|=BIT(ai_autosearch);
if(menu_address!=0)
{
bdata3_flag&=~BIT(MENU_OPEN_F);
menu_address=0;
osd_byte[0]=0;//菜單送數清零
osd_byte[1]=0;
}
ai_autosearch_ht();
touch_flag&=~BIT(fai_autosearch_tv);
}
}
}
if (bdata7_flag&BIT(decode_mute))
{
if(!(PINC&BIT(CHECK_SINGLE)))
{
decode_counter++;
if(decode_counter>350)
{
bdata7_flag&=~BIT(kaiji);
bdata7_flag&=~BIT(decode_mute);
bdata3_flag&=~BIT(DECODER_START);
if(!(bdata0_flag&BIT(MUTE_F)))
{
fl_vol_bak=0;
fr_vol_bak=0;
sl_vol_bak=0;
sr_vol_bak=0;
ce_vol_bak=0;
bdata2_flag|=BIT(VOL_CHANGE_F);
sendbyte2_r2s15902();//fl,fr
sendbyte3_r2s15902();//cen,sw,
sendbyte4_r2s15902();//sl,sr
delay_ms(150);
data_4094|=BIT(MUTE_ALL);
if(bdata1_flag&BIT(CHANNLE_2AND5_F))
data_4094|=BIT(MUTE_SURROUND);
write4094(data_4094);
bdata0_flag|=BIT(VOL_UP_FLAG);//VOL_UP_FLAG=1;
bdata5_flag|=BIT(VOL_FLAG);
}
}
}
}
else
{
if(bdata7_flag&BIT(kaiji) && ((input_select!=0)&&(input_select!=1)&&(input_select!=4)))
{
if(!(PINC&BIT(CHECK_SINGLE)))
{
decode_counter++;
if(decode_counter>100)
{
bdata7_flag&=~BIT(kaiji);
// bdata7_flag&=~BIT(decode_mute);
bdata3_flag&=~BIT(DECODER_START);
if(!(bdata0_flag&BIT(MUTE_F)))
{
fl_vol_bak=0;
fr_vol_bak=0;
sl_vol_bak=0;
sr_vol_bak=0;
ce_vol_bak=0;
bdata2_flag|=BIT(VOL_CHANGE_F);
sendbyte2_r2s15902();//fl,fr
sendbyte3_r2s15902();//cen,sw,
sendbyte4_r2s15902();//sl,sr
delay_ms(150);
data_4094|=BIT(MUTE_ALL);
if(bdata1_flag&BIT(CHANNLE_2AND5_F))
data_4094|=BIT(MUTE_SURROUND);
write4094(data_4094);
bdata0_flag|=BIT(VOL_UP_FLAG);//VOL_UP_FLAG=1;
bdata5_flag|=BIT(VOL_FLAG);
}
}
}
}
}
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
{
if(!(bdata2_flag&BIT(TURN_OFF_F)))
{
if(bdata3_flag&BIT(MENU_OPEN_F))
{
data_4094&=~BIT(led_blue);
data_4094|=BIT(led_green);
write4094(data_4094);
}
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);
}
}
karaok_insert_pullout_disposal();//卡拉OK插入,拔出處理,改
/****************按影院自動搜索通道****************************/
auto_search_channel_theatre();
/**************************************************************/
/*ad_gain_counter++;
if(ad_gain_counter>100)ad_gain_counter=0;
// ad_gain_coutrol_disposal();//增益自動調節
//dispose_qidian();
static_counter_10ms++;
if(static_counter_10ms>250)static_counter_10ms=0;
if(static_counter_10ms<2)
{static_state_counter=0;
no_static_state_counter=0;}
if(bdata3_flag&BIT(STATIC_STATE_F))//2007/3/29 修改
{
if(!(PINC&BIT(CHECK_SINGLE)))
no_static_state_counter++;//無信號檢測共用一個狀態計數器,注意
if(no_static_state_counter>30)
{
no_static_state_counter=0;
static_state_counter=0;
bdata3_flag&=~BIT(STATIC_STATE_F);
if(bdata0_flag&BIT(MUTE_F))
{display_state=2;}
else //display_state=0;
{
disp_line=41;
// write_data_display(0,13,allinput_select_disp[input_select]);//&long_avlight[13]
display_state=1;
//王明文添加
//VFD_Variable = input_select;
//Display_Proc(Source_DisMode);
}
state_reg=0;
}
}
else
{
if(PINC&BIT(CHECK_SINGLE))
static_state_counter++;
if(static_state_counter>200)
{static_state_counter=0;
no_static_state_counter=0;
bdata3_flag|=BIT(STATIC_STATE_F);
}
}*/
if(theatre_mode==2)
bdata3_flag&=~BIT(STATIC_STATE_F);
//static_state_disposal();//無信號靜態顯示
//if((bdata3_flag&BIT(STATIC_STATE_F))&&(!(bdata0_flag&BIT(MUTE_F))))//待機時流動顯示,暫屏蔽
if(bdata3_flag&BIT(STATIC_STATE_F))
{//bdata3_flag&=~BIT(STATIC_STATE_F);
//static_state_counter=3000;//注意
//static_counter_10ms=2800;//第二次進待機時間只有30S
if(state_counter==0)
{
// write_data_display(0,13,blank);
//王明文添加
//CLEAR_VFD();
state_reg=0x25;
state_counter=10;//控制時間 ,要調試 上次是1
display_state=1;
//暫換成另外一種待機
switch(theatre_mode)
{
case 0: disp_line=0;
// if((input_select==6)&&(ram[10*pingduan+7]>5)) //(bdata5_flag&BIT(TV2_SINGLE)))
// SendDataToDisp_Buffer(blank,avlight,allinput_select_disp[input_select],mode[ram[10*pingduan+7]+6]);//靜態時
// else
// SendDataToDisp_Buffer(blank,avlight,allinput_select_disp[input_select],mode[ram[10*pingduan+7]]);//靜態時
//王明文添加
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;
}
}
//Display_Proc(Frequency_DisMode);
break;
case 1: disp_line=0;
// SendDataToDisp_Buffer(blank,avlight,allinput_select_disp[input_select],mode[mode_select_ht+5]);//靜態時
//王明文添加
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;
}
}
//Display_Proc(Frequency_DisMode);
break;
case 2: //SendDataToDisp_Buffer(blank,avlight,mplayer,allinput_select_disp[inp
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -