That's the reason for using a PIC processor. ;) It's a little more complex, but it has an on-chip clock that is quite accurate, and can eliminate the external dependencies for delays, etc. Once it is calibrated for a (for example) 1.0 ms pulse, that's what you get, whether or not your command...