Damit die Tastenerkennung im Hintergrund mitlaufen kann, ohne das Hauptprogramm zu blockieren, müsste sie in einem Timer-interrupt laufen. Also zb alle 10ms die Tasten einlesen, vom ADC-Wert auf die einzelnen Tasten zurückrechnen, und dann die Flankenerkennung durchführen.