On Mon, Jan 13, 2003 at 08:48:24AM -0600, llile@SALTONUSA.COM wrote: > Welcome, Jeff! > > Many others will give good suggestions, and cruising around the > piclist.com site, and the sites it links to like Myke Predko's site > www.myke.com will certainly fill your brain up fast. It's almost overwhelming. Each of us approaches the task from a different point of view. Just remember that all the advise is pretty good and do what you feel comfortable wieh. > > But here is how I would start. Your first project should be the LED > BLINKY MERIT BADGE. This apparently useless project can find some > application if you want to make a statement, such as putting a blinking > LED on your name badge at an electronics conference. Agreed on the project. However it's importance is critical for two reasons: 1) It exercises your entire toolchain. So you know that every tools works and you know how to invoke every step. 2) It gives positive visual output of success. The importance of both of these cannot be underestimated. > > It works like this. Take any PIC, doesn't matter which one, the '84 is > fine. I would amend this point slightly. Pick the PIC that you are most likely to use for real projects. Why? Because there is an instinctive attachment to whatever tools first offer success. One of my colleagues used to call it "Love what you learn." It applies to cars, appliances, programming languages, and microcontrollers. So whatever is picked is generally used as a hammer trying to find a nail. Since it's a natural tendency, why not go ahead and pick a better hammer. Based on this I'd recommend in order: 16F876/77(A) 16F628, 18F452. Once the inexpensive toolchains catch up the 18F parts will go to the top of the list. > Program it in assembly language to blink an LED on and off 1X per > second. Why use assembly? 1. It is free. 2. You have to know some > assembler to program PICs in C efficiently. 3. It is fairly > straightforward to do. This is a somewhat tough go. I agree with Lawrence, but I'm painfully aware of the "Love what you learn" concept. Assembly's single downfall is it's near total lack of abstraction. And while for PIC assembly it certainly won't do too much damage for simple projects, as the tasks get more complex, the steeper the hill to climb becomes. Not because PIC assembly is difficult per se, but because the process of combining small instructions into something usable becomes tougher as you go alone the path. > > Eventually you will probably use C for all your PIC projects, but learn > the assembler anyway. Here's where I want to end my discussion. I think it's best to start with your likely production toolchain. It's going to require a time and understanding committment in any case, and the knowledge isn't as easily transferrable as we'd like to believe. As a simple example doing a bitbanged serial port in assembly on a 16F84 is a completely different task than programming the 16F877 UART in C. So you end up learning the toolchain/taskchain twice. Based on the above I'd throw out the following: * 16F877. Best of the widely supported 16F family. * JAL. Wouter has everything now. No reason not to use it. * ICD/Bootloader. Shortens the development turnaround time. And I'd still start with the blinky LED... ;-) BAJ -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics