One detail I am genuinely curious: on a base-2 processor, how can you accurately obtain 1 second timebase out of 50ms by using a binary divider on your CPU?
http://www.microchip.com/forums/m410159.aspxIf you need to generate an arbitrary frequency you can do so with a fractional-N counter. You will get good long term stability as long as you don't truncate the numbers, at the cost of increased jitter. I've done that to generate I2S clocks off a 74.25mhz clock. An analyzer showed the clock was in spec and with acceptable jitter.
For longer term things you want to stick to old fashioned quartz. There are now lots of MEMS devices that are very cheap (I use them for base clocks and digital stuff) but they have poor long-term drift. They are more resilient for rugged environments since they don't exhibit piezo effects. A MEMS oscillator is basically a fixed output buzzing structure with loads of compensation circuitry to correct for PVT.
They're sold under various frequencies by burning internal PLL settings.
These oscillators have only recently become practical and they are quickly getting better.
Another good way to get accurate time... just read the line frequency of the AC input.