Maker Pro
Maker Pro

Which uController to learn?

E

Eeyore

Jan 1, 1970
0
Anthony said:
Oh gawd. The biggest problem I've seen with PIC documentation is that
people won't read it. Almost every quirk and pitfall now gets fancy shaded
background balloons complete with code examples.

The only "dodgy" compiler I ever dealt with was SDCC for the 8052, what a
POS. It may be better now, but a few years ago it sucked bad. Of course I
don't even bother trying to use C on a PIC, it's just not desiged for it.
The 18Fs are different though, they do C ok. FWICT, everyone seems happy
with Microchip's ever-lasting "trial" C compiler for the 18Fs.

Multisourced, that's another misrepresentation. For the most part, chips
from different vendors are just similar archetectures, not "compatible"
chips insofar as actually being able to drop one in place of another. Not
to mention how vastly incompatible the code internals are for anything but
the most basic peripherals.

But that's just my opinion. ;-)

Eh ?

The various 8051 clones from various manufacturers are completely compatible in
every respect. That's one of the joys of the part. Such changes as have been
made are backwardly compatible even with no code change too.

Graham
 
L

linnix

Jan 1, 1970
0
if you do *really* low power stuff then the MSP430 series is very
popular.

You can also clock an Avr slowly and runs on uW.
The butterfly runs in stand-by mode for months on a single button
cell.
If you want seamless migration from Flash to OTP to Mask ROM
then PIC might be the way to go. If you want fast processing with a
reasonable number of options then AVR might be the best bet.

But I would not call an Avr fast, not comparing to an Arm.
I have a 20MHz(50 Mhz max) Arm talking to a 8Mhz(16MHz max) Avr.
The Arm is around 5 to 10 times faster than the Avr.

They are roughly the same size, cost and complexity.
 
M

martin griffith

Jan 1, 1970
0
On Thu, 15 Mar 2007 18:28:28 -0500, in sci.electronics.design "Anthony

snip
Ah grasshopper, but that's the whole problem. You can't check the busy flag
when your doing initialization. At least it used to be that way. Most
circuits I've seen hard-wire the R/W pin so that they can't even read the
busy flag, they just do the delays. So sad, cuz some displays really haul
ass if you do the busy flag thing.
years ago I was given a few lines or so of C for an 8051, that has
never failed me. But then I'm not a real programmer, most of my crap
is just a few switch statements,

Boil a FET
Nuke a motor,
LCD Prompt" do you need fries with that" etc.

but good enuff for me, does the job.
Maybe I should go and have another look at it?

grasshopper,
over and out


martin
 
M

mpm

Jan 1, 1970
0
Hey John.

We're an "8051" Shop mostly.
And almost everything we do is in Assembler.

Right now, we're using Atmel and Phillips (NXP or whatever they call
themselves now).

What I like about Atmel is:
A - They're very responsive when you need them (which isn't often
because their documentation is some of the best I've seen.)

B - For programming their newer devices, all you need is $25 for their
AT89ISP adapter (and a target board - which you can make yourself or
just butcher one of your production boards and dedicate it as your new
"bench programmer" - which is what we did. No more spending $1,000's
on EPROM burners!!

C - Their product mix is varied enough (i.e., A/D conversion, # of
ports, Serial, etc..) that you can make most designs work. And
"Yes." it is a fine line between "hobbist" and "serious volume
production" sometimes. Or so we would all wish.....!!

For Phillips - I like their smaller stuff. 89LPC90x series.
They're a little flaky to get programmed (due mostly to poor
documentation and IMHO too many hobbiest in the mix), but we do use
them in production volumes.

The Keil EPM900 board is a good development board for the above, and
runs about $200.
Plus the cost of many, many, many phone calls to Keil to get an order
placed.
(Note: This company THRIVES on Voice Mail.)
But good stuff once you get it, and get it working.

The EPM900 will come with a 4K code limited Assembler, C-Compiler and
Debugger (in addition to the hardware emulator). All in all, a pretty
good value.

I looked at PIC's a few times and didn't like them.
Hard to say exactly why, I guess. Their basic stamp stuff seemed
overpriced and underpowered.
And really, I think those are out there for experimenters and
hobbyist, not serious production.
(Now everyone will beat up on me for saying that..?)

But I hope this (and the comments of others) gives you something to
ponder while making your choices. COBOL, huh?! Good for you!

Eventually all the other COBOL programmers will die out and you can
name your price!!

-mpm
 
M

martin griffith

Jan 1, 1970
0
Or just put some proper (debugged) delays in there and it'll work
fine. And the second line of your 2 x 16 doesn't work because the
memory map has a big frick'n hole in it...



Best regards,
Spehro Pefhany
Yep I agree, my system (that's a bit of an overstatement) would hang
if the LCD wasn't present. But if there was no LCD you coudln't use
the system, so the user was, well.....screwed.

so just put on another cup of coffee


martin
 
J

John E.

Jan 1, 1970
0
I got my Rigol scope today. Oh man this is just way too cool. :)))

Just looked at their web site. Top of the line is only EUR1800 (how the heck
do I make a Euro symbol...?), US$2376. Not bad. FInally a DSO the average guy
can afford. Keep us informed...
 
J

John Fields

Jan 1, 1970
0
8051 family. You can't keep a good chip down. It's been going since 1981 IIRC.
NXP's (formerly Philips) variants do all sorts of useful stuff with the 8051 core
plus their RAM is static now so you can reduce the clock to zero to save power.
And the 8051 is multi-sourced !



PICs are indifferently documented so I've heard. I also heard something about
dodgy compilers.

---
Instead of writing about what you've heard, dumb ass, why don't you
stick with what you know?

Oh, I get it now... If you did you wouldn't have a whole lot to
write about.
 
S

Spehro Pefhany

Jan 1, 1970
0
You can't really say what one is 'best' - it depends on what you
really want to do.

Even with PICs it's hard to say which is best - from tiny 8 pin
controllers to massive 44 pin processing beasts with hundreds in
between.

Not to mention the 64, 68, 80 and 100-pin ones.
PIC assembly is tiresome at the least. The instruction set is tiny
which means that they take considerably more coding than, say, x86
assembly.

There are several flavo[r]s to PIC assembly.
Atmel micros are becoming popular too - though I haven't had any
experience with them.

Depending on what you want, you may look at *gasp* Basic Stamps, made
by Parralax (sp?) if you know BASIC well - just don't count on amazing
performance.

That thing is not 'a microcontroller'.

As to the original question.. it really depends on the application and
the peripherals you might need. If you need Ethernet and/or USB on
board, that's one thing (you'll almost certainly want something with a
decent C compiler and available protocol stack), if you just want to
diddle some bits fast, or do a relatively slow PID control that's
another. If you need 10, 12, or 24 bits of ADC, multiple PWMs,
quadrature input, direct display drive, etc. etc. that may play a
great role. The choice of core is only one consideration among many.


Best regards,
Spehro Pefhany
 
S

Spehro Pefhany

Jan 1, 1970
0
<sticking neck out>
checkout:
SPI interface, (realtime clocks, external eeproms etc.)
I2C, the uberversal philips interface, same as SPI, but different, and
pain in the neck IMHO
logic fets
H bridge
opto isolators
Reset and brownout detectors/ TL77xx etc from TI

and the universal "why doesn't my 2*8 LCD work"
Cos it takes many milliseconds to initialise, check the Fuckin* busy
flag

Or just put some proper (debugged) delays in there and it'll work
fine. And the second line of your 2 x 16 doesn't work because the
memory map has a big frick'n hole in it...
</sticking neck out>

and get a decent bench/lab power supply with adjustable current
limiting, and a scope


martin


Best regards,
Spehro Pefhany
 
PIC is king, I'm sure.

Be wary of certitude. PIC's bizarre fscked architecture is abhorred by
right-thinking engineers (of course, there are no absolutes, but this
is quite close to one).

If you have experience as you have enumerated, you will have little
difficulty learning almost any architecture; the choice of which is
"useful" depends on the "use" to which you intend to apply this
knowledge.
 
A

Anthony Fremont

Jan 1, 1970
0
John said:
Just looked at their web site. Top of the line is only EUR1800 (how
the heck do I make a Euro symbol...?), US$2376. Not bad. FInally a
DSO the average guy can afford. Keep us informed...

Bought the DS1102C (100MHz/2-channel) for US$999. So far so good, I like
it. :)
 
A

Anthony Fremont

Jan 1, 1970
0
Eeyore said:
Anthony Fremont wrote:

Eh ?

The various 8051 clones from various manufacturers are completely
compatible in every respect. That's one of the joys of the part. Such
changes as have been made are backwardly compatible even with no code
change too.

Things must have changed then. Only the barest parts would be compatible.
As soon as you start adding extra peripherals (and these _are_ the chips
that get used in production, not the 8051 true clones) things change allot.
So it's true that you could probably get away with dropping an Atmel 89c52
in place of a vintage 8052, it likely wouldn't work the other way around
since the Atmel part has "extensions". As soon as people utilize the
extensions, compatibility disappears. no?
 
E

Eeyore

Jan 1, 1970
0
Anthony said:
Things must have changed then. Only the barest parts would be compatible.
As soon as you start adding extra peripherals (and these _are_ the chips
that get used in production, not the 8051 true clones)

I don't know about that. Some of the extra functions seem to be implemented both
by Philips and Atmel for example. Sure you can use an 89C51 with flash memory in
place of an 87C51 to take the simpler example.

things change allot.
So it's true that you could probably get away with dropping an Atmel 89c52
in place of a vintage 8052, it likely wouldn't work the other way around
since the Atmel part has "extensions". As soon as people utilize the
extensions, compatibility disappears. no?

Manufacturers seem to have been careful about allocating the new SFRs. I've
never come across an example where a 'new' SFR didn't default to 'plain vanilla'
operation if left untouched.

Graham
 
R

Rich Grise

Jan 1, 1970
0
PIC is king, I'm sure. But I'd like to hear from those who are using all
brands. Whichever you use, what do you like about it? What don't you like
about others? Suggestions re. learning?


I'm prejudiced against the PIC because bank switching is Evil.

I've programmed 68000 assembly and some higher-level languages (FORTRAN; some
BASIC; COBOL if forced to admit it), so no stranger to programming, per se.

As a hobbyist: 6502, 6800/02/09, Z80; as a pro, 68HC11, Z80, 80186 ;-)

Cheers!
Rich
 
A

Anthony Fremont

Jan 1, 1970
0
Eeyore said:
I don't know about that. Some of the extra functions seem to be
implemented both by Philips and Atmel for example. Sure you can use
an 89C51 with flash memory in place of an 87C51 to take the simpler
example.



Manufacturers seem to have been careful about allocating the new
SFRs. I've never come across an example where a 'new' SFR didn't
default to 'plain vanilla' operation if left untouched.

That's true, but wasn't really my point. I'm saying that people use these
"special features" and then they narrow (or eliminate) their source options.
Where parts from different vendors do have similar extensions, they don't
usually implement the SFRs the same way. It's been a while since I looked
around, maybe vendors are getting on the same page now (why do I really
doubt that though ;-).
 
M

Mike

Jan 1, 1970
0
PIC is king, I'm sure. But I'd like to hear from those who are using all
brands. Whichever you use, what do you like about it? What don't you like
about others? Suggestions re. learning?

In the early days, though I'm sure that has changed, the stack depth was way
too short for any reasonable level of subroutine coding, this also affected
the design of systems which needed multiple (flexiblely) prioritised
interrupt sources...

Since I had been using the 8051 and atmel variants which had far deeper
stacks and ease of changing returns and flexible control of interrupt
response I had never any need to revisit the PIC.

Oh and the code/data memoru separation I found to be irritating on odd
occasions,
I've programmed 68000 assembly and some higher-level languages (FORTRAN; some
BASIC; COBOL if forced to admit it), so no stranger to programming, per se.

From what I recall the 68000 series was the closest to a orthogonal instruction
set making for great compiler efficiencies, with the later generaton of PICS
there were, iirc, still many instruction exceptions which didnt allow compilers
to be as efficient could have been good for assembler writers but you really
dont want to stay in assembler as generally projects get more complex and we
do want to have a social life dont we ?

--
Regards
Mike
* VK/VL Commodore FuseRails that wont warp or melt with fuse failure indication
and now with auto 10-15 min timer for engine illumination option.
* VN, VP, VR Models with relay holder in progress.
* Twin Tyres to suit most sedans, trikes and motorcycle sidecars
http://niche.iinet.net.au
 
E

Eeyore

Jan 1, 1970
0
Anthony said:
That's true, but wasn't really my point. I'm saying that people use these
"special features" and then they narrow (or eliminate) their source options.
Where parts from different vendors do have similar extensions, they don't
usually implement the SFRs the same way. It's been a while since I looked
around, maybe vendors are getting on the same page now (why do I really
doubt that though ;-).

Well.... yes if you do use those very specific features you will be stuck with a
single source but you're still no worse off than you would be with a PIC.

Graham
 
J

John E.

Jan 1, 1970
0
I'm prejudiced against the PIC because bank switching is Evil.

I'm beginning to hear a lot of that (c;
As a hobbyist: 6502, 6800/02/09, Z80; as a pro, 68HC11, Z80, 80186 ;-)

I think I should clarify that my desire isn't to go in the direction of
microprocessors, but in the direction of microcontrollers. I distinguish
those that have data and memory bus pins from those that are self-sufficient,
memorywise. The latter may have I/O such as analog inputs and/or outputs, but
not necessarily; they may interface with outboard converters.

Thanks,
 
A

Anthony Fremont

Jan 1, 1970
0
John said:
I'm beginning to hear a lot of that (c;

Since you're starting, the 18F PICs may be more in line with what you want.
Not even any bank switching till you're ready for it. Plus Microchip has a
decent C compiler for them (I never used it, but that's what I keep hearing)
that has something like a 90 day trial. After the trial, uninstall and
reinstall.
www.picbook.com is a good treatise on the 18F PICs.

Don't let anyone fool you, all microcontrollers have their quirks and
problems. IMO, the 8052 is the pits.
I think I should clarify that my desire isn't to go in the direction
of microprocessors, but in the direction of microcontrollers. I
distinguish those that have data and memory bus pins from those that
are self-sufficient, memorywise. The latter may have I/O such as
analog inputs and/or outputs, but not necessarily; they may interface
with outboard converters.

You won't regret it.
 
Top