key.c
来自「全数字高清电视数字调谐器」· C语言 代码 · 共 610 行 · 第 1/2 页
C
610 行
#if(DEBUG)
printf("key 3\n");
as.f_vif=china_ch.pic_if;
as.off_audio=slep;
as.sound_freq=sound;
tda9886_set(as);
#endif
}
void exit()//退出菜单
{
if(signal)
{
pal_ntsc();
if(p_n)
osd_start1();
else osd_starta();
}
else osd_start0();
#if(DEBUG)
printf("key 4\n");
#endif
}
void sound_select()//进入声音中频调节
{
while(1)
{
if(key3())//+
{
sound++;
if(sound>3)
sound=0;
vol_av(menu_cr2);
}
if(key2())//-
{
sound--;
if(sound>3)
sound=3;
vol_av(menu_cr2);
}
if(key4())
{
return;
}
}
}
void tv_av_select()//进入TV/AV1/AV2
{
while(1)
{
if(key3())//+
{
tv_av++;
if(tv_av>2)
tv_av=0;
vol_av(menu_cr2);
}
if(key2())//-
{
tv_av--;
if(tv_av>2)
tv_av=2;
vol_av(menu_cr2);
}
if(key4())
{
return;
}
}
}
void posa()//节目
{
while(1)
{
if(key3())//+
{
pos++;
if(pos>250)
pos=0;
vol_main(menu_cr1);
printf("please input char set....\n");
tongxin_rxd();
}
if(key2())//-
{
pos--;
if(pos>250)
pos=250;
vol_main(menu_cr1);
}
if(key4())
{
return;
}
}
}
void vol_off()//进入静音
{
while(1)
{
if(key3())//+
{
slep++;
if(slep>1)
slep=0;
vol_av(menu_cr2);
}
if(key2())//-
{
slep--;
if(slep>1)
slep=1;
vol_av(menu_cr2);
}
if(key4())
{
return;
}
}
}
void band_s()//波段
{
while(1)
{
if(key3())//+
{
band++;
if(band>2)
band=0;
vol_main(menu_cr1);
}
if(key2())//-
{
band--;
if(band>2)
band=2;
vol_main(menu_cr1);
}
if(key4())
{
return;
}
}
}
bit key1()
{
if(!key1_menu)
{
delay1(500);
if(!key1_menu)
{
delay1(300);
while(!key1_menu);
return(1);
}
}
return(0);
}
bit key2()
{
unsigned int i;
i=0;
if(!key2_up)
{
delay1(500);
if(!key2_up)
{
do
{
delay1(500);
i++;
if(i>400)
return(1);
}
while(!key2_up);
return(1);
}
}
return(0);
}
bit key3()
{
unsigned int i;
i=0;
if(!key3_np)
{
delay1(500);
if(!key3_np)
{
do
{
delay1(500);
i++;
if(i>400)
return(1);
}
while(!key3_np);
return(1);
}
}
return(0);
}
bit key4()
{
if(!key4_pow)
{
delay1(500);
if(!key4_pow)
{
delay1(300);
while(!key4_pow);
return(1);
}
}
return(0);
}
void ret_ch(ret_s dv,unsigned char xh)//保存有信号频道
{
union h
{
ret_s pk;
unsigned char hu[31];
} df;
df.pk.country=dv.country;
df.pk.chh=dv.chh;
df.pk.sound_freqf=dv.sound_freqf;
df.pk.rff=dv.rff;
df.pk.low_freqf=dv.low_freqf;
df.pk.up_freqf=dv.up_freqf;
df.pk.pic_if=dv.pic_if;
df.pk.f_iff2=dv.f_iff2;
df.pk.fif2_bw=dv.fif2_bw;
df.pk.f_stepf=dv.f_stepf;
wirte_24c64(xh*32+ch_64,df.hu,31);
}
void tuning_cun(unsigned char i)//调谐到预定频道
{
unsigned int x;
unsigned int s;
tv ac;
av as;
union h
{
ret_s pk;
unsigned char hu[31];
} df;
chan_le=i2c_reada(ch_cun);
read_24c64(i*32+ch_64,df.hu,31);
ac.f_if2=df.pk.f_iff2;
ac.f_step=df.pk.f_stepf;
ac.fif_bw=df.pk.fif2_bw;
ac.rf=df.pk.rff;
tuning_freq(ac);//调到频道
as.f_vif=df.pk.pic_if;
as.off_audio=slep;
as.sound_freq= df.pk.sound_freqf;
#if(DEBUG)
x=as.off_audio;s= as.sound_freq;
printf("图像中频=%f,静音=%u,声音中频=%u\n ",as.f_vif,x,s);
#endif
tda9886_set(as);
}
void daya1(unsigned long i)
{
for (;i!=0;i--)
_nop_();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?