Kod: Zaznacz cały
unsigned char getkey()
{
DDRB=0x0F;
PORTB=14; //ustawiam pierwszy rząd
if((PINB & 16)==0) { delay_100ms(); return 1; }
if((PINB & 32)==0) { delay_100ms(); return 2; }
if((PINB & 64)==0) { delay_100ms(); return 3; }
if((PINB & 128)==0) { delay_100ms(); return 4; }
PORTB=13; //ustawiam kolejny rząd
if((PINB & 16)==0) { delay_100ms(); return 5; }
if((PINB & 32)==0) { delay_100ms(); return 6; }
if((PINB & 64)==0) { delay_100ms(); return 7; }
if((PINB & 128)==0) { delay_100ms(); return 8; }
PORTB=11;
if((PINB & 16)==0) { delay_100ms(); return 9; }
if((PINB & 32)==0) { delay_100ms(); return 10; }
if((PINB & 64)==0) { delay_100ms(); return 11; }
if((PINB & 128)==0) { delay_100ms(); return 12; }
PORTB=7;
if((PINB & 16)==0) { delay_100ms(); return 13; }
if((PINB & 32)==0) { delay_100ms(); return 14; }
if((PINB & 64)==0) { delay_100ms(); return 15; }
if((PINB & 128)==0) { delay_100ms(); return 16; }
return 0;
}