I am developing a small amplifier and I need a microcontroller to set up the volume and to check for the status of the amplifier chip (logic output, I need a couple of pins for this).
I need a timer or two and no pwm and I never used microcontrollers.
Could someone point me the differences between pic and atmels? why should I choose one instead of the other? I know C and I don't want to be forced to use assembly (but it's ok to be able to use it, if I want).
Thank you
PIC vs Atmel
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
-
- Posts: 10
- Joined: Tue May 23, 2006 11:55 am
- olaf_marzocchi
- Posts: 73
- Joined: Mon May 08, 2006 3:29 am
- developerzero
- Posts: 2
- Joined: Sat May 27, 2006 4:49 am
I can't say much about Atmel devices, but I do know this much about PICs:they are fairly inexspensive to get started with. In addition to the chip, you are also going to need to get a programmer in order to burn-in your chips. You can get a programmer Microchip makes a pair fairly inexspensive programmers (the PicKit and PicKit 2). They are both about $50, and can each program a wide variety of devices (they program different devices, due to the differing pinouts). The PicKit 2 also has a free, limited capability C compiler made by a company called Hi-Tech.
I personally own the PicKit 2, and really like it. The only thing I am unsure of is Mac support (I use a PC). As a matter of fact, I don't believe Microchip makes any programmers for the Mac at all. There are also a number of free, or low-cost, schematics for making your own programmer. If you have access to a PC, I highly suggest you go with the PicKit 2.
Finally, I would also like to mention that Assembly isn't really all that difficult. (Although this does vary from person to person)
I personally own the PicKit 2, and really like it. The only thing I am unsure of is Mac support (I use a PC). As a matter of fact, I don't believe Microchip makes any programmers for the Mac at all. There are also a number of free, or low-cost, schematics for making your own programmer. If you have access to a PC, I highly suggest you go with the PicKit 2.
Finally, I would also like to mention that Assembly isn't really all that difficult. (Although this does vary from person to person)
-
- Posts: 40
- Joined: Mon Feb 13, 2006 5:09 am
1. You can make at atmel parallel-port programmer with a db25 plug, a programmer plug, and a handful of wires. Cost? a few dollars or nothing if you happen to have the parts around. Serial ones are nicer, which can of course be used on a mac with a USB-serial widget.
2. PICs are generally dumbed down and aimed at very low-level hobbyists. Take PIC-basic for example, or the crippled ADs on the lower end PIC chips.
3. What sort of microcontrollers use C# and Java? Are you sure you read 'microcontroller' correctly? There will generally be C compilers out there for any traditional architecture chip with a stack. They just generate the assembly so you don't have to. Using something like java is, a little off-base.
I don't like PICs, I think AVRs are great.
B>
2. PICs are generally dumbed down and aimed at very low-level hobbyists. Take PIC-basic for example, or the crippled ADs on the lower end PIC chips.
3. What sort of microcontrollers use C# and Java? Are you sure you read 'microcontroller' correctly? There will generally be C compilers out there for any traditional architecture chip with a stack. They just generate the assembly so you don't have to. Using something like java is, a little off-base.
I don't like PICs, I think AVRs are great.
B>
-
- Posts: 10
- Joined: Tue May 23, 2006 11:55 am
Yes, I read uController correctly.
There are several out there that support Java: The Javelin (Parallax), the JSTAMP (?) etc.
C# - the .net CPU from Micro$oft. (Also called "Spot")- but I guess you wouldn't have seen one of those yet...
The SXes will have yet another C compiler (so I'm told) and a C++ one as well...
Then there is the Propeller from Parallax, uses "spin" and ASM....
If you want to hone skills, go for some of the 68HCxx series from Motorolla- old chips, but programming for them will build a better ASM foundation, due to the lack of regs, space, etc.
There are several out there that support Java: The Javelin (Parallax), the JSTAMP (?) etc.
C# - the .net CPU from Micro$oft. (Also called "Spot")- but I guess you wouldn't have seen one of those yet...
The SXes will have yet another C compiler (so I'm told) and a C++ one as well...
Then there is the Propeller from Parallax, uses "spin" and ASM....
If you want to hone skills, go for some of the 68HCxx series from Motorolla- old chips, but programming for them will build a better ASM foundation, due to the lack of regs, space, etc.
packrat wrote:1. You can make at atmel parallel-port programmer with a db25 plug, a programmer plug, and a handful of wires. Cost? a few dollars or nothing if you happen to have the parts around. Serial ones are nicer, which can of course be used on a mac with a USB-serial widget.
2. PICs are generally dumbed down and aimed at very low-level hobbyists. Take PIC-basic for example, or the crippled ADs on the lower end PIC chips.
3. What sort of microcontrollers use C# and Java? Are you sure you read 'microcontroller' correctly? There will generally be C compilers out there for any traditional architecture chip with a stack. They just generate the assembly so you don't have to. Using something like java is, a little off-base.
I don't like PICs, I think AVRs are great.
B>
-
- Posts: 40
- Joined: Mon Feb 13, 2006 5:09 am
I don't consider the embedded java application processors to be microcontrollers in the normal sense of the word. They have far more in common with a general-purpose microprocessor.LostboY wrote:Yes, I read uController correctly.
There are several out there that support Java: The Javelin (Parallax), the JSTAMP (?) etc.
C# - the .net CPU from Micro$oft. (Also called "Spot")- but I guess you wouldn't have seen one of those yet...
The SXes will have yet another C compiler (so I'm told) and a C++ one as well...
Then there is the Propeller from Parallax, uses "spin" and ASM....
If you want to hone skills, go for some of the 68HCxx series from Motorolla- old chips, but programming for them will build a better ASM foundation, due to the lack of regs, space, etc.
Spot stuff? Seems to be mostly running on 32-bit ARM chips, which when running emulation layers like a .net machine really sit in the general purpose microprocessor camp. Building a general purpose PC in SoC configuration doesn't make it a microcontroller.
C++ in a microcontroller? That's a crutch for programmers working in the wrong field. Or more likely not a microcontroller.
And finally, the HCxxx stuff is awful. I've wasted too many years teaching it to undergraduates. It's useful only as a missing link between teaching very basic CPU architecture and looking at a working chip. It's crippled by early-80s architectural assumptions. To say nothing of the additional (useless) effort integrating the things, compared to something like an AVR.
You'd be far better off working with AVR assembly, you get a nice instruction set and a sensible chunk of registers.
B>
-
- Posts: 10
- Joined: Tue May 23, 2006 11:55 am
To each his own. At no time did I attempt to rank or place the value of one micro above the others. You are of course entitled to your opinion. I am of the belief that you use what you need- a sledge hammer is overkill when a tack hammer will do. And the lists were simply to show the OP what options are out there...I like to let people make up their own minds.
Stick with your AVRs if that is what makes you happy. Learning to write on an HC series helps develop more efficient coding in my opinion.
The speed of the SX (in ASM, of course) is more valuable to me in many of my applications than "a nice instruction set and a sensible chunk of registers".
LosT
Stick with your AVRs if that is what makes you happy. Learning to write on an HC series helps develop more efficient coding in my opinion.
The speed of the SX (in ASM, of course) is more valuable to me in many of my applications than "a nice instruction set and a sensible chunk of registers".
LosT
packrat wrote:I don't consider the embedded java application processors to be microcontrollers in the normal sense of the word. They have far more in common with a general-purpose microprocessor.LostboY wrote:Yes, I read uController correctly.
There are several out there that support Java: The Javelin (Parallax), the JSTAMP (?) etc.
C# - the .net CPU from Micro$oft. (Also called "Spot")- but I guess you wouldn't have seen one of those yet...
The SXes will have yet another C compiler (so I'm told) and a C++ one as well...
Then there is the Propeller from Parallax, uses "spin" and ASM....
If you want to hone skills, go for some of the 68HCxx series from Motorolla- old chips, but programming for them will build a better ASM foundation, due to the lack of regs, space, etc.
Spot stuff? Seems to be mostly running on 32-bit ARM chips, which when running emulation layers like a .net machine really sit in the general purpose microprocessor camp. Building a general purpose PC in SoC configuration doesn't make it a microcontroller.
C++ in a microcontroller? That's a crutch for programmers working in the wrong field. Or more likely not a microcontroller.
And finally, the HCxxx stuff is awful. I've wasted too many years teaching it to undergraduates. It's useful only as a missing link between teaching very basic CPU architecture and looking at a working chip. It's crippled by early-80s architectural assumptions. To say nothing of the additional (useless) effort integrating the things, compared to something like an AVR.
You'd be far better off working with AVR assembly, you get a nice instruction set and a sensible chunk of registers.
B>
-
- Posts: 40
- Joined: Mon Feb 13, 2006 5:09 am
But the SXs have both a sensible instruction set and a nice chunk of registers. About the only things that don't these days are hangovers from the 80s like the HC11/HC12.LostboY wrote:Stick with your AVRs if that is what makes you happy. Learning to write on an HC series helps develop more efficient coding in my opinion.
The speed of the SX (in ASM, of course) is more valuable to me in many of my applications than "a nice instruction set and a sensible chunk of registers".
While I feel that the HC12 is a useful teaching tool, writing anything substantial tends to result in you spending most of your time trying to swap registers. As handy as that is, it tends to overshadow all the other things you'd like people to learn. The more RISC-flavoured reguar instruction set + bunch of registers better reflects modern architectures.
B>
-
- Posts: 10
- Joined: Tue May 23, 2006 11:55 am
I'd agree with that- save that teaching with stripped down hardware helps students understand *why* things evolved like they have-
I think it is akin to schools that are trying to teac OOP to students by starting them with Java- I think that this is a mistake- everything is an object in Java, but some students don't even have a concept of what an object even is...(I am by no means a BANNED of Java, or C# for that matter)-
LosT
I think it is akin to schools that are trying to teac OOP to students by starting them with Java- I think that this is a mistake- everything is an object in Java, but some students don't even have a concept of what an object even is...(I am by no means a BANNED of Java, or C# for that matter)-
LosT
packrat wrote:But the SXs have both a sensible instruction set and a nice chunk of registers. About the only things that don't these days are hangovers from the 80s like the HC11/HC12.LostboY wrote:Stick with your AVRs if that is what makes you happy. Learning to write on an HC series helps develop more efficient coding in my opinion.
The speed of the SX (in ASM, of course) is more valuable to me in many of my applications than "a nice instruction set and a sensible chunk of registers".
While I feel that the HC12 is a useful teaching tool, writing anything substantial tends to result in you spending most of your time trying to swap registers. As handy as that is, it tends to overshadow all the other things you'd like people to learn. The more RISC-flavoured reguar instruction set + bunch of registers better reflects modern architectures.
B>
-
- Posts: 40
- Joined: Mon Feb 13, 2006 5:09 am
I understand that this is very useful, but I'm not sure you can spend too much time teaching the how-tech-evolved in a course. Instead, you provide hints and the better students will be interested enough to find out on their own time.LostboY wrote:I'd agree with that- save that teaching with stripped down hardware helps students understand *why* things evolved like they have-
This is why I'm a huge fan of teaching beginning programmers with a language like Pascal. I've found that a lot of students working their way through Java or some similarly overdone OOP language have little concept of a variable and can't figure out how many times a while loop will run.I think it is akin to schools that are trying to teac OOP to students by starting them with Java- I think that this is a mistake- everything is an object in Java, but some students don't even have a concept of what an object even is...(I am by no means a BANNED of Java, or C# for that matter)-
To say nothing of what happens to these students when they try to work in a language where memory isn't magically handled for them.
B>
- westfw
- Posts: 2008
- Joined: Fri Apr 27, 2007 1:01 pm
Re: PIC vs Atmel
I will not get involved in "processor wars."
You might also want to consider the TI MPS430. Right now you can get a "launchpad" development system for about $5, though you might have to wait a couple months for it to arrive...
I'm been using cc5x (one of the PIC C compilers with a free "limited version") on a Mac under Wine.there are pic C compilers, but none for the mac (free).
You might also want to consider the TI MPS430. Right now you can get a "launchpad" development system for about $5, though you might have to wait a couple months for it to arrive...
Please be positive and constructive with your questions and comments.