Это делается точно и изящно на таймере, у которого есть Capture (в х51 это Т2). Прерывание заводится на вход Capture, его обработчик прибавляет твою константу к содержимому регистра Capture и грузит сумму в таймер. Таким способом точность интервала автоматически выдерживается до таймерного такта