?? 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 + -