I'm really new to the microcontrollers, i barely know anything. I would like to use them for some of my hobby projet but i don't know which one to choose!!! there are like millions of them out there!!! lets see PIC,ARM,8015... and so one. Ihave been doing some reasearch and i found all of the mto be prety much the same. I'm looking for a fast microcontroller with lots of inputs/outputs more that 30. I also would like to use these inputs/outputs as digital or analog. it would be nice if it could send data back to pc, throught serial/usb/com ports.
another thing, how are they programmed? What language r they most compatible with? I know c++ somewhat so that would be great.
once again i'm trying to get started with microcontrollers so any help would be apreciated.
thanks, dmitry
2007-01-03
10:50:25
·
5 answers
·
asked by
Anonymous
in
Science & Mathematics
➔ Engineering
Two excellent and inexpensive micro controllers are:
Parallax BASIC Stamp - great for an absolute beginner both electronically and programatically. Lots of How to support and projects. Programed using a free BASIC compilier. A starter kit is about $100
ATMEL - BUTTERFLY (See amazon link) The butterfly is a creditcard sized micro controller with lots of usefull hardware attached. (LCD, temp & ligh sensor, joystick) The book is an exellent step by step how to guide to learn C++ using a free open source compilier. Book is arround $35 and Butterfly about $25 available from digikey.com
If you are handy with a soldering iron and want an intermediate level entry point. Consider an 8bit RISIC micro controller from either Atmel or MicroChip...
I personally like the Atmel hardware over the MicroChip BUT, Microchip has a larger library of application notes and available books. MicroChip also seem to have a larger hobbyist following and is used in more projects featured in "Nuts & Volts" magizine...
Atmel has a newer archetecture and a slightly cheaper development system (JTAG ICE mkII @ $80) but has a smaller technical library and fewer hobbyists. There is a forum - avrfreaks.net where you can get lots of advice from users.
Programming ...
Atmel and MicroChip provide a free assembly compilier...
There are aftermarket compiliers for both BASIC and C languages these range in price from Free to thousands.
IAR systems offers a free "KickStart" edition of a C comilier limited to 4K of compilied code. The full version which includes floating point math and disassembly costs $3000
There is a low cost Basic compilier for the MicroChip PIC's from microengineering labs.
Programming the CHIP:
So you have built the micrcontroller circuit and have some firmware written, you have to get teh compilied code into the chip. This is done by one of several ways...
1.Bootstrap programm preloaded on teh chip. Self loads a file into the chips memory. The Butterfly uses a bootstrap..
2.) Using a development kit which provides a platform to communicate with the chip using the PC and also provides some development hardware like LEDS and switches. You program the chip then transfer the chip to your circuit board
3.) In circuit Emulator - this allows you to communicate with your chip while it is in the circuit your have designed. It also allows you to troubleshoot your code easier. It allows you to single step through your code and use your circuit to provide inputs to the chip as you run through your code.
2007-01-03 12:58:51
·
answer #1
·
answered by MarkG 7
·
1⤊
0⤋
Choosing the right processor is a decision that is based on a lot of various factors.
You'll need one that has the IO you need for the project you are choosing it for. YOu didn't speciically mention an application, so it sounds more like you are fishing for "which processor can I use to start learning this stuff."
So the question starts to boil down to more mundane issues like, cost. And cost of programming them.
If you want something that's easy to work with and inexpensive to work with then you might consider the pic processors as there are a ton of free compilers and assemblers for them. You can program them in assembler, basic, c and forth. They use a serial 'bit bangin' method to program them and can be programmed using a simple parallel port adapter that you can buy or build. The software to control the programming process can be aquired for very little money.
You might , though, need some high processing speed in which case the processors by luminary micro may be of interest to you, they have an arm cortex m3 core and LOADS of IO.
There are also pic processors that are built onto boards with a usb port added by www.dlpdesign.com that lets you download the code via the usb port.
There are lots of ways to make the decision as to which to choose, but in the end, it's the combination of features/ tools/ performance/ IO's/ and cost that suits your own particular needs and project. Good luck.
2007-01-03 20:28:28
·
answer #2
·
answered by hawse27 1
·
2⤊
0⤋
I have use and still use the 8950 series from Atmel and all its brand new successors. (www.atmel.com).
Very powerful, easy to use, easy to design, "easy" to encode, easy to program!
DEVICES:
Speed: was limited to 2Mhz, but are now going to 20MHz (plenty of speed for devices that are not "PC graphic 3D stuff").
Ports: usually 3 or 4 BI-directional 8 bit ports.
Include standard RS232, RS245 ports, network facilities.
USB: now directly available with native code inside! Connect straight to a PC USB port!
Analog? some have 256 bits analog converters. Others have PWM included.
One basic design has been covering almost every needs I had in robotics for the last 10 years...
PROGRAMMING:
Programming the devices (code) is better done in assembler (70% reduction in code size), but is available in standard C, as well as in some "Basic".
BLOWING (code into):
Re-writable (E2P).
Code blown and protected (fuses) from copy.
Atmel supplies small development boards (less than 100€/$) that link to a PC and program your chips, on the development board, or using what is called "ISP" (In System Programming).
Reliability:
I may have had less than 5 faulty chips in 15 years...
What I do:
Robotics, Instrumentation, Data Logging, Security systems (www.skytargets.com).
I have them in over 500 designs, in any configuration you can think of!
Of all uPs, they are, in my opinion, the BEST.
2007-01-03 19:36:21
·
answer #3
·
answered by just "JR" 7
·
0⤊
0⤋
C is good, but it is best if you learn to write the program in directrly assembler. Each type of microcontroler has its own intruction set.
PIC are very simple, have a limited number of instruction (tens) and few I/O pins. You have to make you own circuit for writing the program on them and they don't have a serial protocol (you will have to write it if you want to comunicate with PC)
Microcontrolers with USB are quite expensive and for most applications serial interface is enough.
I sugest you to start with something cheap like ATMEL ATmega8 16MHz, 8kB flash memory, 23 I/O, 130 instructions (~20$).
2007-01-03 19:19:58
·
answer #4
·
answered by bily7001 3
·
0⤊
1⤋
PIC, several compilers exist so you can choose the language, also Basic Stamp is very good for hobbyists (but more expensive). Amtel is not bad either.
2007-01-03 21:03:41
·
answer #5
·
answered by Nick F 6
·
0⤊
0⤋