Which uController to learn?



Being a beginner in all this, I have no experience / reference to be able to put product names to these capabilities. Would you "name names" please? I'll create a diversion to take all the flames while you do that... (c:
--
John English


Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I thought 51's had a decent stack and register structure. I've used them since 1976... (Intel 8731?) I found the instruction set entirely logical and usable with an easy learning curve. The OP is a beginner and needs something simple to get going with. The 51 does what it says on the tin. The Dallas 450 version ,you can get up and running in an afternoon with a couple of support chips.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
snipped-for-privacy@yahoo.com says...

68000 series has pretty symmetric instruction set (orthoganol).
ie Moving from register to memory and vice versa is symmetric there are minimal exceptions. There are microntroller variants of processors that use 68000 instruction set.
Having a lot of registers is a bonus, 16 to 32 is ideal for the vast bulk on microcontroller apps, can get away with 4 or even 2 if you are keen.
Basically, for a beginner, you'd want an instruction set that works 'both ways' with registers, memory and IO ports, you dont want one with lots of lumpy exceptions or stack size restrictions or memory address or io restrictions - because if you are doing assembler you dont want to worry about that many until you are proficient, which usually happens fairly soon once you get stuck into it...
--
Regards
Mike
* VK/VL Commodore FuseRails that wont warp or melt with fuse failure indication
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
says...

GEEEZ -- I gave up writing ASM for the 1st cut about 20 years ago -- the compilers available even then were efficient enough that you only needed to get down and dirty for the most critical timing dependent code.. there just isnt a point in starting off with ASM considering that C maps almost 1-to-1 to most assembly languages for most of its internal features. And the WinAVR C compiler makes it real easy to embed ASM right in the C code so I can do it in C first, then convert just the parts that need it in place with a perfectly working and tested "flow chart" right in front of me.
In addition.. for 99% of apps, you'll never bother with ASM because the compiled code will work right off and nothing will need to be hand optimized... you've gotta be right on the ragged edge of what the chip is capable of before ASM is going to help you, and 99% of apps wont even come close to that limit.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Some people would say that if you're *not* at the edge of what the microcontroller can do, you're using one that's too expensive. ;)
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Mar 18, 3:33 pm, Terran Melconian

Same for PCs. How many people really need the 3GHz Dual core PC to read this newsgroup?
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
snipped-for-privacy@linnix.info-for.us says...

I don't need a pickup truck to go to the pub either but it comes in handy at the dump. This dual 1.86GHz laptop is kinda nice too (once I put enough memory on it).
--
Keith

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

Terran: Its cheaper for me to buy a stick of chips with the quantity discount than it is to buy the minimal chip that will do the job each time I come up with a new project :) Plus I dont have to wait for the new chips to show up -- always have a few on hand :) I've probably got 4 or 5 flavors of AVR hangin around... from 18 pin to 40 pin with various flash/ram/eeprom combos -- I just use whatever I got that will do the job at all :) havent run into a project yet where the processor was out of the idle loop more than 50% of the time :) hehehe I guess I could meet your criteria by cranking the clock speed down a bunch !! but for me -- the processor has only 2 speeds -- the fastest it will do without a crystal -- and the fastest it will do with one :) I dont see the point of putting a slower crystal in then having to bust nuts to make the code work.
Linnix: hehehehe ---- If I only used my Dual 2.8g hyperthreaded Xeon with 4 gigs ram to read newsgroups -- welllll :) but between editing DVD masters, programming AVRs and C#, designing databases, apps and websites, editing graphics, controlling my CNC mill, running 8-10 hour spice simulations on 10kw power supplies, etc -- I tend to keep this sucker pretty busy most of the time :)
KRW: I dont have a (working) laptop at the moment -- but the pub sounds like a good idea !!
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Somebody said...

This gets back to the "intended-application" discussion. While it's nice to have a "family" of chips you've spent the better part of your adult engineering life understanding, there are times when you simply must stretch the envelope.
Like my current project for instance. It has to "rob" power from something that was never intended to deliver it. I need to powerdown more than roughly 90% of the time, drawing no more than a few uA. And not much more than 100uA for the other 10% of the time. Oh, and for that, the clock speed is barely 20kHz (+/- 10%).
I think "MIPS" is a pipe dream for this one. -mpm
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Or last at long as possible on battery.

I need uA in stand-by. Full speed (Usb or Serial) while connected. So, I need it very slow and very fast. For Serial, Avr tops at 19,000 baud and Arm tops at 920,000 baud. Avr has Usb option but Arm hasn't.

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

that'd be because you're running such a slow clock. at only 1.8432 Mhz you can 115200 baud. basically 1/16 your clock.

yeah, but at what clock speed.
Bye. Jasen
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

No, it won't. At 2 MHz, AVR have lock-ups for 38,400 baud. My AVR clock toggles between 2 MHz and 32KHz.

20 MHz.

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

"lock ups?"
The attiny2313 "data sheet" suggests it should be capable of 250Kbps (asynchronous serial) at 2mhz
With a 2MHz clock 38400 baud isn't really an option on that hardware, 35714.3 or 41666.7 are the closest choices.
If you reduce the clock to 1.8432 Mhz (should be a standard size) 38400.0 is available (as are the other standard speeds upto 230400)

Not with the uart running I hope!

How does it manage that? 920K doesn't divide 20M, is there an internal PLL or something?
Anyway it seems kind of slow :^)
Some people bit-bang USB at 1.5Mb/s on 12Mz AVRs. (as a non-interruptable foreground task) again the trick is to pick a clock rate that's a sufficiently high multiple of the data rate.
Bye. Jasen
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Yes, an internal PLL at 200 MHz.

I have to slow it down to talk to the AVR anyway.

Unfortunately, they are often conflictings, i.e. USB vs. Serial.

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

The 32Khz are you do that using the watchog and prescaler? 128KHz/4 or an external clock.
It looks like the internal RC can be pulled across an octave in 256 steps so getting within 0.5% of some multiple of 38400 should be possible.

yeah, it'd need an external clock if it wanted to do serial at standard rates and bit-bang the usb
someone was saying that the AVRs are standing still while the PICs are advancing, I'm not seeing that. the ATTiny2313 datasheet has 3 times as many pages as the AT90S2313, and it seems like it has three times the features too,
that part's been available for a while now but I see they are upgrading other parts to 20Mhz and I assume the other new 2313 fearures too
still binary and electically compatible with the at90s2313 AIUI. (except for parallel programming)
--

Bye.
Jasen
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
mpm wrote:

The phone line?

That would be a high duty cycle for a phone line, unless you need to wake up frequently to see if touch tones are being sent.

Yep, sounds right in line for a PIC though. 12F683 (my new favorite) ~500 uA at 5V running full tilt on the internal oscillator (8MHz, 1% accuracy), 11uA at 32KHz (2V). Change speeds on the fly. Who needs to sleep? ;-) You can sleep if you want, bit it'll cost you 50nA.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

is
come
They don't really need it, (most) kids want to show off to other kids.FYI I read this newsgroup with a celeron 2.4 512 megs geforce 4 mx 440 64 MB QDI 848 p 80 GB IDE Hitachi 17" crt.The only advanced gimmick I have is DSL.Yes, and with that comp I play doom 3, quake 4, half life 2, world of warcraft, print digital photos, edit dvds, do my autocad drawings and of course keep my contact with some fine internet fellows;-)
-- Tzortzakakis Dimitrios major in electrical engineering mechanized infantry reservist dimtzort AT otenet DOT gr
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Names! Names! Names! (please). I agree with what you say, but I need the benefit of y'all's experience. Which controller "variants of processors that use 68000 instruction set" and which don't do "lumpy exceptions or stack size restrictions..." etc.
Just need to know what name to call these lovelies by.
--
John English


Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
John E. wrote:

68HC11, but it's old. I'll bet the 'HC12 and 'HC16 (do they still make those?) are good.
AVR, if you don't mind wimpy pins.
The TI MSP430 -- the small ones at least have oodles of pin drive, they appear to have a rational architecture, they're fast, and you can get a complete development system from TI for $20.
ARM, if you don't mind wading through all the different versions that are available to find what you want (check those pin drive capacities!). The instruction set is rational, but only in a screwy, RISC sort of way. The capabilities are HUGE, and so is the set of mistakes you can make -- I wouldn't recommend it for a beginner.
PowerPC -- Freescale has embedded versions. Same snarky comment about the instruction set as ARM, but still way better than a PIC.
Those are the ones that I'm familiar with.
Oh -- _not_ the Intersil/RCA 1802, unless you want to be an ace assembly language programmer. It was the very first processor I ever worked with, in 8th grade. I call it a NHISC -- Never Had an Instruction Set. I don't know if it's still around, but for quite a while it was the king of little space apps, because it had a huge geometry that could absorb cosmic rays without even noticing that they were there.
--

Tim Wescott
Wescott Design Services
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Tim Wescott wrote:

www.cosmacelf.com You would not believe the followng this thing still has. It has become a cult thing with kids building them all over. I built mine in 1978 IIRC.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.