📄 t10a2_other_disp.c
字号:
bdata2_flag|=BIT(TURN_ON_F);//TURN_ON_F=1
data_4094&=~BIT(led_green);
data_4094|=BIT(led_blue);
//data_4094|=BIT(fan_con);
write4094(data_4094);
//while(!ini_FreqData()); //初始化频谱显示
while(!Initial_Display()) ; //开机画面
single_counter=0;
no_ok1single_counter=0;
no_ok2single_counter=0;
ok1_single_counter=0;
ok2_single_counter=0;
bdata0_flag&=~BIT(CHECK_SINGLE_ALLOW);//不允许自动开机
//state_counter=0;
counter1_10ms=0;
//counter_500ms=14; //开机显示的时间,为0时RUN_F=1;
//state_reg=0x00;
sendbyte1_r2s15902(); //打开上次关机通道/
//bdata2_flag|=BIT(TURN_ON_F);//TURN_ON_F=1
bdata0_flag&=~BIT(MUTE_F);
bdata0_flag|=BIT(VOL_UP_FLAG);//修改
bdata0_flag&=~BIT(VOL_DOWN_FLAG);
//bdata0_flag|=BIT(VOL_DOWN_FLAG);//新加 //2008-04-02
//water_led=0x00;
//for(i=0;i<65;i++)
//{disp_reg_copy[i]=0;}//清0
disp_reg_line=0;
disp_line=0;
//display_state=1;//显示慢显
//bdata4_flag|=BIT(DISPLAY_SLOW_F);
//write_data_display(0,13,blank);
counter_500ms=0; //开机显示的时间,为0时RUN_F=1;12
//SendDataToDisp_Buffer(blank,t10a,turn_on,*(allinput_select_disp+input_select));//修改,输入选择
water_led=0;
//if((input_select==0)||(input_select==1)||(input_select==4))bdata3_flag|=BIT(DECODER_START);//启动解码板 新改
/*if(input_select>6)//发送卡或USB启动码 ,暂屏蔽
{
remote_disposal_usbcard_inputselect();
remote_usbcard_on_disposal_1();
}*/
if((input_select==0)||(input_select==1)||(input_select==4))
{
///521 bdata3_flag|=BIT(DECODER_START);
I2C_counter=30;
}
delay_ms(20);
remote_disp_init_1();
state_counter=6;//原为10
VFD_Variable = input_select;
if (Signal_Detect_OK == 1)
{
Display_Proc(Detect_Source_DisMode);
}
else
{
Display_Proc(Source_DisMode);
}
//output_disposal();//4/18新加
}
void turn_off_init(void)
{
// write_data_display(0,13,blank);
//王明文添加
Display_Proc(StandBy_DisMode);
Signal_Detect_OK = 0;
error_counter=0x00;
counter_1s_error=0x00;
single_1s_counter=0;
counter_1s_check=0;//remote 处理
bdata7_flag&=~BIT(kaiji);
/****************************附加耳机转换成2.1ch*************************/
/*if(Tv_HT_f)
{
if(ram_ht[9*mode_select_ht+9]==2)ram_ht[9*mode_select_ht+9]=1;//如果为耳机输出转为2.1ch
}
else
{
if(ram[10*pingduan+10]==2)ram[10*pingduan+10]=1;
}*/
// data_4094&=~BIT(led_blue);
input_select_bak=input_select;//
bdata0_flag&=~BIT(CHECK_SINGLE_ALLOW);//no allow turn_on
state_reg=0x15;
state_counter=4;//控制时间 14
display_state=1;
//TWCR= 0x00; //disable twi
bdata2_flag&=~BIT(SHAN_DONG_F);
bdata0_flag&=~BIT(MUTE_F);
PORTA&=~BIT(MUTE_KARAOK);//关掉KARAOK
bdata0_flag|=BIT(VOL_DOWN_FLAG);//VOL_DOWN_FLAG=1
vol_max();
bdata2_flag|=BIT(TURN_OFF_F);//关机标志
bdata2_flag|=BIT(EEPROM_SAVE_F);//保存标志
bdata2_flag&=~BIT(TURN_ON_F);
disp_line=0;
led=0; //附加
single_1s_counter=0;//待确? counter_1s_check=0;//
single_counter=0;
ok1_single_counter=0;
ok2_single_counter=0;
no_ok1single_counter=0;
no_ok2single_counter=0;
AutoFit_Volume = 0;
fcounter1=0x00;
fcounter2=0x00;
scounter1=0x00;
scounter2=0x00;
fvol = 0;
svol = 0;
counter1_10ms=0;
touch_value=0xff;
//bdata0_flag|=BIT(STANDBY_SINGLECHECK_F);//STANDBY_SINGLECHECK_F=1;//手动关机有信号不允许开机//待确? bdata6_flag&=~BIT(KAIJI_FLAG);
bdata3_flag&=~BIT(USB_CARD_PLAYER_F);
bdata4_flag&=~BIT(TUICHU_ANJIAN_F);
bdata3_flag&=~BIT(MENU_OPEN_F);
bdata4_flag&=~BIT(AUTO_SEARCH_F);
menu_address=0;
// data_4094&=~BIT(led_green);
// data_4094&=~BIT(led_blue);
//data_4094&=~BIT(coder);
data_4094&=~BIT(fan_con);
write4094(data_4094);
}
void Temportect_disposal(void)
{
static uchar T_Counter = 0;
static uchar T1_Counter = 0;
static uchar T2_Counter = 0;
static uchar T3_Counter = 0;
T_Counter++;
if (Temperature_Value <= TEMP_FAN_DRIVE && Temperature_Value >= TEMP_VOLUME_DEC)
{
//fan
T1_Counter++;
}
if (Temperature_Value <= TEMP_VOLUME_DEC && Temperature_Value >= TEMP_PROTECT)
{
//Volume --
T1_Counter++;
T2_Counter++;
}
if (Temperature_Value <= TEMP_PROTECT)
{
//standby
T1_Counter++;
T2_Counter++;
T3_Counter++;
}
if (T_Counter >= 20)
{
T_Counter = 0;
if (T1_Counter >= 15 && (!(PINC&BIT(CHECK_SINGLE))))
{
//fan
data_4094|=BIT(fan_con);
write4094(data_4094);
}
else
{
data_4094&=~BIT(fan_con);
write4094(data_4094);
}
if (T2_Counter >= 15)
{
//Volume --
if (touch_flag&BIT(autofit))
{
// bdata0_flag|=BIT(VOL_UP_FLAG);//VOL_UP_FLAG=1;
// bdata5_flag&=~BIT(VOL_FLAG);
if(AutoFit_Volume < 6)
{
AutoFit_Volume++;
sendbyte2_r2s15902();
sendbyte3_r2s15902();
sendbyte4_r2s15902();
}
}
touch_flag |= BIT(Temperature95);
}
else
{
touch_flag &= ~BIT(Temperature95);
}
if (T3_Counter >= 15)
{
//保护 关机
//王明文添加
VFD_Variable = Temperature_Protect;
Display_Proc(Protect_DisMode);
}
T1_Counter = 0;
T2_Counter = 0;
T3_Counter = 0;
}
}
/* 测试使用
if (data_4094&BIT(fan_con))
{
data_4094&=~BIT(fan_con);
}
else
{
data_4094|=BIT(fan_con);
}
write4094(data_4094);
*/
void fshizhen(void)
{
fcounter1++;
if(!(PING&BIT(f_level)))
{
fcounter2++;
}
if(fcounter1>10)
{
fcounter1=0x00;
if(fcounter2>5)
{
if(fvol<20)
{
fvol++;
sendbyte2_r2s15902();
}
}
fcounter2=0x00;
}
}
void sshizhen(void)
{
scounter1++;
if(!(PING&BIT(s_level)))
{
scounter2++;
}
if(scounter1>10)
{
scounter1=0x00;
if(scounter2>5)
{
if(svol<20)
{
svol++;
sendbyte3_r2s15902();
sendbyte4_r2s15902();
}
}
scounter2=0x00;
}
}
void Dcportect_disposal(void)
{
if(!(PIND&BIT(err_dc))) //直流检测,关机时是否需保存数据,修改
{
PORTD|=BIT(STANDBY_SWITCH);
}
}
void Shortportect_disposal(void)
{
static uchar Detect_Time = 0;
static uchar Detect_Time_NoS = 0;
counter_short_20s++;
if(PIND&BIT(err_short))
{
Detect_Time++;
Detect_Time_NoS = 0;
}
else
{
Detect_Time_NoS++;
}
if((counter_short_20s > 0) && (counter_short_20s % 4 == 0))
{
if (Detect_Time > 0)
{
Detect_Time = 0;
short_counter++;
bdata3_flag |= BIT(STATIC_STATE_F);
state_counter=3;
//加显示
if(short_counter>=3)
{
short_counter=0x00;
Detect_Time = 0;
turn_off_init();
//王明文添加
Display_Proc(StandBy_DisMode);
}
else
{
VFD_Variable = ShortC_Protect;
Display_Proc(Protect_DisMode);
}
}
}
if(Detect_Time_NoS > 5)
{
counter_short_20s=0x00;
short_counter=0x00;
Detect_Time = 0;
}
}
void single_check_turnoff(void)//无信号自动关机
{
if(single_1s_counter>=1200)
{
single_1s_counter=0;
counter_1s_check=0;
}
if((single_1s_counter>1180)&&(counter_1s_check<50))
{
turn_off_init();
bdata0_flag|=BIT(CHECK_SINGLE_ALLOW);//check_single_allow=0;//允许自动开机
bdata0_flag&=~BIT(STANDBY_SINGLECHECK_F);//STANDBY_SINGLECHECK_F=0;
input_select_bak=input_select;//保存为当前通道,下次遥控开机时为当前通道.
/*for(i=0;i<6;i++)//附加待机时音量清0
{
ram_1[i]=0;
}
delay_us(5);
sendbyte2_r2s15902();
delay_us(5);
sendbyte3_r2s15902();
delay_us(5);
sendbyte4_r2s15902();*/
// SendDataToDisp_Buffer(blank,turn_off,save,byebye);
//王明文添加
Display_Proc(StandBy_DisMode);
}
}
void karaok_insert_pullout_disposal(void)//检测karaok
{
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);
no_ok1single_counter=0;
write_data_display(0,13,mic_pullout_display); //MIC1 PULLOUT
state_reg = 0;
if(VFD_Display_Mode != StandBy_DisMode)
{
//王明文添加
state_counter=4;
Disp_Type = MIC_1;
VFD_Variable = MIC_Pullout;
MIC_Signal_OK = 0;
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);
if(!(bdata0_flag&BIT(MUTE_F)))
{
PORTA|=BIT(MUTE_KARAOK);//打开MIC
}
ok1_single_counter=0; //MIC1 INSERT
write_2313_page();
write_mic_delay();
if(VFD_Display_Mode != StandBy_DisMode)
{
//王明文添加
state_counter=4;
Disp_Type = MIC_1;
VFD_Variable = MIC_Insert;
Display_Proc(MIC_Connect_DisMode);
MIC_Signal_OK = 1;
Flg_MIC_Disp = 1;
}
}
}
if (!(bdata3_flag&BIT(OK1_INSERT_FLAG)))
PORTA&=~BIT(MUTE_KARAOK); //静音MIC
if(counter_karaok_10ms>=20)
{
counter_karaok_10ms=0;
no_ok1single_counter=0;
ok1_single_counter=0;
}
}
void osd_tiaoshi_display(void)//调试时作显示用
{
/*uchar temp0,temp1;
write_data_display(0,4,osd_tiaoshi);//osd_tiaoshi 附加显示
temp0=osd_byte[0];
temp1=temp0;
temp0>>=4;
temp1&=0x0f;
write_yigezi_display(4,temp0);
write_yigezi_display(5,temp1);
write_data_display(6,9,&osd_tiaoshi[6]);
temp0=osd_byte[1];
temp1=temp0;
temp0>>=4;
temp1&=0x0f;
write_yigezi_display(9,temp0);
write_yigezi_display(10,temp1);
write_data_display(11,13,&osd_tiaoshi[11]);
display_state=1;*/
}
void touch_disposal(void)
{
}
void touch_cm6930_disposal(void)//面板按键处理
{
if(!(touch_flag&BIT(TOUCH_cm6930_CONTINUE_F)))
{
touch_flag|=BIT(TOUCH_cm6930_CONTINUE_F);
single_1s_counter=0;
counter_1s_check=0;
static_state_counter=0;//静态待机清0
static_counter_10ms=0;
bdata3_flag&=~BIT(STATIC_STATE_F);
if(!(bdata0_flag&BIT(RUN_F)))//新加,所有按键能开机
{
if(!(bdata2_flag&BIT(TURN_ON_F)))
{
if((disp_reg_line==0)||(disp_line==0)||(display_state==1)||(counter_500ms==0)||(state_reg==0))
{
remote_data2=0x00;
// write_data_display(0,13,blank);
//王明文添加
//CLEAR_VFD();
}
}
}
else
{
switch(touch_cm6930_buffer)
{
case 0x90:
data_4094&=~BIT(led_blue);
data_4094|=BIT(led_green);
write4094(data_4094);
remote_data2=0x27;//ok 确认键
break;
case 0x10:
data_4094&=~BIT(led_blue);
data_4094|=BIT(led_green);
write4094(data_4094);
remote_data2=0x0b;//ok 确认键
break;
case 0xc0:
data_4094&=~BIT(led_blue);
data_4094|=BIT(led_green);
write4094(data_4094);
remote_data2=0x11;//ok 确认键
break;
case 0xa0://模式
data_4094&=~BIT(led_blue);
data_4094|=BIT(led_green);
write4094(data_4094);
remote_data2=0x03;//mode
break;
case 0x60: //MPLAYER
data_4094&=~BIT(led_blue);
data_4094|=BIT(led_green);
write4094(data_4094);
remote_data2=0x01;
break;
case 0xe0: //TV_THEATRE
data_4094&=~BIT(led_blue);
data_4094|=BIT(led_green);
write4094(data_4094);
remote_data2=0x04;
break;
case 0x20: //HOME_THEATRE
data_4094&=~BIT(led_blue);
data_4094|=BIT(led_green);
write4094(data_4094);
remote_data2=0x05;
break;
case 0x40: //AI
data_4094&=~BIT(led_blue);
data_4094|=BIT(led_green);
write4094(data_4094);
remote_data2=0x22;
break;
case 0x80: //MIC Menu
data_4094&=~BIT(led_blue);
data_4094|=BIT(led_green);
write4094(data_4094);
remote_data2=0x13;
break;
default:
break;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -