Bei 4 MHZ (Mega32) reichen bei meiner Multiplextastatur 3 NOPS aus, damit sie zuverlässig läuft.

Code:
reset portb.3
config portb.3=output
nop
nop
nop

if pinb.4=0 then 'Taste gedrückt
endif

if pinb.5=0 then 'Taste gedrückt
endif

config portb.3 = input
set portb.3
... mit nächsten Pin von vorn...
Läuft zuverlässig. Ohne die Nops werden die ersten Tasten nicht zuverlässig erkannt

Timer sind sehr gut in der Hilfe erklärt. Ich nutze gern einen 1ms oder für längere Zeiträume 10ms Timerdurchläufe. Diese dann einfach zählen und so die Zeitdifferenz ermitteln. Englischkenntnisse sind klar von Vorteil.

Ich habe grad leider kein Bascom für Codeschnipsel hier.... Wenn Du die Bascom internen Uhrroutinen nutzt, kannst Du mit Sectic=... eine Sub angeben, welche jede Sekunde aufgerufen wird.