И с времянкой все элементарно - я слишком ленив, чтобы разбираться, пусть ассемблер разбирается. Я задал в самом начале формулу расчета цикла задержки, и константу RATE - подставляй туда частоту опроса в герцах (10..10000) и получай нужный цикл (частота индикации, разумеется, будет в 3 раза выше, чем RATE)