	
	//----------------------------------------------
	//[i] function_void play_tone int32;
	public void play_tone( int32 t )
	{
		int16 n = (int16)t;
		uint16 data = tone_table[n];
		#.MEGA128.OCR1AH = data.8(uint8);
		#.MEGA128.OCR1AL = data.0(uint8);
		#.MEGA128.TIMSK | 0b0001_0000;
	}
	//----------------------------------------------
	//[i] function_void stop;
	public void stop()
	{
		SOUND_OUT = 0;
		#.MEGA128.TIMSK & 0b1110_1111;
	}
	//----------------------------------------------
	//ʱʼ
	// 6MHz, ƵΪ1, ƵΪ 6000000Hz
	//ֵΪ 23 * 256 + 112 = 6000
	//жƵΪ 6000000Hz / 6000 = 1000Hz
	void timer_init()
	{
		//ģʽ
		#.MEGA128.TCCR1A = 0;
		#.MEGA128.TCCR1B = 0b0000_1001;
		//ʱ
		#.MEGA128.OCR1AH = 23;
		#.MEGA128.OCR1AL = 112;
		//ʹж
		//MCU TIMSK | 0b0001_0000;
		//ж
		#.MEGA128.TIFR | 0b0001_0000;
	}
	//----------------------------------------------
	//жϷ
	interrupt [#.MEGA128.WATCH.timer1_compA]
	void timer1_compA()
	{
		SOUND_OUT = ~SOUND_OUT;
	}
	