In article , "xpyttl"
writes:
"Avery Fineman" wrote in message
...
Try a dose of realistic thinking in terms of hardware, based on the
time available for hobby projects. Time. That most precious of all
personal commodities.
Programming a microcontroller is not trivial. It requires a new skill,
I have to admit, I do try to discourage people, perhaps with a little too
much fervor, from being afraid of using micros. They are a lot simpler
than most folks realize.
A PIC in a DIP is physically no different than any other DIP. Plug it
in or solder it in. No problem.
What matters is the programming inside that PIC (or any other brand
microcontroller). That program's development is done outside the
DIP, then loaded into it. THAT is where the difference is.
It is more like a microprocessor (a microcontroller IS a microprocessor
plus some other circuits and functions) but the PIC is designed with a
small number of instructions. Far easier to memorize than the full
set for an Intel micro in a PC. Note: The memorization DOES occur
when starting to program or flow-charting someone else's program,
helps a great deal in reducing constant look-up to the instruction chart.
One MUST become familiar with "Assembler level" programming, of
including every single sequential command and decision point needed
by the program application.
And this is different from designing with discrete logic how?
Do you want the whole book on that or just a synopsis? :-)
Hard-wired digital logic doesn't quite have "decision diamonds" but
some are close to that. I've programmed several micros, beginning
with an HP 9100 calculator, going on to Motorola 6800s, then to
MOSTEK 6502s (in the Apple ][), Intel 8051s, the Intel family in the
PCs (through MASM), and finally the PIC 16Fs which I've just started
in on. The 6502 had a nice flag in the Carry of the accumulator that
Apple's DOS 3.3 made extensive use of...but there isn't an
equivalent discrete digital logic equivalent for that function ability.
Digital logic is fairly straightforward in design and application where
the main constraints are t_pd and fan-out/fan-in. Go for the states
and everything happens, no "program development" needed. One
CAN flow-chart some of it, or analyze states (especially so for a
state machine with a PLD) but most of it goes down on paper, can be
analyzed right off and applied. No program development needed.
The most convenient was to apply a microprocessor or micro-
controller is to get one with the program already burned in. Saves an
enormous amount of development time...but does not do any good for
personal programming experience, only in the installation of the micro.
Yes, but it has become clear that the original poster had a rather specific
application that he is not going to be able to get off the shelf for a
reasonable price. He will need to take an existing design and alter it, or
roll his own.
So? The original request was - specifically - NOT to use an LCD.
Yes and no. :-) That depends on the source of information for the
project. Magazines don't like to include pages of a PIC program since
No, but they always provide links to the code online. Have you opened a
copy of QST lately?
Not since about two weeks ago. Just glancing through it. :-)
Have you "opened a Dr. Dobbs" recently? Or the PIC website to get
appnotes? [very slow for some reason compared to other sites] How
about a couple dozen websites with some ingenious applications,
including frequency counter applications not mentioned in here? Have
you opened a digital logic databook recently?
I've been source coding since the 70s and cannot immediately glean
meaning from a large listing of machine instructions. I don't know of
any professional programmer who can do that with unfamiliar source.
Of course. :-) The pep-rally over-confidence syndrome...one can do
anything with a "positive outlook"...immediately...no problems at all,
right? :-)
Absolutely g
Electrons aren't into human emotionalism or that "can-do-anything" stuff.
One works by THEIR rules or they won't cooperate.
Why bash anyone for wanting to use LEDs instead of LCDs? There
are advantages to each kind of display. For a personal project, I
would think that it is up to the individual to determine individual
desires. Is there something "wrong" with individualism? I think not.
Certainly, I don't think there is anything wrong with using LEDs. But the
original poster was looking for something low current - not a real strong
suit for LEDs. He was looking for something simple.
No. He was looking for a display NOT an LCD.
As I said in my reply, LEDs draw far more current than LCDs,
and that will include large LCD display assemblies with their internal
local memory and screen driver circuitry.
LEDs are a problem there, too, because of the drive circuitry.
Nonsense. A CD4511 is still off the shelf, BCD to 7-segment, latch
and decoder-driver. Just add series resistors for segments and play.
A buck apiece in single quantities. No programming.
If he is going to count
frequency, within a project that he can get done this year, he is going to
use a microcontroller of some ilk. Building a frequency counter from
discrete parts is a huge job.
From discrete transistors, yes. :-) From off-the-shelf ICs, no.
I did all the design and building of my own "discrete" frequency
counter and time interval meter using RTL back in 1967...while busy
working at a place with a long commute. I'm glad RTL got
discontinued. :-)
Since then I've done a small CMOS (4-digit) counter and am finishing
a "discrete" 74F and 74LS (TTL) 7-digit counter with adjustable preset
capability and up-down counting (!!).. Step-and-repeat for all those
digits. LED display. Why? I wanted specifically a display I could see
out of the corner of my eye (therefore bright) while concentrating on
work right in front of me. It is a workshop instrument, not a QRP thing
to take up a mountain. If I wanted such I would bring up the PIC
developement program, sketch flow charts, write source code (with
lots and lots of comments to tell me what I was doing in the future)...
and add more very-portable-rig functions and use a small LCD display
to save on battery drain.
And then, he wants it small. Again, the
whole discrete logic thing makes that nearly impossible for the hobbyist.
Why are you emphasizing all that "discrete logic" thing? Extremely
easy to use that from low-cost off-the-shelf items if one is familiar with
the available logic packages. Legacy parts. Old, some have already
been dropped from production.
To top is off, he wants low current. Yes, absolutely doable with LEDs but
with a huge added cost in complexity, especially if you decide up front no
micros.
No. Using LEDs is NOT "low current." Not even for the first scientific
calculator. The HP-35 may have approached a practical limit on
LED numerics at _minimum_ current but it doesn't compare with LCDs
except maybe those LCDs with bright backlighting.
Who was mandating "no micros?" Not me. The scheme to use an
internal counting register as an initial accumulator is fairly recent (about
within the last 6 years). "Discrete" logic (very discrete, including two-
transistor flip-flops) counters go back to before 1960.
Frequency counters used to cost thousands of dollars.
My 6-digit RTL counter, using all-new parts off-the-shelf, cost less than
$300 in 1967. Included many extra parts, some still in the workshop
parts collection, unused. Had oven-controlled 10 MHz timebase crystal.
Today my timebase standard is a TCXO which will become a TCVXO
when the 60 KHz phase-locker receiver-controller is completed. The
display is LED only because that is _easy_ to implement, a no-strain
thing and it is bright. Yes, brightness takes current but this is a lab
instrument and not battery powered. The total parts cost is less than
$500 for both halves in 2003. Absolutely NO programming required.
Yes, I do know the cost of manufactured instruments. Was calibrating
HP 524 counters in 1960 (B model was all vacuum state, maximum
count frequency of 10 MHz, neon "thermometer" numeric display,
weight excellent for body building).
Today they are orders
of magnitude cheaper because they are orders of magnitude simpler. And they
are orders of magnitude simpler because virtually all the circuitry is in
the micro. I just took a quick look at my counter - under 20 parts. Go to
LEDs and you probably triple that. But take out the micro and you are
talking about hundreds of parts.
A 16F84 or 16F71 as a frequency counter needs only a Schmitt
trigger input to shape up the arbitrary waveform, maybe a "discrete"
comparator IC if one is fussy, to count directly to 30 MHz. Going
higher in frequency needs an extra "discrete" IC, a prescaler. That
and an LCD assembly, one of many kinds available.
The stuff NOT in "discrete hardware" is the PROGRAM. Do that one
right and it is a fine little instrument. Do it wrong and there is a
struggle to right it that may take hours and days, including bench
measurement. Using others' source code is fine, much much easier.
Provided the LCD assembly is the same as the authors', but if you
have an LCD with a different sequence of data, of format, then it is
back to the development program again.
Perhaps I am downplaying the difficulty in learning how to apply micros, but
you are certainly downplaying the difficulty of not applying them in this
context.
I thought I gave a reasonable reply the first time. Looked at several
options. Were you gathering sticks for an Internet burning at the
stake? :-) When giving suggestions it is better to cover the wide range
of possibilities first rather than second-guess another's depth of
knowledge, experience, or desire.
It sounds like maybe you had some sort of anlog frequency display in mind,
which I don't quite picture. Might be a cool thing, though.
I've been using displays of many kinds in a long time, starting with
gas numerics (Amperex Bi-Quinary tubes, like a Burroughs Nixie but
2 x 5, not 1 x 10)...and going through all the others except plasma
dot matrix panels. If it's an LCD and there's a circuit driver IC for it,
I will use those first. The weird waveforms have already been worked
out and the ICs packaged. No driver IC and I start looking at other
ways to display information. I don't know everything but I've been
around a while and had hands-on in many things.
When you say "discrete" active devices, try to put that in context of
individual transistors. Or tubes. I've done both. Never again, I hope.
You ought to call TTL and functional-equivalent CMOS logic as either
SSI, MSI, or LSI (which they are) not "discrete." Done those in more
than counter circuitry. Microprocessors and microcontrollers fall
under the VLSI category.
Microcontrollers are wonderful devices for making certain things with
very low hardware count and near-minimal power demand. But, their
application in special things requires PROGRAMMING. That isn't in
the hardware. Such MUST be there. It CAN be learned. Some, like
me, find programming fun. Others do not. I do not find having to learn
new instruction sets for other micro families to be fun. Nuisance.
Was there anything else? :-)
Len Anderson
retired (from regular hours) electronic engineer person
|