Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Hersch R.8051 microcontroller FAQ.1994

.txt
Скачиваний:
15
Добавлен:
22.08.2013
Размер:
86.62 Кб
Скачать
Archive-name: microcontroller-faq/8051
Posting-Frequency: monthly
Last-modified: Jan. 26, 1994

This article is a collection of information sources on the Intel 8051
family of microcontrollers (and variants).

The following topics are addressed:

0) Rantings and ravings (to make the FAQ zero-based)

1) ABOUT THIS FAQ
1.1) Who put this FAQ together?
1.2) How can I contribute to this FAQ?
1.3) What newsgroups will this FAQ be posted to?
1.4) May I distribute this FAQ or post it somewhere else?
1.5) How about FAQs on other microcontrollers?

2) ABOUT THE 8051
2.1) The 8051 microcontroller
2.2) 8051 Flavors
2.3) 8051 representatives and approximate prices
2.4) Advantages realized in implementing control applications on
this family of microcontrollers

3) SOURCES OF INFORMATION ON THE 8051
3.1) FTP sites
3.2) BBSs
3.3) Help available!

4) 8051 PRODUCTS
4.1) Free languages and development tools
4.2) Free C compilers
4.3) Commercially available products

5) 8051 DOCUMENTATION
5.1) Periodicals
5.2) Books
5.3) Miscellaneous documentation


0) Rantings and ravings

Disclaimer: Just so it is understood, the "rantings and ravings" are
my rantings and raving. My readers are refined and sophisticated and
would never rant or rave. I, on the other hand, sit in front of the
TV in torn underwear and drink beer out of the bottle.

Yeah, I know, this FAQ is getting a bit long. I apologize to those
who aren't able to retrieve the whole document. I'm now working on
reformatting and splitting it up into multiple parts. I avoided this
for as long as possible, since it is much more convenient when the
entire article is only one piece, but - that's life :-).

If you follow Jan Axelson's articles in Microcomputer Journal
(formerly ComputerCraft magazine), you'll be glad to know that she
now has a new book out. The Microcontroller Idea Book is a hands-on
guide featuring the 8052-BASIC microcontroller. It explains how to
use sensors, relays, displays, clock/calendars, keypads, wireless
links, and more - with schematics, design theory, program listings,
construction details, and so on. Sounds good! Check out section 5.2
for more details.

Take care,

Uncle Russ


1) ABOUT THIS FAQ

1.1) Who put this FAQ together?

I was prompted to put this FAQ together in response to my own
frustration in searching for information, and to the constant
occurrence of requests for information on this subject in various
newsgroups. Hopefully others won't need to go through what I did.

Normally, I spend all day programming in assembler on an IBM PC.
With my hobbyist hat on I decided to try my hand at a little
microcontroller project design. When it came time to start, I had no
idea what to do. I had nothing to start with - no assembler, no
programming language, no simulator. I cobbled together a simulator
to help me learn about the workings of the chip. It's not being made
available to the public since I'm afraid the simulator isn't very
good. It was for my own use, so the user interface (there is none)
really sucks eggs.

I decided to search the net for information on the 8051. This list
was compiled the hard way, logging onto every anonymous ftp site I
could find and looking around. I also used Archie, other FAQs and
lists, and every reference to the 8051 that appeared in the various
news groups. It took a long time till stuff finally started popping
up. I saved all of my notes and the result was the first version of
this FAQ. Responses have been pouring in, and the result is a much
more complete and thorough FAQ.


1.2) How can I contribute to this list?

I please ask that if you have any suggestions or additions, or you
would like to correct any of the information contained herein, please
send me a note.
My Email address is: sibit@datasrv.co.il
My Snail-Mail address is:
Russ Hersch
HaVradim 11
Ginot Shomron
ISRAEL

The list of individuals who have sent suggestions and encouragement
has finally overflowed. I hope it suffices to say "Thank you to all
who have contributed to this FAQ - we all appreciate it."


Special thanks to:
Cecil A. Moore (Intel)
Carl Wall
Dave Dunfield (Dunfield Development Systems)
Kevin Self (Dallas Semiconductor)
Jason McDonald (Program Coordinator, MW Media)
Richard H. Barnett (Purdue University)
Daniel Drennan (Inquisitor Magazine)
Jan Axelson (Computer Craft magazine)


I hope that those of you who know of interesting items for the 8051
will share with everyone by contributing to this list. A good amount
of stuff if turning up thanks to everyone's help.

If you are a manufacturer and have an anonymous ftp site or BBS
available that supports the 8051, please let me know by EMail so that
I can add it to this FAQ. Also, please feel free to update me on new
products.


1.3) What newsgroups will this FAQ be posted to?

This FAQ will be posted to the following newsgroups:
comp.sys.intel
comp.realtime
comp.robotics
comp.lang.forth
sci.electronics
These newsgroups often contain discussions, announcements, or
information on the 8051. Check them out from time to time.

The schedule for posting will be once a month. I can't promise that
it will be on time, but I hope to post it on the 26th of each month.

You might also want to check out the following newsgroups, since they
occasionally have items of interest for you 8051 fans.
comp.lang.misc
alt.comp.hardware.homebuilt

A bit farther afield, but still of possible interest:
comp.ai.fuzzy
comp.dsp
sci.engr.control
sci.engr.semiconductors


1.4) May I post this FAQ to my local BBS?

I am putting no restrictions on the use of this FAQ except - It must
be distributed in its entirety with the copyright notice, and no
financial gain may be realized from it. After all, I have spent, and
continue to spend, a lot of time on this. The only thing that I
intend to gain from it is more information on the 8051, and getting
to know my fellow 8051 groupies better.

For this reason I have appended a copyright statement to the end of
this FAQ. I feel pretty silly doing this, but I just want to protect
myself. The copyright does not limit the use of this list for
noncommercial purposes. I hereby give my permission to one and all
to pass this list around and post it wherever you want - as long as
it is not for financial gain.

Thank you.


1.5) How about FAQs on other microcontrollers?

If anyone wishes to start a FAQ on another microcontroller, please
feel free to copy the format of this FAQ - I don't intend on
copyrighting the look and feel ;-). With a common format, we will
all benefit when trying to find information on a particular
microcontroller.

If anyone has any comments on the format itself, I'm open for
suggestions.


Other Microcontroller FAQs

Subject: PIC microcontrollers
Newsgroups: comp.realtime
comp.robotics
sci.electronics
Maintainer: Tom Kellett
Tom@takdsign.demon.co.uk

Subject: 68hc11 microcontrollers
Newsgroups: comp.realtime
comp.robotics
sci.electronics
Archive: rtfm.mit.edu : <plus all mirror sites>
/pub/usenet/comp.answers/microcontroller-faq/68hc11
/pub/usenet/sci.answers/microcontroller-faq/68hc11
/pub/usenet/news.answers/microcontroller-faq/68hc11
Maintainer: Russ Hersch
Email: sibit@datasrv.co.il

Subject: Microcontroller primer and FAQ
Newsgroups: comp.sys.intel
comp.realtime
comp.robotics
sci.electronics
alt.comp.hardware.homebuilt
Archive: rtfm.mit.edu : <plus all mirror sites>
/pub/usenet/comp.answers/microcontroller-faq/primer
/pub/usenet/sci.answers/microcontroller-faq/primer
/pub/usenet/news.answers/microcontroller-faq/primer
Maintainer: Russ Hersch
Email: sibit@datasrv.co.il


Additional FAQs of interest

Subject: Robotics
Newsgroups: comp.robotics
Maintainer: Kevin Dowling
(412)268-8830
Email: nivek@ri.cmu.edu
Smail: Carnegie Mellon University
The Robotics Institute
Pittsburgh, PA 15213

Subject: Electronics
Newsgroups: sci.electronics
Comments: There are a number of FAQs available in this newsgroup
on various subjects. Among some of the subjects covered
are: LCDs, stepper motors, etc.

FAQ subject: Real-time
Newsgroups: comp.realtime, comp.answers, news.answers
Archive: rtfm.mit.edu : pub/usenet/comp.realtime
Maintainer: Mark Linimon
Lonesome Dove Computing Services
Roanoke, Virginia
Email: linimon@nominil.lonesome.com.

Subject: Motorola 68K microprocessor line
Newsgroups: comp.sys.m68k
Archive: bode.ee.ualberta.ca : pub/motorola/general
ftp.luth.se : /pub/misc/motorola/faq
file name of archive is m68kfaq?.zip (? is version)
Maintainer: Robert Boys - Ontario, Canada
Email: r.boys@genie.geis.com
or
fboys@uoguelph.ca


For more detailed information on various 8051 microcontroller parts,
see the article posted to comp.robotics and sci.electronics which
provides a tabular cross reference of features and pin counts on a
wide range of microcontrollers (including the 8051 family). This
list was compiled and is being maintained by Roger Nelson
<rnelson@wsuaix.csc.wsu.edu>.

For more information on various microcontrollers and their features,
refer to the Microcontroller primer and FAQ listed above.


2) ABOUT THE 8051


2.1) The 8051 microcontroller

The 8051 is an 8 bit microcontroller originally developed by Intel in
1980. It is the world's most popular microcontroller core, made by
many independent manufacturers (truly multi-sourced). There were 126
million 8051s (and variants) shipped in 1993!!

A typical 8051 contains:
- CPU with boolean processor
- 5 or 6 interrupts: 2 are external
2 priority levels
- 2 or 3 16-bit timer/counters
- programmable full-duplex serial port
(baud rate provided by one of the timers)
- 32 I/O lines (four 8-bit ports)
- RAM
- ROM/EPROM in some models

The 8051 architecture is a tad bizarre, but then so are the
architectures of most microcontrollers due to their specialization
(check out the PIC for creativity). One vexing problem with the 8051
is its very non-orthogonal instruction set - especially the
restrictions on accessing the different address spaces. However,
after some time programming the chip, you can get used to it - maybe
even appreciate it.

One strong point of the 8051 is the way it handles interrupts.
Vectoring to fixed 8-byte areas is convenient and efficient. Most
interrupt routines are very short (or at least they should be), and
generally can fit into the 8-byte area. Of course if your interrupt
routine is longer, you can still jump to the appropriate routine from
within the 8 byte interrupt region.

The 8051 instruction set is optimized for the one-bit operations so
often desired in real-world, real-time control applications. The
boolean processor provides direct support for bit manipulation. This
leads to more efficient programs that need to deal with binary input
and output conditions inherent in digital-control problems. Bit
addressing can be used for test pin monitoring or program control
flags.


2.2) 8051 Flavors

The 8051 has the widest range of variants of any embedded controller
on the market. The smallest device is the Atmel 89c1051, a 20 Pin
FLASH variant with 2 timers, UART, 20mA. The fastest parts are from
Dallas, with performance close to 10 MIPS! The most powerful chip is
the Siemens 80C517A, with 32 Bit ALU, 2 UARTS, 2K RAM, PLCC84
package, 8 x 16 Bit PWMs, and other features.

Among the major manufacturers are:
AMD Enhanced 8051 parts
Atmel FLASH and semi-custom parts
Dallas Battery backed, program download, and fastest variants
Intel 8051 through 80c51gb / 80c51sl
Matra 80c154, low voltage static variants
OKI 80c154, mask parts
Philips 87c748 thru 89c588 - more variants than anyone else
Siemens 80c501 through 80c517a, and SIECO cores
SSI 80x52, 2 x HDLC variant for MODEM use


Advanced Micro Devices (AMD)
AMD has a number of enhanced variants including such features as:
dual data pointers, slave interface with arbitration unit, dual
port RAM, FIFO buffers, and others.


Atmel

The smallest current device is the ATMEL 89c1051, a 20 Pin FLASH
variant with 2 timers, UART, 20mA. ATMEL was the first with
standard pinout FLASH, and with more program cycles than other
custom pinout FLASH. These parts compete with OTP and MASK
product on price, but eliminate inventory problems and the hidden
costs of OTP development. This will put real pressure on
"vanilla" micros like PIC and ST6.


Dallas Soft Microcontrollers - DS5000(T), DS5001(T), DS2250(T)

The Dallas Soft Microcontrollers have standard 8051 cores with
on-chip non-volatile RAM instead of ROM. This gives the user the
ability to easily alter the system and is perfect for data
logging. These processors are available in both chip and module
solutions. Among the features included in this family of
products:
- on-chip non-volatile RAM
- loader in ROM for downloading programs (eliminates the hassle
of EPROM erase/program/install cycle)
- built in real time clock option
- watchdog timer
- software security (program and data encryption)

The DS500x is a standard 40 pin DIP package (well, mostly
standard, it is really a BOX which is about double the height of a
normal chip). The DS225x is a SIP version which is functionally
identical to the DS5000 but usually a bit less expensive.

The nice thing about having the RAM on-chip, is that the I/O ports
are unaffected. When the RAM is configured as CODE memory, the
DS5000 behaves exactly as a single-chip 8051. The NV-RAM is
static with a built-in lithium battery, and has no limitations on
the number of writes. You can download your code as many times as
you like without damaging the device. The DS5000 also includes a
loader in ROM, which permits you to bootstrap code into the RAM to
get underway. The loader and on-chip RAM have an encryption
feature with which you can protect your code from being read back
from the device if you wish.


Dallas High-Speed Micros - DS80c320, DS87c520, DS87c530

Real barn-burners - performance up to 10 MIPS! Dallas was the
first to speed up the core. Wasted clock and memory cycles have
been removed using a redesigned processor core. As a result,
every 8051 instruction is executed up to 3 times faster than the
original for the same crystal speed. Clock speeds from DC to
33MHz!

High performance doesn't just mean speed. High integration gives
the user 2 full-duplex hardware serial ports, 13 total interrupt
sources (6 external), watchdog timer, power management, power-fail
reset, and other features.


Intel MCS-51

Introduced in 1980, it has become the industry standard for
embedded control. Intel offers a wide variety of 8051 versions
with different configurations of on-board EPROM/ROM. Also low
power, high integration, and specialized parts are also offered.


Intel MCS-251

Intel has announced the MCS-251, which is 100% binary and pin
compatible with the 8051, but with a 5-15 times boost in
horsepower. This is achieved by a six fold gain in bus cycles,
and further hardware improvements to avoid wasted bus cycles.
Delivery early 1995.

Further performance gains are possible by recoding critical
sections to use the extended features of 16 and 32 bit data
transfers, arithmetic and logical instructions, register to
register operations, enhanced BIT manipulations and improved
control instructions. In addition to extra 16/32 bit
instructions, the 251 includes 40 register with Accumulator and
Index functions overlayed as 16x8, 16x16, 10x32.

Pin compatible parts allow instant performance upgrades, and the
binary compatibility truly preserves users investment in code and
tools. By staying firmly in the 80x51 camp, Intel allows users
transparent access to an enormous horsepower range. To further
improve throughput in numerically intensive areas, users can use
INTEGER, LONGINT and FLOAT libraries written for the MCS-251.


Philips
Philips has more 8051 variants than anyone else. Among the
derivatives that they have: 40MHz, 24 pin skinny DIP, low
voltage, quad flat pack (QFP) versions for saving board space,
OTP, I2C bus, and so on.

The 8xc575 line features high integration, with many built-in
features including built-in EMI/RFI suppression


Siemens sab80c517a

The 80c517a is one of the most powerful 8051 variants available.
It features high clock speed (40 MHz), and high integration with
32 Bit ALU, 2 UARTS, 2K RAM, PLCC84 package, 8x16 bit PWMs, and
more.


2.3) 8051 representatives and approximate prices (in USD $)

There are many, many varieties of 8051 out there. This is only a
small sampling of typical prices on Intel chips.

8031 (128 bytes RAM)...................................3.59
80C31 (CMOS version of previous).......................6.95
8051AH (256 bytes RAM).................................6.95
8051AHBASIC (w/Basic interpreter built in)............29.95
8751 (4K EPROM, 128 bytes RAM)........................26.95
87C51 (CMOS version of previous)......................39.95


2.4) Advantages realized in implementing control applications on this
family of microcontrollers

Popular - readily available and widely supported, a full range of
free and commercial support products is available

Fast and effective - the architecture correlates closely with the
problem being solved (control systems), specialized instructions mean
that fewer bytes of code need to be fetched and fewer conditional
jumps are processed

Low cost - high level of system integration within one component,
only a handful of components needed to create a working system

Wide range - ONE set of tools covers the greatest horsepower range
of any microcontroller family, other suppliers handle a number of
DIFFERENT and INCOMPATIBLE (and often single-sourced) cores to cover
the same power range as the 80x51, the 8051 provides a real cost
savings in tools, training, and software support

Compatibility - opcodes and binaries are the SAME for all 80x51
variants (unlike most other microcontroller families)

Multi-sourced - over 12 manufacturers, hundreds of varieties,
something for everyone with the security of ready availability

Constant improvements - improvements in silicon/design increase speed
and power annually, 16 Bit models coming from several manufacturers,
low cost skinny DIP models now available


3) SOURCES OF INFORMATION ON THE 8051


3.1) FTP sites

The following is a list of the various anonymous ftp sites that have
8051 source code and programming languages. There are many others
that are not listed here that contains bits and pieces. Usually you
can find them using Archie and searching for "8051", "AS31", "ASM51",
"MCS-51", "MCS51", and stuff like that.

ftp.pppl.gov (formerly lyman.pppl.gov)
- this is a great source of 8051 stuff
/pub/8051
/pub/incoming - check this out for new untested/unsorted items

ftp.funet.fi (nic.funet.fi)
- this is a great one, too
/pub/compilers/8051
/pub/microprocs/MCS-51 <mirror of ftp.pppl.gov>
other subdirectories in /pub/microprocs include:
1802, 6805, 6811, 8048, 8096 and many other microprocessors

ftp.intel.com
- this ftp site is pretty good now, and getting better all the
time!
- send comments to: ftp-admin@intel.com
/pub/mcs51
/pub/mcs51/tools - contains various development tools

nctuccca.edu.tw
- mirror of ftp.intel.com
- /vendors/Intel

ftp.mcc.ac.uk
- this is a new 8051 ftp site

info@circellar.com - Email (not ftp)
- send Email to get information file on services available
- all Circuit Cellar INK and BYTE related files available

S. Joel Katz's web page
- address is http://www.panix.com/stimpson/micro.html
- information about 8051 and related microcontrollers
- not much information yet, but it is increasing rapidly

ftp.luth.se
/pub/languages/assembler

asterix.inescn.pt - FORTH archive
/pub/forth/8051

hpcsos.col.hp.com
/mirrors/.hpib0/forth/8051
/misc/ns32k/beowulf/a-8051
/mirrors/.hpib0/forth/eForth

ftp.armory.com (Steve Walz)
- /pub/user/rstevew/8051
- /pub/user/rstevew/TB8051
- /pub/user/rstevew/incoming

ftp.oak.oakland.edu
- has information and software for a wide range of
microprocessors and microcontrollers, you may have to look
around a bit

130.123.96.9
giovanni/51forth.zip

ftp.kulnet.kuleuven.ac.be
/pub/MCS-51/keil-demo

ai.uga.edu
/pub/hardware
- stuff on the Philips 87C750/1/2 microcontrollers
- assembler, an update for the software in the DS-750 kit,
notebook of some early experiences and code
- responses welcome, Michael A. Covington (mcovingt@ai.uga.edu)

csd4.csd.uwm.edu - no longer supports 8051, don't even try

awaiting final corporate approval... Philips Semiconductor ftp site


3.2) BBSs

The following BBSs have 8051 information:

AM Research
- (916)652-7117

Blue Earth Research
- support for their line of microcontroller boards
- (507)387-4007

Circuit Cellar, Inc.
- contains code from their magazine articles and from the
original Circuit Cellar articles in Byte magazine, also
contains many other interesting items
- GOOD STUFF HERE!
- The BBS is mentioned in the masthead of each issue (on the
table of contents page). Excerpts from the BBS appear in Ken
Davidson's ConnecTime column in every issue with a description
of how to access the system at the end of every column.
- (203)871-1988
- Voice: (203)875-2751
- Fax: (203)872-2204

Crossware Products
- +44 763 261716

Dallas Semiconductor
- Support for their line of innovative products

Dunfield Development Systems
- support for their Micro-C compiler and development tools
- includes a lot of nice goodies - CHECK THIS OUT!
- (613) 256-6289

Electronics Now
- contains code from their magazine articles
- (516)293-2283
- 1200/2400, 8N1

Intel American Marketing Applications Support Bulletin Board System
- 16 lines, hi-speed modems (14.4K)
- Lots of useful info and files (including design examples)!
- Full ANSI-BBS with color is recommended, but support for just
about all terminal types is provided
- (916)356-3600 (24 hours)
Auto config: 1200 thru 14.4K Baud
8 data bits, no parity, 1 stop

Iota Systems, Inc.
- Support for their line of hardware and software products
- 15 application notes which show how to hook up such things as
clocks, A/D, D/A, and special chips to the 8051
- (702)831-4732

Micro Computer Control Corporation
- (609)466-4117

Philips Semiconductor (parent company of Signetics)
- support for: standard logic, programmable logic,
in-car electronics (now open), 8 and 16 bit microcontrollers,
I2C software, third party software, discrete semiconductors,
cross assemblers (general), RF (planned)
- PHIBBS is located in the Netherlands: +31-40-721102
- maximum 21600 baud / V42bis / HST/Vterbo
- 24 hours a day available
- Help desk: +31-40-722749 (9.00 AM - 16.00 PM CET)

PseudoCorp
- support for their line of simulators and assemblers
- (804)873-4838

Realtime Control & Forth Board (RCFB)
- Forth and assembly for the 8051
- 300 through 14.4 baud
- (303)278-0364 (24 hours)

Signetics (Philips Semiconductors)
- support for their 8051 variants
- contains many good source code items
- partially mirrored on ftp.pppl.gov and nic.funet.fi
- (800)451-6644 or (408)991-2406

Systronix Inc.
- support for their line of development tools
- (801)487-2778


3.3) Help available!

This is a new feature in the FAQ. Listed here are individuals who
have expressed interest in helping others with hardware and software
problems for 8051 systems. Richard H. Barnett (from Purdue
University and author of one of the books listed in this FAQ) got
this started by suggesting I list his name. Daniel Drennan (of
Inquisitor Magazine) also graciously agreed to have his name listed
here.

Does any one else out there think that they can help? Just let me
know what your areas of specialization are and I'll add your name to
the list. Thanks!

Dick Barnett <barnettr@mace.cc.purdue.edu>
Specializes in 8051 (core processors), 80C552, and 87C751
applications.

Daniel Drennan <xixax@echonyc.com> or <xixax@echonyc.com>
He claims his electronics knowledge is very rudimentary and
self-taught (what a modest guy!). He'll probably be able to point
you in the right direction.


4) 8051 PRODUCTS

This section includes descriptions and references to free and
commercial software for the 8051. FTP sites and BBSs contain many
quality packages and code samples for free. For heavy duty use, you
might prefer the many commercial packages that are available. With
the public domain (or free) stuff, you're usually on your own. The
commercial packages usually provide extensive documentation and
support.


4.1) Free languages and development tools

The following is a list of the languages and development tools that I
could find on the net. Nearly all of them include source code,
however not all are public domain.

Assembler

Program: ML-ASM51.ZIP
Description: MetaLink's 8051 family macro assembler
Location: ftp.pppl.gov : /pub/8051/signetics-bbs
ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs

Program: A51.ZIP
Description: PseudoSam 8051 Cross Assembler
Location: ftp.pppl.gov : /pub/8051/signetics-bbs
ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs

Program: AS31.ZIP
Description: C source for an 8051 assembler, and a simple monitor
Author: Ken Stauffer
Location: ftp.pppl.gov : /pub/8051/signetics-bbs
ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs
ftp.uu.net
oak.oakland.edu : /pub/msdos/crossasm/as31.zip
many other locations (use Archie to find)

Program: CUG292WK.ZIP
Description: C source for a cross assembler, includes 8051
Author: Alan R. Baldwin
Location: oak.oakland.edu : /pub/msdos/crossasm
pc.usl.edu : /pub/msdos/systools
many other locations (use Archie to find)

Program: Frankenstein
Description: C source for a cross assembler, includes 8051
Author: Mark Zenier
Location: ftp.njit.edu : /pub/msdos/frankasm/FRANKASM.ZOO
lth.se : /pub/netnews/alt.sources/volume90/dec
ftp.uni-kl.de : /pub1/unix/languages/frankenstein.tar.Z
many other locations (use Archie to find)

Program: CAS 8051 assembler
Description: Experimental one-pass assembler for the 8051
with C-like syntax. Includes assembler, linker
and disassembler.
Author: Mark Hopkins
Location: ftp.pppl.gov : /pub/8051/assem
ftp.funet.fi : /pub/microprocs/MCS-51/csd4-archive/assem

Program: a51
Description: Portable cross assembler (source in C), other
processors available
Author: William C. Colley, III
Location: hpcsos.col.hp.com : /misc/ns32k/beowulf/a-8051


Basic

Program: BASIC52.ZIP
Description: Source files for original BASIC 52 interpreter
Author: Intel Corporation, Embedded Controller Operations
Location: ftp.intel.com : /pub/mcs51

Program: BAS051.ZIP
Description: Converts IBM BASIC to 8051 assembly (compiler)
Author: Winefred Washington
Location: ftp.pppl.gov : /pub/8051/signetics-bbs
ftp.funet.fi : /pub/8051/signetics-bbs

Program: BASIC-52.ZIP
Description: Source files for BASIC-52 interpreter
Author: Intel Corporation, Embedded Controller Operations
Location: ftp.pppl.gov : /pub/8051/signetics-bbs
ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs

Program: BASIC31.ZIP
Description: BASIC-52 interpreter for 8031/8051 in external EPROM
Author: Intel w/ changes by Dan Karmann
Location: ftp.pppl.gov : /pub/8051/signetics-bbs
ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs

Program: TB-51.ZIP
Description: TinyBASIC for 8031
Author: JHW (from Intel InSite library) w/ fixes by Tom Schotland
Location: ftp.pppl.gov : /pub/8051/signetics-bbs
ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs

Program: TB51ML23.ZIP
Description: MetaLink ASM compatible tiny BASIC
Author: adapted for MetaLink assembler by Jim Lum
Location: ftp.pppl.gov : /pub/8051/signetics-bbs
ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs


Forth

Program: EFORTH51.ZIP
Description: eFORTH environment for the 8051
Author: C. H. Ting
Location: ftp.pppl.gov : /pub/8051/signetics-bbs
ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs
asterix.inescn.pt : /pub/forth/8051
hpcsos.col.hp.com : /mirrors/.hpib0/forth/eForth

Program: FORTH51.ZIP (FORTH86.ZIP used as host)
Description: FORTH development system for 8051 with PC host
Author: William H. Payne, the author of "Embedded Controller
Forth for the 8051 Family"
Location: ftp.pppl.gov : /pub/8051/signetics-bbs
ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs
asterix.inescn.pt : /pub/forth/8051
hpcsos.col.hp.com : /mirrors/.hpib0/forth/8051

Program: XD8051.ZIP
Description: Development environment for use with F-PC Forth
Author: Paulo A.D. Ferreira
Location: ftp.pppl.gov : /pub/8051/signetics-bbs
ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs

Program: 51FORTH.ZIP
Description: Subroutine threaded Forth
Author: Scott Gehmlich
Location: hpcsos.col.hp.com : /mirrors/.hpib0/forth/8051
130.123.96.9 : /giovanni/51forth.zip

Program: FORTH552.ZIP
Description: A Non-Standard Forth System for the Signetics 80C552
Author: Alberto Pasquale
Location: hpcsos.col.hp.com : /mirrors/.hpib0/forth/8051


Development systems

Program: 8051.zip
Description: Many development tools including: debugger, monitor,
LCD and stepper moter driver, communications, host
client, and much more. This is a great collection of
tools.
Author: Mark Hopkins
Location: ftp.pppl.gov : /pub/8051
ftp.funet.fi : /pub/microprocs/MCS-51/csd4-archive

Program: RISM and IECM51.EXE compatible host system
Description: RISM is a reduced instruction set monitor and
IECM51.EXE is its compatible host system for a PC
Comments: These two programs together constitute a bare-bones
method of developing 80C51 system code without an
emulator. RISM51X is installed in the target system
and connected to a host PC system through a serial port.
The host PC runs the debugger IECM51.EXE. Once the
system has been debugged, RISM can be removed and the
target can be run in stand-alone mode.
Author: Intel
Location: ftp.intel.com : /pub/mcs51/tools

Program: ApBUILDER 2.0
Description: Development system for the Intel MCS-51(R) family
(also for the MCS-96(R) family, 80x186, and 80x386
embedded microcontrollers).
Comments: Requires Windows 3.1
APBUILDR.TXT - description in ASCII
APBDISK1.EXE - binary self-extracting file for disk 1
APBDISK2.EXE - binary self-extracting file for disk 2
Author: Intel
Location: ftp.intel.com : /pub/mcs51 and /pub/mcs96

Program: FXDSMAN.EXE
Description: 8xC51Fx data sheets and manual in Windows 3.1
hypertext style
Comments: binary self-extracting file for one diskette
Author: Intel
Location: ftp.intel.com : /pub/mcs51/80c51

Program: sim51d
Description: Shareware Simulator in German
DM 50 to register for full version
Author: Werner Hennig-Roleff
Location: ftp.pppl.gov : /pub/8051/hannover

Program: sim552vq.zip
Description: 80C552 simulator (Freeware)
Comments: Program is capable of reading .HEX and .S19 records, or
saving memory to a file. It supports both code and
data. Written in Turbo Pascal for XT and upwards.
Author: Brian Brown
Location: cscnt.cit.ac.nz : /pub/msdos/sim552v1.zip


4.2) Free C compilers

Several commercial C compilers have evaluation versions available.
These are not too useful (even for hobbyist projects) since they
usually don't include libraries. However, they do afford the user
the chance to inspect the quality of the code generated. Among those
currently available:

An evaluation version of COMPASS is available from Production
Language Systems. This package includes a C compiler, assembler,
debugger, simulator, etc. and runs under Windows 3.1. This
package can be downloaded from their BBS:
(817)599-8363
Enter YY8051 as password for first-time login
(In case of difficulty, contact manvillec@aol.com)

The Keil C compiler evaluation package is available as a freeware
C compiler. It can be downloaded from:
ftp.kulnet.kuleuven.ac.be : /pub/MCS-51/keil-demo
Thanks to Christofe Huygens for setting this up.

A freeware version of the Hi-Tech C compiler used to be available
from various places. It seems to have disappeared however. It
might still be available at:
design.fen.qut.edu.au : /hitech

Mark Hopkins (of CAS assembler and 8051.ZIP fame) says he is working
on a C compiler. No word yet on when it might be available - but,
hope is on the horizon.

In most cases, it makes more sense to invest a bit, and get something
serious. I've been playing with the Dunfield Development System
lately, and its really quite nice. I've also heard many good things
about it from others. It includes a near ANSI-C compiler, run-time
library with source, assembler, ROM debugger, integrated development
environment, monitor with source, utilities, and other extras. A
high quality simulator is also available separately. Although not
freeware, the low price ($100), the features, all of the extra
goodies, and the good reviews make this a package worth looking at.
Also, if you're interested in working on more than one family of
microcontroller, Dunfield supports a wide range. This means only
needing to learn one system, instead of many.


4.3) Commercially available products

Many firms (large and small) offer a variety of 8051 microcontroller
variants, programming languages, support packages, and development
systems.

No endorsement is implied by inclusion in this list. I apologize to
anyone I left out; It's only because I didn't know about you. If
you want to be included in this list, just drop me a line - please.
Any corrections and additions appreciated.

C compilers ($$$ - high, $$ - medium, $ - low priced)
- 2500 A.D.
- Archimedes Software $$$
compiler, assembler, debugger, real-time kernel, ROM
monitor, libraries for special 8051's to set SFR, embedded
I/O devices, A/D, etc.
- Avocet Systems $$
repackaging of the Hi-Tech Software C compiler
- BSO/Tasking $$
- Crossware Products
- Dunfield Development Systems $
C cross compiler for MS-DOS
low price: $100
good reputation and good support
near ANSI C (does not support: Typedef, bit fields,
Long* / Double / Float / Enumerated data types)
- Franklin Software $$$
same as Keil Electronics C
compiler, assembler, debugger, real-time kernel, ROM
monitor, libraries for special 8051's to set SFR,
embedded I/O devices, A/D, etc.
- IAR Systems
IAR tool kit comes with a C-Cross compiler, assembler,
Xlink linker, Xlib librarian, C-SPY simulator, editor,
make utility and a real-time kernel
formerly licensed for distribution in the US and Canada
under the Archimedes brand name
- Hi-Tech Software $$
high compliance to ANSI C
available for DOS and soon for SUN
- Intermetrics Microsystems Software, Inc.
Whitesmith's compiler, assembler, and C source level
debugger
- Keil Electronics
- Mandeno Granville Electronics, Ltd
SYS51C - ANSI C Cross Compiler
- Micro Computer Control $
low cost ($99.95)
Developer's kit includes "C"-like compiler, assembler,
linker, librarian, 400+ page user's guide
- Nohau Corporation
sells and supports Franklin C
- Okapi Systems
- Production Languages Corporation
DOS- and Windows- based compilers
Integrated development environment includes ANSI C compiler,
assembler, linker, librarian, debugger
- Signum Systems

Basic interpreters/compilers
- Binary Technology, Inc.
- Iota Systems, Inc.
Basic-752 interpreter (simulator also available)
Basic-52 Plus interpreter
- Micro Future
Basic-52 development system
- Systronix Inc. (Basic compiler)

Pascal
- Mandeno Granville Electronics, Ltd
PASCAL51 - Advanced Turbo PASCAL compliant cross compiler
- Scientific Engineering Labs

Modula-2
- Mandeno Granville Electronics, Ltd
Mod51 - optimizing Modula-2 Compiler, smallest program is 14
bytes, ideal for both very tight/fast projects and very
large ones with multiple modules, produces smaller/tighter
code than C, has extensive libraries and working examples
- Vail Silicon Tools, Inc.

PL/M
- BSO/Tasking

Board level products
- Ackerman Computers Sciences (ACS)
- AM Research
complete FORTH based system with PC based host system
- Binary Technology, Inc.
- Blue Earth Research
- Blue Ridge Micros (8031 and 8052-BASIC based boards)
- Circuit Cellar Inc.
- DataCraft International
- Dunfield Development Systems
- EE Systems
- Forth, Inc.
- HiTech Equipment Corp.
- Iota Systems, Inc. (line of development packages, boards,
peripherals, and components)
- J & M Microtek, Inc.
- L.S. Electronic Systems Design
- Mandeno Granville Electronics, Ltd
- Parallax, Inc.
- Prologic Designs
- Rigel Corporation
- Software Science
- Suncoast Technologies
- URDA, Inc.

Assemblers
- 2500 A.D.
- Archimedes Software
- BSO/Tasking
- Crossware Products
- Custom Computer Consultants
- Cybernetics Microsystems
- Dunfield Development Systems
Supports both Intel and Motorola style syntax
- Intel Corporation
- Keil Electronics
- Lear Com Company
- Metalink
- Micro Computer Control
- Microtek Research
- Nohau Corporation
- Okapi Systems
- Onset Computer Corporation (8051 Assember for MAC)
- Parallax, Inc.
- PseudoCorp
- Raven Computer Systems
- Signum Systems
- Speech Technology Inc.
- Sysoft SA
- Universal Cross Assemblers
CROSS32 supports 40-50 different processors

Forth
- AM Research
Development system, features kernel of less than 700 bytes
- Forth, Inc.
A cross-development product for the 8051 family
which includes a board and extensive documentation.
- Forth Systeme
- MPE: MicroProcessor Engineering Ltd.
A cross-development system for the 8051 family
extensive documentation
interactive single chip development, multitasking,
bank switching for more than 64k code
- Offete Enterprises
8051 eForth (C. H. Ting -- $25.00). "A small ROM based
Forth system ... Source code is in MASM IBM 5.25 disk
with 8051 eForth Implementation Note."

ROM Monitor-based Debuggers
- ChipTools (ChipView-51 looks like turbo debugger)
- Dunfield Development Systems

Simulators
- 2500 A.D.
- Avocet Systems
- ChipTools
on a 33 MHz 486 matches the speed of a 12 MHz 8051
- Cybernetic Micro Systems
- Dunfield Development Systems
Low cost $50.00
500,000+ instructions/second on 486/33
Can interface to target system for physical I/O
Includes PC hosted "on chip" debugger with identical user
interface
Can be used with DS5000 for single-chip in-circuit
emulation
- HiTech Equipment Corp.
- Iota Systems, Inc.
- J & M Microtek, Inc.
- Keil Electronics
- Lear Com Company
- Mandeno Granville Electronics, Ltd
- Micro Computer Control Corporation
Simulator/source code debugger ($79.95)
- Microtek Research
- Production Languages Corp.
- PseudoCorp

Emulators ($$$ - high, $$ - medium, $ - low priced)
- Advanced Micro Solutions $$
- Advanced Microcomputer Systems, Inc. $
- American Automation $$$ $$
- Applied Microsystems $$
- ChipTools (front end for Nohau's emulator)
- Cybernetic Micro Systems $
- HBI Limited $
- Hewlett-Packard $$$
- HiTech Equipment Corp.
- Huntsville Microsystems $$
- Intel Corporation $$$
- Kontron Electronics $$$
- Mandeno Granville Electronics, Ltd
full line covering everything from the Atmel flash to the
Siemens powerhouse 80c517a
- MetaLink Corporation $$ $
- Nohau Corporation $$
- Orion Instruments $$$
- Philips (pseudo-ICE)
- Signum Systems $$
- Sophia Systems $$$
- Zax Corporation
- Zitek Corporation $$$

Real-time
- Byte-BOS Integrated Systems
small, prioritized, preemptive real-time kernel
- Embedded System Products (formerly A.T. Barrett and Associates)
ROMable embedded-system kernel: source provided. Provides
programming interface identical on all target platforms.
Basic, advanced, and extended library packages available.
- Intellimap Engineering
DCE51 real time operating system
- JMI Software Systems, Inc.
small, prioritized, preemptive real-time kernel
- U S Software
SuperTask! - multitasking executive

Trainers
- Advanced Educational Systems (AES)
complete learning system (board, LCD, keypad, A/D, D/A, etc)
- Sun Equipment Corp.
trainers

Miscellaneous
- Creative Applications Engineering, Inc
CheepTools (integrated environment)
- Dallas Semiconductor
evaluation/development kit for their DS5000 (very nice)
- Data Sync Engineering (disassembler)
- Dunfield Development Systems
integrated development environment
- Educational Laboratories
development courses:
8051 Microcontroller Based Computer Design
Programming 8051 Based Computers
each course $19.95, both $29.95
- Electronic Product Design, Inc.
development system (integrated package with assembler,
project manager, text editor, programmer)
- Exor Inc. (ladder logic compiler)
- Iota Systems, Inc.
integrated environment system
- Mandeno Granville Electronics, Ltd
PIC to 8051 conversion program
- Parallax, Inc.
programmers
- Quantasm Corp.
ASMFLOW - produces flowchart and tree diagrams from source
code, register usage analysis, Xref, timing info
- U S Software
USNET - TCP/IP networking suite
USFiles - file system
GOFAST - floating point library


2500 A.D. 109 Brookdale Ave., Box 480, Buena Vista, CO 81211
(719)395-8683

Ackerman Computer Sciences (ACS)
4276 Lago Way, Sarasota, FL 34241
(813)377-5775 Fax: (813)378-4226

Advanced Educational Systems (AES)
1407 North Batavia Street, Orange, CA 92677
(800)730-3232 (714)744-0981 Fax: (714)744-2693

Advanced Micro Devices
901 Thompson Place, PO Box 3453
Sunnyvale, CA 94088-3000
(408)732-2400

Advanced Microcomputer Systems, Inc.
1321 NW 65th Place, Fort Lauderdale, FL 33309
(305)975-9515 Fax: (305)975-9698

Advanced Micro Solutions
1033 S Imperial Dr., Hartland, WI 53029
(414)367-3577

American Automation
2651 Dow Avenue, Tustin, CA 92680
(714)731-1661

AM Research 4600 Hidden Oaks Lane, Loomis, CA 95650
(800)949-8051 (916)652-7472 Fax: (916)6642
BBS: (916)652-7117
Email: sofia@netcom.com

Applied Microsystems
5020 148th Ave. N.E., PO Box 97002
Redmond, WA 98073-9702

Archimedes Software
2159 Union St., San Francisco, CA 94123
(415)567-4010

Ashling Microsystems Ltd
Ireland Plessey Technological Park
Limerick, Ireland
+353 61 334466 Fax: +353 61 334477
United Kingdom Butler House
19-23 Market Street
Maidenhead, Berkshire, UK
+0628 773070 Fax: 0628 773009

Avocet Systems 120 Union St., Rockport, ME 04856
(800)448-8500 (207)236-9055 Fax: (207) 236-6713

Binary Technology, Inc.
PO Box 541, Carlisle, MA 01741
(508)369-9556 Fax: (508)369-9549

Blue Earth Research
165 W. Lind Ct., Mankato, MN 56001-0400
(507)387-4001 Fax: (507)387-4008
BBS: (507)387-4007

Blue Ridge Micros
2505 Plymouth Rd., Johnson City, TN 37601
(615)335-6696 Fax: (615)929-3164

BSO/Tasking
International 333 Elm Street, Dedham, MA 02026-4530
(800)458-8276 (617)320-9400 Fax: (617)320-9212
Europe TASKING Software BV
P O Box 899, 3800 AW Amersfoort, Netherlands
+31 33 558584 Fax: +31 33 550033

Business Data Computers
P.O. Box 1549, Chester, CA 96020

Byte-BOS Integrated Systems
P.O. Box 3067, Del Mar, CA 92014
(800)788-7288 (619)755-8836

ChipTools Inc (905)274-6244 Fax: 905-891-2715
Email: chiptool@hookup.net

Circuit Cellar Inc.
4 Park St., Vernon, CT 06066
(203)875-2751 Fax: (203)872-2204

Creative Applications Engineering, Inc
Ed Carryer
(415)494-2363 BBS: 415-494-8463

Crossware Products
2 The Lawns, Melbourn, Royston, Herts SG8 6BA, UK
+44 763 261539 Fax: +44 763 262983
BBS: +44 763 261716
Email: sales@crossware.com

Custom Computer Consultants
1807 Huron River Drive, Ypsilanti, MI 48197

Cybernetic Micro Systems
Box 3000, San Gregorio, CA 94074
(415)726-3000

Dallas Semiconductor
4401 S. Beltwood Parkway, Dallas, TX 75244-3292
(214)450-0448 Fax: (214)450-3715
International: (214)450-5351
Orders: (800)336-6933
Email: self@dalsemi.com (Kevin Self, appl. engineer)
(great email address! right?)

DataCraft International
2828 Ione Dr., San Jose, CA 95132
(800)873-3709 (408)259-4866

Data Sync Engineering
POB 146, E. Stroudsburg, PA 18301
(717)421-1977

Dunfield Development Systems
P.O. Box 31044, Nepean, Ontario Canada K2B 8S8
(613)256-5820 Fax: (613)256-5821
BBS: (613)256-6289
Email: ddunfield@bix.com

EE Systems 50935 Hill Dr., Elkhart, IN 46514
(219)296-1754 Fax: (219)522-4271

Electronic Product Design, Inc.
6963 Bluebelle Way, Springfield, OR 97478
(503)741-0778

Embedded System Products (formerly A.T. Barrett and Associates)
11501 Chimney Rock, Houston, TX 77035-2900
(800)525-4302 (713)728-9688 Fax: (713)728-1049

Exor Inc.
4740T Interstate Dr., Cincinnati, OH 45246
(513)874-4665 Fax: (513)874-3684

Forth, Inc. 1-800-55FORTH

Forth Systeme P.O. Box 1103, Breisach, Germany
7767-551

Franklin Software
(408)296-8051

HBI Limited
6F, 1 Fleming Road, Hong Kong
(852)891-3673 Fax: 852-834-9748

Hewlett-Packard 1501 Page Mill Rd., Palo Alto, CA 94304

HiTech Equipment Corp.
9400 Activity Rd., San Diego, CA 92126
(619)566-1892 Fax: (619)530-1458

Hi-Tech Software
PO Box 103, Alderly QLD 4051, Australia
(+61-7) 300 5011 Fax: (+61-7) 300 5246
Email: hitech@hitech.com.au

Hitex (UK) Ltd Sir William Lyons Road, Science Park
Coventry CV4 7EX
+0203 692066 Fax: 0203 692131

Huntsville Microsystems
4040 S. Memorial Parkway, PO Box 12415
Huntsville, AL 35802

IAR Systems Software
North America One Maritime Plaza, Suite 1770
San Fransisco, CA 94111 USA
(415)765-5500 Fax: (415)765-5503
Sweden IAR Systems AB
Box 23051
S-750 23 Uppsala, Sweden
+46 18 16 7800 Fax: +46 18 16 7838
Germany IAR Systems GmbH
Brucknerstrasse 27
D-81677 Munchen, Germany
+49 89 470 6022 Fax: +49 89 470 9565
United Kingdom IAR Systems Ltd
9 Spice Court
Plantation Wharf, York Rd
London SWII 3UE, England
+44 71 924 3334 Fax: +44 71 924 5341

Intel Corporation
3065 Bowers Ave., Santa Clara, CA 95051
Technical Help: 800-628-8686 (USA/Canada only)
5 am to 5 pm PST
Email: james_sampson@ccm.hf.intel.com
Faxback support: 800-628-2283 (USA/Canada)
touch tone phones only
Will only FAX to USA/Canada locations
English or Japanese support is available
BBS: 916-356-3600 24 Hr.
Auto config: 1200 thru 14.4K Baud
Settings: 9600,N,8,1

Intellimap Engineering
1140 Morrison Dr., Suite 222
Ottawa Ontario Canada K2H 8S9
(613)829-3196 Fax: 613-820-1773

Intermetrics Microsystems Software, Inc.
733 Concord Ave., Cambridge, MA 02138
(617)661-0072 Fax: (617)868-2843

Iota Systems, Inc.
924 Incline Way, Suite N
POB 8987
Incline Village, NV 89452-8987
(702)831-6302 Fax: (702)831-4629

J & M Microtek, Inc.
83 Seaman Rd., W Orange, NJ 07052
(201)325-1892 Fax: (201)736-4567

JMI Software Systems, Inc.
P.O. Box 481, 904 Sheble Lane, Spring House, PA 19477
(215)628-0840 Fax: (215)628-0353

Keil Elektronik GmbH
Bretonischer Ring 15
D-85630 Grasbrunn b. Muenchen, Germany
089-465057 Fax: 089-468162

Kontron Electronics
D-8057 Eching/Munich
Oskar von Miller Str. 1, Germany
(0 81 65) 77-0

Lear Com Company
2440 Kipling St. Suite 206, Lakewood, CO 80215
(303)232-2226 Fax: (303)232-8721

Logical Systems Corporation (Disassembler, Simulator)
Micro Dialects, Inc.
POB 30014, Cincinnati, OH 45230
(513)271-9100

Logisoft Box 61929, Sunnyvale CA 94086
(408)773-8465 Fax: (408)773-8466

L.S. Electronic Systems Design
2280 Camilla Rd., Mississauga, Ontario
Canada L5A 2J8
(905)277-4893 Fax: (905)277-0047

Mandeno Granville Electronics, Ltd
128 Grange Rd., Auckland 3, Australia
+64 9 6300 558 Fax: +64 9 6301 720

Matra Semiconductor
2840-100 San Tomas Expressway, Santa Clara, CA 95051
(408)986-9000

MetaLink Corporation
North America 325 E. Elliot Road, Chandler, AZ 85255
(800)638-2423 (602)926-0797
Fax: (602)926-1198
Europe MetaLink Europe GmbH
Westring 2, 8011<85614>
Kirchseeon-Eglharting, Germany
(08091)2046 Fax: (08091)2386

Micro Computer Control Corporation
PO Box 275, 17 Model Ave., Hopewell, NJ 08525
(609)466-1751 Fax: (609)466-4116
BBS: (609)466-4117
Email: 73062.3336@compuserve.com

Micro Future 40944 Cascado Place, Fremont, CA 94539
(510)657-0264 Fax: (510)657-5441
BBS: (510)657-5442

MicroMint 4 Park St., Vernon, CT 06066
(203)875-2751 Fax: (203)872-2204

Microtek International, Inc.
North America Microtek International, Inc.
3300 N.W. 211th Terrace, Hillsboro, OR 97124
(503)645-7333 Fax: (503)629-8460
Europe Microtek Electronics Europe GmbH
Starnberger Strasse 22, 82131 Gauting bei Munchen
Germany
+49(89)893139-30 Fax: +49(89)893139-50

MPE: MicroProcessor Engineering Ltd.
133 Hill Lane, Shirley, Southampton SO1 5AF U.K.
+44 1703 631441 Fax: +44 1703 339691
Email: mpe@mpeltd.demon.co.uk
sales@mpeltd.demon.co.uk
70730.3576@compuserve.com

Nohau Corporation
51 E. Campbell Ave., Campbell, CA 95008
(408)866-1820
(408)378-2912 (24 hr. information center)
Fax: (408)378-7869

Offete Enterprises, Inc.
1306 South B Street, San Mateo, CA 94402
(415) 574-8250

Okapi Systems (206)258-1163

Onset Computer Corporation
199 Main St., P.O. Bos 1030
North Falmouth, MA 02556-1030
(508)563-9000 Fax: (508)563-9477

Orion Instruments
180 Independence Drive, Menlo Park, CA 94025
(800)729-7700 Fax: (415)327-9881

Parallax, Inc. 6200 Desimone Lane, #69A, Citrus Heights, CA 95621
(916)721-8217

Production Languages Corporation
P.O. Box 109, Weatherford, TX 76086
(800)525-6289 (817)599-8365 Fax: (817)599-5098

Prologic Designs
PO Box 19026, Baltimore, MD 21204
(410)661-5950 Fax: (410)661-5950

PseudoCorp 716 Thimble Shoals Blvd., Newport News, VA 23606
(804)873-1947 Fax: (804)873-2154
BBS: (804)873-4838

Quantasm Corporation
19672 Stevens Creek Blvd.
Cupertino, CA 95014
(800)765-8086 (408)244-6826 Fax: (408)244-7268

Raven Computer Systems
PO Box 12116, St. Paul, MN 55112
(612)636-0365

Rigel Corporation
P.O. Box 90040, Gainesville, FL 32607

Scientific Engineering Labs
255 Beacon St., Suite 3D, Somerville, MA 02143
(617)625-0288

Siemens Components, Inc.
Integrated Circuit Division, 10950 N. Tantau Ave.
Cupertino, CA 95014
(800)777-4363 Fax: (708)296-4805

Signetics Corporation
811 E. Arques Ave., PO Box 3409
Sunnyvale, CA 94088-3409

Signum Systems Mountain View, CA (415)903-2220
Thousand Oaks, CA (805)371-4608

Software Science
3570 Roundbottom Rd., Cincinnati, OH 45244

Sophia Systems NS Bldg. 2-4-1, Nishishinjuku, Shinuku-ku
Tokyo 160, Japan
03-348-7000

Speech Technology Inc., Software Division
837 Front Street South, Issaquah, WA 98027
(206)392-8150

Sun Equipment Corporation
Lodestar Electronics Corp.
616 Hawick Rd., Raleigh, NC 27615
(800)870-1955 (919)881-2141 Fax: (919)870-5720

Suncoast Technologies
PO Box 5835, Spring Hill, FL 34606
(904)596-7599

Sysoft SA 6926 Montagnola, Switzerland
(091)543195

Systronix Inc. 555 S. 300 E., Salt Lake City, UT 84111
(801)534-1017 Fax: (801)534-1019
BBS: (801)487-2778

URDA, Inc. (800)338-0517 (412)683-8732

US Software 14215 N.W. Science Park Drive, Portland, OR 97229
(800)356-7097 (503)641-8446 Fax: (503)644-2413
Product information available by ftp -
ftp.netcom.com : pub/ussw

Universal Cross Assemblers
Canada
(506)849-8952 Fax: (506)847-0681

Vail Silicon Tools, Inc.
Box 165, Pompano Beach FL 33069
(305)491-7443 Fax: 305-974-8531

Zax Corporation
2572 White Road, Irving, CA 92714
(800)421-0982 (714)474-1170

Zitek Corporation
1651 East Edinger Ave., Santa Ana, Ca 92705
(714)541-2931


5) 8051 DOCUMENTATION


5.1) Periodicals that cover the 8051

Various magazines and journals (journals seems to be THE popular name
for magazines these days) provide articles from time to time on the
8051 family of microcontrollers:

The Computer Applications Journal (Circuit Cellar Ink)
- programming and construction articles
- POB 7694, Riverton, NJ 08077-8784
- FAX: (203)872-2204
- Voice orders: (609) 786-0409
- On-line orders (BBS): (203) 871-1988
- Email orders: ken.davidson@circellar.com
- $21.95, $31.95 surface Canada and Mexico,
$49.95 air all other countries

Computer Design
- industry announcements and trends
- One Technology Park Drive, P.O. Box 990, Westford, MA 01886
- (508)692-0700

The Computer Journal
- programming and construction articles
- PO Box 535, Lincoln 96648

Dr. Dobbs Journal
- programming articles, concepts, and designs
- 411 Borel Ave., San Mateo, CA 94402
- (415)358-9500

Electronic Engineering Times
- industry announcements and trends
- FREE to qualified engineers and managers involved in
engineering decisions
- Fulfillment Dept., PO Box 9055, Jericho, NY 11753-8955
- FAX: (516)733-6960

Electronics Now
- construction articles
- Box 55115, Boulder, CO 80321-5115
- $19.97 one year

Elektor Electronics
- programming and construction articles
- World Wide Subscription Service Ltd
Unit 4, Gibbs Reed Farm, Pashley Road
Ticehurst TN5 7HE, England
- 27 UK pounds
or
- Old Colony Sound Lab, P.O. Box 243, Peterborough, NH 03458
- Tel. (603) 924-6371, 924-6526
- Fax: (603) 924-9467
- $57 USA and Canada per year

Embedded Systems Programming
- programming and systems design articles
- Miller Freeman Publications
- 500 Howard St., San Francisco, CA 94105
- (415) 397-1881

Inquisitor Magazine
- If you're the type that watched Gilligan's Island for its
socio-political insights, then you'll love a new 'zine that
just crossed my desk - Inquisitor Magazine. It's general
philosophy seems to be ... well, it seems to be ... uh, yeah!
Technical in nature, bizarre, tongue in cheek, eclectic,
electric, did I mention bizarre(?), and lots of fun. Worth
looking at if you like the out of the ordinary. The moving
force behind this magazine is Daniel Drennan, who seems to have
suffered from an overdose of radiation from his computer
monitor ;-).
- Planetarium Station, P.O.Box 132, New York, NY 10024-0132
- (212)595-8370
- Email: inquisitor@echonyc.com
- $16 per year (4 issues)

Microcomputer Journal (formerly Computer Craft)
- programming and construction articles
- 76 N. Broadway, Hicksville, NY 11801
- $29.70 one year

Midnight Engineering
- 1700 Washington Ave., Rocky Road, CO 81067
- (719)254-4553

MW Media - Product Directories
- 8051 Product Directory
(survey of various 8051 products)
- Intel Development Tools Handbook
(survey of commercial development tools for the 8051, 8096,
and 80186 lines of Intel microprocessors)
- This documents could very well be a "must" if you're into
serious development using one of these chips. If you are
"just" a hobbyist, see how the "other half" lives.
- other guides on Intel development tools, Embedded Intel 386,
Intel 486/Pentium, 8051 products, Hitachi microcontroller
development tools, AMD FusionE86, AMD 29K; low power products,
DSP, multimedia CD
- FREE to qualified developers
- MW Media
- Fairmont Plaza, 50 W. San Fernando, #675, San Jose, CA 95113
- (408)288-4721 and (408)286-4200
- FAX: (408)288-4728
- Email: jasonm@violet.berkeley.edu
(Jason McDonald, program director)

Nuts & Volts Magazine
- A National Publication for the Buying and Selling of
Electronic Equipment
- 430 Princeland Court, Corona, CA 91719
- Mailed third class, USA only: $17.00 one year
$31.00 two years
- Mailed first class, one year only: $34.00-USA
$35.00-Canada/Mexico
- Foreign/Air Mail - $70.00; Foreign/Surface - $39.00
- (800)783-4624
- Email: 74262.3664@compuserve.com


5.2) Books on the 8051

5.2.1) List of books

I don't have information on all of these, only that they exist. I
would greatly appreciate it if someone could provide a short synopsis
and the complete book name if you are familiar with any of these
titles.

The 8051 Family of Microcontrollers
-Richard H. Barnett
-Prentice-Hall, 1995
-ISBN 0-02-306281-9

8051 Interfacing and Applications
- Applied Logic Engineering
- 13008 93rd Place North, Maple Grove, MN 55369
- (612)494-3704

The 8051 Microcontroller
- I. Scott MacKenzie
- Macmillan Publishing Company, 1992
- includes schematics for a single-board computer,
assembly-language source code for a monitor program, and
interfaces to a keypad, LEDs, and loudspeaker.

The 8051 Microcontroller
- James W. Stewart
- Regents/Prentice-Hall, 1993
- $27.50, 273 pages
- includes many interfacing examples (switches, solenoids,
relays, shaft encoders, displays, motors, and A/D converters)
and a chapter on top-down design method

The 8051 Microcontroller: Architecture, Programming and Applications
- Kenneth J. Ayala
- 241 pages, soft cover
- 5.25" diskette with assembler and simulator
- ISBN 0-314-77278-2, Dewey 004.165-dc20
- West Publishing Company
- P.O. Box 64526, St. Paul, MN 55164
- (800)328-9352
- see review in next section

Assembly Language Programming (for the MCS-51 family)
- F. A. Lyn
- L. S. Electronic Systems Design

Basic-52 Programmer's Guide
- Systronix, Inc. (they also sell a Basic compiler)

Beginner's Guide
- Suncoast Technologies

C and the 8051
- Thomas W. Schultz
- Prentice Hall
- ISBN 0-13-753815-4

Data book / Handbook / Users' Guide
- Advanced Micro Devices
- Dallas (User's guide for the DS5000)
- Intel
- Philips
- Siemens

Embedded Controller Forth for the 8051 Family
- Academic Press (I think)
- William H. Payne
- uses a Forth development system available on the Internet
(see above in the Forth software section)

Embedded Systems Programming in C and Assembler
- John Forrest Brown
- Van Nostrand Reinhold, 1994
- 304 pages, $49.95
- ISBN 0-442-01817-7
- covers Motorola and Intel processors
- includes diskette with code from the book
- book review in Dr. Dobb's Journal, November 1994, page 121

Experimenter's guide
- Rigel Corporation

Introduction to Microcontroller Design, Based on the 8051 family of
Processors
- Business Data Computers
- P.O. Box 1549, Chester, CA 96020

The Microcontroller Idea Book
- Jan Axelson (of Microcomputer Journal fame)
- features the 8052-BASIC microcontroller
- hands-on guide with complete plans (schematics, design theory,
program listings, construction details, etc)
- explains how to use sensors, relays, displays, clock/calendars,
keypads, wireless links, and more
- 1994, 273 pages, $31.95 + shipping
- Lakeview Research, 2209 Winnebago St., Madison, WI 53704
(608)241-5824 Internet: 71163.3555@compuserve.com
- contact the author at janaxel@aol.com


5.2.2) Book reviews

Jan Axelson's review of her book:
The Microcontroller Idea Book


This is a hands-on guide that presents designs for use in data
loggers, controllers, and other small-computer projects. It
includes complete circuit schematics and parts lists, design
theory, example program listings, construction and debugging tips,
and vendor listings. Example circuits and programs are based on
the 8052-BASIC microcontroller. The book is loosely based on a
series of articles I wrote for ComputerCraft magazine (now The
Microcomputer Journal).

Chapter titles: microcontroller basics, inside the 8052-
BASIC, powering up, saving programs, programming, inputs and
outputs, switches and keypads, displays, using sensors to
detect and measure, clocks and calendars, control circuits,
wireless links, calling assembly-language routines, running
BASIC-52 from external memory, related products


Richard H. Barnett's summary of his book:
The 8051 Family of Microcontrollers

The book covers basic micros through complete projects using the
8051 family as examples. It is designed as a "lots of meat, very
little filler" type of text, but is very well-suited for use as a
handbook of project development using 8051 family parts. The book
stresses examples, both hardware and software. The hardware
examples are real working items including 3 complete projects in
the last chapter. Software examples are presented in both C and
assembly code. All of the program listings and other software
examples were imported electronically to the text eliminating
errors.

For more info contact the author - barnettr@mace.cc.purdue.edu


Richard Kendrick's review of the book:
8051 Interfacing and Applications
from Applied Logic Engineering

IN BRIEF

An excellent collection of interfacing circuits and well commented
source code in assembly. This is not a book for beginners as it
assumes the user is very familiar with the architecture of the
8051 and its registers. A disk of assembly source code listings
is included.

CHAPTERS

1 - 8051 Interfacing and Applications
1.1 - Introduction
1.2 - Main System Core
1.3 - Simple Methods of User Input
1.4 - Interfacing a 16 digit keypad to the 8031
1.5 - Centronics Parallel Input Port
1.6 - Centronics Parallel Output Port
1.7 - Interfacing to the built-in Serial Port
1.8 - Interfacing to a Dual Channel UART
1.9 - Interfacing to an LCD
1.10 - Bank Selection of Memory
- Appendix A: List of Vendors
- Appendix B: Connection to an External Computer
0.1 RS-232 Serial Connection
0.2 Centronics Interface Cabling

COMMENTS

This spiral bound book is thin (74 pages) but manages to cover a
lot of information. All of the sub-chapters have excellent code
listings with full comments, partial schematic diagrams, and an
occasional timing diagram. The chapter on using the serial port
is based on the MAX232 chip becoming so popular. A table of timer
reload values is provided to get standard baud rates but the book
only mentions the required clock frequency of 11.0592 mHz in the
first chapter. It also doesn't explain why a seemingly
non-standard crystal frequency was chosen. The dual UART channel
features the 2681 chip. The LCD chapter gives a small but
adequate explaination of the Hitachi controller chip usage on LCD
displays and a tiny fragment of data on display characteristics of
LCDs. The bank selection of memory is useful showing code and
schematic using five 62256 chips for 160K bytes of read/write
memory.



Richard Kendrick's review of the book:
Microprocessor/Controller Design
by Wayne P. Lichti of Business Data Computers

A lame little book better bypassed. As an introductory text,
Kenneth Ayala's book is the winner hands down. This book is a
poor rehash of the same information in Intel's or AMD's data book.
There is one code listing in the book and does little more than
tell the reader that the 8051 family of processors exist.

This book is 134 pages of wasted time. The schematics were
printed on a dot matrix printer and poorly reproduced. Many of
the sections are just a table or a paragraph with two or three
sentences. Use Ayala's book, you'll learn a lot more useful
information.


John Little's review of the book:
The 8051 Microcontroller: Architecture, Programming and Applications
by Kenneth J. Ayala

IN BRIEF

A good book for those who are already moderately familiar with
assembly language programming and wish to learn more about 8051
specifics. Has many example listings, all of which are very well
documented in terms of comments and explanations in the text. NOT
a book for absolute beginners OR hardware hackers looking for
circuits and applications.


CHAPTERS

1 - Microprocessors and Microcontrollers.
2 - The 8051 Architecture.
3 - Moving Data.
4 - Logical Operations.
5 - Arithmetic Operations.
6 - Jump and Call Opcodes.
7 - An 8051 Microcontroller Design.
8 - Applications.
9 - Serial Data Communication.
A - 8051 Operational Code Mnemonics.
B - How to Use the Assembler.
C - how to Use the Simulator.
D - The 8255 Programmable I/O Port.
E - Control Registers.


COMMENTS

In his preface to the book, Mr Ayala states that that it is
intended for "... a diverse audience. It is meant for use
primarily by those who work in the area of electronic design and
assembly language programming of small, dedicated computers".
Later, he goes on to refer the reader to the manufacturer's data
books for more information on hardware issues. This sets the tone
for the whole book, which is very much software orientated.

Anyone buying the book expecting to find reams of circuit diagrams
and details on how to build their own 8051 driven, automated car
assembly plant will be disappointed. In fact, most of the circuits
and applications shown are very much conceptual, with generic,
black-box outlines for most of the components. The single
exception to this is a fairly complete system (8031, EPROM & RAM,
jumper selectable memory sizes) in the chapter on microcontroller
design. Even then, there's no I/O shown (the txd/rxd are
unconnected).

Having said that, Mr Ayala does do a fairly thorough job of
working through the peculiarities of the 8051, with detailed
coverage of memory organisation, bit/byte level operations,
timers, interrupts and, at the end of the book, a complete chapter
on 8051 communication modes. Each area has relevant assembly
language listings, along with a detailed explanation of the
workings of the code.

Each section also has highlighted "comment" passages which point
out common pitfalls and reinforce critical points. Each chapter
ends with a summary of the important points covered and a series
of ten to twenty pertinent problems for the reader to solve. For
the most part, the answers to the problems can be found in the
text. In later chapters though, the reader is asked to elaborate
on various programming themes and to write assembly language
programs of their own to perform various tasks. The problems range
from the bland "Name twenty items which have a built in
microcontroller" (Chapter 1), to the more esoteric "Compose a
40-value lookup table that will generate a sawtooth wave using a
D/A converter" (Chapter 8).

It should be noted that the book is not aimed at the complete
novice. For instance, although assembly language listings are used
throughout, it is not until Appendix B that the reader finds out
what the assembler actually does and how the listings relate to
machine code. Even then, the complete neophyte will be left with a
rather empty feeling, as there are pages and pages of code, the
schematic for a (more or less) complete system and instructions on
how to use the assembler, but no information at all on how the
object code should be utilised (other than with the included
simulator - see below). If you don't already know how to blow an
EPROM, you're in trouble.

The diskette which accompanies the book contains the PseudoSam
assembler (which is used throughout) and an 8051 simulator. Both
being intended for use on a PC (it's a measure of how fast the
computer industry is evolving that a 5.25 inch diskette seems a
little archaic just three years after the publication date of the
book). The PseudoSam assembler ran fine on my system and I was
able to assemble several of the examples from the book and
successfully run them on a small, home-brew 8031 system. I was
totally unable to get the simulator to run. However, as it failed
on several different systems I'm prepared to believe that my
particular copy of the diskette was at fault.


SUMMARY

All in all, a recommended book for those who have previous
assembly language experience and wish to get to know details
relating to the 8051 microcontroller. While the internal
architecture of the chip is covered in detail, external hardware
and peripheral interfacing is not. Only the basic 8051/31 is
covered, with little mention of the other variants available.
There are extensive listings in the text, covering routines for
handling keyboards and displays, as well as timing loops and
communications. A large, clear typeface ensures that all of the
listings are completely legible. The layout and presentation of
the book is excellent, with a consistent, unambiguous style used
throughout.


Tim McDonough's review of the book:
C and the 8051: Programming for Multitasking
by Thomas W. Schultz

Schultz's book provides a brief overview of the 8051 architecture
but is primarily a discussion of multi-tasking software in an 8051
environment. He presents quite a few code examples. The examples
and the accompanying text show comparisons of how to accomplish
things in assembler, PLM, and C. The C examples presented are
based on Version 3 of the Franklin compiler but should be easily
understandable by anyone already familiar with C.

Later chapters in the book deal with more advanced topics.
Chapters are devoted to Real-Time Ideas, Timing and Scheduling,
Communications and Synchronization, Interrupts, Priority, and
Context, and Distributed Systems. The Real-Time Ideas chapter
briefly discusses six Real Time Operating System (RTOS) kernels
offered by several vendors. Later in the book some examples are
given to simple applications with and without using a RTOS.

All in all, a useful addition to my technical library. It is one
of the few 8051 books that goes beyond the basics and would be
particularly of interest to those contemplating their first
non-trivial 8051 design.


5.3) Miscellaneous documentation on the 8051

Advanced Micro Devices
- application notes

Intel Corporation
- application notes

L.S. Electronic Systems Design
- application notes (source code on diskette and schematics)

Philips Semiconductors (Signetics)
- application notes

Software Science
- application notes


__________________________________________________________

Copyright (c) 1994 by Russell Hersch, all rights reserved.
This FAQ may be posted to any USENET newsgroup, on-line service, or BBS
as long as it is posted in its entirety and includes this copyright
statement.
This FAQ may not be distributed for financial gain.
This FAQ may not be included in commercial collections or compilations
without express permission from the author.

-----------------------------------
Russ Hersch - sibit@datasrv.co.il


Соседние файлы в предмете Проектирование электроприборов