⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 audio.c

📁 7541数字高频头源程序
💻 C
📖 第 1 页 / 共 3 页
字号:
/*********************************************************
	Project:		TF60K
	File name:	Aud_main.c
	Description:	
	Write/Modify:	Perry.Liang
	Time:		2005-2-18- 15:12:49
*********************************************************/
#include "public.h"

#define UP 		1
#define DOWN	-1

static const unsigned char NumToDisp[]=
{
	0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF
};

static const unsigned char AudioMessage[]=
{
	'V','O','L','U','M','E',' ',' ',				// 0
	'F',84,'Z','O','N','E',' ',' ',' ',' ',' ',		// 1
	'R',84,'Z','O','N','E',' ',' ',' ',' ',' ',		// 2
	//'S',84,'W','O','O','F','E','R',' ',' ',		// 3
	'S','U','B','W','O','O','F','E','R',' ',' ',		// 3
	//'S','U','B','W','L','P','F',' ',' ',' ',' ',		// 4
	'S','U','B',84,'W','L','P','F',' ',' ',' ',' ',	// 4
	'i','X',84,'B','A','S','S',' ',' ',' ',' ',		// 5
	'i','X',84,'B','A','S','S',' ',' ',' ',' ',' ',		// 6
	'B','A','S','S',87,' ',' ',				// 7
	'B','A','S','S','C','F','Q',' ',' ',' ',' ',		// 8
	'B','A','S','S',84,'Q',' ',' ',' ',' ',			// 9
	'M','I','D','D','L','E',' ',' ',				// 10
	'M','I','D',84,'C','F','Q',' ',' ',' ',' ',' ',		// 11
	'M','I','D','D','L','E',84,'Q',' ',' ',' ',' ',	//12
	'T','R','E','B','L','E',' ',' ',				// 13
	'T','R','E',84,'C','F','Q',' ',' ',' ',' ',' ',' ',	// 14
	'B','A','L','A','N','C','E',' ',' ',' ',			// 15
	'F','A','D','E','R',' ',' ',' ',				// 16

	'2',84,'Z','O','N','E','O','n',			// 17
	'2',84,'Z','O','N','E','O','f','f',			// 18

	'M','u','t','e',						//19

	'i','X',84,'B','A','S','S','O','n',			// 20
	'i','X',84,'B','A','S','S','O','f','f',			// 21
	//'S',84,'W','O','O','F','E','R','O','n',		// 22
	//'S',84,'W','O','O','F','E','R','O','f','f'		// 23
	'S','U','B','W','O','O','F','E','R','O','n',		// 22
	'S','U','B','W','O','O','F','E','R','O','f','f'		// 23
	
};



/*********************************************
	Function:		AudioInit
	Description:	
	Write/Modify:	Perry.Liang
	Time:		2004-8-9- 16:31:15
*********************************************/
void AudioInit()
{
	Pin_AMUTE=0;
	PD_AMUTE=1;
	PO_AMUTE=1;
	
	AudioI2CBuf[0]=y00110000;
	AudioI2CBuf[1]=y11100000;
	AudioI2CBuf[2]=y00000111;
	AudioI2CBuf[3]=y00000000;
	AudioI2CBuf[4]=y00000000;
	AudioI2CBuf[5]=y00000000;
	AudioI2CBuf[6]=y00000000;
	AudioI2CBuf[7]=y00110000;
	AudioI2CBuf[8]=y01000000;
	AudioI2CBuf[9]=y11110111;
	AudioI2CBuf[10]=y00000000;
	AudioI2CBuf[11]=y00000000;
	AudioI2CBuf[12]=y00000000;
	AudioI2CBuf[13]=y00000000;
	AudioI2CBuf[14]=y10000000;
	AudioI2CBuf[15]=y10000000;
	AudioI2CBuf[16]=y00010111;
	AudioI2CBuf[17]=y00000000;
	
	AudioVol=12;
	AudioFVol=12;
	AudioRVol=12;
	AudioBas=6;
	AudioBasFre=0;
	AudioBasQ=0;
	AudioTre=6;
	AudioTreFre=0;
	AudioMid=6;
	AudioMidFre=0;
	AudioMidQ=0;
	AudioIXBass=0;
	AudioIXBass_Bk=1;
	AudioIXBassFre=0;
	AudioSubw=13;
	AudioSubw_Bk=0;
	AudioSubwFre=0;
	AudioSubwFre_Bk=1;
	AudioBal=12;
	AudioFad=12;

	AudioFSource=AUDIO_INPUT_RADIO;
	AudioRSource=AUDIO_INPUT_RADIO;
	F_2ZONE=0;
	F_LOUD=0;
	F_SUBW=0;
	F_3DSOUND=0;
	F_MUTE=0;
	
	AudioCalc(AUDIO_ALL_VAL);//yete ask
	AudioSend(AUDIO_AREA_ALL);

	AudioWorkMode=AUDIO_MODE_IDLE;
	
}

/*********************************************
	Function:		AudioMain
	Description:	
	Write/Modify:	Perry.Liang
	Time:		2004-8-9- 16:31:21
*********************************************/
void AudioMain(void)
{
	AudioKey();
	AudioDisp();
	AudioProc();
	SoftChangeLoop();
}

/*********************************************
	Function:		AudioProc
	Description:	
	Write/Modify:	Perry.Liang
	Time:		2004-8-9- 16:31:28
*********************************************/
void AudioProc(void)
{

	if(AudioTimer==1)
	{
		AudioTimer=0;
		AudioWorkMode=AUDIO_MODE_IDLE;
		
		switch(System.FWorkMode.Current)
		{
			case WORKMODE_RADIO:
				System.DispMode.Requst=DISPMODE_RADIO;
				break;
			case WORKMODE_CD:
				System.DispMode.Requst=DISPMODE_CD;
				break;
			case WORKMODE_CDC:
				System.DispMode.Requst=DISPMODE_CDC;
				break;
			case WORKMODE_AUX:
				System.DispMode.Requst=DISPMODE_AUX;
				break;
			case WORKMODE_PHONE:
				System.DispMode.Requst=DISPMODE_PHONE;
				break;
			case WORKMODE_STANDBY:
				System.DispMode.Requst=DISPMODE_STANDBY;
				break;
			case WORKMODE_ALIGN:
				System.DispMode.Requst=DISPMODE_ALIGN;
				break;
		}
		
	}
	
	switch(System.FWorkMode.Next)
	{
		case WORKMODE_IDLE:
			
			break;
		case WORKMODE_RADIO:
			AudioFSource=AUDIO_INPUT_RADIO;
			AudioCalc(AUDIO_SOURCE);
			AudioSend(AUDIO_AREA_FSOURCE);
			break;
		case WORKMODE_CD:
			AudioFSource=AUDIO_INPUT_CD;
			AudioCalc(AUDIO_SOURCE);
			AudioSend(AUDIO_AREA_FSOURCE);
			break;
		case WORKMODE_CDC:
			AudioFSource=AUDIO_INPUT_CDC;
			AudioCalc(AUDIO_SOURCE);
			AudioSend(AUDIO_AREA_FSOURCE);
			break;
		case WORKMODE_AUX:
			AudioFSource=AUDIO_INPUT_AUX;
			AudioCalc(AUDIO_SOURCE);
			AudioSend(AUDIO_AREA_FSOURCE);
			break;
	}


}


/*********************************************
	Function:		AudioDisp
	Description:	
	Write/Modify:	Perry.Liang
	Time:		2004-8-9- 16:31:32
*********************************************/
void AudioDisp(void)
{

	if(System.DispMode.Current!=DISPMODE_AUDIO)return;
	if(!F_AudioDispReq)return;
	F_AudioDispReq=0;

	PrintLine1("   Audio Mode");
	
	switch(AudioWorkMode)
	{
		case AUDIO_MODE_VOL:
			PrintLine2("   VOLUME 00");
			DispBuff[26]=AudioVol/10+'0';
			DispBuff[27]=AudioVol%10+'0';
			break;
		case AUDIO_MODE_BASS:
			PrintLine2("    BASS 00");
			if(AudioBas>6)
			{
				DispBuff[25]='+';
				DispBuff[26]=AudioBas-6+'0';
			}
			else if(AudioBas<6)
			{
				DispBuff[25]='-';
				DispBuff[26]=6-AudioBas+'0';
			}
			else
			{
				DispBuff[25]=' ';
				DispBuff[26]='0';
			}
			break;

		case AUDIO_MODE_MID:
			PrintLine2("   MIDDLE 00");
			if(AudioMid>6)
			{
				DispBuff[26]='+';
				DispBuff[27]=AudioMid-6+'0';
			}
			else if(AudioMid<6)
			{
				DispBuff[26]='-';
				DispBuff[27]=6-AudioMid+'0';
			}
			else
			{
				DispBuff[26]=' ';
				DispBuff[27]='0';
			}
			break;
			
		case AUDIO_MODE_TRE:
			PrintLine2("   TREBLE 00");
			if(AudioTre>6)
			{
				DispBuff[26]='+';
				DispBuff[27]=AudioTre-6+'0';
			}
			else if(AudioTre<6)
			{
				DispBuff[26]='-';
				DispBuff[27]=6-AudioTre+'0';
			}
			else
			{
				DispBuff[26]=' ';
				DispBuff[27]='0';
			}
			break;

		case AUDIO_MODE_BAL:
			PrintLine2("  BALANCE C00");
			if(AudioBal>12)
			{
				DispBuff[26]='R';
				DispBuff[27]=(AudioBal-12)/10+'0';
				DispBuff[28]=(AudioBal-12)%10+'0';
			}
			else if(AudioBal<12)
			{
				DispBuff[26]='L';
				DispBuff[27]=(12-AudioBal)/10+'0';
				DispBuff[28]=(12-AudioBal)%10+'0';
			}
			else
			{
				DispBuff[26]='C';
				DispBuff[27]='0';
				DispBuff[28]='0';
			}
			break;

		case AUDIO_MODE_FAD:
			PrintLine2("   FADER C00");
			if(AudioFad>12)
			{
				DispBuff[25]='F';
				DispBuff[26]=(AudioFad-12)/10+'0';
				DispBuff[27]=(AudioFad-12)%10+'0';
			}
			else if(AudioFad<12)
			{
				DispBuff[25]='R';
				DispBuff[26]=(12-AudioFad)/10+'0';
				DispBuff[27]=(12-AudioFad)%10+'0';
			}
			else
			{
				DispBuff[25]='C';
				DispBuff[26]='0';
				DispBuff[27]='0';
			}
			break;


	}
	


		
#if 0
	unsigned char temp;

	if(F_2ZoneKeyBack!=F_2ZoneKeyBackBK)
	{
		if(F_2ZoneKeyBack)
			F_2ZoneGotoBack=1;
		else
			F_2ZoneGotoFront=1;
	}
	else
	{
		F_2ZoneGotoBack=0;
		F_2ZoneGotoFront=0;
	}
	F_2ZoneKeyBackBK=F_2ZoneKeyBack;

	if(ZoneKeyTimer==1)
	{
		ZoneKeyTimer=0;
		F_2ZoneKeyBack=0;

		Menu.Color=F_BcMenuColor;
		F_MessageReq=1;
	}
	if(F_2ZONE&&F_HalfSecondOut
		&&System.AccMode==ACCMODE_ACCON
		&&System.PowerMode==POWERMODE_POWERON
		&&System.PanelMode==PANELMODE_PANELON)
	{
		if(F_2ZoneKeyBack)
		{
			if(F_HalfSecond)
				F_DISP_2ZONE=1;
			else
				F_DISP_2ZONE=0;
			Menu.Color=~Menu.Color;
		}
		else
			F_DISP_2ZONE=1;		
	}

	
	if(AudioTimer==1)
	{
		AudioTimer=0;
		AudioWorkMode=AUDIO_MODE_VOL;
		/*if(AnimaTimer==0)
			System.DispMode.Requst=DISPMODE_NORMAL;*/
		//System.DispMode.Requst=System.SaveDispMode;
		
		/*if(AnimationMode==ANIMA_MODE_NO)
			System.DispMode.Requst=DISPMODE_NORMAL;
		else
			System.DispMode.Requst=DISPMODE_ANIMATION;*/
		System.DispMode.Requst=DISPMODE_NORMAL;
		ReturnAnimatDisp(50);

		F_AudioMenuFromBegin=0;
	}
	
	if(F_MuteKey && F_HalfSecondOut && MuteTimer==0)
	{
		if(System.DispMode.Current!=DISPMODE_AUDIO)
			System.DispMode.Requst=DISPMODE_AUDIO;

		FindMessage(AudioMessage,AudioMessageLen,19);
		if(F_HalfSecond)
			ShowMessage(DispChar,DispCharLen,0,21,y00000000);
		else
			ClearMessageBuffer(ALLBUFFER);
		AudioTimer=100;
		return;
	}
		
	if(F_HalfSecondOut 
		&& System.PowerMode==POWERMODE_POWERON
		&& System.AccMode==ACCMODE_ACCON
		&& System.PanelMode==PANELMODE_PANELON)
	{
		F_AudioDispReq=1;
	}
	
	/*if(System.DispMode.Next==DISPMODE_AUDIO)
		F_AudioDispReq=1;*/
	if(!F_AudioDispReq)return;
	F_AudioDispReq=0;

	F_DISP_LOUD=F_LOUD;
	F_DISP_SUBW=F_SUBW;
		
		
	/*if(F_3DSOUND)
		AudioI2CBuf[16] |= 0x80;
	else
		AudioI2CBuf[16] &= 0x7F;*/

	
	if(System.DispMode.Current==DISPMODE_AUDIO
		||System.DispMode.Next==DISPMODE_AUDIO)
	{
		switch(AudioWorkMode)
		{
			case AUDIO_MODE_VOL:
				FindMessage(AudioMessage,AudioMessageLen,0);
				
				if(!F_2ZONE)
				{
					temp=AudioVol;
					DispChar[6]=(temp/10)+48;
					DispChar[7]=(temp%10)+48;
				}
				else	
				{
					if(F_2ZoneKeyBack)//(REMOTEKEYCODE)
					{
						temp=AudioRVol;
						DispChar[3]=84;
						DispChar[4]='R';
						DispChar[5]='E';
						DispChar[6]='A';
						DispChar[7]='R';
						DispChar[8]=' ';
						DispChar[9]=' ';
					}
					else
					{
						temp=AudioFVol;
						DispChar[3]=84;
						DispChar[4]='F';
						DispChar[5]='R';
						DispChar[6]='O';
						DispChar[7]='N';
						DispChar[8]='T';
						DispChar[9]=' ';
					}
					DispCharLen[3]=DISP_ICON+3;
					DispCharLen[4]=DISP_CH5+6;
					DispCharLen[5]=DISP_CH5+6;
					DispCharLen[6]=DISP_CH5+6;
					DispCharLen[7]=DISP_CH5+6;
					DispCharLen[8]=DISP_CH5+6;
					DispCharLen[9]=DISP_CH5+5;
					DispCharLen[10]=DISP_CH7+6;
					DispCharLen[11]=DISP_END+DISP_CH7+6;
					DispChar[10]=(temp/10)+48;
					DispChar[11]=(temp%10)+48;
				}

				break;
				
			case AUDIO_MODE_FZONE:
				FindMessage(AudioMessage,AudioMessageLen,1);
				if(F_HalfSecond&&F_DispFlash)break;
				switch(AudioFSource)
				{
					case AUDIO_INPUT_RADIO:
						DispChar[6]='T';
						DispChar[7]='u';
						DispChar[8]='n';
						DispChar[9]='e';
						DispChar[10]='r';
						break;
					case AUDIO_INPUT_CD:
						DispChar[6]=' ';
						DispChar[7]=' ';
						DispChar[8]='C';
						DispChar[9]='D';
						DispChar[10]=' ';
						break;
					case AUDIO_INPUT_AUX:
						DispChar[6]=' ';
						DispChar[7]='A';
						DispChar[8]='u';
						DispChar[9]='x';
						DispChar[10]=' ';
						break;
					default:
						DispChar[6]=' ';
						DispChar[7]='C';
						DispChar[8]='D';
						DispChar[9]='C';
						DispChar[10]=' ';
						break;
				}
				break;
				
			case AUDIO_MODE_RZONE:
				FindMessage(AudioMessage,AudioMessageLen,2);
				if(F_HalfSecond&&F_DispFlash)break;
				switch(AudioRSource)
				{
					case AUDIO_INPUT_RADIO:
						DispChar[6]='T';

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -