I was having my first encounters with microcontrollers and I have played with MPLAB mpasm programming a very little bit, mainly trying to understand the PICStep program. I also installed the AvrStudio but havent used it much.
As a programmer I am unskilled I have notions of C and ASM but if I would learn to use a microcontroller I would like to dig into C because of the higher lever programming is easier to read and to code. I am pretty much set on this because of my ADHD and the amount of focus needed to debug asm code if out of my league, so I need easier readability of the code.
Do MPLAB has a WinAVR GCC equivalent? I am not into purchasing a separate compiler for the moment.
Right now I am studying the possibility to purchase a developer tool of sort hopefully with LCD for microcontroller programming and application implementation not particularly for motion control but in general.
The thing that have stuck in my head is that Avr programs are 100% operational in any of the microcontroller family. PICs programs are different depending on the family PIC16 vs PIC18.
Locally I have Newark and its virtually Avr-less but otoh has hundreds of Microchip Devtools available, there are so many that choosing a Developer Tool is becoming very confusing. If the budget is about $150 which Microchip devtool is best suited for a beginner. A developer board does PIC programming or I need another one for that task?
IMHO you can't go wrong with WinAVR and Avrstudio, nice to have everything integrated.
IIRC GCC is not available for PIC but microchip has an (probably timelimited) free trial of their compiler. Microchip is also generous in sending out samples.
If you go with AVR (digikey has a lot of AVR stuff) look into getting the dragon, it will allow you to do in circuit debugging on the smaller devices(<32k flash) and will do incircuit serial programming also.
Regarding running code in different AVR's, while the basic core is the same the peripherals are not so it is mandatory to check/modify the code anyway. If programming in C I would guesss it is not much more difficult to port PIC programs between series. hmm acutally if programming in C and you have similar peripherals it is not too difficult porting between AVR and PIC also....
I would also vote for AVR as an easy to learn system. Most (or all?) Atmel devices have a similar core and share instruction sets. WinAVR is a freeware C compiler that supports all devices except the "tiny" family.
The in-circuit programmers are relatively cheap. Adding a 6 pin jumper to your board allows you to compile and download code without having to remove the AVR. This makes it really easy to incrementally test your software.
I have been doing microcontroller development for about 25 years and there never has been so many good tools to pick from. Most every major chip mfg has a good selection of development tools to pick from for next to nothing cost wise and most work very well. For the types of things you are talking about learning there really is not a wrong selection, just pick your favorite color and go. If you are specifically interested in the PICstep then the logical choice would be Microchip in my view. One could also look at TI(MSP430), Zilog (Z8), Freescale (SC8), Atmel(AVR), Microchip (PIC), ST, Renesas / Hitachi (Mx or H8), Philips (8051) as just few of the many possible selections.
Hi-Tech Software has a version of their Microchip C- compiler PICC-LITE. The "lite" version supports the PIC16F690 micro , as well as a few others. I believe the the compiler limits you to 2k of program space. The 16F690 has a lot of good peripheral functions.
Another one for the list would be the Propeller chip from Parallax, makers of the basic stamp. Good specs, 8 onboard processors for multitasking, 32 I/O lines, object orientated programming, and there is a lot of code already written as open source that you can use in your own programs to speed up development.
I have just started to play around with my prop chip and it is a lot of fun, with some pretty impressive features.
all the above advice is really good, rtp says just choose an avenue.
if you look at the list of pic chips, you will find one almost taylored to any application and some are just a little over $1.
the list may look confusing at first but choose a general purpose one to start with, you will always use it some where.
maybe check out kits r us web sight for cheap programmers and omlek for developement pc boards.
i have wrote programs for both atmel and pic chips. i found the pic's more powerful to use due to the different specific chip features ( like built in - usb, rs232, quad encoder, adc's, timers, interups etc....) .
there is also the pic ant.
I do both AVR and PIC, but often, if I need a quick solution, I use PIC because DIP PIC chip are readily available to me. All of my AVR chips (Mega128, etc) are surface mount type which I have to design a PCB for it. But these AVR's are powerful and easy to use.
You could also check out Mikro Labs and download the different programs to try out. They are not time limited but size of the program is. I have Mikro C and Mikro basic in my shop pc to look and play with. There is also a forum for info.
IAR is little bit costly but better to use as it supports many micros including PIC and AVR . It has evaluation version with limitations. Of course avrgcc is there if you need free tool and its quality is not so bad compared to commercial tools.
many AVR chips are available in DIP package as well and is as cheap as PIC . Regarding newer versions there is 32 bit avr , but those are advanced and even support linux.