Hi David,
I used to think it was strange too and always included the clock
functionality in the microcontroller. However, I was always fine-tuning
the accuracy. I believe that someone was posting to this list a little
while back about his own Atmel microcontroller clock-code accuracy issues.
Later, I needed to build a clock that knew what day it was. I started
putting thought into adding that to the microcontroller, how to account
for leap-years, which months have how many days, etc. It was all more
than doable, but I decided to use the opportunity to try using an RTC.
Another driving factor was battery-backup. The RTC I was using (another
from Maxim, can't remember the name but it is a 8-pin DIP) made battery
backup a complete breeze. Real battery backup, a CR2032 or similar, with
a total of months/years of battery life driving the RTC & TCXO.
The RTC I used was I2C and it also provided an opportunity to learn how
to interface with I2C parts. :)
In the future, I'll probably use an RTC when I feel like it, on more
complex clocks that have a smidge of extra space on the board and maybe
could also use some reduction in microcontroller software size.
It is important to note that these builds are strictly for a hobby and
not sale, so 'price is no object' provided that I can sample the parts
for free. An RTC, TCXO and max6921 might total $25-$30 if I was doing
this for sale, so that would be a non-starter. Of course, I've used
those above parts as well as tons of other Maxim IC parts at work on
larger projects. Maxim IC gets their money's worth out of me, I think. :)
-Adam