void Wlacz_klawiature()
{
	//linie wierszy wejściowe
	TRIS_W1 = 1;
	TRIS_W2 = 1;
	TRIS_W3 = 1;
	TRIS_W4 = 1;
	//linie kolumn wyjściowe
	TRIS_K1 = 0;
	TRIS_K2 = 0;
	TRIS_K3 = 0;
	TRIS_K4 = 0;
}

char Czekaj_na_klawisz()
{
	char znak = 0;

	//czekaj na znak
	//while(znak == 0)
	{
		//aktywacja przycisków kolumy 1 (S1, S5, S9, S13)
		PORT_K1 = 0;		//na linii kolumny K1 stan niski
		PORT_K2 = 1;		//na linii kolumny K2 stan wysoki
		PORT_K3 = 1;		//na linii kolumny K3 stan wysoki
		PORT_K4 = 1;		//na linii kolumny K4 stan wysoki
		asm("nop");			//czas stabilizacji
		if(PORT_W1 == 0) znak = 1;
		if(PORT_W2 == 0) znak = 5;
		if(PORT_W3 == 0) znak = 9;
		if(PORT_W4 == 0) znak = 13;

		//aktywacja przycisków kolumy 2 (S2, S6, S10, S14)
		PORT_K1 = 1;		//na linii kolumny K1 stan wysoki
		PORT_K2 = 0;		//na linii kolumny K2 stan niski
		PORT_K3 = 1;		//na linii kolumny K3 stan wysoki
		PORT_K4 = 1;		//na linii kolumny K4 stan wysoki
		asm("nop");			//czas stabilizacji
		if(PORT_W1 == 0) znak = 2;
		if(PORT_W2 == 0) znak = 6;
		if(PORT_W3 == 0) znak = 10;
		if(PORT_W4 == 0) znak = 14;

		//aktywacja przycisków kolumy 3 (S3, S7, S11, S15)
		PORT_K1 = 1;		//na linii kolumny K1 stan wysoki
		PORT_K2 = 1;		//na linii kolumny K2 stan wysoki
		PORT_K3 = 0;		//na linii kolumny K3 stan niski
		PORT_K4 = 1;		//na linii kolumny K4 stan wysoki
		asm("nop");			//czas stabilizacji
		if(PORT_W1 == 0) znak = 3;
		if(PORT_W2 == 0) znak = 7;
		if(PORT_W3 == 0) znak = 11;
		if(PORT_W4 == 0) znak = 15;

		//aktywacja przycisków kolumy 4 (S4, S8, S12, S16)
		PORT_K1 = 1;		//na linii kolumny K1 stan wysoki
		PORT_K2 = 1;		//na linii kolumny K2 stan wysoki
		PORT_K3 = 1;		//na linii kolumny K3 stan wysoki
		PORT_K4 = 0;		//na linii kolumny K4 stan niski
		asm("nop");			//czas stabilizacji
		if(PORT_W1 == 0) znak = 4;
		if(PORT_W2 == 0) znak = 8;
		if(PORT_W3 == 0) znak = 12;
		if(PORT_W4 == 0) znak = 16;
	}

	return znak;
}
