Wow! thank you! I made my decision. I am going the Atmel/Arduino route. I was planning to go Microchip/Pickit2 because of the good things Dave said about it but Arduino is the way to go for me - so Atmel. Although I dread the enormous task of having to learn a programming language C++
You are welcome. I don't wish to bash anyone else but i think you have made a choice that works.
Learning chess has some analogy with learning how to program. It is necessary, but not sufficient to learn how the pieces move (the grammar and syntax of one or more programming languages). You then need to learn about playing strategies (program structure and control flow) and patterns of play created by past masters (algorithms and data structures). Without stretching the analogy further, learning to program is a lifelong task; one will never be "ready" (with the one possible exception of Donald Knuth
http://en.wikipedia.org/wiki/Donald_Knuth). That of course is no reason not to start, just the opposite. Only don't expect to be a grand master after a week of cramming.
I have one last question though: If Microcontrollers are computers and if they are pretty much used in almost all electronics these days, why do most devices still have 100s if not 1000s of components in them? Couldn't the MCU replace those (unless for high power)?
thanks again!
As already mentioned, there are whole problem areas where microcontrollers can help little or not at all.
As you note yourself, the elements passing high power in power conversion and control circuits are in a domain of their own. Also the associated control circuitry such as the gate controller of a high power IGBT switch can be fearsome beasts not implementable by a "calculator".
High speed signaling will become an issue after their frequencies pass beyond the capability of the MCU to process. There are well established information theoretical limits that tell you when this is happening and beyond that point other kinds of solution enter. While not really a microcontroller, the FPGA shares the feature of "programmability" although an FPGA program is not sequential in the sense a C/C++ program is, but rather a description of hardware configuration. Yet FPGAs and their cousins, the ASICs are a common solution for digital high speed signal processing.
Then of course there is the whole realm of interfaces to the outside world. Philosophers argue whether reality "really" is analog, or if there is a finest level of structure below which everything is digitized into quanta of this or that or the other thing. For a micro the world nevertheless is analog, and you need all kinds of signal conditioning circuits and often also external converters from analog to digital and back.
And let's not forget that often it is just plain easier to implement a simple function directly by a tried and true circuit, instead of making the effort to digitize a signal, convert it to a discrete time presentation, do the necessary manipulation, and convert back.
Once you have the Arduino basics well in hand, do remember that there is also the forum site dedicated to all things AVR: AVR Freaks at
http://www.avrfreaks.net/. You can hardly come up with a question related to Atmel chips that someone over there cannot answer.