global variables: key, key_ready;

Timer0Isr:
   key = scankey;
   key_ready = TRUE;
end;

getchar:
   loop while key_ready is FALSE;
   key_ready = FALSE;
   return key
end;