In die Funktion eine Endlosschleife zu legen ist keine so gute Idee. Du bist sehr viel flexibler, wenn die Funktion nur einmal die Tasten abfragt. Wenn das dann unbedingt in einer ungebremsten Endlosschleife geschehen soll, dann lege sie außen rum, also z.B. in main:
Code:
while (1)
    tastaturabfrageLow();
Ich weise allerdings nochmal darauf hin, dass du so einige Probleme mit prellenden Tasten haben wirst. Außerdem beinhaltet dein Programm im Augenblick ein sehr schnelles Autorepeat (zusätzlich zum Prellen). Also Taste 7 einmal kurz gedrückt und gleich 10mal (oder so) eine '7' auf dem Display.

Da ich eigentlich gerade Lust zum Programmieren habe, mache ich mir mal ein paar Gedanken und vielleicht später dann einen Alternativvorschlag.