initial pulse generation via timers and interrupt service routines