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