motion said:
Even if there is a program that counts instructions, I would still not use delay loops. Try using them in program with RS-232 communications, LCD display and other tasks at the same time.
However, the way most timer based delays are written is not really much different to a software loop, including most of those in the MicroChip application notes.
They mostly put the PIC in a loop waiting for the timer flag to be set, this is no different to using a software loop - and no better for most tasks. It has a slight advantage in that interrupts during the delay won't have an effect on the delay time (unless they occur after the timer flag is set), but in most cases this won't make any significant difference anyway.
And my tutorials actually have examples using RS232, LCD, and other things, using software loops.
They are for beginning programmers, IMHO.
That's the whole point of the tutorials!. If a particular program works perfectly, why is any particular technique 'beginner' or 'advanced'?. You could just as accurately judge them as 'reliable programmer' and 'show off'.
Although I do understand your point of view, and if you've had the odd occasion where you
needed a timer based solution, it's simple to use the code again in the future even when it offers no advantages.