void Button(void) interrupt 0	//Extern 2 - INT0
{
IE = 0;

if (BUT2 == 0)	//Encoder
	{
	TH1 = TL1 = 0;	//Reset timeout timer
	TR1 = 1;	//Start timeout timer

	while((BUT2 == 0) && (TH1 < 0xf0));
		//Wait for end of pulse with timeout

	TR1 = 0;	//Stop timeout timer

	if (TH1 < 0xf0)	//No timeout
		{
		if (ENC0 == 0)	//Vol+
			{
			if (vol < 63)
				{
				vol++;
				writespi(1);
				}
			}
		else 	//Vol-
			{
			if (vol > 0)
				{
				vol--;
				writespi(1);
				}
			}
		}
	}