You are on page 1of 160

8051 microcontroller FAQ

[ Usenet FAQs | Search | Web FAQs | Documents | RFC Index ]

Search the FAQ Archives


Search FAQs

8051 microcontroller FAQ


There are reader questions on this topic! Help others by sharing your knowledge

From: russ@shani.net (Russ Hersch) Newsgroups: comp.arch.embedded, comp.sys.intel, comp.robotics.misc, comp.realtime, sci.electronics.design, alt.comp.hardware.homebuilt, comp.answers Subject: 8051 microcontroller FAQ Date: 12 Sep 1997 10:51:08 GMT Message-ID: <microcontroller-faq/8051_874061449@rtfm.mit.edu> Summary: This article is a collection of information sources on the Intel 8051 family of microcontrollers (and variants). X-Last-Updated: 1997/09/11

http://www.faqs.org/faqs/microcontroller-faq/8051/ (1 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Archive-name: microcontroller-faq/8051 Posting-Frequency: monthly Last-modified: September 11, 1997

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) 1.1) 1.2) 1.3) 1.4) 1.5)

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

2) 2.1) 2.2) 2.3) 2.4) 2.5)

ABOUT THE 8051 The 8051 microcontroller 8051 Flavors 16-bit 8051 parts 8051 representatives and approximate prices Common and New 80x51 variants

http://www.faqs.org/faqs/microcontroller-faq/8051/ (2 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

2.6)

Advantages realized in implementing control applications on this family of microcontrollers

2.7) 2.8)

Getting started Technical Questions and Answers

3) 3.1) 3.2) 3.3) 3.4) 3.5)

SOURCES OF INFORMATION ON THE 8051 FTP sites Web pages Mailing lists BBSs Help available!

4) 4.1) 4.2) 4.3)

8051 PRODUCTS Free languages and development tools Free C compilers Commercially available products

5) 5.1) 5.2) 5.3)

8051 DOCUMENTATION Periodicals Books Miscellaneous documentation

http://www.faqs.org/faqs/microcontroller-faq/8051/ (3 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

0)

Rantings and ravings

Disclaimer:

Just so it is understood, the "rantings and ravings" are My readers are refined and sophisticated and I, on the other hand, sit in front of the

my rantings and raving. would never rant or rave.

TV in torn underwear and drink beer out of the bottle.

=====> OK, I know this FAQ is long. Very long. Well... it's ridiculously long. If you are inconvenienced or strenuously object to the posting of this FAQ, please DON'T FLAME me or send me nasty mail. Just think what I have to go through. This FAQ takes a lot of my time, of which I have very little to spare. I'm open for suggestions. I've considered the following: - splitting it up into smaller parts - eliminating certain sections which may no longer be relevant the web and search engines certainly seem to make a lot of this FAQ obsolete (or am I mistaken on this?) - not posting it to the newsgroups and just turning this whole mess into a [large] web page (the problem with this is that I don't have a web site) - forgetting about it all together and reminding my kids that I'm their father (if you all tell me to go packing, I'll gladly fold up shop and devote more time to family, friends, and personal hygiene)
http://www.faqs.org/faqs/microcontroller-faq/8051/ (4 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

I would be happy to hear ideas on how this FAQ could be improved for the reader. If it makes MY job easier, then that's even better.

OK, with that out of the way, let's get on with it...

Well, it's finally here. A free C compiler for the 8051. Featured in Dr. Dobb's August 1997 issue, Andy Yuen's Retargetable Concurrent Small C (RCSC) is based on James E. Hendrix' lengendary Small C. A previous iteration of RCSC, Concurrent Small C was introduced in the August 1996 issue of Dr. Dobbs. With the release of this compiler, Andy Yuen is very likely to become a folk hero.

So, why are you still reading this? The FAQ will wait! First download a copy of RCSC. You can get it from: http://www.ddj.com or ftp://ftp.mv.com/pub/. Then go out and find a copy of Dr. Dobb's August 1997 issue.

You'll still need to purchase either James E. Hendrix's "A Small C Compiler" (ISBN 0-13-814724-8) or the Dr. Dobb's Small C Compiler Resource CD. This of course means that the free C compiler isn't totally free, but then again, what is?

http://www.faqs.org/faqs/microcontroller-faq/8051/ (5 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

If you'd like to start learning about microcontrollers, but the thought of finding all the parts and then building one scares you, take a look at the line of boards available from American Educational Systems. They have three boards: AES-51 (8051), AES-11 (68hc11), and AES-88 (8088). All three boards are built along the same lines and include RAM, ROM, LCD display, keypad, A/D, serial ports, digital I/O ports, and logic probe. Also included is a full bookshelf of documentation. The AES-51 comes with a hardware manual, language manual, and Intel's 8051 User's Manual (over 500 pages of reference material). The board has a built in BASIC-52 and monitor built into external ROM on board. The BASIC even includes commands for displaying on the LCD. These boards are ridiculously easy to use and program - you can get started experimenting right away.

This is a perfect system for students and hobbyists. Even professionals will find this system useful as a prototyping tool and test bed. Highly recommended.

For more information, contact: American Educational Systems 970 West 17th St. Santa Ana, CA 92706 USA

http://www.faqs.org/faqs/microcontroller-faq/8051/ (6 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

(800)730-3232 or (714)550-8094

Fax: (714)550-9941

SPJ Systems (Pune, India) has announced version 3.0 of their C compiler for the 8051. The major new feature of this version is Although this version imposes some

support for the "bit" type.

limitations on the use of this newly supported type, you can now use the bit manipulation capability of the 8051. One important benefit

will be smaller code size and code which is easier to maintain and understand.

A working demo of the compiler package, which includes the library sources and permits the compilation of small programs, is available from their web site.

For questions or comments about the product, you can contact them at: SPJ SYSTEMS 114, Chitrashala Bldg. 562, Sadashiv Peth Pune, India Phone: 91-212-451607 Fax: 91-212-480285

Email: spjs@giaspn01.vsnl.net.in Web: http://www.prime-digest.w1.com/spj

http://www.faqs.org/faqs/microcontroller-faq/8051/ (7 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Air Born Electronics in Australia has some nice project plans for the 8051 available on their web site. Point your browser at: http://www.airborn.com.au/

MDL Labs offers the following BASIC language packages for the 8051: 1. BASIKIT--Integrated Programming Environment for BASIC-52 and for MDL-BASIC-I, MDL-BASIC-P, and MDL-BASIC-D. BASIKIT includes a full-screen editor and permits writing programs with labels rather than line numbers. 2. MDL-BASIC-I and MDL-BASIC-P are supersets of the original BASIC-52, for the Intel 8052 and the Phillips PCB83C552, respectively. All bugs removed. 3. MDL-BASIC-D is a BASIC for the Dallas 87C530 which accesses all the features of the chip, including both serial ports, the Watchdog, and the power-saving features. The BASIC will address up to 512K of memory and will collect data into that memory via serial port interrupts. It runs faster at 25 MHz than compiled code on the 8052. MDL Labs 1073 Limberlost Court Columbus, OH 43235
http://www.faqs.org/faqs/microcontroller-faq/8051/ (8 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Tel/Fax: 614-431-2675 Email: arl@infinet.com

Students at the Universidade Federal de Santa Catarina, Brazil developed a "Remote Lab for the 8051". You send a machine code of the 8051 to a remote host (where there is 8051 board plugged in the PC) and receive the values of the registers. Study the 8051 microcontroller, without buying a board. For more information: www.inf.ufsc.br/~jbosco/labvir.htm The Email of students are: Miguel <wf@ambiente.com.br> Cleber <cleber@inf.ufsc.br>

Hans Schou write to inform that the USB organization now has their own homepage: http://www.usb.org (was http://www.teleport.com/~usb). Hans is also willing to help out with problems using the 8051. His new email address is: chlor@schou.dk

TCG (in Taiwan) has introduced two new products. One product is 32K-byte EPROM Emulator and the other is AT89C2051/1051 programmer

http://www.faqs.org/faqs/microcontroller-faq/8051/ (9 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

with limited emulation capability. These products feature platform independence. You can use PC, Mac, Unix workstation, or even a dumb terminal. All the necessary commands are built into the on-board controller. For more information, check out these web sites: http://www.yp.at-taiwan.com/~com00121 http://www.hth.com For more information: TCG 11 Ally22 Ln21 Pei-Ta Rd., Hsin-Chu City, Taiwan, R.O.C. (886)3-532-7372 Fax: 886-3-531-7162

Email:ch.bbs@csie.nctu.edu.tw

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
http://www.faqs.org/faqs/microcontroller-faq/8051/ (10 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

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 or C on an IBM PC. With my hobbyist hat on I decided to try my hand at a little microcontroller project design. idea what to do. When it came time to start, I had no

I had nothing to start with - no assembler, no I cobbled together a simulator It's not being made

programming language, no simulator.

to help me learn about the workings of the chip.

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. up. It took a long time till stuff finally started popping

I saved all of my notes and the result was the first version of Responses have been pouring in, and the result is a much

this FAQ.

more complete and thorough FAQ.

http://www.faqs.org/faqs/microcontroller-faq/8051/ (11 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller 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: russ@shani.net

My Snail-Mail address is: Russ Hersch HaVradim 11 Ginot Shomron ISRAEL

The list of individuals who have sent suggestions and encouragement is endless. I hope it suffices to say "Thank you to all who have

contributed to this FAQ - we all appreciate it."

Special thanks to recent contributors: Pramod Ramade (SPJ Systems) Mark Meyer (American Educational Systems) Michael Markowitz (EDN magazine) Enrique Viseras Philippe Techer (Virtual Micro Design) Richard Lane Ray Lavender (MDL Labs)
http://www.faqs.org/faqs/microcontroller-faq/8051/ (12 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Hans Schou Alfred Arnold CH Tsai (TCG, Taiwan)

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

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

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

http://www.faqs.org/faqs/microcontroller-faq/8051/ (13 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

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 quite frequently have discussions about the 8051 and other microcontrollers: comp.arch.embedded alt.comp.hardware.homebuilt

A bit farther afield, but still of possible interest: comp.lang.misc 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.
http://www.faqs.org/faqs/microcontroller-faq/8051/ (14 of 160) [11/4/2008 12:21:31 PM]

After all, I have spent, and

8051 microcontroller FAQ

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. myself. I feel pretty silly doing this, but I just want to protect The copyright does not limit the use of this list for I hereby give my permission to one and all

noncommercial purposes.

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.

http://www.faqs.org/faqs/microcontroller-faq/8051/ (15 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Other Microcontroller FAQs

Subject:

PIC microcontrollers <no longer posted to newsgroups> http://digiserve.com/takdesign Tom Kellett Email: Tom@takdsign.demon.co.uk

Newsgroups: Web page: Maintainer:

Subject:

68hc11 microcontrollers comp.realtime comp.robotics sci.electronics

Newsgroups:

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: Robert Boys - Ontario, Canada Email: rboys@best.com Russ Hersch (maintainer emeritus :-)

Subject:

Microcontroller primer and FAQ comp.sys.intel comp.arch.embedded comp.robotics

Newsgroups:

http://www.faqs.org/faqs/microcontroller-faq/8051/ (16 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

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: russ@shani.net

Additional FAQs of interest

Subject:

I2C protocol sci.electronics alt.hardware.homebuilt comp.robotics comp.protocols.misc.

Newsgroups:

Comments:

The I2C bus is a simple 2 wire serial interface developed by Philips. A number of 8051 variants as

well as several peripherals include I2C support. Maintainer: Vincent Himpe Email: Vincent.Himpe@ping.be

http://www.faqs.org/faqs/microcontroller-faq/8051/ (17 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Subject:

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

Newsgroups: Maintainer:

Subject:

Electronics sci.electronics There are a number of FAQs available in this newsgroup on various subjects. are: Among some of the subjects covered

Newsgroups: Comments:

LCDs, stepper motors, etc.

FAQ subject: Newsgroups: Archive:

Real-time comp.realtime, comp.answers, news.answers

rtfm.mit.edu : pub/usenet/comp.realtime Mark Linimon Lonesome Dove Computing Services Roanoke, Virginia Email: linimon@nominil.lonesome.com.

Maintainer:

Subject:

Motorola 68K microprocessor line

http://www.faqs.org/faqs/microcontroller-faq/8051/ (18 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Newsgroups: Comments:

comp.sys.m68k without a doubt, one of the finest FAQs ever written (well, of course Bob paid me to say this ;-)

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: rboys@best.com

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). list was compiled and is being maintained by Roger Nelson <rnelson@wsuaix.csc.wsu.edu>. This

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

2)

ABOUT THE 8051

http://www.faqs.org/faqs/microcontroller-faq/8051/ (19 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

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 There were 126

many independent manufacturers (truly multi-sourced). 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 - for that matter, take a look at any RISC chip). One vexing problem with the 8051 is its very

non-orthogonal instruction set - especially the restrictions on


http://www.faqs.org/faqs/microcontroller-faq/8051/ (20 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

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 This

boolean processor provides direct support for bit manipulation.

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

http://www.faqs.org/faqs/microcontroller-faq/8051/ (21 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

on the market.

The smallest device is the Atmel 89c1051, a 20 Pin The fastest parts are from The most powerful chip is

FLASH variant with 2 timers, UART, 20mA. Dallas, with performance close to 10 MIPS!

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 Atmel Dallas Intel ISSI Matra OKI Philips Siemens SMC SSI Enhanced 8051 parts (no longer producing 80x51 parts) FLASH and semi-custom parts Battery backed, program download, and fastest variants 8051 through 80c51gb / 80c51sl IS80C51/31 runs up to 40MHz 80c154, low voltage static variants 80c154, mask parts 87c748 thru 89c588 - more variants than anyone else 80c501 through 80c517a, and SIECO cores COM20051 with ARCNET token bus network engine 80x52, 2 x HDLC variant for MODEM use

Advanced Micro Devices (AMD)

AMD was one of the first manufacturers of enhanced variants including such features as: dual data pointers, slave interface

with arbitration unit, dual port RAM, FIFO buffers, and others.
http://www.faqs.org/faqs/microcontroller-faq/8051/ (22 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

They are now out of the 8051 business.

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. solutions. products: - on-chip non-volatile RAM These processors are available in both chip and module Among the features included in this family of

http://www.faqs.org/faqs/microcontroller-faq/8051/ (23 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

- 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 The NV-RAM is

DS5000 behaves exactly as a single-chip 8051.

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 The DS5000 also includes a

you like without damaging the device.

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


http://www.faqs.org/faqs/microcontroller-faq/8051/ (24 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Real barn-burners - performance up to 10 MIPS! first to speed up the core.

Dallas was the

Wasted clock and memory cycles have As a result,

been removed using a redesigned processor core.

every 8051 instruction is executed up to 3 times faster than the original for the same crystal speed. 33MHz! Clock speeds from DC to

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 Also low

with different configurations of on-board EPROM/ROM.

power, high integration, and specialized parts are also offered.

OKI

http://www.faqs.org/faqs/microcontroller-faq/8051/ (25 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

OKI makes an 85c154 piggyback - an 8751 but with an EPROM socket on top! Great with an EPROM emulator.

Philips

Philips has more 8051 variants than anyone else. derivatives that they have:

Among the

40MHz, 24 pin skinny DIP, low

voltage, quad flat pack (QFP) versions for saving board space, OTP, I2C bus, and so on.

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

The c7xx series are very low-end, inexpensive micros.

They are In

offered with less memory (1k, 2k, etc.) and fewer features. fact the 83c750 sells for only $1 in very high OEM volumes.

Siemens sab80c517a

The 80c517a is one of the most powerful 8051 variants available. It features high clock speed (40 MHz), and high integration with
http://www.faqs.org/faqs/microcontroller-faq/8051/ (26 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

32 Bit ALU, 2 UARTS, 2K RAM, PLCC84 package, 8x16 bit PWMs, and more.

Standard Microsystems Corporation SMC COM20051 The COM20051 is an integrated microcontroller and network interface which features: high performance and low cost based on popular 8051 architecture drop-in replacement for 80C32 PLCC network supports up to 255 nodes powerful network diagnostics maximum 512 byte packets duplicate node ID detection self-configuring network protocol retains all 8051 peripherals including Serial I/O and 2 Timers utilizes ARCNET(R) Token Bus Network Engine requires no special emulators 5 Mbps to 156 Kbps data rate network interface supports RS-485, twisted pair, coaxial, and fiber optic interfaces "receive all" mode allows any packet to be received

http://www.faqs.org/faqs/microcontroller-faq/8051/ (27 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Silicon Systems Inc. SSI73M2910/2910A

The SSI73M2910 is a high performance microcontroller designed for modem and communications applications. - 8052 Compatible Instruction set. - 34 MHz Operation @ 4.5 - 5.5V - 44 MHz Operation @ 4.75 - 5.5.V (2910A) - 22 MHz Operation @ 3.3 - 5.5.V - HDLC Support Logic (Packetizer, 16 and 32 CRC, zero ID) - 24 pins for user programmable I/O ports - 8 pins programmable chip select logic or I/O for memory mapped peripherals eliminating glue logic - 3 external interrupt sources (programmable polarity) - 16 dedicated latched address pins - Multiplexed latched/address bus - Instruction cycle time identical to 8052 - Buffered oscillator (or OSC/2) output pin - 1.8432 MHz UART clock available - Bank select circuitry to support up to 128K of external program memory - 100-Lead TQFP package available for PCMCIA applications - Also available in 100-Lead QFP package
http://www.faqs.org/faqs/microcontroller-faq/8051/ (28 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

2.3)

16-bit 8051 parts

A joint project between Intel and Philips Semiconductors has resulted in two new excting products - 16 bit 8051s! Due to a disagreement Intel

between the parties, they each went their separate ways.

developed the MCS-251, which was originally called the ZX (this name can still be found on one of the Intel slide shows). out with the eXtended Architecture (XA) line. Philips came

The Intel MCS-251 is a drop-in replacement for the 8051 (at least, after programming the mode control bits first), and is also binary compatible. The XA is more of a 16 bit micro which also happens to One can argue the merits of which

be source code compatible. approach is better.

Pin compatible parts allow instant performance upgrades for existing designs, 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,

http://www.faqs.org/faqs/microcontroller-faq/8051/ (29 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

users can use INTEGER, LONGINT, and FLOAT libraries written for the MCS-251. The Philips XA is not a drop-in replacement for the 8051.

Binary code compatibility is nice, you can move right up to a more powerful engine without having to bust a gut (We all know the Intel binary compatible success story with their 80x86 microprocessors). But if you're working on a new design, how necessary is binary compatibility? If you're just looking for a souped up '51, Dallas If you need the advanced features, you'll need You'll also have to

already has the 320.

to recompile or rewrite your software anyhow.

drag along some compatibility baggage with you in order to use the 16 bit operations - these are preceded by an escape code (A5H), the only instruction not used in the 8051 instruction set.

With source code compatibility, you have to recompile your code (with a new set of development tools), since the instruction set has been recrafted to allow the biggest bang for the buck. This process isn't

100% transparent, but then again, binary compatibility isn't either.

If you're upgrading an existing design, the 251 is probably your only reasonable choice (although you might also want to consider the Dallas 320). On new designs, you'll have a tough decision to make.

Whichever path you choose to take, the 8051 will never be the same again.
http://www.faqs.org/faqs/microcontroller-faq/8051/ (30 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Intel MCS-251

The Intel MCS-251 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.

Further performance gains are possible by recoding critical sections to take advantage of the new features: powerful 8/16/32

bit instructions, flexible 8/16/32 registers, 16MB linear address space, 16-bit stack pointer, enhanced BIT manipulations, and improved control instructions. In addition to extra 16/32 bit

instructions, the 251 includes 40 registers with Accumulator and Index functions overlayed as 16x8, 16x16, 10x32.

Should we expect a 351 in the future. a Penti-uC?

How about a 451?

Or maybe

Philips 8051XA

http://www.faqs.org/faqs/microcontroller-faq/8051/ (31 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

By tossing compatibility out the window, Philips was able to develop a true 16 microcontroller while at the same time preserving the basic 8051 instruction set (source). The benefits

of this break with tradition result in a chip that has dual 16MB address spaces (data and code), multitasking support with task protected memory segments, a separate SFR bus, fast context switching, and optimized code efficiency. Other features include:

hardware divide and multiply (over 100 times faster than an 8051), 32 vectored interrupts, 16 hardware exceptions, and 16 trap instructions.

2.4)

8051 representatives and approximate prices (in USD $)

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

This is only a

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

http://www.faqs.org/faqs/microcontroller-faq/8051/ (32 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

2.5)

Common and New 80x51 variants

Intel has announced that 8052AH-BASIC has reached its EOL (end of life) and is not any more in production. Resellers may still have some chips in stock. However, both source and object code is available in many ftp-sites (and Intel BBS) and can be loaded into any 8052-compatible internal ROM memory (or external ROM, but then PROG and DMA cannot be used).

At least few years ago, MicroMint Inc. (4 Park St, Vernon, CT 06066, USA) was selling their own 80C52-BASIC at USD 25, speed DC 12 MHz, CMOS.

<Thanks to Eero-Pekka Mand>

Thanks to Jim Granville of Mandeno Granville Electronics, Ltd. for the following nice summary.

Key: PCA programmable counter array LV low voltage

http://www.faqs.org/faqs/microcontroller-faq/8051/ (33 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

PWM pulse width modulation CC capture/compare

UPI Universal Peripheral Interface (Philips)

Variant

Pins

Mfg

RAM

CODE XRAM

Notes (LV - low voltage)

--------------------------------------------------------------------MCS251 80C509L 80C517A 80C537A 80537 80517 40 Intel 1K 16K 64Kx 64Kx 32K 64Kx 8K 0 3K 2K 2K 0 0 0 1K 16 Bit 80x51FX! Prelim ALU,PWM,CC,2UART,10bA/D ALU,8PWM,CC,2UART,10bA/D ALU,8PWM,CC,2UART,10bA/D ALU,8PWM,CC,2UART,8bA/D ALU,8PWM,CC,2UART,8bA/D 80C52+Ports+HDLC 515+10bA/D,1K XRAM,BRG,OWD Enhanced 80C552, Sep i2c, RSO 515+10bA/D,1K XRAM,BRG,OWD Timer2CaptComp 6ports 8/10bA/D Timer2 CaptComp 4 ports 8b A/D Timer2 CaptComp 5 ports 8b A/D 8051FA+PCA, 8b A/D, SPI 8051FA+PCA, 8b A/D, SPI 552-i2c+CAN+XRAM 552-i2c+CAN+XRAM 552-i2c+CAN+XRAM

100qf Siemens 256 84 84 84 84 Siemens 256 Siemens 256 Siemens 256 Siemens 256

73D2910 100qfp SSI 80C535A 80CE558 80C515A 80535 80515 80C535 80C51GB 87C51GB 80C592 87C592 87C598 68

256 128Kx 64Kx

Siemens 256

80qfp Philips 256 68 68 68 68 68 68 68 68 80 Siemens 256 Siemens 256 Siemens 256 Siemens 256 Intel Intel 256 256

64Kx 768 32K 64Kx 8K 64Kx 64Kx 8K 1K 0 0 0 0 0

Philips 256 Philips 256 Philips 256

64Kx 256 16K 32K 256 256

http://www.faqs.org/faqs/microcontroller-faq/8051/ (34 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

80C552 87C552 80C562 SABC505C SABC504 87C451 80C451 87C453 83CL580 80C320 80C310 87C520 80C51FX 87C51FA 87C51FB 87C51FC 8XC51FB 87C51FXL 80C152JD 80C152 8044 80C575 87C575

68 68 68 44 44 68 68 68

Philips 256 Philips 256 Philips 256 Siemens 256 Siemens 256 Philips 128 Philips 128 Philips 256

64Kx 8K 64Kx

0 0 0

10b A/D, i2c, CaptComp, PWM 10b A/D, i2c, CaptComp, PWM 8b A/D, i2c, CaptComp, PWM 8bA/D,XRAM,OWD,CAN V2B, Xt2 10bA/D,XRAM,OWD,DC Motor PWM 7 Ports, 1 Handshake 7 Ports, 1 Handshake 7 Ports, 1 Handshake LV 8052+ADC+i2c+More INTs,WDOG FAST, 2 DPTR 2 UART VRST Simpler 80C320 e62.5Mhz 16K OTP enhanced 80C320 80C58i+PCA,AsRST 8052+PCA,Enh Serial Automotive 8052+PCA,Enh Serial Automotive 8052+PCA,Enh Serial Automotive 87C51FB with ALE RFI mode 3.3v 80C51FC HDLC/SDLC Serial HDLC Serial RUPI Serial 8052+PCA,AnalogComp,WDOG,RSTLo 8052+PCA,AnalogComp,WDOG,RSTLo

64Kx 256 64Kx 256 4K 64Kx 8K 6K 64Kx 64Kx 16K 64Kx 8K 16K 32K 16K 32K 64Kx 64Kx 64Kx 64Kx 8K 0 0 0 0 0 0 1K 0 0 0 0 0 0 0 0 0 0 0

56,64 Philips 256 40 40 40 40 40 40 40 40 40 68 48 40 40 40 Dallas Dallas Dallas Intel Intel Intel Intel 256 256 256 256 256 256 256

Philips 256 Intel Intel Intel Intel 256 256 256 192

Philips 256 Philips 256

http://www.faqs.org/faqs/microcontroller-faq/8051/ (35 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

80C576 87C576 SABC501 SABC502 80C528 87C528 89CE528 87C524 80C550 80CL781 83CL781 80CL782 89S8252 89C55 89C52 87C54 87C58 87C52 80C154 83C154D 83C154 80C654 87C652 87C654

40 40 40 40 40 40 44 40 40 40 40 40

Philips 256 Philips 256 Siemens 256 Siemens 256 Philips 256 Philips 256 Philips 256 Philips 256 Philips 128 Philips 256 Philips 256 Philips 256

8K 8K 64Kx

0 8052+PCA,UPI,A/D,PWM,WDOG,VRSTLo 0 8052+PCA,UPI,A/D,PWM,WDOG,VRSTLo 0 40MHz Enhanced 8052 U/D 8052+XRAM+8DP+WD+BRG+OWD 8052+Wdog, XRAM 8052+Wdog, XRAM Flash 528 16K 87C528 8b A/D WDog LV 8052, More INTs, WDOG LV 8052, More INTs, WDOG LV, faster 781 FLASH, 8K+2KEE, WDOG, SPI FLASH, Fast,LV 87C52+20K FLASH, Fast,LV 87C52 16K 87C52i 32K 87C52i 8052+U/D+OscO+4Li Enhanced 8052 (also OKI) Enhanced 8052 Enhanced 8052 i2c i2c i2c

64Kx 256 64Kx 256 32K 256

32KF 256 16K 4K 64Kx 16K 64Kx 256 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

40.44 Atmel 40.44 Atmel 40.44 Atmel 40 40 40 40 40 40 40 40 40 Intel Intel Intel Matra Matra OKI

256 10KFE 256 20KF 256 256 256 256 256 256 256 8KF 16K 32K 8K 64Kx 32K 16K 64Kx 8K 16K

Philips 256 Philips 256 Philips 256

http://www.faqs.org/faqs/microcontroller-faq/8051/ (36 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

83CE654 DS5000 DS2250 DS5001 80C851 83C852 8052 8752 80C52 88SC54C 80CL410 80CL31 80CL610 83CL411 89C51 8751 87C51 8031 8051 80C31L 87C752 87C749 87C751

44qfp Philips 256 40 Dallas 128 128 128

16K

i2c, low RFI 654 80x51 Secure+NVsupport,BootLdr 5000, in SIMM package Enhanced DS5000, RPC BatSw 8051+256B EEPROM ALU,2K EEPROM SmartCard,Die 8051+Timer2 8051+Timer2 8051+Timer2,Philips,Oki,Matra 8052+PublicKey,prelim LV, More INTs i2c-UART LV, More Ints 80x51 LV, More INTs i2c-UART 80CL31 with 256 RAM, No T2 FLASH,Fast,LV 87C51 Core processor,UART,Tmr0,Tmr1 Core processor,UART,Tmr0,Tmr1 Core processor,UART,Tmr0,Tmr1 Core processor,UART,Tmr0,Tmr1 LV 80x51 87751+ A/D, PWM 87C752 - i2c Small size, bit i2c

32KR 32K 32K 32K

40sim Dallas 80qfp Dallas 40 6 40 40 40 8 40 40 40 40

64Kx 64K 64Kx 6K 64Kx 8K 64Kx 0 0 0 0 0

Philips 128 Philips 256 All Intel 256 256

Siemens 256 Atmel 256

64Kx 512 64Kx 64Kx 64Kx 64Kx 4KF 4K 4K 64Kx 4K 64Kx 2KE 2KE 2KE 0 0 0 0 0 0 0 0 0 0 0 0 0

Philips 128 Philips 128 Philips 256 Philips 256 128 128 128 128 128 128 64 64 64

40.44 Atmel 40 40 40 40 40 28 28 24 All All All All Matra Philips Philips Philips

http://www.faqs.org/faqs/microcontroller-faq/8051/ (37 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

87C748 87C750 89C2051 89C1051

24 24 20 20

Philips Philips Atmel Atmel

64 64 128 64

2KE 1KE 2KF 1KF

0 0 0 0

87C751 - i2c Small size 20Pin 89C51,+AnaComp+LED 20Pin 2051 -uart,timer1

2.6)

Advantages realized in implementing control applications on this family of microcontrollers

Wildly 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
http://www.faqs.org/faqs/microcontroller-faq/8051/ (38 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

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

2.7)

Getting started

If you are interested in getting started with the 8051, you will need to concern yourself with getting the appropriate hardware and software to develop your system.

A good start would be to pick up a couple of books on the subject. Two really great books for beginners are "The Microcontroller Idea Book" by Jan Axelson (Lakeview Research) and "Programming and Interfacing the 8051 Microcontroller" by Sencer Yeralan and Ashutosh

http://www.faqs.org/faqs/microcontroller-faq/8051/ (39 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Ahluwalia (Addison Wesley).

Both books contain complete plans for The

microcontroller boards/systems if you plan on rolling your own.

Yeralan/Ahluwalia books also contains a diskette with just about all of the software that you'll need to get started progamming for the 8051 (assembler, simulator, etc). These books also have many circuit

and code examples and are very useful for the beginner (I'm going to need an extra copy of each for reading in the bathroom :-).

Which software you choose is mostly a matter of personal preference, how much time you have to invest, how much money you have to invest, and what you want to accomplish. Serious work can be accomplished

using much of the free software listed in this FAQ, however in most cases technical support is unavailable. Registering shareware, or

buying a mainstream commercial package gives you backup and support and helps you get going much faster.

If you are a hobbyist or student, and would like to program in C, I would recommend looking at the Dunfield Development System. this package and it is a powerful package for only $100. I use

It includes

a full suite of development tools including C compiler, assembler, linker, and much more. A hardware-resident simulator/emulator is Another C compiler package from

available for an additional $50.

Micro Computer Control provides similar capabilities for the same


http://www.faqs.org/faqs/microcontroller-faq/8051/ (40 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

price.

A wide range of development options exists for all budgets and purposes. One convenient way to start is the Ceibo/Philips DS-750

development system, based on the 80c75x (a scaled down 8051 variant). The "emulator" board programs the chips (so you won't need an EPROM programmer and the debugger has a user interface much like Borland's Turbo Debugger.

The development system that I use is based on the Dallas DS5000. nice thing about the DS5000 is that you can upload your programs directly to the chip (no EPROM needed!). The Dunfield package

The

provides excellent support for this chip, including plans for building a "pseudo-ice". With this setup, all you need to do is

upload your program, and debug (emulate) on the target hardware. This setup is highly recommended.

One other possibility is the 8052AH-BASIC chip.

With a Basic

interpreter built in, you have an interactive development system when attached to your PC. Jan Axelson's book gives complete coverage on

this chip, including plans to build your own system, programming in Basic, and interfacing to various peripherals and devices.

http://www.faqs.org/faqs/microcontroller-faq/8051/ (41 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

What might be the easiest way to get started, is by buying a complete development package. The AES-51 from American Educational Systems is a good example. This package comes complete with everything you need to get started and do real work. The microcontroller board has just about every peripheral you'll ever need built right in (LCD, keypad, A/D, D/A, I/O, etc) and comes with a built-in monitor and BASIC. Also included is a shelf full of tutorial and reference books and a diskette with the required support software for your PC. For less than $300, you get a complete and professionally designed and packaged educational tool. AES also has two other boards (based on the 68hc11 and 8088) which have the same basic appearance and functionality.

2.8)

Technical Questions and Answers

Q:

Why are ports P0 and P2 unavailable for I/O when using external memory?

A:

The output drivers of ports 0 and 2, and the input buffers of port 0, are used to access external memory. Port 0 outputs the

low byte of the external memory address, time-multiplexed with


http://www.faqs.org/faqs/microcontroller-faq/8051/ (42 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

the byte being read/written.

Port 2 outputs the high byte of the

external memory address when the address is 16 bits wide. Otherwise, the port 2 pins continue to emit the P2 SFR contents. Therefore, when external memory is being used, ports 0 and 2 are unavailable for their primary use as general I/O lines.

Q:

Is there anything I can do to use these ports for I/O when using external memory?

A1: Not really.

A2: If you really want to make your life miserable, you can try to use P2 for output when it isn't being used for memory access. The contents of the SFR latch for port 2 are not modified during the execution of a Data Memory fetch cycle on the Expanded Bus. If an instruction requiring a cycle on the Expanded Bus is not followed by another instruction requiring a cycle on the Expanded Bus, then the original contents of the port 2 SFR latch will appear during the next machine cycle. That is, when PSEN, RD and

WR are all inactive, you can use port 2 for output (check the timing charts in the data book). of the P2 SFR at that time. The chip will emit the contents

Do you REALLY want to bother with

http://www.faqs.org/faqs/microcontroller-faq/8051/ (43 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

this though?

A3: By including the external RAM "on-chip", the Dallas DS5000 makes these ports available for I/O. same thing for other 8051 parts. The SLIC E2 from Xicor does the

A4: If you really need the extra I/O ports, there are number of 8051 variants that have additional ports. Philips and Siemens are two

such manufacturers that have these parts in their product lines.

Q:

I'm outputting a 1 to a pin on port 0, but I'm not getting a 1 out. If I use a pin on port 1 instead, it works fine. What am I

doing wrong?

A:

Port 0 has open drain outputs. pullups. What does this mean?

Ports 1, 2, and 3 have internal See the next question and answer.

Q:

Port 0 has open drain outputs.

Ports 1, 2, and 3 have internal

pullups. What does this mean, and why should I care?

A:

When used as outputs, all port pins will drive the state to which the associated SFR latch bit has been set. Except for port 0,

http://www.faqs.org/faqs/microcontroller-faq/8051/ (44 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

which will only drive low (not high).

When a 0 is written to a But, when a 1 is

bit in port 0, the pin is pulled low (0).

written to a bit in port 0, the pin goes into a high impedance state - or in other words, "disconnected", no value. To be able

to get a 1 as output, you need an external pullup resistor to pull up the port (to 1) when the port is in its high impedence state. Typical values for pullups might be 470 ohm to drive a

LED, and 4.7K or higher to drive logic circuits.

C:

Any port pin may be used as a general purpose input simply by writing a 1 into the associated SFR latch bit. Since ports 1, 2,

and 3 have internal pull-up devices they will pull high and will source current when pulled low. When a port 0 bit is programmed

for input (set to 1) it will go to a high impedance state.

Q:

Why is such an oddball crystal frequency of 11.0592 MHz used so often for 8051 designs.

A1: 11.0592 MHz crystals are often used because it can be divided to give you exact clock rates for most of the common baud rates for the UART, especially for the higher speeds (9600, 19200). Despite the "oddball" value, these crystals are readily available

http://www.faqs.org/faqs/microcontroller-faq/8051/ (45 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

and commonly used.

A2: When Timer 1 is used as the baud rate generator, the baud rates in Modes 1 and 3 are determined by the Timer 1 overflow rate and the value of SMOD (PCON.7 - double speed baud rates) as follows:

smod 2 Baud rate = -----32 x (Timer 1 overflow rate)

Most typically, the timer is configured in the auto-reload mode (mode 2, high nibble of TMOD = 0100B). rate is given as: In this case, the baud

smod 2 Baud rate = ------32 Oscillator frequency x -------------------12 x (256 - TH1)

Some typical baud rates for an 11.0592 crystal:

Baud rate

SMOD

TH1

--------------------http://www.faqs.org/faqs/microcontroller-faq/8051/ (46 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

19200 9600 4800 2400 1200 300

1 0 0 0 0 0

0FDH 0FDH 0FAH 0F4H 0E8H 0A0H

Another way to look at it, would be to rework the formula to give us the crystal frequency that we need for the desired baud rate:

smod Minimum crystal frequency = Baud rate x 384 / 2

This gives us the minimum crystal frequency possible for the desired baud rate. The frequency can be evenly multiplied to

obtain higher clock speeds.

As an example, the minimum crystal frequency for 19.2K baud is: 3.6864 = 19200 x 384 / 2 (smod is 1 for 19.2K baud)

11.0592 = 3.6864 x 3

http://www.faqs.org/faqs/microcontroller-faq/8051/ (47 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

To determine the timer reload value needed, the formula can be changed to factor in the multiplier: smod Crystal frequency = Baud rate x (256 - TH1) x 384 / 2

From the example above, the multiplier (3) is used to determine TH1: TH1 = 256 - 3 = 253 = 0FDH

The crystal frequency for 19.2K baud is: 11.0592 = 19200 x (256 - 0FDH) x 384 / 2 (smod is 1 for 19.2K baud)

Other values can also give good results, but 11.0592 is one of the higher speed crystals that allows high baud rates.

A:

Well, you wanta talk about oddball values?

Another good crystal

value is 7.3728 MHz and its multiples. Using counter1 this gives an even 38.4 kbps rate exactly, which is not possible with 11.0952 MHz Xtal. <Thanks to Eero-Pekka Mand>

http://www.faqs.org/faqs/microcontroller-faq/8051/ (48 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Q:

How do I decrement the data pointer (DPTR)? DPTR instruction go?

Where did the DEC

A1: You can't decrement DPTR.

Although there is an INC DPTR In fact, there is no other

instruction, there is no DEC DPTR.

way to change the contents of DPTR except for MOV and INC.

A2: You can use the accumulator as an offset if you need to perform "calculations" on the DPTR. MOV MOV MOVC DPTR,#9000 A,#10 A,@A+DPTR As an example: ; load base address into DPTR ; load desired offset ; retrieve desired data

A3: Another method would be to use indirect addressing.

Instructions

such as MOVX A,@Ri can address a 256 byte "page" of external RAM. The value represented by @Ri (@R0 or @R1) is emitted to Port 0, which is the low byte of the external RAM address bus. In

addition, the contents of the P2 register is emitted to Port 2, which is the high byte of the external memory address bus. The

indirect addressing register together with the P2 register, which specifies the "current page number", gives us a 16 bit pointer into the external memory address space.

http://www.faqs.org/faqs/microcontroller-faq/8051/ (49 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

This technique can make moving data in external memory much faster than reloading DPTR every time. The indirect addressing

register can be manipulated much easier than DPTR which can only be loaded and incremented. Just remember to make sure that P2

contains the proper value for the high byte of the address.

A4: Inside the BASIC interpreter source code, and published in its manual, is a short and efficient subroutine to decrement data pointer, only 6 statements: XCH A,DPL ; JNZ $+4 ; DEC DPH ; DEC A ; XCH A,DPL ; RET Only DPTR is affected, not A or any flags! <Thanks to Eero-Pekka Mand>

Q:

I'm trying to PUSH and POP the accumulator, but my assembler complains about the instruction this? PUSH A. What's wrong with

A:

In instructions that are accumulator specific, A is used to represent the accumulator. However, PUSH and POP have no

accumulator specific forms, only direct addressing forms. Therefore, you need to specify the correct accumulator "address" - ACC. Use the instruction PUSH ACC.

http://www.faqs.org/faqs/microcontroller-faq/8051/ (50 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Q:

The 8052 AH-BASIC interpreter seems to work OK when I perform simple interpreted commands. READY > PRINT "HELLO" HELLO However, when I try to enter a [numbered] statement, I get an error: READY > 10 PRINT "HELLO" INVALID LINE NUMBER..!! I get the same error when I try LIST. a variable to, it returns a 0. No matter what value I set For example:

What's my problem?

A1: Faulty memory decoding or addressing is the most common cause for this error message. This happens when RD/WR is affecting two (or

more) active memory chips. So, decode each CS very carefully!

A2: Your address decoding might also indicate that there is more memory than really exists. Go over your circuit design and

inspect your wiring carefully.

http://www.faqs.org/faqs/microcontroller-faq/8051/ (51 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Q:

Can I use C for time critical code?

A:

The code produced by many of the excellent compilers today, is remarkably efficient - for both speed and size. Modern compilers

are quite adept at keeping track of register and variable usage. Further optimization techiniques result in code that can be as good or better than hand written assembler. Even for ISRs

(interrupt service routines), C should be acceptable for all but the most time critical routines.

Makes you think twice about breaking your head over assembly code.

Q:

The Intel MCS-51 assembly language defines alternate symbols AR0 ... AR7 for registers R0 ... R7. What is this good for? (Thanks

to Wolfgang Heinz who submitted this Q & A)

A:

Some 8051 instructions do not support all possible addressing modes. For example, the PUSH and POP instructions are only

available with direct addressing. Since the registers R0 ... R7 are mapped into the internal memory, they must also have a DATA (= direct) address. The special assembler symbols AR0 ... AR7

are simply the absolute DATA addresses of registers R0 ... R7.


http://www.faqs.org/faqs/microcontroller-faq/8051/ (52 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Although there is no instruction PUSH R5 with true register addressing, you can do it with PUSH AR5 (= direct addressing)!

Q:

Usually the 8051 register banks are switched with the RS0 and RS1 bits in the status register PSW at runtime. But how is it

possible to switch the banks at assembly time with the USING instruction, implemented in so many 8051 assemblers? (Thanks to Wolfgang Heinz who submitted this Q & A)

A:

Not at all! runtime.

This must ALWAYS be done with bits RS0 and RS1 at

The USING instruction switches only the absolute DATA

addresses of the special assembler symbols AR0 ... AR7 according to the selected bank number. With most assemblers that implement

relocatable segments and object modules, the linker is forced to reserve space for the corresponding register bank in the internal memory.

Q:

The Intel 8x151/8x251 won't "drop-in" for an 8051. What gives? (Thanks to Dave Baldwin of The Computer Journal for this one)

A:

You need to use a programmer to set a couple bits to the correct state. This info is hidden away in an app note available from

http://www.faqs.org/faqs/microcontroller-faq/8051/ (53 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

their fax-back service.

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. that There are many others Usually you

are not listed here that contains bits and pieces.

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


http://www.faqs.org/faqs/microcontroller-faq/8051/ (54 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

/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: /pub/mcs51 /pub/mcs51/tools - contains various development tools ftp-admin@intel.com

ftp.InetBSystems.us.com - lots of good stuff here! /pub/Philips-MCU/bbs - contains the following directories: .../assemblers - assemblers, disassemblers, and simulators .../basic - Basic utilities and interpreters .../forth - Forth programming tools .../debuggers - monitors and debuggers .../utilities - miscellaneous information and utilities .../examples - code examples .../unsorted - new [unsorted] files .../xa - files on the new XA "16 bit 8051"

http://www.faqs.org/faqs/microcontroller-faq/8051/ (55 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

/pub/Philips-MCU/archive - email archive

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

ftp.zilker.net - /pub/philips - Philips "mini ftp site" set up by Phil Wood of Philips - lots of 8051 code and programming tools from their BBS

ftp.mcc.ac.uk - this is a new 8051 ftp site - soon to be improved

ftp.bsl.unsw.edu.au - new 8051 ftp site - accepting uploads

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

ftp.ee.ualberta.ca
http://www.faqs.org/faqs/microcontroller-faq/8051/ (56 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

/pub/cookbook/digital - circuits of all types - prog51.zip is a programmer for the ATMEL 89C51 flash part by Werner Terreblanche

ftp.luth.se /pub/languages/assembler

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

hpcsos.col.hp.com /mirrors/.hpib0/forth/8051 (mirror of asterix Forth archive) /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

http://www.faqs.org/faqs/microcontroller-faq/8051/ (57 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

microprocessors and microcontrollers, you may have to look around a bit

130.123.96.9 giovanni/51forth.zip

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)

ftp.hte.com - HiTech Equipment Corporation's ftp site - information about their products including some sample code, a free 8051 simulator, and various things from around the net that relate to the 8051 family

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

3.2)

Web pages

http://www.faqs.org/faqs/microcontroller-faq/8051/ (58 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

8051 board level products - http://bailey2.unibase.com/local/beck04.html

8051 Microcontrollers - http://www.cit.ac.nz/smac/cbt/hwsys/i8051/default.htm

AM Research Web Site - http://www.amresearch.com/ - Forth development systems and boards.

Automation and Process Control (Olaf Pfeiffer) - http://www.ba-karlsruhe.de/automation/home.html - http://www.ba-karlsruhe.de/automation/FAQ

Archimedes Software - http://www.archimedes.com/devtools

Brian Brown's 8051 web page - http://www.cit.ac.nz/smac/cbt/hwsys/i8051/default.htm - contains Brian Brown's 8051 course - lots of other good stuff

Cera/EG3 Electronic Engineers' Toolbox (home page)

http://www.faqs.org/faqs/microcontroller-faq/8051/ (59 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

- http://www.eg3.com/ebox.htm - http://www.cera2.com/ebox.htm Cera/EG3 MCU/MPU resources - http://www.cera2.com/micro.htm Cera/EG3 Navi-GATOR (embedded development tools and chip-specific) - http://www.cera2.com/gator.htm

Chip Directory and Chip Manufacturers (Jaap van Ganswijk) - http://www.hitex.com/chipdir - http://www.civil.mtu.edu/chipdir - http://www.leg.ufrj.br/chipdir (USA, California) (USA, Michigan) (Brasil)

- http://www.xs4all.nl/~ganswijk/chipdir (The Netherlands) - http://bbs.cc.uniud.it/chipdir (Italy)

Chipmaker web page - http://www.scruznet.com/~gcreager/hello5.htm - contains over 200 URLs of chipmakers

Chris Burkey's (KB8ZLI) web page - plans for a cheap (about $10) and simple (4 chips) ROM emulator - ftp://ieee.cas.uc.edu/pub/electronics/software/burkey/

Circuit Cellar Ink - http://www.circellar.com


http://www.faqs.org/faqs/microcontroller-faq/8051/ (60 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Dallas Semiconductor - http://www.dalsemi.com

Gernsback Web page (Electronics Now, Popular Electronics) - http://www.gernsback.com - current issue information, recent article related files, FTP site, subscription information

Emulation Technology - http://www.emulation.com

FIG (Forth Interest Group) web site - http://www.forth.org/fig.html - http://www.forth.org/Forth/FAQ

Forth, Inc. - http://www.earthlink.net/~forth - follow the links to chipFORTH, then to 8051

French Forth web site - http://ourworld.compuserve.com/homepages/mp7 maintained by Marc Petremann:

http://www.faqs.org/faqs/microcontroller-faq/8051/ (61 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

17, allee de la Noiseraie F - 93160 NOISY LE GRAND Email: 100647.3306@compuserve.com - http://ourworld.compuserve.com/homepages/bioforth maintained by Gerard SOULA

Gregory Pugh's homepage - http://sleepy.anest.ufl.edu/~glp/8051.html

Hi-Tech Software - http://www.hitech.com.au - demo C compiler available (limits - 1K size, no library source)

Intel MCS(R) 51 Microcontroller Family - http://www.intel.com/embedded/051/index.html - http://www.intel.com/design/usb/ (information on USB)

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

Ken Tindell's CAN web pag - http://www.nrtt.demon.co.uk/can.html


http://www.faqs.org/faqs/microcontroller-faq/8051/ (62 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

- Source code to drive the Intel 82527 CAN controller is available: just send e-mail to info@nrtt.demon.co.uk, with "Request Intel 82527 drivers" (without the quotes) in the subject line.

Lakeview Research (Jan Axelson) - http://www.lvr.com/ - microcontroller page (resources for 8052-Basic projects): http://www.lvr.com/microc.htm

Mike Miller's 8051 Home Page - http://www.ece.orst.edu/serv/8051/ - pointers to other 8051 pages - contains html copy of this FAQ

Nohau Elektronik AB - http://www.nohau.com/nohau

Packet Radio web page - http://www.tu-bs.de/studenten/akafunk/pr8051 - Contains some schematics and code to do packet radio (AX.25) experiments with different types of MCS51 controllers. Packet radio is used by ham radio amateurs to exchange data. There is

http://www.faqs.org/faqs/microcontroller-faq/8051/ (63 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

an almost worldwide net of PR stations. - The programs were written by August Gihr and they are only available on the packet radio net or this web page.

Paul's 8051 Tools, Projects and Free Code - http://www.ece.orst.edu/~paul/8051-goodies/goodies-index.html - page contents: AS31 Assembler PAULMON 8051 Family Monitor/Debugger Low-Cost 8051 Development Board Designs 8051 Code Library Atmel 89C2051 in-circuit programmer

Philips - http://www.semiconductors.philips.com/ps/philips17.html

The Polis research project web page - http://www-cad.eecs.berkeley.edu/Respep/Research/hsc/abstract.html

Pseudocorp - http://www.teleport.com/~rhowden - New Site - products and pricing

Richard Grant's 8051 Based Vario - http://cougar.stanford.edu:7878/RGvario/vario.html


http://www.faqs.org/faqs/microcontroller-faq/8051/ (64 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

- Hang-Gliding/Paragliding WWW server. The application is an 8751 based variometer (used by pilots to indicate the rate of ascent or descent). It includes schematics and assembly language source.

Silicon Studio's web site - http://sistudio.com - plans for a simple, REALLY simple (2 transistors and 5 resistors), 2051 programmer, called the BlowIT 2051

Standard Microsystems Corporation - http://www.smc.com

Steve Merrifield's 8051 home page - http://www.ee.latrobe.edu.au/postgrad/steve/8051.html

Systronix web site - http://www.systronix.com

Thomas Wedemeyer's SAB80C535 web page - http://www.zfn.uni-bremen.de/~g16i/ - SAB80C535 based board design - English and German

http://www.faqs.org/faqs/microcontroller-faq/8051/ (65 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

USB web page - http://www.usb.org/

Xicor's web page - http://www.xicor.com/ - 8051 code - http://www.xicor.com/xicor/menulink/link42.htm - 8051 microperipherals http://www.xicor.com/xicor/menulink/link6.htm

3.3)

Mailing lists

Philips-News@InetBSystems.us.com - Email (not ftp) - send Email with "subscribe" in the subject field to be put on list for newsletter Philips-archive@InetBSystems.us.com - Email (not ftp) - send Email message with the word "help" in the subject line to learn how to access the archive Philips-forum-request@InetBSystems.us.com - Email (not ftp)

- send an Email message with the word "subscribe" in the subject line to participate in the forum, and receive usage instructions and guidelines Philips-Info@InetBSystems.us.com - Email (not ftp)
http://www.faqs.org/faqs/microcontroller-faq/8051/ (66 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

- send Email message to get information on all of Philips Email services

3.4)

BBSs

The following BBSs have 8051 information:

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

http://www.faqs.org/faqs/microcontroller-faq/8051/ (67 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

- Fax: (203)872-2204

The Computer Journal - TCJ/DIBs BBS - 8051 code and assembler(s), lots of sample code - Forth section also with Camel51 - 916-722-5799

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
http://www.faqs.org/faqs/microcontroller-faq/8051/ (68 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

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

Hi-Tech Software - +61 7 3300 5235 (Australia)

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

Jens Holm's electronics BBS: - one of a number of BBSs that are networked over most of the industrial part of Europe - +45-86-510356 (Denmark) - distributes all shareware and freeware software which relates to electronics - system administrator - Jens Holm jholm@bjarke.nrg.dtu.dk or Jens.holm@asgaard.dk

http://www.faqs.org/faqs/microcontroller-faq/8051/ (69 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Massilia Underground BBS (Marseille, France) - +33-91794120 - fidonet 2:323/25 - not a commercial BBS - microcontroller related stuff (assemblers, debuggers, boards, etc), some 8051 stuff - everything coming in is tested

Micro Computer Control Corporation - (609)466-4117

Philips Semiconductor - Europe - 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)

Philips Semiconductor - North America - support for their 8051 variants - contains many good source code items
http://www.faqs.org/faqs/microcontroller-faq/8051/ (70 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

- partially mirrored on ftp.pppl.gov and nic.funet.fi - (800)451-6644 or (408)991-2406

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)

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

3.5)

Help available!

Listed here are individuals who have expressed interest in helping others with hardware and software problems for 8051 systems.

Does any one else out there think that they can help?

Just let me

http://www.faqs.org/faqs/microcontroller-faq/8051/ (71 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

know what your areas of specialization are and I'll add your name to the list. Thanks!

Dick Barnett <rbarnett@purdue.edu> voice: 765-494-7497 snail: Richard H. Barnett, PE, Ph.D. Professor of Electrical Engineering Technology Purdue University 1415 Knoy Hall of Technology West Lafayette, IN 47907-1415 Specializes in 8051 (core processors), 80C552, and 87C751 applications.

Mark Hopkins <mark@omnifest.uwm.edu> Mark is the author of the CAS assembler and of the 8051.ZIP programs. He's now working on JOLT, a code generator with a His areas of specialization include:

C-like syntax.

multitasking, interrupts, basic stuff (like addressing, memory spaces), the 8052 BASIC chip, interfacing the chip with external inputs and outputs

Hans Schou <chlor@schou.dk> Hans is offering his assistance to users of the Standard Microsystems Corp. COM20051. He's not an expert, but he has some

http://www.faqs.org/faqs/microcontroller-faq/8051/ (72 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

experience with it.

Neville Miles <nevm@scitec.com.au or nmes@ozemail.com.au> Applications and programming the Intel 8051. Atmel parts if you need help with these. He's also using

Steve <paxit@inetnebr.com> Steve has designed hardware and written software for the Atmel AT89C1051, Intel 87C52, and Philips 87C751, and has also built a programmer for the Atmel AT89C1051. He knows both hardware and software.

4)

8051 PRODUCTS

This section includes descriptions and references to free and commercial software for the 8051. FTP sites and BBSs contain many For heavy duty use, you With The

quality packages and code samples for free.

might prefer the many commercial packages that are available. the public domain (or free) stuff, you're usually on your own. commercial packages usually provide extensive documentation and support.

http://www.faqs.org/faqs/microcontroller-faq/8051/ (73 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

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: asem5112.zip Description: 8051 cross assembler for MS-DOS, freeware Author: W.W. Heinz Location: ftp.ix.de : /pub/elrad/023 oak.oakland.edu : /SimTel/msdos/crossasm garbo.uwasa.fi : /pc/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 http://www.psyber.com/~tcj/tcjtools/ml-asm51.zip

Program: A51.ZIP Description: PseudoSam 8051 Cross Assembler


http://www.faqs.org/faqs/microcontroller-faq/8051/ (74 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Location:

ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs

Program: AS31.ZIP Description: Author: Location: C source for an 8051 assembler, and a simple monitor

Ken Stauffer 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: Author: Location: C source for a cross assembler, includes 8051

Alan R. Baldwin oak.oakland.edu : /pub/msdos/crossasm pc.usl.edu : /pub/msdos/systools many other locations (use Archie to find)

Program: Frankenstein Description: Author: Location: C source for a cross assembler, includes 8051

Mark Zenier ftp.njit.edu : /pub/msdos/frankasm/FRANKASM.ZOO

http://www.faqs.org/faqs/microcontroller-faq/8051/ (75 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

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 Experimental one-pass assembler for the 8051 with C-like syntax. and disassembler. Includes assembler, linker

Description:

Author: Location:

Mark Hopkins ftp.pppl.gov : /pub/8051/assem ftp.funet.fi : /pub/microprocs/MCS-51/csd4-archive/assem

Program:

a51 Portable cross assembler (source in C), other processors available

Description:

Author: Location:

William C. Colley, III hpcsos.col.hp.com : /misc/ns32k/beowulf/a-8051

Program:

TASM Table driven cross-assembler for DOS, supports many different microcontrollers and microprocessors

Description:

Author: Location:

Speech Technology Inc. various different places

http://www.faqs.org/faqs/microcontroller-faq/8051/ (76 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Program: HASM, HSIM Description: A configurable Makroassembler/Simulator Comment: Only for private, educational, and evaluation use Only available in German Author: Dipl.- Ing. H.P. Hohe Location: ftp.ix.de:pub/elrad/022/hasm18.zip ftp.ix.de:pub/elrad/022/hasm18.txt and mirrors of ftp.ix.de

Program:

as Portable cross assembler for (8051, TMS, PIC, DSP5600, 68hc11).

Description:

Comments:

Original version in German only. Turbo Pascal source available for free. Unix version comes in source form and is compilable in German or English.

Author:

Alfred Arnold

Location: ftp.uni-stuttgart.de : /pub/systems/msdos/programming/as (original version in Turbo Pascal) sunsite.unc.edu: /pub/Linux/devel/lang/assemblers/asl-1.41r5.tar.gz (new C version for Unix systems)

http://www.faqs.org/faqs/microcontroller-faq/8051/ (77 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Basic

Program:

BASIC52.ZIP (BASIC-52.ZIP) Source files for original BASIC 52 interpreter

Description: Author: Location:

Intel Corporation, Embedded Controller Operations ftp.intel.com : /pub/mcs51 ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs

Program:

BAS051.ZIP Converts IBM BASIC to 8051 assembly (compiler)

Description: Author: Location:

Winefred Washington ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/8051/signetics-bbs

Program:

BASIC31.ZIP BASIC-52 interpreter for 8031/8051 in external EPROM

Description: Author: Location:

Intel w/ changes by Dan Karmann ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs

Program:

TB-51.ZIP TinyBASIC for 8031

Description: Author:

JHW (from Intel InSite library) w/ fixes by Tom Schotland

http://www.faqs.org/faqs/microcontroller-faq/8051/ (78 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Location:

ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs

Program:

TB51ML23.ZIP MetaLink ASM compatible tiny BASIC

Description: Author: Location:

adapted for MetaLink assembler by Jim Lum ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs

Forth

Program:

EFORTH51.ZIP eFORTH environment for the 8051

Description: Author: Location:

C. H. Ting 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) FORTH development system for 8051 with PC host

Description: Author:

William H. Payne, the author of "Embedded Controller

http://www.faqs.org/faqs/microcontroller-faq/8051/ (79 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

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 Development environment for use with F-PC Forth

Description: Author: Location:

Paulo A.D. Ferreira ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs

Program:

51FORTH.ZIP Subroutine threaded Forth

Description: Author: Location:

Scott Gehmlich hpcsos.col.hp.com : /mirrors/.hpib0/forth/8051 130.123.96.9 : /giovanni/51forth.zip

Program:

FORTH552.ZIP A Non-Standard Forth System for the Signetics 80C552

Description: Author: Location:

Alberto Pasquale asterix.inescn.pt : /pub/forth/8051 hpcsos.col.hp.com : /mirrors/.hpib0/forth/8051

http://www.faqs.org/faqs/microcontroller-faq/8051/ (80 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Program:

CamelForth/51 ANSI Standard Forth for the 8051 family

Description: Author:

Brad Rodriquez email: bj@headwaters.com amateur packet radio: VE3RHJ@VE3IJD.#CON.ON.CAN.NA

Location: ftp://ftp.taygeta.com/pub/Forth/Camel/

Program:

8051 eForth Public Domain optimized eForth for 8051 and 68HC11, written in native UCASM assemblers.

Description:

Comments:

Most of the documentation is in German. EFTERM terminal emulator.

Supplied with

Author: Location:

W. Schemmer Available for $25 from: Offete Enterprises, 1306 South B Street San Mateo CA 94402 (415)574-8250

Development systems

Program:

8051.zip Many development tools including: debugger, monitor,

Description:

http://www.faqs.org/faqs/microcontroller-faq/8051/ (81 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

LCD and stepper moter driver, communications, host client, and much more. tools. Author: Location: Mark Hopkins ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/microprocs/MCS-51/csd4-archive This is a great collection of

Program:

RISM and IECM51.EXE compatible host system RISM is a reduced instruction set monitor and IECM51.EXE is its compatible host system for a PC

Description:

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: Location: Intel ftp.intel.com : /pub/mcs51/tools

Program:

ApBUILDER 2.0 Development system for the Intel MCS-51(R) family (also for the MCS-96(R) family, 80x186, and 80x386 embedded microcontrollers).

Description:

http://www.faqs.org/faqs/microcontroller-faq/8051/ (82 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

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: Location:

Intel ftp.intel.com : /pub/mcs51 and /pub/mcs96

Program:

FXDSMAN.EXE 8xC51Fx data sheets and manual in Windows 3.1 hypertext style

Description:

Comments: Author: Location:

binary self-extracting file for one diskette Intel ftp.intel.com : /pub/mcs51/80c51

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

Program: PDS51.ZIP or EXE or PDSxxx.ZIP where xxx represents the version number Description: This is the IDE for the Philips PDS51 system. It

http://www.faqs.org/faqs/microcontroller-faq/8051/ (83 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

contains a simulation engine and can therefore be run in a standalone mode. Great for evaluating the PDS51 product or just as a full environment simulator. Location: Philips North America BBS (800)451-6644, (408)991-2406 http://www.he.net/~adr CompuServe: Software Development Forum, Embedded Systems Section (GO CLMFOR) PC Programming Forum, Tools/Debuggers forum (GO PCPROG)

Program: NoICE Description: PC-hosted debugger (NOT a simulator) for use with a variety of microprocessor targets (Z80/Z180, Z8, 8051, 80(1)96, 6809, 68HC11, 65(C)02, M50740/M38000, TMS370, and H8/300). The debugger consists of a target-specific DOS program, NOICExxx.EXE, and a target-resident monitor program (about 1K code). Comments: Shareware. The distributed version is fully functional.

Registration is $25 in the US, $30 elsewhere. Author: John Hartman <102203.1513@compuserve.com>

Location: any Simtel archive/mirror or CompuServe:


http://www.faqs.org/faqs/microcontroller-faq/8051/ (84 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

GO SDFORUM, library section 12, embedded systems GO IBMFF, do keyword search for "NoICE" or The Circuit Cellar BBS at 860-871-1988

Program: sim552vq.zip Description: Comments: 8051/80C552 simulator (Freeware)

Program is capable of reading .HEX and .S19 records, or saving memory to a file. data. It supports both code and

Written in Turbo Pascal for XT and upwards.

Author: Location:

Brian Brown cscnt.cit.ac.nz : /pub/intel/sim552v1.zip

Program: HASM, HSIM Description: A configurable Makroassembler/Simulator Comments: Only available in German Author: Dipl.- Ing. H.P. Hohe Copyright: Only private , Education and evalutation use Location: ftp.ix.de:pub/elrad/022/hasm18.zip ftp.ix.de:pub/elrad/022/hasm18.txt and mirrors of ftp.ix.de

Program: Emily52

http://www.faqs.org/faqs/microcontroller-faq/8051/ (85 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Description: Comments: Author:

simulator

Shareware. Dunfield Development Systems

Location: any Simtel archive/mirror

Program: BlowIT Description: Comments: Author: Atmel 2051 programer

Freeware Silicon Studio

Location: http://sistudio.com/

Real-Time Operating Systems (RTOS)

Program:

TERSE - Signature-Scheduled dataflow operating system (RTOS) developed for embedded single-processor and distributed microcontroller systems. Easy to use,

Description:

very compact, and encourages totally deterministic and safe performance. - The first implementation is for the 8051 family, and occupies from 260 to 450 bytes, the latter offering network support. - public domain
http://www.faqs.org/faqs/microcontroller-faq/8051/ (86 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Comments:

Also available is a new type of "terse-Case" development methodology, particularly suited to embedded distributed systems.

Author: Barry Kauler Department of C & C Engineering Edith Cowan University, Joondalup Drive Joondalup, WA 6027, Australia. Email: b.kauler@cowan.edu.au Location: WWW - ftp://scorpion.cowan.edu.au/pub/terse/

4.2)

Free C compilers

There is finally a free C compiler for the 8051.

The Retargetable

Concurrent Small C (RCSC) compiler is featured in an article in the August 1997 Dr. Dobbs. RCSC is downloadable from Dr. Dobb's at: http://www.ddj.com ftp://ftp.mv.com/pub/

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.

http://www.faqs.org/faqs/microcontroller-faq/8051/ (87 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

In most cases, it makes more sense to invest a bit, and get something serious. Also, by buying a commercial package, you have the

advantage of having the documentation, and being able to get technical support. As Hershel Roberson says about the Dunfield

package, "It is certainly worth the money. It is probably 3/4 as good as compilers that cost 10 times as much!"

There are three low-cost C compilers currently available for 8051 development:

Dunfield Development Systems

I've been using the Dunfield Development System, and its really quite nice. I've also heard many good things about it from others. For

$100 you get a near ANSI-C compiler, run-time library with source, assembler, ROM debugger, integrated development environment, monitor with source, utilities, and other extras. for only $50 is also available separately. A high quality simulator The simulator has an

option allowing you to interface to your target by using an on-chip monitor. Although not freeware, the low price, 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 This

family of microcontroller, Dunfield supports a wide range.


http://www.faqs.org/faqs/microcontroller-faq/8051/ (88 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

means only needing to learn one system, instead of many.

Dunfield Development Systems P.O. Box 31044, Nepean, Ontario Canada (613)256-5820 Fax: (613)256-5821 K2B 8S8

BBS: (613)256-6289 Web: http://www.dunfield.com info@dunfield.com

Email: General information:

Sales inquiries/Administration: sales@dunfield.com Technical inquiries/Support tech@dunfield.com

Micro Computer Control Corporation

Another low priced ($100) C compiler comes from Micro Computer Control. This package was unavailable for review, but according to Cross compilers running under DOS are This package

the manufacturer, it features:

available for the 8051 and the Z8 (including Super-8).

includes a C compiler, assembler, linker, librarian, and extensive printed documentation. A simulator/source code debugger is available The simulator is completely configurable,

for an additional $79.95.

so much so that you don't even need the target hardware to test with. You can configure all I/O and other features of your target chip or environment.

http://www.faqs.org/faqs/microcontroller-faq/8051/ (89 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

Micro Computer Control Corporation PO Box 275, 17 Model Ave., Hopewell, NJ (609)466-1751 Fax: (609)466-4116 08525

BBS: (609)466-4117

Email: 73062.3336@compuserve.com

SPJ Systems

C-31 is a new cross compiler from SPJ Systems.

The full package

which costs $150 (USD) includes a C compiler (ANSI compatible subset), assembler, source linker, and simulator (source code debugger). Compiler features include: support for floating point

numbers, extensive collection of library routines, support for using Special Function Registers (SFR), assembly language interface, peripheral keyword (allows specifying an address of a standard peripheral).

The simulator allows source level debugging.

A few memory mapped

hardware peripherals are simulated including an LCD display, 8279 keyboard processor, and an 8255 parallel port. (SPJ also has a plain

simulator available as a separate product for assembly/machine code debugging.)

A working demo of the compiler package, which includes the library


http://www.faqs.org/faqs/microcontroller-faq/8051/ (90 of 160) [11/4/2008 12:21:31 PM]

8051 microcontroller FAQ

sources and permits the compilation of small programs, is available from their web site. This is a new package with a few rough edges,

but it easy to use, has a decent price, and has good potential. Check out the demo on their web site and see for yourselves.

SPJ Systems 114, Chitrashala Bldg. 562, Sadashiv Peth Pune, India Phone: 91-212-451607 Fax: 91-212-480285

Email: spjs@giaspn01.vsnl.net.in Web: http://www.prime-digest.w1.com/spj

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. anyone I left out;

I apologize to If

It's only because I didn't know about you.

you want to be included in this list, just drop me a line - please.

http://www.faqs.org/faqs/microcontroller-faq/8051/ (91 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

Any corrections and additions appreciated.

C compilers ($$$ - high, $$ - medium, $ - low priced) - 2500 A.D. - Archimedes Software $$$ & $$

same as Keil Electronics C Archimedes is introducing StartRight, a low cost 8051 C compiler for $700 - Avocet Systems $$

repackaging of the Hi-Tech Software C compiler - BSO/Tasking $$

- Crossware Products - Dunfield Development Systems $

Complete C compiler development system for MS-DOS includes: compiler, run-time library with source, assembler, ROM debugger, integrated development environment, monitor with source, utilities, and other extras low price: $100

good reputation and good support works well with the Dallas DS5000/DS2250 - Franklin Software $$ ? (new prices)

now marketing their own C compiler includes: PC-Lint and an IDE - IAR Systems
http://www.faqs.org/faqs/microcontroller-faq/8051/ (92 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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 $$

assembler, C compiler, linker, library, serial port debugger, and Windows style integrated development environment ANSI C and IEEE 32 float compatable with some very useful extensions $900US - Intermetrics Microsystems Software, Inc. Whitesmith's compiler, assembler, and C source level debugger - Keil Electronics $$$

compiler, assembler, debugger, real-time kernel, ROM monitor, libraries for special 8051's to set SFR, embedded I/O devices, A/D, etc. - Mandeno Granville Electronics, Ltd SYS51C - ANSI C Cross Compiler - Micro Computer Control $

Developer's kit includes "C"-like compiler, assembler,

http://www.faqs.org/faqs/microcontroller-faq/8051/ (93 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

linker, librarian, extensive printed documentation low cost ($99.95) - Okapi Systems - Production Languages Corporation DOS- and Windows- based compilers Integrated development environment includes ANSI C compiler, assembler, linker, librarian, debugger - Signum Systems - SPJ Systems $

low cost ($150.00)

Basic interpreters/compilers - Binary Technology, Inc. - Iota Systems, Inc. Basic-752 interpreter (simulator also available) Basic-52 Plus interpreter - MDL Labs BASIKIT--Integrated Programming Environment for BASIC-52, and for MDL-BASIC-I, MDL-BASIC-P, and MDL-BASIC-D. BASIKIT includes a full-screen editor and permits writing programs with labels rather than line numbers. MDL-BASIC-I and MDL-BASIC-P are supersets of the original BASIC-52, for the Intel 8052 and the Philips PCB83C552. MDL-BASIC-D is a BASIC for the Dallas 87C530 which accesses
http://www.faqs.org/faqs/microcontroller-faq/8051/ (94 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

all the features of the chip, including both serial ports, the Watchdog, and the power-saving features. The BASIC will address up to 512K of memory and will collect data into that memory via serial port interrupts. It runs faster at 25 MHz than compiled code on the 8052. - 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

http://www.faqs.org/faqs/microcontroller-faq/8051/ (95 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

- 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) - CG Microsystems MCU system based on the DS80C320 piles of features including 2 ISA slots about $90 for the basic system - 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
http://www.faqs.org/faqs/microcontroller-faq/8051/ (96 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

- New Micros 8051 based NMIY0031 SBC $39 + shipping you includes: SBC with 8051 (Siemens SAB8051, can be substituted), 8K RAM, EPROM with a burnt-in monitor which supports downloading hex files into the RAM and executing them the board can accept 3 memory chips (each one up to 32K), one of which is for program, one for data and the third can be configured as wanted it has a 4x5 matrix keyboard interface, LCD interface, RS232 and support for RS422/485 (need to add the chips) prototyping area of about 3.5 x 2 inches on floppy you get: User manual for the board in Word

and plain text formats with many programming examples in all supplied languages (about 150 pages), A51 assembler, Small C compiler, hex file for the MCS-52 Basic interpreter EPROM with MCS-52 manual, hex file for MAX-FORTH interpreter EPROM with documentation, hex file for the supplied monitor and documentation, and a terminal program - Parallax, Inc. - Prologic Designs

http://www.faqs.org/faqs/microcontroller-faq/8051/ (97 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

- Rigel Corporation - Software Science nice boards with prototyping area - Suncoast Technologies - URDA, Inc.

Assemblers - 2500 A.D. - Archimedes Software same as Keil Electronics Archimedes is introducing StartRight, a low cost 8051 assembler for $200 - BSO/Tasking - Crossware Products - Custom Computer Consultants - Cybernetics Microsystems - Dunfield Development Systems Supports both Intel and Motorola style syntax - Emulation Technology, Inc. - Intel Corporation - Keil Electronics - Lear Com Company - Metalink - Micro Computer Control
http://www.faqs.org/faqs/microcontroller-faq/8051/ (98 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

- Microtek Research - Nohau Corporation - Okapi Systems - Onset Computer Corporation (8051 Assember for MAC) - Parallax, Inc. - PseudoCorp - Raven Computer Systems - Signum Systems - Speech Technology Inc. TASM (table driven cross assembler supports many different microcontrollers and microprocessors) - 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

http://www.faqs.org/faqs/microcontroller-faq/8051/ (99 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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 Can be used with DS5000 for single-chip in-circuit emulation

Simulators - 2500 A.D. - Avocet Systems - ChipTools on a 33 MHz 486 matches the speed of a 12 MHz 8051 - Crossware (simulator running under Windows) - Cybernetic Micro Systems - Dunfield Development Systems Low cost $50.00 500,000+ instructions/second on 486/33
http://www.faqs.org/faqs/microcontroller-faq/8051/ (100 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

Can interface to target system for physical I/O Includes PC hosted "on chip" debugger with identical user interface - HiTech Equipment Corp. - Hitex - 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) <Thanks to Alistair George for this bit of important advice... Potential customers of emulators should check to make sure that the emulator supports the required external hardware (ports, interrupts, etc) before they buy - its probably the most important spec, but one easily missed. Some emulators only offer very minimal support, which sometimes hardly makes it worthwhile to

http://www.faqs.org/faqs/microcontroller-faq/8051/ (101 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

bother.> - Advanced Micro Solutions $$ $

- Advanced Microcomputer Systems, Inc. - Applied Digital Research Ltd. - American Automation - Applied Microsystems $$$ $$ $$ $$

- ChipTools (front end for Nohau's emulator) - Cybernetic Micro Systems $

- Dunfield Development Systems $ plans for pseudo-ice using Dallas DS5000/DS2250 used together with their resident monitor and host debugger - Emulation Technology, Inc. $$ OpenEmulator in-circuit emulators adaptable for over a hundred microcontrollers/microprocessors - HBI Limited $ $$$

- Hewlett-Packard

- HiTech Equipment Corp. - Hitex $$ $$

- Huntsville Microsystems - Intel Corporation - Kontron Electronics $$$ $$$

- Lauterbach Datentechnik GmbH 8051 In-Circuit Emulators based on a universal highperformance emulation system called TRACE32.
http://www.faqs.org/faqs/microcontroller-faq/8051/ (102 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

- Mandeno Granville Electronics, Ltd full line covering everything from the Atmel flash to the Siemens powerhouse 80c517a - MetaLink Corporation - Nohau Corporation - Orion Instruments - Philips $$ $ DS-750 pseudo-ICE developed by Philips and CEIBO real-time emulation and simulator debug mode source-level debugging for C, PL/M, and assembler programs 8xC75x parts low cost - only $100 from Philips ($250 from CEIBO) DOS and Windows versions available PDS51 board level In-Circuit Emulation system no stolen resources Daughter boards support wide range of Philips derivatives approximately $US1000 to $US1200 depending on daughter board - Signum Systems - Sophia Systems - Zax Corporation - Zitek Corporation $$$ $$ $$$ $$ $$$ $$ $

http://www.faqs.org/faqs/microcontroller-faq/8051/ (103 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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 - StarCom CRTX, embedded real-time micro kernel primarily intended for embedded 8-bit applications using 8051, 68HC11, 80188 etc. Simple, low cost, and includes ANSI C source for portability. - 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
http://www.faqs.org/faqs/microcontroller-faq/8051/ (104 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

Miscellaneous - Creative Applications Engineering, Inc CheepTools (integrated environment) - Dallas Semiconductor evaluation/development kit for their DS5000 (very nice) - Data Sync Engineering (disassembler) - Datarescue IDA - an interactive, multi-os disassembler supporting: OS/2, Win95, Win NT, Win, NLMs and more. Unlike other disassemblers, IDA works with you, allowing you to modify the disassembled code "on the fly". It supports many processors, various input file formats, and can produce various output files etc. IDA has a built-in C-like

language and sports a TVision user interface. - 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)

http://www.faqs.org/faqs/microcontroller-faq/8051/ (105 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

- Exor Inc. (ladder logic compiler) - Feger + Co. offers a series of German language 8051 related books they call `MC-Tools' describing the processors and/or projects for PC-addin boards: MC-Tools 1 - 80c535 project for DM 119; includes 260 page book, an empty PCB, and a diskette with assembler, debugger, PC-Oscilloscope MC-Tools 4 - same as above but based on 80c537 MC-Tools 3 - Die 8051-Microcontroller Familie vom 8051 zum 80C517A; text book on the 8051 and Siemens derivatives, 360 pages. MC-Tools 5 - handbook on the 80C517 and 80C517A, 360 pages - Iota Systems, Inc. integrated environment system - Mandeno Granville Electronics, Ltd PIC to 8051 conversion program - Parallax, Inc. programmers - Philips 87C51 programmers LCPx5x - 24 and 28 pin DIL and 68 pin PLCC Philips parts - 748, 749, 750, 751, 752, 451, 453, 552 LCPx5x40 - 40 pin DIL or 44 pin PLCC Philips parts
http://www.faqs.org/faqs/microcontroller-faq/8051/ (106 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

Range further expanded by adaptors Low cost, board level - Quantasm Corp. ASMFLOW - produces flowchart and tree diagrams from source code, register usage analysis, Xref, timing info - TCG EPROM emulator Atmel 2051 programmer - U S Software USNET - TCP/IP networking suite USFiles - file system GOFAST - floating point library - Xicor SLIC2E microperipherals - wires up directly to an 8051 and needs no glue logic, contains: - 8K x 8 EEPROM in individual 4K segments - 2 8-BIT I/O ports - 16 8-BIT RAM registers - Integrated Interrupt Controller Module - Internal programmable address decoding - code loaded at the factory allowing users to download programs into EEPROM Development Support package includes a DATA BOOK, a

http://www.faqs.org/faqs/microcontroller-faq/8051/ (107 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

SAMPLE of the CHIP (PDIP or PLCC, your choice) and PC compatible software for downloading and testing your programs. $15 Development system includes a populated board. $180

2500 A.D.

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

81211

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

Fax: (813)378-4226

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

Fax: (714)744-2693

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

Advanced Microcomputer Systems, Inc. 1321 NW 65th Place, Fort Lauderdale, FL 33309
http://www.faqs.org/faqs/microcontroller-faq/8051/ (108 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

(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 (714)731-1661 92680

AM Research

4600 Hidden Oaks Lane, Loomis, CA (800)949-8051 (916)652-7472

95650

Fax: (916)6642

BBS: (916)652-7117 Email: support@amresearch.com http://www.amresearch.com

Applied Digital Research Ltd. P.O. Box 6480, Wellesley St, Auckland, NEW ZEALAND +64 9 480-8827 Email: rossmcm@adr.co.nz Compuserve: 100351,716 WWW: http://www.he.net/~adr/

http://www.faqs.org/faqs/microcontroller-faq/8051/ (109 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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

Archimedes Software 2159 Union St., San Francisco, CA (415)567-4010 WWW: http://www.archimedes.com/devtools 94123

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

Fax: 0628 773009

Atmel

2125 O'Nel Drive, San Jose, CA (800)365-3375 (408)441-0311

95131 Fax: (408)436-4300

Avocet Systems

120 Union St., Rockport, ME

04856

http://www.faqs.org/faqs/microcontroller-faq/8051/ (110 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

(800)448-8500

(207)236-9055

Fax: (207)236-6713

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

Fax: (508)369-9549

Blue Earth Research 165 W. Lind Ct., Mankato, MN (507)387-4001 56001-0400

Fax: (507)387-4008

BBS: (507)387-4007

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

BSO/Tasking International 333 Elm Street, Dedham, MA (800)458-8276 Europe (617)320-9400 02026-4530 Fax: (617)320-9212

Tasking Software BV P O Box 899, 3800 AW Amersfoort, Netherlands +31 33 558584 Fax: +31 33 550033

Business Data Computers

http://www.faqs.org/faqs/microcontroller-faq/8051/ (111 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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

CG Microsystems http://home.earthlink.net/~cgmicro/

ChipTools Inc

(905)274-6244

Fax: (905)891-2715

Email: chiptool@hookup.net Web: http://www.chiptools.com/

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

Fax: (203)872-2204

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

Crossware Products St John's Innovation Centre Cowley Road, Cambridge, CB4 4WS, UK
http://www.faqs.org/faqs/microcontroller-faq/8051/ (112 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

+44 1223 421263

Fax: +44 1223 421006

Email: sales@crossware.com Web: http://www.crossware.com

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

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

Dallas Semiconductor 4401 S. Beltwood Parkway, Dallas, TX (214)450-0448 International: Orders: Fax: (214)450-3715 (214)450-5351 75244-3292

(800)336-6933

Email: micro.support@dalsemi.com Web: www.dalsemi.com

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

http://www.faqs.org/faqs/microcontroller-faq/8051/ (113 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

Data Sync Engineering 40 Trinity St., Newton, NJ 07860 (201)383-1355 Fax: (201)383-9382

Email: sales@datasynceng.com Web: http://www.datasynceng.com

DataRescue sprl 110 route du Condroz, 4121 Neupre Web: http://www.datarescue.com Belgium

Dunfield Development Systems P.O. Box 31044, Nepean, Ontario Canada (613)256-5820 Fax: (613)256-5821 K2B 8S8

BBS: (613)256-6289 Web: http://www.dunfield.com info@dunfield.com

Email: General information:

Sales inquiries/Administration: sales@dunfield.com Technical inquiries/Support Old Email address: tech@dunfield.com

ddunfield@bix.com

EE Systems

50935 Hill Dr., Elkhart, IN (219)296-1754

46514

Fax: (219)522-4271

Electronic Product Design, Inc.


http://www.faqs.org/faqs/microcontroller-faq/8051/ (114 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

6963 Bluebelle Way, Springfield, OR (503)741-0778

97478

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

Emulation Technology, Inc. 2344 Walsh Avenue, Bldg. F, Santa Clara, CA (408)982-0660 Fax: (408)982-0664 95051

Email: et@pmail.emulation.com WWW: http://www.emulation.com FTP: ftp.emulation.com

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

Feger + Co., Hardware + Software Verlags OHG Marienstrasse 1, D-83301 Traunreut, Germany

Forth, Inc.

1-800-55FORTH http://www.earthlink.net/~forth

http://www.faqs.org/faqs/microcontroller-faq/8051/ (115 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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 (619)566-1892 Fax: (619)530-1458 ftp: ftp.hte.com 92126

Email: info@hte.com

Hi-Tech Software PO Box 103, Alderly QLD 4051, Australia (+61-7) 300 5011 Fax: (+61-7) 300 5246

BBS: +61 7 3300 5235 Email: hitech@hitech.com.au WWW: http://www.hitech.com.au/


http://www.faqs.org/faqs/microcontroller-faq/8051/ (116 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

Hitex North America HiTOOLS Inc., 2055 Gateway Place, Suite 400 San Jose, CA 95110 (408) 451 3986 Fax: (408) 441 9486 info@hitex.com

http://www.hitex.com Germany

Greschbachstr 12, 76229 Karlsruhe 0721/9628-0 Fax: 0721/9628-149

info@hitex.ti.ba-karlsruhe.de http://www.ba-karlsruhe.de/BA/firmen/hitex United Kingdom 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 (415)765-5500 Sweden IAR Systems AB USA

Fax: (415)765-5503

http://www.faqs.org/faqs/microcontroller-faq/8051/ (117 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

Box 23051 S-750 23 Uppsala, Sweden +46 18 16 7800 Germany IAR Systems GmbH Brucknerstrasse 27 D-81677 Munchen, Germany +49 89 470 6022 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 Fax: +49 89 470 9565 Fax: +46 18 16 7838

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


http://www.faqs.org/faqs/microcontroller-faq/8051/ (118 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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 (617)661-0072 02138

Fax: (617)868-2843

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

Fax: (702)831-4629

Integrated Silicom Solution 2231 Lawson Lane, Santa Clara, CA (800)379-4774 Fax: (408)588-0806 95054

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

Fax: (201)736-4567

http://www.faqs.org/faqs/microcontroller-faq/8051/ (119 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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

KC Automation GmbH (support for Sysoft products) Alfredo Knecht CH-6991 Neggio, Switzerland Fax: ++41-91591149 Email: akne@tinet.ch

Keil Elektronik GmbH Europe Bretonischer Ring 15 D-85630 Grasbrunn b. Muenchen, Germany 49 89 / 46 50 57 North America Keil Software 16990 Dallas Parkway, Suit 120, Dallas, TX (800)348-8051 (sales and tech support) (214)735-8052 Fax: (214)735-8055 75248 Fax: 49 89 / 46 81 62

CompuServe: 71715,1604 BBS: (214)713-9883 Web: http://www.keil.com/ FTP: ftp://ftp.keil.com/

Kontron Electronics
http://www.faqs.org/faqs/microcontroller-faq/8051/ (120 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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

Lakeview Research (Jan Axelson) 2209 Winnebago St., Madison, WI (608)241-5824 Email: jaxelson@lvr.com WWW: http://www.lvr.com/ 53704

Lauterbach Datentechnik GmbH Europe Fichtenstr. 27, D-85649 Hofolding, Germany ++49 (0)8104 8943 31 Compuserve: 100272,507 Email: sales@lauterbach.com WWW: http://www.lauterbach.com USA Lauterbach Inc. 945 Concord Street, Framingham,MA 01701 (508)620-4521 Fax: (508)620-4522 Fax: ++49 (0)8104 8943 49

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

http://www.faqs.org/faqs/microcontroller-faq/8051/ (121 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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

Logisoft

Box 61929, Sunnyvale CA (408)773-8465

94086

Fax: (408)773-8466

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

(905)277-4893

Lumino B.V Web: http://www.lumino.nl/lumino/

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

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


http://www.faqs.org/faqs/microcontroller-faq/8051/ (122 of 160) [11/4/2008 12:21:32 PM]

95051

8051 microcontroller FAQ

MDL Labs 1073 Limberlost Court, Tel/Fax: 614-431-2675 Email: arl@infinet.com Columbus, OH 43235

MetaLink Corporation North America 325 E. Elliot Road, Chandler, AZ (800)638-2423 Fax: Europe (602)926-0797 85255

(602)926-1198

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 (609)466-1751 Fax: (609)466-4116 08525

BBS: (609)466-4117 Email: 73062.3336@compuserve.com

Micro Future

40944 Cascado Place, Fremont, CA (510)657-0264 Fax: (510)657-5441

94539

http://www.faqs.org/faqs/microcontroller-faq/8051/ (123 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

BBS: (510)657-5442

MicroMint

4 Park St., Vernon, CT (203)875-2751

06066

Fax: (203)872-2204

Microtek International, Inc. North America Microtek International, Inc. 3300 N.W. 211th Terrace, Hillsboro, OR (503)645-7333 Europe Fax: (503)629-8460 97124

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

New Micros of Dallas Texas

Nohau Corporation
http://www.faqs.org/faqs/microcontroller-faq/8051/ (124 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

51 E. Campbell Ave., Campbell, CA (408)866-1820

95008

(408)378-2912 (24 hr. information center) Fax: (408)378-7869 Email: nohau@shell.portal.com WWW: http://www.nohau.com/nohau

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

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, Inc. 1376 Borregas Avenue, Sunnyvale, CA (408)747-0440 Fax: (408)747-0688 94089

Email: info@oritools.com http://www.oritools.com

http://www.faqs.org/faqs/microcontroller-faq/8051/ (125 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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

Parallax, Inc.

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

95621

Philips Microcontroller Product Group 811 East Arques Ave. / POB 3409 Sunnvale, CA 94088-3409

Technical documentation: Sunnyvale, CA - (800)447-1500 Fax: (408)991-3773

Eindhoven, Netherlands - Fax: 31-40-724825 Technical questions: Sunnyvale, CA - (408)991-3518

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

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

Fax: (410)661-5950

http://www.faqs.org/faqs/microcontroller-faq/8051/ (126 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

PseudoCorp

2597 Potter St., Eugene, OR 97405 (541)683-9173 Fax: (541)683-9186

Email: rhowden@teleport.com Web: http://www.teleport.com/~rhowden

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

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

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

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

Siemens Components, Inc.

http://www.faqs.org/faqs/microcontroller-faq/8051/ (127 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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

Signetics Corporation (see Philips Microcontroller Product Group)

Signum Systems

Mountain View, CA Thousand Oaks, CA

(415)903-2220 (805)371-4608

Software Science 3570 Roundbottom Rd., Cincinnati, OH (513)561-2060 Fax: (513)271-3181 45244

Email: pbarnes@iglou.com

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 (206)392-8150 98027

SPJ Systems

114, Chitrashala Bldg. 562, Sadashiv Peth

http://www.faqs.org/faqs/microcontroller-faq/8051/ (128 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

Pune, India 91-212-451607 Fax: 91-212-480285

Email: spjs@giaspn01.vsnl.net.in Web: http://www.prime-digest.w1.com/spj

Standard Microsystems Corporation 80 Arkay Dr., (516)435-6000 Hauppage, NY 11788

Fax: (516)231-6004

WWW: http://www.smc.com Email: techsupport@smc.com

StarCom

WWW: http://www.n2.net/starcom

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

Suncoast Technologies P.O. Box 5835, Spring Hill FL 34606 Voice/FAX (352)596-7599 Email: suncoast@earthlink.net WWW: http://home.earthlink.net/~suncoast/

http://www.faqs.org/faqs/microcontroller-faq/8051/ (129 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

Sysoft SA

(closed as of 1989 - see KC Automation GmbH)

Systronix Inc.

555 S. 300 E., Salt Lake City, UT (801)534-1017 Fax: (801)534-1019

84111

BBS: (801)487-2778

TCG 11 Ally22 Ln21 Pei-Ta Rd. Hsin-Chu City, Taiwan, R.O.C. (886)3-532-7372 Fax: 886-3-531-7162

Email:ch.bbs@csie.nctu.edu.tw http://www.yp.at-taiwan.com/~com00121 http://www.hth.com

URDA, Inc.

(800)338-0517

(412)683-8732

US Software

14215 N.W. Science Park Drive, Portland, OR (800)356-7097 (503)641-8446

97229

Fax: (503)644-2413

Product information available by ftp ftp.netcom.com : pub/ussw

Universal Cross Assemblers Canada


http://www.faqs.org/faqs/microcontroller-faq/8051/ (130 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

(506)849-8952

Fax: (506)847-0681

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

Fax: (305)974-8531

Xicor 1511 Buckeye Dr., Milpitas, CA (408)432-8888 Fax: (408)432-0640

Email: info@smtpgat.xicor.com http//www.xicor.com BBS: (800)258-8864

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

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

5)

8051 DOCUMENTATION

http://www.faqs.org/faqs/microcontroller-faq/8051/ (131 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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 - FAX: (203)872-2204 - Voice orders: (609)786-0409 - Email orders: ken.davidson@circellar.com - BBS: (203)871-1988 WWW: http://www.circellar.com - $21.95, $31.95 surface Canada and Mexico, $49.95 air all other countries 08077-8784

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

http://www.faqs.org/faqs/microcontroller-faq/8051/ (132 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

The Computer Journal - programming and construction articles, specializing in 8-bit and older computers (Z80-CP/M, TRS-80, Xerox, microcontrollers, etc) - programming and construction articles, specializing in old computers (S-100, CP/M, TRS-80, Xerox, Adam, etc) - P.O. Box 3900, Citrus Heights, CA 95611-3900 - (800)424-8825 or (916) 722-4970 - BBS: (916) 722-5799 - Web: http://www.psyber.com/~tcj - Email: tcj@psyber.com Dave Baldwin: dibald@netcom.com Bill Kibler: kibler@psyber.com - USENET newsgroup alt.tcj FAX: (916) 722-7480

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

EDN - Cahners Publishing Company 8773 South Ridgeline Blvd., Highlands Ranch, CO 80126-2329

http://www.faqs.org/faqs/microcontroller-faq/8051/ (133 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

- annual microprocessor and DSP editions - http://www.ednmag.com/

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

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

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
http://www.faqs.org/faqs/microcontroller-faq/8051/ (134 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

- 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 - Miller Freeman: (415)905-2200 - Embedded Systems Programming phone: (800)829-5537 94105

Forth Dimensions - monthly magazine on Forth - Forth Interest Group, P.O. Box 2154, Oakland, California 94621 - (510)893-6784 Fax: (510)535-1295

- Email: johnhall@aol.com - Forth Interest Group home page: http://taygeta.oc.nps.navy.mil/fig_home.html

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!

http://www.faqs.org/faqs/microcontroller-faq/8051/ (135 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

Technical in nature, bizarre, tongue in cheek, eclectic, electric, did I mention bizarre(?), and lots of fun. looking at if you like the out of the ordinary. Worth

The moving

force behind this magazine is Daniel Drennan, who seems to have suffered from an overdose of radiation from his computer monitor ;-). - Dan is offering issue 1 of Inquisitor for free except for postage ($1.00 in the United States; $2.00 for Canada and overseas surface mail; and $3.00 for overseas airmail). This

issue contains plans, schematics, and troubleshooting tips for putting together a 8052-based microcontroller. If you're

thinking of putting together an 8051 system, you might want to check this out. - Planetarium Station, P.O.Box 132, New York, NY - (212)595-8370 - Email: inquisitor@echonyc.com - $16 per year (4 issues) 10024-0132

Microcomputer Journal - programming and construction articles - Midnight Engineering, 1700 Washington Av., Rocky Ford, CO 81067 - (719)254-4558 Fax: (719)254-4517

Midnight Engineering
http://www.faqs.org/faqs/microcontroller-faq/8051/ (136 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

- 1700 Washington Ave., Rocky Road, CO (719)254-4558 Fax: (719)254-4517

81067

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 - (408)288-4721 and (408)286-4200 - FAX: (408)288-4728 95113

Nuts & Volts Magazine

http://www.faqs.org/faqs/microcontroller-faq/8051/ (137 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

- A National Publication for the Buying and Selling of Electronic Equipment - 430 Princeland Court, Corona, CA - Mailed third class, USA only: 91719

$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; - (800)783-4624 - Email:

Foreign/Surface - $39.00

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.

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


http://www.faqs.org/faqs/microcontroller-faq/8051/ (138 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

- 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 - (612)494-3704 55369

The 8051 Microcontroller - I. Scott MacKenzie - Prentice Hall - 2nd edition, 1995 - ISBN 0-02-373660-7 - 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,

http://www.faqs.org/faqs/microcontroller-faq/8051/ (139 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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 - (800)328-9352 - see review in next section 55164

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


http://www.faqs.org/faqs/microcontroller-faq/8051/ (140 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

- 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

http://www.faqs.org/faqs/microcontroller-faq/8051/ (141 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

- includes diskette with code from the book - book review in Dr. Dobb's Journal, November 1994, page 121

Experimenter's guide - Rigel Corporation

Flow Design for Embedded Systems - Barry Kauler - R&D Books / Miller Freeman (USA), 1997 distributed in Europe by McGraw-Hill - ISBN 0-87930-469-3 - http://www.rdbooks.com/ - bundled with a sophisticated graphical diagrammer and CASE tool, K-Flow diagrammer, that runs on Windows 3.1 or 95 - source code for the TERSE RTOS is supplied

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
http://www.faqs.org/faqs/microcontroller-faq/8051/ (142 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

- 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 (608)241-5824 - contact the author at jaxelson@lvr.com - WWW: http://www.lvr.com/ - Lakeview Research's microcontroller page (resources for 8052-Basic projects): http://www.lvr.com/microc.htm 53704

Programming and Interfacing the 8051 Microcontroller - Sencer Yeralan and Ashutosh Ahluwalia - wealth of information, including: 8051 architecture, programming basics and techniques, on-chip features, building your own 8051 system, and interfacing to various peripherals - hardware experiments contains plans and code for: scanning a

keypad, stepper motor control, a frequency generator, measuring light and temperature intensity (analog to digital), digital to analog conversion, DC motor speed regulation, interfacing to intelligent Liquid Crystal Displays, and implementing a multi-drop RS-485 network

http://www.faqs.org/faqs/microcontroller-faq/8051/ (143 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

- accompanying diskette has an 8051 simulator and all source code for the projects in the book - must have book for the hobbyist or professional - $34.38, 352 pages, paperback, ISBN 0-201-63365-5 - Addison-Wesley

5.2.2)

Book reviews

My review of the book: Programming and Interfacing the 8051 Microcontroller by Sencer Yeralan and Ashutosh Ahluwalia

Addison-Wesley has just released a GREAT new book, "Programming and Interfacing the 8051 Microcontroller" by Sencer Yeralan and Ashutosh Ahluwalia. I had actually reviewed the manuscript some This book

time back, and the book has now finally been released.

contains a wealth of information - it answers a lot of Frequently Asked Questions that often appear in comp.robotics, sci.electronics, and comp.arch.embedded.

Among the some of the basic subjects covered include: 8051 architecture, programming basics and techniques, on-chip features, building your own 8051 system, and interfacing to various
http://www.faqs.org/faqs/microcontroller-faq/8051/ (144 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

peripherals. code for:

A section on hardware experiments contains plans and

scanning a keypad, stepper motor control, a frequency

generator, measuring light and temperature intensity (analog to digital), digital to analog conversion, DC motor speed regulation, interfacing to intelligent Liquid Crystal Displays, and implementing a multi-drop RS-485 network.

The book comes with a diskette containing an 8051 simulator and all source code for the projects in the book. book for the hobbyist or professional. pages, paperback, ISBN 0-201-63365-5. bookstore and get one now. This is a must have

Available for $34.38, 352 Run, don't walk, to your

I mean it, this is a great book.

My review of the book: The Microcontroller Idea Book by Jan Axelson

This book is loosely based on a series of articles Jan wrote for ComputerCraft magazine (now the Microcomputer Journal). If you

are at all familiar with her work, you already realize that you're wasting your time by reading this review and you might as well just order your copy now.

http://www.faqs.org/faqs/microcontroller-faq/8051/ (145 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

This is an excellent book for hobbyists and tinkerers, as it includes complete circuit schematics and parts lists, design theory, example program listings, construction and debugging tips, and vendor listings. The example circuits and programs are based

on the 8052-BASIC chip (a favorite with hobbyists due to its ease of use), and there is a lot of material on programming in BASIC52. The book is [very] useful even if you use a standard 8051 part. Lots of different interfacing ideas including: sensors, motors, LEDs, LCDs, wireless links, and a LOT more.

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

If you are just starting out with microcontrollers, and don't have a clue where to start or what to control, this book is just what you need. As the title of the book says, it's an idea book.

The Microcontroller Idea Book Jan Axelson


http://www.faqs.org/faqs/microcontroller-faq/8051/ (146 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

1994, 273 pages, $31.95 + shipping Lakeview Research, 2209 Winnebago St., Madison, WI (608)241-5824 Email: jaxelson@lvr.com Web: http://www.lvr.com/ 53704

My review of the book: The 8051 Family of Microcontrollers by Richard H. Barnett

This book VERY thoroughly discusses the design and implementation of controllers using the 8051. Dick says his book is "lots of What

meat, very little filler", but he's a bit off the mark here. he means to say is this book is many large chunks of meat, no

vegetables, and no potatoes - we are NOT talking Hamburger Helper here gang. The introduction alone contains circuits for 3 Many hardware

controllers (one 8085 design used as a comparison). and softare examples are included.

Everywhere you turn in this

book, you'll find circuit diagrams and sample code, including complete designs for three different microcontroller projects in the last chapter. Clear and in-depth coverage of interfacing and

peripheral use leaves very little to the imagination.

http://www.faqs.org/faqs/microcontroller-faq/8051/ (147 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

This is a good book for both students and professionals who are trying to figure out how to start designing there own microcontroller. many examples. Experienced hobbyists will also appreciate the Novices might be a bit overwhelmed by this book.

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

For more info contact the author - rbarnett@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

http://www.faqs.org/faqs/microcontroller-faq/8051/ (148 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

is included.

CHAPTERS

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9

- 8051 Interfacing and Applications - Introduction - Main System Core - Simple Methods of User Input - Interfacing a 16 digit keypad to the 8031 - Centronics Parallel Input Port - Centronics Parallel Output Port - Interfacing to the built-in Serial Port - Interfacing to a Dual Channel UART - 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

http://www.faqs.org/faqs/microcontroller-faq/8051/ (149 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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 A table of timer

is based on the MAX232 chip becoming so popular.

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 The dual UART channel

non-standard crystal frequency was chosen. 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, This book is a

Kenneth Ayala's book is the winner hands down.

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
http://www.faqs.org/faqs/microcontroller-faq/8051/ (150 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

tell the reader that the 8051 family of processors exist.

This book is 134 pages of wasted time.

The schematics were Many of

printed on a dot matrix printer and poorly reproduced.

the sections are just a table or a paragraph with two or three sentences. information. Use Ayala's book, you'll learn a lot more useful

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.

http://www.faqs.org/faqs/microcontroller-faq/8051/ (151 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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".
http://www.faqs.org/faqs/microcontroller-faq/8051/ (152 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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

http://www.faqs.org/faqs/microcontroller-faq/8051/ (153 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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.

http://www.faqs.org/faqs/microcontroller-faq/8051/ (154 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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

http://www.faqs.org/faqs/microcontroller-faq/8051/ (155 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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

http://www.faqs.org/faqs/microcontroller-faq/8051/ (156 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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.

My review of the book: Basic-52 Programming by Bruce Boyes, Will Bagley, and Scott Kendall of Systronix, Inc.

A must have book for Basic-52 programmers.

The book starts out

with an introduction to BASIC-52 programming, program editing, and techniques. About a hundred of the book's 160 pages are a

detailed and quite useful reference of the commands and statements. Six appendixes covering advanced topics round out A quick index to commands, operators,

this most useful volume.

and instructions printed on the back cover of the book is a nice finishing touch. price. For only $20.00, it's a bargain at twice the

Well, let's not get carried away, but if you're

programming in Basic-52, this book is indispensible.

http://www.faqs.org/faqs/microcontroller-faq/8051/ (157 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

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

__________________________________________________________

I disclaim everything.

The contents of this article might be totally

inaccurate, inappropriate, misguided, or otherwise perverse - except for my name (hopefully I got that right).
http://www.faqs.org/faqs/microcontroller-faq/8051/ (158 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

Copyright (c) 1997 by Russ 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 - russ@shani.net

Rate this FAQ


N/A

Related questions and answers

[ Usenet FAQs | Search | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer: russ@shani.net (Russ Hersch)

Last Update November 04 2008 @ 00:16 AM

http://www.faqs.org/faqs/microcontroller-faq/8051/ (159 of 160) [11/4/2008 12:21:32 PM]

8051 microcontroller FAQ

2008 FAQS.ORG. All rights reserved. Contact Us Terms of Use

http://www.faqs.org/faqs/microcontroller-faq/8051/ (160 of 160) [11/4/2008 12:21:32 PM]

You might also like