www.pudn.com > HT1621Control.rar > volume_task.c


/*C************************************************************************** 
* NAME:         volume_task.c 
*---------------------------------------------------------------------------- 
* Copyright (c) 2006 Atmel. 
*---------------------------------------------------------------------------- 
* RELEASE:      C51 Sample       
* REVISION:     1.00      
*---------------------------------------------------------------------------- 
* 
*****************************************************************************/ 
 
/*_____ N O T E _____________________________________________________________ 
	 
___________________________________________________________________________*/ 
 
 
/*_____ I N C L U D E S ____________________________________________________*/ 
 
#include "system\reg51.h" 
#include "system\compiler.h" 
#include "system\config.h" 
#include "driver\io_def.h" 
#include "volume_task.h"                       
#include "driver\i2c_drv.h" 
/*_____ M A C R O S ________________________________________________________*/ 
 
 
/*_____ D E F I N I T I O N ________________________________________________*/ 
 
 
 
/*F************************************************************************** 
* NAME: disp_task_init 
*---------------------------------------------------------------------------- 
* PARAMS: 
* 
* return: 
*---------------------------------------------------------------------------- 
* PURPOSE:  
*   Display task initialization 
*---------------------------------------------------------------------------- 
* EXAMPLE: 
*---------------------------------------------------------------------------- 
* NOTE: 
*---------------------------------------------------------------------------- 
* REQUIREMENTS: 
*****************************************************************************/ 
void vol_task_init (void) 
{ 
	EA = Low; 
	I2c_WriteByte (SC7313_ADD, RADIO_IN); /* reset selection CD input */ 
	//I2c_WriteByte (SC7313_ADD, 0x5c); /* reset selection CD input */ 
	I2c_WriteByte (SC7313_ADD, 0x80); 
	I2c_WriteByte (SC7313_ADD, 0xa0); 
	I2c_WriteByte (SC7313_ADD, 0x7f); 
	I2c_WriteByte (SC7313_ADD, 0x6f); 
	I2c_WriteByte (SC7313_ADD, VOL_Step_Map[vol_value]); 
	//x7313_write(RADIO_IN); 
	//x7313_write(0x80); 
	//x7313_write(0xa0); 
	//x7313_write(0x7f); 
	//x7313_write(0x6f); 
	//x7313_write(VOL_Step_Map[vol_value]); 
	EA = High; 
} 
 
Byte code VOL_Step_Map[]={ 
	0x3f,	//0 (MUTE dB) 
	0x3f,	//1 (-78.75dB) 
	0x3e,	//2 (-75dB) 
	0x39,	//3 (-70dB)-5 
	0x34,	//4 (-65dB)-3.25 
	0x31,	//5 (-61.75dB)-3.25 
	0x2e,	//6 (-57.5dB)-3.25 
	0x2b,	//7 (-53.25dB)-3.25 
	0x28,	//8 (-50dB)-3.25 
	0x26,	//9 (-47.5dB) 
	0x24,	//10 (-45dB) 
	0x22,	//11 (-42.5dB) 
	0x20,	//12 (-40dB) 
	0x1f,	//13 (-38.75dB) 
	0x1e,	//14 (-37.5dB) 
	0x1d,	//15 (-36.25dB) 
	0x1c,	//16 (-35dB) 
	0x1b,	//17 (-33.75dB) 
	0x1a,	//18 (-32.5dB) 
	0x19,	//19 (-31.25dB) 
	0x18,	//20 (-30dB) 
	0x16,	//21 (-27.5dB) 
	0x14,	//22 (-25dB) 
	0x12,	//23 (-22.5dB) 
	0x10,	//24 (-20dB) 
	0x0e,	//25 (-17.5dB) 
	0x0c,	//26 (-15dB) 
	0x0a,	//27 (-12.5dB) 
	0x08,	//28 (-10dB) 
	0x06,	//29 (-7.5dB) 
	0x04,	//30 (-5dB) 
	0x02,	//31 (-2.5dB) 
	0x00,	//32 (0dB MAX) 
}; 
 
/*Byte code VOL_Step_Map[]={ 
	0x3f,	//0 (MUTE dB) 
	0x3e,	//1 (-77.5dB) 
	0x3c,	//2 (-75dB) 
	0x3a,	//3 (-72.5dB) 
	0x38,	//4 (-70dB) 
	0x36,	//5 (-67.5dB) 
	0x34,	//6 (-65dB) 
	0x32,	//7 (-62.5dB) 
	0x30,	//8 (-60dB) 
	0x2e,	//9 (-57.5dB) 
	0x2c,	//10 (-55dB) 
	0x2a,	//11 (-52.5dB) 
	0x28,	//12 (-50dB) 
	0x26,	//13 (-47.5dB) 
	0x24,	//14 (-45dB) 
	0x22,	//15 (-42.5dB) 
	0x20,	//16 (-40dB) 
	0x1e,	//17 (-37.5dB) 
	0x1c,	//18 (-35dB) 
	0x1a,	//19 (-32.5dB) 
	0x18,	//20 (-30dB) 
	0x16,	//21 (-27.5dB) 
	0x14,	//22 (-25dB) 
	0x12,	//23 (-22.5dB) 
	0x10,	//24 (-20dB) 
	0x0e,	//25 (-17.5dB) 
	0x0c,	//26 (-15dB) 
	0x0a,	//27 (-12.5dB) 
	0x08,	//28 (-10dB) 
	0x06,	//29 (-7.5dB) 
	0x04,	//30 (-5dB) 
	0x02,	//31 (-2.5dB) 
	0x00,	//32 (0dB MAX) 
};*/