home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / microcontroller-faq / 8051 < prev    next >
Internet Message Format  |  1997-09-13  |  159KB

  1. Path: senator-bedfellow.mit.edu!faqserv
  2. From: russ@shani.net (Russ Hersch)
  3. Newsgroups: comp.arch.embedded,comp.sys.intel,comp.robotics.misc,comp.realtime,sci.electronics.design,alt.comp.hardware.homebuilt,comp.answers,sci.answers,alt.answers,news.answers
  4. Subject: 8051 microcontroller FAQ
  5. Supersedes: <microcontroller-faq/8051_857391387@rtfm.mit.edu>
  6. Followup-To: poster
  7. Date: 12 Sep 1997 10:51:08 GMT
  8. Organization: none
  9. Lines: 3701
  10. Approved: news-answers-request@MIT.EDU
  11. Expires: 27 Oct 1997 10:50:49 GMT
  12. Message-ID: <microcontroller-faq/8051_874061449@rtfm.mit.edu>
  13. NNTP-Posting-Host: penguin-lust.mit.edu
  14. Summary: This article is a collection of information sources on the
  15.          Intel 8051 family of microcontrollers (and variants).
  16. X-Last-Updated: 1997/09/11
  17. Originator: faqserv@penguin-lust.MIT.EDU
  18. Xref: senator-bedfellow.mit.edu comp.arch.embedded:23800 comp.sys.intel:135172 comp.robotics.misc:17945 comp.realtime:21811 sci.electronics.design:47745 alt.comp.hardware.homebuilt:32930 comp.answers:28026 sci.answers:7062 alt.answers:28881 news.answers:112098
  19.  
  20. Archive-name: microcontroller-faq/8051
  21. Posting-Frequency: monthly
  22. Last-modified: September 11, 1997
  23.  
  24. This article is a collection of information sources on the Intel 8051
  25. family of microcontrollers (and variants).
  26.  
  27. The following topics are addressed:
  28.  
  29.       0)  Rantings and ravings (to make the FAQ zero-based)
  30.  
  31.       1)  ABOUT THIS FAQ
  32.     1.1)  Who put this FAQ together?
  33.     1.2)  How can I contribute to this FAQ?
  34.     1.3)  What newsgroups will this FAQ be posted to?
  35.     1.4)  May I distribute this FAQ or post it somewhere else?
  36.     1.5)  How about FAQs on other microcontrollers?
  37.  
  38.       2)  ABOUT THE 8051
  39.     2.1)  The 8051 microcontroller
  40.     2.2)  8051 Flavors
  41.     2.3)  16-bit 8051 parts
  42.     2.4)  8051 representatives and approximate prices
  43.     2.5)  Common and New 80x51 variants
  44.     2.6)  Advantages realized in implementing control applications on
  45.           this family of microcontrollers
  46.     2.7)  Getting started
  47.     2.8)  Technical Questions and Answers
  48.  
  49.       3)  SOURCES OF INFORMATION ON THE 8051
  50.     3.1)  FTP sites
  51.     3.2)  Web pages
  52.     3.3)  Mailing lists
  53.     3.4)  BBSs
  54.     3.5)  Help available!
  55.  
  56.       4)  8051 PRODUCTS
  57.     4.1)  Free languages and development tools
  58.     4.2)  Free C compilers
  59.     4.3)  Commercially available products
  60.  
  61.       5)  8051 DOCUMENTATION
  62.     5.1)  Periodicals
  63.     5.2)  Books
  64.     5.3)  Miscellaneous documentation
  65.  
  66.  
  67. 0)  Rantings and ravings
  68.  
  69.     Disclaimer:  Just so it is understood, the "rantings and ravings" are
  70.     my rantings and raving.  My readers are refined and sophisticated and
  71.     would never rant or rave.  I, on the other hand, sit in front of the
  72.     TV in torn underwear and drink beer out of the bottle.
  73.  
  74.     =====> OK, I know this FAQ is long. Very long. Well... it's
  75.     ridiculously long. If you are inconvenienced or strenuously object to
  76.     the posting of this FAQ, please DON'T FLAME me or send me nasty mail.
  77.     Just think what I have to go through. This FAQ takes a lot of my
  78.     time, of which I have very little to spare. I'm open for suggestions.
  79.     I've considered the following:
  80.         - splitting it up into smaller parts
  81.         - eliminating certain sections which may no longer be relevant -
  82.           the web and search engines certainly seem to make a lot of this
  83.           FAQ obsolete (or am I mistaken on this?)
  84.         - not posting it to the newsgroups and just turning this
  85.           whole mess into a [large] web page (the problem with this
  86.           is that I don't have a web site)
  87.         - forgetting about it all together and reminding my kids that I'm
  88.           their father (if you all tell me to go packing, I'll gladly
  89.           fold up shop and devote more time to family, friends, and
  90.           personal hygiene)
  91.     I would be happy to hear ideas on how this FAQ could be improved for
  92.     the reader. If it makes MY job easier, then that's even better.
  93.  
  94.  
  95.     OK, with that out of the way, let's get on with it...
  96.  
  97.  
  98.     Well, it's finally here. A free C compiler for the 8051. Featured in
  99.     Dr. Dobb's August 1997 issue, Andy Yuen's Retargetable Concurrent
  100.     Small C (RCSC) is based on James E. Hendrix' lengendary Small C. A
  101.     previous iteration of RCSC, Concurrent Small C was introduced in the
  102.     August 1996 issue of Dr. Dobbs. With the release of this compiler,
  103.     Andy Yuen is very likely to become a folk hero.
  104.  
  105.     So, why are you still reading this? The FAQ will wait! First download
  106.     a copy of RCSC. You can get it from: http://www.ddj.com or
  107.     ftp://ftp.mv.com/pub/ddj. Then go out and find a copy of Dr. Dobb's
  108.     August 1997 issue.
  109.  
  110.     You'll still need to purchase either James E. Hendrix's "A Small C
  111.     Compiler" (ISBN 0-13-814724-8) or the Dr. Dobb's Small C Compiler
  112.     Resource CD. This of course means that the free C compiler isn't
  113.     totally free, but then again, what is?
  114.  
  115.  
  116.     If you'd like to start learning about microcontrollers, but the
  117.     thought of finding all the parts and then building one scares you,
  118.     take a look at the line of boards available from American Educational
  119.     Systems. They have three boards: AES-51 (8051), AES-11 (68hc11), and
  120.     AES-88 (8088). All three boards are built along the same lines and
  121.     include RAM, ROM, LCD display, keypad, A/D, serial ports, digital I/O
  122.     ports, and logic probe. Also included is a full bookshelf of
  123.     documentation. The AES-51 comes with a hardware manual, language
  124.     manual, and Intel's 8051 User's Manual (over 500 pages of reference
  125.     material). The board has a built in BASIC-52 and monitor built into
  126.     external ROM on board. The BASIC even includes commands for
  127.     displaying on the LCD. These boards are ridiculously easy to use and
  128.     program - you can get started experimenting right away.
  129.  
  130.     This is a perfect system for students and hobbyists. Even
  131.     professionals will find this system useful as a prototyping tool and
  132.     test bed. Highly recommended.
  133.  
  134.     For more information, contact:
  135.           American Educational Systems
  136.           970 West 17th St.
  137.           Santa Ana, CA  92706  USA
  138.           (800)730-3232 or (714)550-8094   Fax: (714)550-9941
  139.  
  140.  
  141.     SPJ Systems (Pune, India) has announced version 3.0 of their C
  142.     compiler for the 8051.  The major new feature of this version is
  143.     support for the "bit" type.  Although this version imposes some
  144.     limitations on the use of this newly supported type, you can now use
  145.     the bit manipulation capability of the 8051.  One important benefit
  146.     will be smaller code size and code which is easier to maintain and
  147.     understand.
  148.  
  149.     A working demo of the compiler package, which includes the library
  150.     sources and permits the compilation of small programs, is available
  151.     from their web site.
  152.  
  153.     For questions or comments about the product, you can contact them at:
  154.           SPJ SYSTEMS
  155.           114, Chitrashala Bldg.
  156.           562, Sadashiv Peth
  157.           Pune, India
  158.           Phone: 91-212-451607   Fax: 91-212-480285
  159.           Email: spjs@giaspn01.vsnl.net.in
  160.           Web:   http://www.prime-digest.w1.com/spj
  161.  
  162.  
  163.     Air Born Electronics in Australia has some nice project plans for the
  164.     8051 available on their web site. Point your browser at:
  165.          http://www.airborn.com.au/
  166.  
  167.  
  168.     MDL Labs offers the following BASIC language packages for the 8051:
  169.          1. BASIKIT--Integrated Programming Environment for BASIC-52
  170.             and for MDL-BASIC-I, MDL-BASIC-P, and MDL-BASIC-D. BASIKIT
  171.             includes a full-screen editor and permits writing programs
  172.             with labels rather than line numbers.
  173.          2. MDL-BASIC-I and MDL-BASIC-P are supersets of the original
  174.             BASIC-52, for the Intel 8052 and the Phillips PCB83C552,
  175.             respectively. All bugs removed.
  176.          3. MDL-BASIC-D is a BASIC for the Dallas 87C530 which accesses
  177.             all the features of the chip, including both serial ports,
  178.             the Watchdog, and the power-saving features. The BASIC will
  179.             address up to 512K of memory and will collect data into that
  180.             memory via serial port interrupts. It runs faster at 25 MHz
  181.             than compiled code on the 8052.
  182.          MDL Labs
  183.          1073 Limberlost Court
  184.          Columbus, OH 43235
  185.          Tel/Fax: 614-431-2675
  186.          Email: arl@infinet.com
  187.  
  188.  
  189.     Students at the Universidade Federal de Santa Catarina, Brazil
  190.     developed a "Remote Lab for the 8051". You send a machine code of the
  191.     8051 to a remote host (where there is 8051 board plugged in the PC)
  192.     and receive the values of the registers. Study the 8051
  193.     microcontroller, without buying a board. For more information:
  194.           www.inf.ufsc.br/~jbosco/labvir.htm
  195.     The Email of students are:
  196.           Miguel <wf@ambiente.com.br>
  197.           Cleber <cleber@inf.ufsc.br>
  198.  
  199.  
  200.     Hans Schou write to inform that the USB organization now has their
  201.     own homepage: http://www.usb.org (was http://www.teleport.com/~usb).
  202.     Hans is also willing to help out with problems using the 8051. His
  203.     new email address is: chlor@schou.dk
  204.  
  205.  
  206.     TCG (in Taiwan) has introduced two new products. One product is
  207.     32K-byte EPROM Emulator and the other is AT89C2051/1051 programmer
  208.     with limited emulation capability. These products feature platform
  209.     independence. You can use PC, Mac, Unix workstation, or even a dumb
  210.     terminal. All the necessary commands are built into the on-board
  211.     controller. For more information, check out these web sites:
  212.          http://www.yp.at-taiwan.com/~com00121
  213.          http://www.hth.com
  214.     For more information:
  215.          TCG
  216.          11 Ally22 Ln21 Pei-Ta Rd., Hsin-Chu City, Taiwan, R.O.C.
  217.          (886)3-532-7372   Fax: 886-3-531-7162
  218.          Email:ch.bbs@csie.nctu.edu.tw
  219.  
  220.  
  221.     Take care,
  222.  
  223.               Uncle Russ
  224.  
  225.  
  226. 1)  ABOUT THIS FAQ
  227.  
  228. 1.1)  Who put this FAQ together?
  229.  
  230.     I was prompted to put this FAQ together in response to my own
  231.     frustration in searching for information, and to the constant
  232.     occurrence of requests for information on this subject in various
  233.     newsgroups.  Hopefully others won't need to go through what I did.
  234.  
  235.     Normally, I spend all day programming in assembler or C on an IBM PC.
  236.     With my hobbyist hat on I decided to try my hand at a little
  237.     microcontroller project design.  When it came time to start, I had no
  238.     idea what to do.  I had nothing to start with - no assembler, no
  239.     programming language, no simulator.  I cobbled together a simulator
  240.     to help me learn about the workings of the chip.  It's not being made
  241.     available to the public since I'm afraid the simulator isn't very
  242.     good.  It was for my own use, so the user interface (there is none)
  243.     really sucks eggs.
  244.  
  245.     I decided to search the net for information on the 8051.  This list
  246.     was compiled the hard way, logging onto every anonymous ftp site I
  247.     could find and looking around.  I also used Archie, other FAQs and
  248.     lists, and every reference to the 8051 that appeared in the various
  249.     news groups.  It took a long time till stuff finally started popping
  250.     up.  I saved all of my notes and the result was the first version of
  251.     this FAQ.  Responses have been pouring in, and the result is a much
  252.     more complete and thorough FAQ.
  253.  
  254.  
  255. 1.2)  How can I contribute to this list?
  256.  
  257.     I please ask that if you have any suggestions or additions, or you
  258.     would like to correct any of the information contained herein, please
  259.     send me a note.
  260.          My Email address is:  russ@shani.net
  261.          My Snail-Mail address is:
  262.                Russ Hersch
  263.                HaVradim 11
  264.                Ginot Shomron
  265.                ISRAEL
  266.  
  267.     The list of individuals who have sent suggestions and encouragement
  268.     is endless.  I hope it suffices to say "Thank you to all who have
  269.     contributed to this FAQ - we all appreciate it."
  270.  
  271.     Special thanks to recent contributors:
  272.           Pramod Ramade (SPJ Systems)
  273.           Mark Meyer (American Educational Systems)
  274.           Michael Markowitz (EDN magazine)
  275.           Enrique Viseras
  276.           Philippe Techer (Virtual Micro Design)
  277.           Richard Lane
  278.           Ray Lavender (MDL Labs)
  279.           Hans Schou
  280.           Alfred Arnold
  281.           CH Tsai (TCG, Taiwan)
  282.  
  283.     I hope that those of you who know of interesting items for the 8051
  284.     will share with everyone by contributing to this list.  Piles of
  285.     stuff is turning up thanks to everyone's help.
  286.  
  287.     If you are a manufacturer and have a web site, ftp site, or BBS
  288.     available that supports the 8051, please let me know by EMail so that
  289.     I can add it to this FAQ.  Also, please feel free to update me on new
  290.     products.
  291.  
  292.  
  293. 1.3)  What newsgroups will this FAQ be posted to?
  294.  
  295.     This FAQ will be posted to the following newsgroups:
  296.           comp.sys.intel
  297.           comp.realtime
  298.           comp.robotics
  299.           comp.lang.forth
  300.           sci.electronics
  301.     These newsgroups often contain discussions, announcements, or
  302.     information on the 8051.  Check them out from time to time.
  303.  
  304.     The schedule for posting will be once a month.  I can't promise that
  305.     it will be on time, but I hope to post it on the 26th of each month.
  306.  
  307.     You might also want to check out the following newsgroups, since they
  308.     quite frequently have discussions about the 8051 and other
  309.     microcontrollers:
  310.           comp.arch.embedded
  311.           alt.comp.hardware.homebuilt
  312.  
  313.     A bit farther afield, but still of possible interest:
  314.           comp.lang.misc
  315.           comp.ai.fuzzy
  316.           comp.dsp
  317.           sci.engr.control
  318.           sci.engr.semiconductors
  319.  
  320.  
  321. 1.4)  May I post this FAQ to my local BBS?
  322.  
  323.     I am putting no restrictions on the use of this FAQ except - It must
  324.     be distributed in its entirety with the copyright notice, and no
  325.     financial gain may be realized from it.  After all, I have spent, and
  326.     continue to spend, a lot of time on this.  The only thing that I
  327.     intend to gain from it is more information on the 8051, and getting
  328.     to know my fellow 8051 groupies better.
  329.  
  330.     For this reason I have appended a copyright statement to the end of
  331.     this FAQ.  I feel pretty silly doing this, but I just want to protect
  332.     myself.  The copyright does not limit the use of this list for
  333.     noncommercial purposes.  I hereby give my permission to one and all
  334.     to pass this list around and post it wherever you want - as long as
  335.     it is not for financial gain.
  336.  
  337.         Thank you.
  338.  
  339.  
  340. 1.5)  How about FAQs on other microcontrollers?
  341.  
  342.     If anyone wishes to start a FAQ on another microcontroller, please
  343.     feel free to copy the format of this FAQ - I don't intend on
  344.     copyrighting the look and feel ;-).  With a common format, we will
  345.     all benefit when trying to find information on a particular
  346.     microcontroller.
  347.  
  348.  
  349.     Other Microcontroller FAQs
  350.  
  351.       Subject:  PIC microcontrollers
  352.       Newsgroups:  <no longer posted to newsgroups>
  353.       Web page:  http://digiserve.com/takdesign
  354.       Maintainer:  Tom Kellett
  355.                    Email: Tom@takdsign.demon.co.uk
  356.  
  357.       Subject:  68hc11 microcontrollers
  358.       Newsgroups:  comp.realtime
  359.                    comp.robotics
  360.                    sci.electronics
  361.       Archive:  rtfm.mit.edu :  <plus all mirror sites>
  362.                 /pub/usenet/comp.answers/microcontroller-faq/68hc11
  363.                 /pub/usenet/sci.answers/microcontroller-faq/68hc11
  364.                 /pub/usenet/news.answers/microcontroller-faq/68hc11
  365.       Maintainer:  Robert Boys - Ontario, Canada
  366.                    Email: rboys@best.com
  367.                    Russ Hersch (maintainer emeritus :-)
  368.  
  369.       Subject:  Microcontroller primer and FAQ
  370.       Newsgroups:  comp.sys.intel
  371.                    comp.arch.embedded
  372.                    comp.robotics
  373.                    sci.electronics
  374.                    alt.comp.hardware.homebuilt
  375.       Archive:  rtfm.mit.edu :  <plus all mirror sites>
  376.                 /pub/usenet/comp.answers/microcontroller-faq/primer
  377.                 /pub/usenet/sci.answers/microcontroller-faq/primer
  378.                 /pub/usenet/news.answers/microcontroller-faq/primer
  379.       Maintainer:  Russ Hersch
  380.                    Email: russ@shani.net
  381.  
  382.  
  383.     Additional FAQs of interest
  384.  
  385.       Subject:  I2C protocol
  386.       Newsgroups:  sci.electronics
  387.                    alt.hardware.homebuilt
  388.                    comp.robotics
  389.                    comp.protocols.misc.
  390.       Comments:    The I2C bus is a simple 2 wire serial interface
  391.                    developed by Philips.  A number of 8051 variants as
  392.                    well as several peripherals include I2C support.
  393.       Maintainer:  Vincent Himpe
  394.                    Email: Vincent.Himpe@ping.be
  395.  
  396.       Subject:  Robotics
  397.       Newsgroups:  comp.robotics
  398.       Maintainer:  Kevin Dowling
  399.                    (412)268-8830
  400.                    Email: nivek@ri.cmu.edu
  401.                    Smail: Carnegie Mellon University
  402.                           The Robotics Institute
  403.                           Pittsburgh, PA 15213
  404.  
  405.       Subject:  Electronics
  406.       Newsgroups:  sci.electronics
  407.       Comments:  There are a number of FAQs available in this newsgroup
  408.                  on various subjects.  Among some of the subjects covered
  409.                  are:  LCDs, stepper motors, etc.
  410.  
  411.       FAQ subject:  Real-time
  412.       Newsgroups:  comp.realtime, comp.answers, news.answers
  413.       Archive:  rtfm.mit.edu : pub/usenet/comp.realtime
  414.       Maintainer:  Mark Linimon
  415.                        Lonesome Dove Computing Services
  416.                        Roanoke, Virginia
  417.                    Email: linimon@nominil.lonesome.com.
  418.  
  419.       Subject:  Motorola 68K microprocessor line
  420.       Newsgroups:  comp.sys.m68k
  421.       Comments:  without a doubt, one of the finest FAQs ever written
  422.                  (well, of course Bob paid me to say this ;-)
  423.       Archive:  bode.ee.ualberta.ca : pub/motorola/general
  424.                 ftp.luth.se : /pub/misc/motorola/faq
  425.                 file name of archive is m68kfaq?.zip (? is version)
  426.       Maintainer:  Robert Boys - Ontario, Canada
  427.                    Email: rboys@best.com
  428.  
  429.  
  430.     For more detailed information on various 8051 microcontroller parts,
  431.     see the article posted to comp.robotics and sci.electronics which
  432.     provides a tabular cross reference of features and pin counts on a
  433.     wide range of microcontrollers (including the 8051 family).  This
  434.     list was compiled and is being maintained by Roger Nelson
  435.     <rnelson@wsuaix.csc.wsu.edu>.
  436.  
  437.     For more information on various microcontrollers and their features,
  438.     refer to the Microcontroller primer and FAQ listed above.
  439.  
  440.  
  441. 2)  ABOUT THE 8051
  442.  
  443.  
  444. 2.1)  The 8051 microcontroller
  445.  
  446.     The 8051 is an 8 bit microcontroller originally developed by Intel in
  447.     1980.  It is the world's most popular microcontroller core, made by
  448.     many independent manufacturers (truly multi-sourced).  There were 126
  449.     million 8051s (and variants) shipped in 1993!!
  450.  
  451.     A typical 8051 contains:
  452.        - CPU with boolean processor
  453.        - 5 or 6 interrupts: 2 are external
  454.                             2 priority levels
  455.        - 2 or 3 16-bit timer/counters
  456.        - programmable full-duplex serial port
  457.          (baud rate provided by one of the timers)
  458.        - 32 I/O lines (four 8-bit ports)
  459.        - RAM
  460.        - ROM/EPROM in some models
  461.  
  462.     The 8051 architecture is a tad bizarre, but then so are the
  463.     architectures of most microcontrollers due to their specialization
  464.     (check out the PIC for creativity - for that matter, take a look at
  465.     any RISC chip).  One vexing problem with the 8051 is its very
  466.     non-orthogonal instruction set - especially the restrictions on
  467.     accessing the different address spaces.  However, after some time
  468.     programming the chip, you can get used to it - maybe even appreciate
  469.     it.
  470.  
  471.     One strong point of the 8051 is the way it handles interrupts.
  472.     Vectoring to fixed 8-byte areas is convenient and efficient.  Most
  473.     interrupt routines are very short (or at least they should be), and
  474.     generally can fit into the 8-byte area.  Of course if your interrupt
  475.     routine is longer, you can still jump to the appropriate routine from
  476.     within the 8 byte interrupt region.
  477.  
  478.     The 8051 instruction set is optimized for the one-bit operations so
  479.     often desired in real-world, real-time control applications.  The
  480.     boolean processor provides direct support for bit manipulation.  This
  481.     leads to more efficient programs that need to deal with binary input
  482.     and output conditions inherent in digital-control problems.  Bit
  483.     addressing can be used for test pin monitoring or program control
  484.     flags.
  485.  
  486.  
  487. 2.2)  8051 Flavors
  488.  
  489.     The 8051 has the widest range of variants of any embedded controller
  490.     on the market.  The smallest device is the Atmel 89c1051, a 20 Pin
  491.     FLASH variant with 2 timers, UART, 20mA.  The fastest parts are from
  492.     Dallas, with performance close to 10 MIPS!  The most powerful chip is
  493.     the Siemens 80C517A, with 32 Bit ALU, 2 UARTS, 2K RAM, PLCC84
  494.     package, 8 x 16 Bit PWMs, and other features.
  495.  
  496.     Among the major manufacturers are:
  497.         AMD      Enhanced 8051 parts (no longer producing 80x51 parts)
  498.         Atmel    FLASH and semi-custom parts
  499.         Dallas   Battery backed, program download, and fastest variants
  500.         Intel    8051 through 80c51gb / 80c51sl
  501.         ISSI     IS80C51/31 runs up to 40MHz
  502.         Matra    80c154, low voltage static variants
  503.         OKI      80c154, mask parts
  504.         Philips  87c748 thru 89c588 - more variants than anyone else
  505.         Siemens  80c501 through 80c517a, and SIECO cores
  506.         SMC      COM20051 with ARCNET token bus network engine
  507.         SSI      80x52, 2 x HDLC variant for MODEM use
  508.  
  509.     Advanced Micro Devices (AMD)
  510.  
  511.        AMD was one of the first manufacturers of enhanced variants
  512.        including such features as:  dual data pointers, slave interface
  513.        with arbitration unit, dual port RAM, FIFO buffers, and others.
  514.        They are now out of the 8051 business.
  515.  
  516.  
  517.     Atmel
  518.  
  519.        The smallest current device is the ATMEL 89c1051, a 20 Pin FLASH
  520.        variant with 2 timers, UART, 20mA.  ATMEL was the first with
  521.        standard pinout FLASH, and with more program cycles than other
  522.        custom pinout FLASH.  These parts compete with OTP and MASK
  523.        product on price, but eliminate inventory problems and the hidden
  524.        costs of OTP development.  This will put real pressure on
  525.        "vanilla" micros like PIC and ST6.
  526.  
  527.  
  528.     Dallas Soft Microcontrollers - DS5000(T), DS5001(T), DS2250(T)
  529.  
  530.        The Dallas Soft Microcontrollers have standard 8051 cores with
  531.        on-chip non-volatile RAM instead of ROM.  This gives the user the
  532.        ability to easily alter the system and is perfect for data
  533.        logging.  These processors are available in both chip and module
  534.        solutions.  Among the features included in this family of
  535.        products:
  536.           - on-chip non-volatile RAM
  537.           - loader in ROM for downloading programs (eliminates the hassle
  538.             of EPROM erase/program/install cycle)
  539.           - built in real time clock option
  540.           - watchdog timer
  541.           - software security (program and data encryption)
  542.  
  543.        The DS500x is a standard 40 pin DIP package (well, mostly
  544.        standard, it is really a BOX which is about double the height of a
  545.        normal chip).  The DS225x is a SIP version which is functionally
  546.        identical to the DS5000 but usually a bit less expensive.
  547.  
  548.        The nice thing about having the RAM on-chip, is that the I/O ports
  549.        are unaffected.  When the RAM is configured as CODE memory, the
  550.        DS5000 behaves exactly as a single-chip 8051.  The NV-RAM is
  551.        static with a built-in lithium battery, and has no limitations on
  552.        the number of writes.  You can download your code as many times as
  553.        you like without damaging the device.  The DS5000 also includes a
  554.        loader in ROM, which permits you to bootstrap code into the RAM to
  555.        get underway.  The loader and on-chip RAM have an encryption
  556.        feature with which you can protect your code from being read back
  557.        from the device if you wish.
  558.  
  559.  
  560.     Dallas High-Speed Micros - DS80c320, DS87c520, DS87c530
  561.  
  562.        Real barn-burners - performance up to 10 MIPS!  Dallas was the
  563.        first to speed up the core.  Wasted clock and memory cycles have
  564.        been removed using a redesigned processor core.  As a result,
  565.        every 8051 instruction is executed up to 3 times faster than the
  566.        original for the same crystal speed.  Clock speeds from DC to
  567.        33MHz!
  568.  
  569.        High performance doesn't just mean speed.  High integration gives
  570.        the user 2 full-duplex hardware serial ports, 13 total interrupt
  571.        sources (6 external), watchdog timer, power management, power-fail
  572.        reset, and other features.
  573.  
  574.  
  575.     Intel MCS-51
  576.  
  577.        Introduced in 1980, it has become the industry standard for
  578.        embedded control.  Intel offers a wide variety of 8051 versions
  579.        with different configurations of on-board EPROM/ROM.  Also low
  580.        power, high integration, and specialized parts are also offered.
  581.  
  582.  
  583.     OKI
  584.  
  585.        OKI makes an 85c154 piggyback - an 8751 but with an EPROM socket
  586.        on top!  Great with an EPROM emulator.
  587.  
  588.  
  589.     Philips
  590.  
  591.        Philips has more 8051 variants than anyone else.  Among the
  592.        derivatives that they have:  40MHz, 24 pin skinny DIP, low
  593.        voltage, quad flat pack (QFP) versions for saving board space,
  594.        OTP, I2C bus, and so on.
  595.  
  596.        The c5xx line features high integration, with many built-in
  597.        features including built-in EMI/RFI suppression.
  598.  
  599.        The c7xx series are very low-end, inexpensive micros.  They are
  600.        offered with less memory (1k, 2k, etc.) and fewer features.  In
  601.        fact the 83c750 sells for only $1 in very high OEM volumes.
  602.  
  603.  
  604.     Siemens sab80c517a
  605.  
  606.        The 80c517a is one of the most powerful 8051 variants available.
  607.        It features high clock speed (40 MHz), and high integration with
  608.        32 Bit ALU, 2 UARTS, 2K RAM, PLCC84 package, 8x16 bit PWMs, and
  609.        more.
  610.  
  611.  
  612.     Standard Microsystems Corporation SMC COM20051
  613.        The COM20051 is an integrated microcontroller and network
  614.        interface which features:
  615.          -  high performance and low cost
  616.          -  based on popular 8051 architecture
  617.          -  drop-in replacement for 80C32 PLCC
  618.          -  network supports up to 255 nodes
  619.          -  powerful network diagnostics
  620.          -  maximum 512 byte packets
  621.          -  duplicate node ID detection
  622.          -  self-configuring network protocol
  623.          -  retains all 8051 peripherals including Serial I/O and
  624.             2 Timers
  625.          -  utilizes ARCNET(R) Token Bus Network Engine
  626.          -  requires no special emulators
  627.          -  5 Mbps to 156 Kbps data rate
  628.          -  network interface supports RS-485, twisted pair,
  629.             coaxial, and fiber optic interfaces
  630.          -  "receive all" mode allows any packet to be received
  631.  
  632.  
  633.     Silicon Systems Inc. SSI73M2910/2910A
  634.  
  635.        The SSI73M2910 is a high performance microcontroller designed for
  636.        modem and communications applications.
  637.          - 8052 Compatible Instruction set.
  638.          - 34 MHz Operation @ 4.5 - 5.5V
  639.          - 44 MHz Operation @ 4.75 - 5.5.V (2910A)
  640.          - 22 MHz Operation @ 3.3 - 5.5.V
  641.          - HDLC Support Logic (Packetizer, 16 and 32 CRC, zero ID)
  642.          - 24 pins for user programmable I/O ports
  643.          - 8 pins programmable chip select logic or I/O for memory mapped
  644.            peripherals eliminating glue logic
  645.          - 3 external interrupt sources (programmable polarity)
  646.          - 16 dedicated latched address pins
  647.          - Multiplexed latched/address bus
  648.          - Instruction cycle time identical to 8052
  649.          - Buffered oscillator (or OSC/2) output pin
  650.          - 1.8432 MHz UART clock available
  651.          - Bank select circuitry to support up to 128K of external
  652.            program memory
  653.          - 100-Lead TQFP package available for PCMCIA applications
  654.          - Also available in 100-Lead QFP package
  655.  
  656.  
  657. 2.3)  16-bit 8051 parts
  658.  
  659.  
  660.     A joint project between Intel and Philips Semiconductors has resulted
  661.     in two new excting products - 16 bit 8051s!  Due to a disagreement
  662.     between the parties, they each went their separate ways.  Intel
  663.     developed the MCS-251, which was originally called the ZX (this name
  664.     can still be found on one of the Intel slide shows).  Philips came
  665.     out with the eXtended Architecture (XA) line.
  666.  
  667.     The Intel MCS-251 is a drop-in replacement for the 8051 (at least,
  668.     after programming the mode control bits first), and is also binary
  669.     compatible.  The XA is more of a 16 bit micro which also happens to
  670.     be source code compatible.  One can argue the merits of which
  671.     approach is better.
  672.  
  673.     Pin compatible parts allow instant performance upgrades for existing
  674.     designs, and the binary compatibility truly preserves users
  675.     investment in code and tools.  By staying firmly in the 80x51 camp,
  676.     Intel allows users transparent access to an enormous horsepower
  677.     range.  To further improve throughput in numerically intensive areas,
  678.     users can use INTEGER, LONGINT, and FLOAT libraries written for the
  679.     MCS-251.  The Philips XA is not a drop-in replacement for the 8051.
  680.  
  681.     Binary code compatibility is nice, you can move right up to a more
  682.     powerful engine without having to bust a gut (We all know the Intel
  683.     binary compatible success story with their 80x86 microprocessors).
  684.     But if you're working on a new design, how necessary is binary
  685.     compatibility?  If you're just looking for a souped up '51, Dallas
  686.     already has the 320.  If you need the advanced features, you'll need
  687.     to recompile or rewrite your software anyhow.  You'll also have to
  688.     drag along some compatibility baggage with you in order to use the 16
  689.     bit operations - these are preceded by an escape code (A5H), the only
  690.     instruction not used in the 8051 instruction set.
  691.  
  692.     With source code compatibility, you have to recompile your code (with
  693.     a new set of development tools), since the instruction set has been
  694.     recrafted to allow the biggest bang for the buck.  This process isn't
  695.     100% transparent, but then again, binary compatibility isn't either.
  696.  
  697.     If you're upgrading an existing design, the 251 is probably your only
  698.     reasonable choice (although you might also want to consider the
  699.     Dallas 320).  On new designs, you'll have a tough decision to make.
  700.     Whichever path you choose to take, the 8051 will never be the same
  701.     again.
  702.  
  703.  
  704.     Intel MCS-251
  705.  
  706.        The Intel MCS-251 is 100% binary and pin compatible with the 8051,
  707.        but with a 5-15 times boost in horsepower.  This is achieved by a
  708.        six fold gain in bus cycles, and further hardware improvements to
  709.        avoid wasted bus cycles.
  710.  
  711.        Further performance gains are possible by recoding critical
  712.        sections to take advantage of the new features:  powerful 8/16/32
  713.        bit instructions, flexible 8/16/32 registers, 16MB linear address
  714.        space, 16-bit stack pointer, enhanced BIT manipulations, and
  715.        improved control instructions.  In addition to extra 16/32 bit
  716.        instructions, the 251 includes 40 registers with Accumulator and
  717.        Index functions overlayed as 16x8, 16x16, 10x32.
  718.  
  719.        Should we expect a 351 in the future.  How about a 451?  Or maybe
  720.        a Penti-uC?
  721.  
  722.  
  723.     Philips 8051XA
  724.  
  725.        By tossing compatibility out the window, Philips was able to
  726.        develop a true 16 microcontroller while at the same time
  727.        preserving the basic 8051 instruction set (source).  The benefits
  728.        of this break with tradition result in a chip that has dual 16MB
  729.        address spaces (data and code), multitasking support with task
  730.        protected memory segments, a separate SFR bus, fast context
  731.        switching, and optimized code efficiency.  Other features include:
  732.        hardware divide and multiply (over 100 times faster than an 8051),
  733.        32 vectored interrupts, 16 hardware exceptions, and 16 trap
  734.        instructions.
  735.  
  736.  
  737. 2.4)  8051 representatives and approximate prices (in USD $)
  738.  
  739.     There are many, many varieties of 8051 out there.  This is only a
  740.     small sampling of typical prices on Intel chips.
  741.  
  742.         8031 (128 bytes RAM)...................................3.59
  743.         80C31 (CMOS version of previous).......................6.95
  744.         8051AH (256 bytes RAM).................................6.95
  745.         8051AHBASIC (w/Basic interpreter built in)............29.95
  746.         8751 (4K EPROM, 128 bytes RAM)........................26.95
  747.         87C51 (CMOS version of previous)......................39.95
  748.  
  749.  
  750. 2.5)  Common and New 80x51 variants
  751.  
  752.     Intel has announced that 8052AH-BASIC has reached its EOL (end of
  753.     life) and is not any more in production. Resellers may still have
  754.     some chips in stock. However, both source and object code is
  755.     available in many ftp-sites (and Intel BBS) and can be loaded into
  756.     any 8052-compatible internal ROM memory (or external ROM, but then
  757.     PROG and DMA cannot be used).
  758.  
  759.     At least few years ago, MicroMint Inc. (4 Park St, Vernon,
  760.     CT 06066, USA) was selling their own 80C52-BASIC at USD 25, speed DC
  761.     12 MHz, CMOS.
  762.  
  763.     <Thanks to Eero-Pekka Mand>
  764.  
  765.  
  766.     Thanks to Jim Granville of Mandeno Granville Electronics, Ltd. for
  767.     the following nice summary.
  768.  
  769.     Key:
  770.         PCA programmable counter array
  771.         LV  low voltage
  772.         PWM pulse width modulation
  773.         CC  capture/compare
  774.         UPI Universal Peripheral Interface (Philips)
  775.  
  776.     Variant  Pins  Mfg     RAM  CODE XRAM  Notes (LV - low voltage)
  777.     ---------------------------------------------------------------------
  778.     MCS251    40   Intel    1K  16K    0   16 Bit 80x51FX! Prelim
  779.     80C509L  100qf Siemens 256  64Kx  3K   ALU,PWM,CC,2UART,10bA/D
  780.     80C517A   84   Siemens 256  64Kx  2K   ALU,8PWM,CC,2UART,10bA/D
  781.     80C537A   84   Siemens 256  32K   2K   ALU,8PWM,CC,2UART,10bA/D
  782.     80537     84   Siemens 256  64Kx   0   ALU,8PWM,CC,2UART,8bA/D
  783.     80517     84   Siemens 256   8K    0   ALU,8PWM,CC,2UART,8bA/D
  784.     73D2910 100qfp SSI     256 128Kx   0   80C52+Ports+HDLC
  785.     80C535A   68   Siemens 256  64Kx  1K   515+10bA/D,1K XRAM,BRG,OWD
  786.     80CE558  80qfp Philips 256  64Kx 768   Enhanced 80C552, Sep i2c, RSO
  787.     80C515A   68   Siemens 256  32K   1K   515+10bA/D,1K XRAM,BRG,OWD
  788.     80535     68   Siemens 256  64Kx   0   Timer2CaptComp 6ports 8/10bA/D
  789.     80515     68   Siemens 256   8K    0   Timer2 CaptComp 4 ports 8b A/D
  790.     80C535    68   Siemens 256  64Kx   0   Timer2 CaptComp 5 ports 8b A/D
  791.     80C51GB   68   Intel   256  64Kx   0   8051FA+PCA, 8b A/D, SPI
  792.     87C51GB   68   Intel   256   8K    0   8051FA+PCA, 8b A/D, SPI
  793.     80C592    68   Philips 256  64Kx 256   552-i2c+CAN+XRAM
  794.     87C592    68   Philips 256  16K  256   552-i2c+CAN+XRAM
  795.     87C598    80   Philips 256  32K  256   552-i2c+CAN+XRAM
  796.     80C552    68   Philips 256  64Kx   0   10b A/D, i2c, CaptComp, PWM
  797.     87C552    68   Philips 256   8K    0   10b A/D, i2c, CaptComp, PWM
  798.     80C562    68   Philips 256  64Kx   0   8b A/D, i2c, CaptComp, PWM
  799.     SABC505C  44   Siemens 256  64Kx 256   8bA/D,XRAM,OWD,CAN V2B, Xt2
  800.     SABC504   44   Siemens 256  64Kx 256   10bA/D,XRAM,OWD,DC Motor PWM
  801.     87C451    68   Philips 128   4K    0   7 Ports, 1 Handshake
  802.     80C451    68   Philips 128  64Kx   0   7 Ports, 1 Handshake
  803.     87C453    68   Philips 256   8K    0   7 Ports, 1 Handshake
  804.     83CL580  56,64 Philips 256   6K    0   LV 8052+ADC+i2c+More INTs,WDOG
  805.     80C320    40   Dallas  256  64Kx   0   FAST, 2 DPTR 2 UART VRST
  806.     80C310    40   Dallas  256  64Kx   0   Simpler 80C320 e62.5Mhz
  807.     87C520    40   Dallas  256  16K   1K   16K OTP enhanced 80C320
  808.     80C51FX   40   Intel   256  64Kx   0   80C58i+PCA,AsRST
  809.     87C51FA   40   Intel   256   8K    0   8052+PCA,Enh Serial Automotive
  810.     87C51FB   40   Intel   256  16K    0   8052+PCA,Enh Serial Automotive
  811.     87C51FC   40   Intel   256  32K    0   8052+PCA,Enh Serial Automotive
  812.     8XC51FB   40   Philips 256  16K    0   87C51FB with ALE RFI mode
  813.     87C51FXL  40   Intel   256  32K    0   3.3v 80C51FC
  814.     80C152JD  68   Intel   256  64Kx   0   HDLC/SDLC Serial
  815.     80C152    48   Intel   256  64Kx   0   HDLC Serial
  816.     8044      40   Intel   192  64Kx   0   RUPI Serial
  817.     80C575    40   Philips 256  64Kx   0   8052+PCA,AnalogComp,WDOG,RSTLo
  818.     87C575    40   Philips 256   8K    0   8052+PCA,AnalogComp,WDOG,RSTLo
  819.     80C576    40   Philips 256   8K    0 8052+PCA,UPI,A/D,PWM,WDOG,VRSTLo
  820.     87C576    40   Philips 256   8K    0 8052+PCA,UPI,A/D,PWM,WDOG,VRSTLo
  821.     SABC501   40   Siemens 256  64Kx   0   40MHz Enhanced 8052 U/D
  822.     SABC502   40   Siemens 256  64Kx 256   8052+XRAM+8DP+WD+BRG+OWD
  823.     80C528    40   Philips 256  64Kx 256   8052+Wdog, XRAM
  824.     87C528    40   Philips 256  32K  256   8052+Wdog, XRAM
  825.     89CE528   44   Philips 256  32KF 256   Flash 528
  826.     87C524    40   Philips 256  16K  256   16K 87C528
  827.     80C550    40   Philips 128   4K    0   8b A/D WDog
  828.     80CL781   40   Philips 256  64Kx   0   LV 8052, More INTs, WDOG
  829.     83CL781   40   Philips 256  16K    0   LV 8052, More INTs, WDOG
  830.     80CL782   40   Philips 256  64Kx   0   LV, faster 781
  831.     89S8252  40.44 Atmel   256 10KFE   0   FLASH, 8K+2KEE, WDOG, SPI
  832.     89C55    40.44 Atmel   256 20KF    0   FLASH, Fast,LV 87C52+20K
  833.     89C52    40.44 Atmel   256  8KF    0   FLASH, Fast,LV 87C52
  834.     87C54     40   Intel   256  16K    0   16K 87C52i
  835.     87C58     40   Intel   256  32K    0   32K 87C52i
  836.     87C52     40   Intel   256   8K    0   8052+U/D+OscO+4Li
  837.     80C154    40   Matra   256  64Kx   0   Enhanced 8052 (also OKI)
  838.     83C154D   40   Matra   256  32K    0   Enhanced 8052
  839.     83C154    40   OKI     256  16K    0   Enhanced 8052
  840.     80C654    40   Philips 256  64Kx   0   i2c
  841.     87C652    40   Philips 256   8K    0   i2c
  842.     87C654    40   Philips 256  16K    0   i2c
  843.     83CE654  44qfp Philips 256  16K    0   i2c, low RFI 654
  844.     DS5000    40   Dallas  128  32KR 32K   80x51 Secure+NVsupport,BootLdr
  845.     DS2250   40sim Dallas  128  32K  32K   5000, in SIMM package
  846.     DS5001   80qfp Dallas  128  64Kx 64K   Enhanced DS5000, RPC BatSw
  847.     80C851    40   Philips 128  64Kx   0   8051+256B EEPROM
  848.     83C852     6   Philips 256   6K    0   ALU,2K EEPROM SmartCard,Die
  849.     8052      40   All     256  64Kx   0   8051+Timer2
  850.     8752      40   Intel   256   8K    0   8051+Timer2
  851.     80C52     40   Siemens 256  64Kx   0   8051+Timer2,Philips,Oki,Matra
  852.     88SC54C   8    Atmel   256  64Kx 512   8052+PublicKey,prelim
  853.     80CL410   40   Philips 128  64Kx   0   LV, More INTs i2c-UART
  854.     80CL31    40   Philips 128  64Kx   0   LV, More Ints 80x51
  855.     80CL610   40   Philips 256  64Kx   0   LV, More INTs i2c-UART
  856.     83CL411   40   Philips 256  64Kx   0   80CL31 with 256 RAM, No T2
  857.     89C51    40.44 Atmel   128   4KF   0   FLASH,Fast,LV 87C51
  858.     8751      40   All     128   4K    0   Core processor,UART,Tmr0,Tmr1
  859.     87C51     40   All     128   4K    0   Core processor,UART,Tmr0,Tmr1
  860.     8031      40   All     128  64Kx   0   Core processor,UART,Tmr0,Tmr1
  861.     8051      40   All     128   4K    0   Core processor,UART,Tmr0,Tmr1
  862.     80C31L    40   Matra   128  64Kx   0   LV 80x51
  863.     87C752    28   Philips  64   2KE   0   87751+ A/D, PWM
  864.     87C749    28   Philips  64   2KE   0   87C752 - i2c
  865.     87C751    24   Philips  64   2KE   0   Small size, bit i2c
  866.     87C748    24   Philips  64   2KE   0   87C751 - i2c
  867.     87C750    24   Philips  64   1KE   0   Small size
  868.     89C2051   20   Atmel   128   2KF   0   20Pin 89C51,+AnaComp+LED
  869.     89C1051   20   Atmel    64   1KF   0   20Pin 2051 -uart,timer1
  870.  
  871.  
  872. 2.6)  Advantages realized in implementing control applications on this
  873.       family of microcontrollers
  874.  
  875.     Wildly popular - readily available and widely supported, a full range
  876.     of free and commercial support products is available
  877.  
  878.     Fast and effective - the architecture correlates closely with the
  879.     problem being solved (control systems), specialized instructions mean
  880.     that fewer bytes of code need to be fetched and fewer conditional
  881.     jumps are processed
  882.  
  883.     Low cost - high level of system integration within one component,
  884.     only a handful of components needed to create a working system
  885.  
  886.     Wide range -  ONE set of tools covers the greatest horsepower range
  887.     of any microcontroller family, other suppliers handle a number of
  888.     DIFFERENT and INCOMPATIBLE (and often single-sourced) cores to cover
  889.     the same power range as the 80x51, the 8051 provides a real cost
  890.     savings in tools, training, and software support
  891.  
  892.     Compatibility - opcodes and binaries are the SAME for all 80x51
  893.     variants (unlike most other microcontroller families)
  894.  
  895.     Multi-sourced - over 12 manufacturers, hundreds of varieties,
  896.     something for everyone with the security of ready availability
  897.  
  898.     Constant improvements - improvements in silicon/design increase speed
  899.     and power annually, 16 bit models coming from several manufacturers,
  900.     low cost skinny DIP models now available
  901.  
  902.  
  903. 2.7)  Getting started
  904.  
  905.     If you are interested in getting started with the 8051, you will need
  906.     to concern yourself with getting the appropriate hardware and
  907.     software to develop your system.
  908.  
  909.     A good start would be to pick up a couple of books on the subject.
  910.     Two really great books for beginners are "The Microcontroller Idea
  911.     Book" by Jan Axelson (Lakeview Research) and "Programming and
  912.     Interfacing the 8051 Microcontroller" by Sencer Yeralan and Ashutosh
  913.     Ahluwalia (Addison Wesley).  Both books contain complete plans for
  914.     microcontroller boards/systems if you plan on rolling your own.  The
  915.     Yeralan/Ahluwalia books also contains a diskette with just about all
  916.     of the software that you'll need to get started progamming for the
  917.     8051 (assembler, simulator, etc).  These books also have many circuit
  918.     and code examples and are very useful for the beginner (I'm going to
  919.     need an extra copy of each for reading in the bathroom :-).
  920.  
  921.  
  922.     Which software you choose is mostly a matter of personal preference,
  923.     how much time you have to invest, how much money you have to invest,
  924.     and what you want to accomplish.  Serious work can be accomplished
  925.     using much of the free software listed in this FAQ, however in most
  926.     cases technical support is unavailable.  Registering shareware, or
  927.     buying a mainstream commercial package gives you backup and support
  928.     and helps you get going much faster.
  929.  
  930.     If you are a hobbyist or student, and would like to program in C, I
  931.     would recommend looking at the Dunfield Development System.  I use
  932.     this package and it is a powerful package for only $100.  It includes
  933.     a full suite of development tools including C compiler, assembler,
  934.     linker, and much more.  A hardware-resident simulator/emulator is
  935.     available for an additional $50.  Another C compiler package from
  936.     Micro Computer Control provides similar capabilities for the same
  937.     price.
  938.  
  939.     A wide range of development options exists for all budgets and
  940.     purposes.  One convenient way to start is the Ceibo/Philips DS-750
  941.     development system, based on the 80c75x (a scaled down 8051 variant).
  942.     The "emulator" board programs the chips (so you won't need an EPROM
  943.     programmer and the debugger has a user interface much like Borland's
  944.     Turbo Debugger.
  945.  
  946.     The development system that I use is based on the Dallas DS5000.  The
  947.     nice thing about the DS5000 is that you can upload your programs
  948.     directly to the chip (no EPROM needed!).  The Dunfield package
  949.     provides excellent support for this chip, including plans for
  950.     building a "pseudo-ice".  With this setup, all you need to do is
  951.     upload your program, and debug (emulate) on the target hardware.
  952.     This setup is highly recommended.
  953.  
  954.  
  955.     One other possibility is the 8052AH-BASIC chip.  With a Basic
  956.     interpreter built in, you have an interactive development system when
  957.     attached to your PC.  Jan Axelson's book gives complete coverage on
  958.     this chip, including plans to build your own system, programming in
  959.     Basic, and interfacing to various peripherals and devices.
  960.  
  961.  
  962.     What might be the easiest way to get started, is by buying a complete
  963.     development package. The AES-51 from American Educational Systems is
  964.     a good example. This package comes complete with everything you need
  965.     to get started and do real work. The microcontroller board has just
  966.     about every peripheral you'll ever need built right in (LCD, keypad,
  967.     A/D, D/A, I/O, etc) and comes with a built-in monitor and BASIC. Also
  968.     included is a shelf full of tutorial and reference books and a
  969.     diskette with the required support software for your PC. For less
  970.     than $300, you get a complete and professionally designed and
  971.     packaged educational tool. AES also has two other boards (based on
  972.     the 68hc11 and 8088) which have the same basic appearance and
  973.     functionality.
  974.  
  975.  
  976. 2.8)  Technical Questions and Answers
  977.  
  978.     Q:  Why are ports P0 and P2 unavailable for I/O when using external
  979.         memory?
  980.  
  981.     A:  The output drivers of ports 0 and 2, and the input buffers of
  982.         port 0, are used to access external memory.  Port 0 outputs the
  983.         low byte of the external memory address, time-multiplexed with
  984.         the byte being read/written.  Port 2 outputs the high byte of the
  985.         external memory address when the address is 16 bits wide.
  986.         Otherwise, the port 2 pins continue to emit the P2 SFR contents.
  987.         Therefore, when external memory is being used, ports 0 and 2 are
  988.         unavailable for their primary use as general I/O lines.
  989.  
  990.  
  991.     Q:  Is there anything I can do to use these ports for I/O when using
  992.         external memory?
  993.  
  994.     A1: Not really.
  995.  
  996.     A2: If you really want to make your life miserable, you can try to
  997.         use P2 for output when it isn't being used for memory access.
  998.         The contents of the SFR latch for port 2 are not modified during
  999.         the execution of a Data Memory fetch cycle on the Expanded Bus.
  1000.         If an instruction requiring a cycle on the Expanded Bus is not
  1001.         followed by another instruction requiring a cycle on the Expanded
  1002.         Bus, then the original contents of the port 2 SFR latch will
  1003.         appear during the next machine cycle.  That is, when PSEN, RD and
  1004.         WR are all inactive, you can use port 2 for output (check the
  1005.         timing charts in the data book).  The chip will emit the contents
  1006.         of the P2 SFR at that time.  Do you REALLY want to bother with
  1007.         this though?
  1008.  
  1009.     A3: By including the external RAM "on-chip", the Dallas DS5000 makes
  1010.         these ports available for I/O.  The SLIC E2 from Xicor does the
  1011.         same thing for other 8051 parts.
  1012.  
  1013.     A4: If you really need the extra I/O ports, there are number of 8051
  1014.         variants that have additional ports.  Philips and Siemens are two
  1015.         such manufacturers that have these parts in their product lines.
  1016.  
  1017.  
  1018.     Q:  I'm outputting a 1 to a pin on port 0, but I'm not getting a 1
  1019.         out.  If I use a pin on port 1 instead, it works fine.  What am I
  1020.         doing wrong?
  1021.  
  1022.     A:  Port 0 has open drain outputs.  Ports 1, 2, and 3 have internal
  1023.         pullups.  What does this mean?  See the next question and answer.
  1024.  
  1025.  
  1026.     Q:  Port 0 has open drain outputs.  Ports 1, 2, and 3 have internal
  1027.         pullups. What does this mean, and why should I care?
  1028.  
  1029.     A:  When used as outputs, all port pins will drive the state to which
  1030.         the associated SFR latch bit has been set.  Except for port 0,
  1031.         which will only drive low (not high).  When a 0 is written to a
  1032.         bit in port 0, the pin is pulled low (0).  But, when a 1 is
  1033.         written to a bit in port 0, the pin goes into a high impedance
  1034.         state - or in other words, "disconnected", no value.  To be able
  1035.         to get a 1 as output, you need an external pullup resistor to
  1036.         pull up the port (to 1) when the port is in its high impedence
  1037.         state.  Typical values for pullups might be 470 ohm to drive a
  1038.         LED, and 4.7K or higher to drive logic circuits.
  1039.  
  1040.     C:  Any port pin may be used as a general purpose input simply by
  1041.         writing a 1 into the associated SFR latch bit.  Since ports 1, 2,
  1042.         and 3 have internal pull-up devices they will pull high and will
  1043.         source current when pulled low.  When a port 0 bit is programmed
  1044.         for input (set to 1) it will go to a high impedance state.
  1045.  
  1046.  
  1047.     Q:  Why is such an oddball crystal frequency of 11.0592 MHz used so
  1048.         often for 8051 designs.
  1049.  
  1050.     A1: 11.0592 MHz crystals are often used because it can be divided to
  1051.         give you exact clock rates for most of the common baud rates for
  1052.         the UART, especially for the higher speeds (9600, 19200).
  1053.         Despite the "oddball" value, these crystals are readily available
  1054.         and commonly used.
  1055.  
  1056.     A2: When Timer 1 is used as the baud rate generator, the baud rates
  1057.         in Modes 1 and 3 are determined by the Timer 1 overflow rate and
  1058.         the value of SMOD (PCON.7 - double speed baud rates) as follows:
  1059.  
  1060.                             smod
  1061.                            2
  1062.            Baud rate =   ------   x (Timer 1 overflow rate)
  1063.                            32
  1064.  
  1065.         Most typically, the timer is configured in the auto-reload mode
  1066.         (mode 2, high nibble of TMOD = 0100B).  In this case, the baud
  1067.         rate is given as:
  1068.  
  1069.                             smod
  1070.                            2        Oscillator frequency
  1071.            Baud rate =   -------  x --------------------
  1072.                            32         12 x (256 - TH1)
  1073.  
  1074.         Some typical baud rates for an 11.0592 crystal:
  1075.  
  1076.            Baud rate  SMOD   TH1
  1077.            ---------------------
  1078.              19200      1   0FDH
  1079.               9600      0   0FDH
  1080.               4800      0   0FAH
  1081.               2400      0   0F4H
  1082.               1200      0   0E8H
  1083.                300      0   0A0H
  1084.  
  1085.         Another way to look at it, would be to rework the formula to give
  1086.         us the crystal frequency that we need for the desired baud rate:
  1087.  
  1088.                                                         smod
  1089.         Minimum crystal frequency =  Baud rate x 384 / 2
  1090.  
  1091.         This gives us the minimum crystal frequency possible for the
  1092.         desired baud rate.  The frequency can be evenly multiplied to
  1093.         obtain higher clock speeds.
  1094.  
  1095.         As an example, the minimum crystal frequency for 19.2K baud is:
  1096.               3.6864 = 19200 x 384 / 2 (smod is 1 for 19.2K baud)
  1097.  
  1098.               11.0592 = 3.6864 x 3
  1099.  
  1100.  
  1101.         To determine the timer reload value needed, the formula can be
  1102.         changed to factor in the multiplier:
  1103.                                                              smod
  1104.         Crystal frequency = Baud rate x (256 - TH1) x 384 / 2
  1105.  
  1106.  
  1107.         From the example above, the multiplier (3) is used to determine
  1108.         TH1:
  1109.               TH1 = 256 - 3 = 253 = 0FDH
  1110.  
  1111.         The crystal frequency for 19.2K baud is:
  1112.               11.0592 = 19200 x (256 - 0FDH) x 384 / 2
  1113.                       (smod is 1 for 19.2K baud)
  1114.  
  1115.  
  1116.         Other values can also give good results, but 11.0592 is one of
  1117.         the higher speed crystals that allows high baud rates.
  1118.  
  1119.     A:  Well, you wanta talk about oddball values?  Another good crystal
  1120.         value is 7.3728 MHz and its multiples. Using counter1 this gives
  1121.         an even 38.4 kbps rate exactly, which is not possible with
  1122.         11.0952 MHz Xtal. <Thanks to Eero-Pekka Mand>
  1123.  
  1124.  
  1125.     Q:  How do I decrement the data pointer (DPTR)?  Where did the DEC
  1126.         DPTR instruction go?
  1127.  
  1128.     A1: You can't decrement DPTR.  Although there is an INC DPTR
  1129.         instruction, there is no DEC DPTR.  In fact, there is no other
  1130.         way to change the contents of DPTR except for MOV and INC.
  1131.  
  1132.     A2: You can use the accumulator as an offset if you need to perform
  1133.         "calculations" on the DPTR.  As an example:
  1134.               MOV   DPTR,#9000         ; load base address into DPTR
  1135.               MOV   A,#10              ; load desired offset
  1136.               MOVC  A,@A+DPTR          ; retrieve desired data
  1137.  
  1138.     A3: Another method would be to use indirect addressing.  Instructions
  1139.         such as MOVX A,@Ri can address a 256 byte "page" of external RAM.
  1140.         The value represented by @Ri (@R0 or @R1) is emitted to Port 0,
  1141.         which is the low byte of the external RAM address bus.  In
  1142.         addition, the contents of the P2 register is emitted to Port 2,
  1143.         which is the high byte of the external memory address bus.  The
  1144.         indirect addressing register together with the P2 register, which
  1145.         specifies the "current page number", gives us a 16 bit pointer
  1146.         into the external memory address space.
  1147.  
  1148.         This technique can make moving data in external memory much
  1149.         faster than reloading DPTR every time.  The indirect addressing
  1150.         register can be manipulated much easier than DPTR which can only
  1151.         be loaded and incremented.  Just remember to make sure that P2
  1152.         contains the proper value for the high byte of the address.
  1153.  
  1154.     A4: Inside the BASIC interpreter source code, and published in its
  1155.         manual, is a short and efficient subroutine to decrement data
  1156.         pointer, only 6 statements:
  1157.             XCH A,DPL ; JNZ $+4 ; DEC DPH ; DEC A ; XCH A,DPL ; RET
  1158.         Only DPTR is affected, not A or any flags!
  1159.         <Thanks to Eero-Pekka Mand>
  1160.  
  1161.  
  1162.     Q:  I'm trying to PUSH and POP the accumulator, but my assembler
  1163.         complains about the instruction  PUSH  A.  What's wrong with
  1164.         this?
  1165.  
  1166.     A:  In instructions that are accumulator specific, A is used to
  1167.         represent the accumulator.  However, PUSH and POP have no
  1168.         accumulator specific forms, only direct addressing forms.
  1169.         Therefore, you need to specify the correct accumulator "address"
  1170.         - ACC.  Use the instruction PUSH ACC.
  1171.  
  1172.  
  1173.     Q:  The 8052 AH-BASIC interpreter seems to work OK when I perform
  1174.         simple interpreted commands.  For example:
  1175.              READY
  1176.              > PRINT "HELLO"
  1177.              HELLO
  1178.         However, when I try to enter a [numbered] statement, I get an
  1179.         error:
  1180.              READY
  1181.              > 10 PRINT "HELLO"
  1182.              INVALID LINE NUMBER..!!
  1183.         I get the same error when I try LIST.  No matter what value I set
  1184.         a variable to, it returns a 0.  What's my problem?
  1185.  
  1186.     A1: Faulty memory decoding or addressing is the most common cause for
  1187.         this error message.  This happens when RD/WR is affecting two (or
  1188.         more) active memory chips. So, decode each CS very carefully!
  1189.  
  1190.     A2: Your address decoding might also indicate that there is more
  1191.         memory than really exists.  Go over your circuit design and
  1192.         inspect your wiring carefully.
  1193.  
  1194.  
  1195.     Q:  Can I use C for time critical code?
  1196.  
  1197.     A:  The code produced by many of the excellent compilers today, is
  1198.         remarkably efficient - for both speed and size.  Modern compilers
  1199.         are quite adept at keeping track of register and variable usage.
  1200.         Further optimization techiniques result in code that can be as
  1201.         good or better than hand written assembler.  Even for ISRs
  1202.         (interrupt service routines), C should be acceptable for all but
  1203.         the most time critical routines.
  1204.  
  1205.         Makes you think twice about breaking your head over assembly
  1206.         code.
  1207.  
  1208.  
  1209.     Q:  The Intel MCS-51 assembly language defines alternate symbols AR0
  1210.         ... AR7 for registers R0 ... R7.  What is this good for? (Thanks
  1211.         to Wolfgang Heinz who submitted this Q & A)
  1212.  
  1213.     A:  Some 8051 instructions do not support all possible addressing
  1214.         modes.  For example, the PUSH and POP instructions are only
  1215.         available with direct addressing. Since the registers R0 ... R7
  1216.         are mapped into the internal memory, they must also have a DATA
  1217.         (= direct) address.  The special assembler symbols AR0 ... AR7
  1218.         are simply the absolute DATA addresses of registers R0 ... R7.
  1219.         Although there is no instruction PUSH R5 with true register
  1220.         addressing, you can do it with PUSH AR5 (= direct addressing)!
  1221.  
  1222.     Q:  Usually the 8051 register banks are switched with the RS0 and RS1
  1223.         bits in the status register PSW at runtime.  But how is it
  1224.         possible to switch the banks at assembly time with the USING
  1225.         instruction, implemented in so many 8051 assemblers?
  1226.         (Thanks to Wolfgang Heinz who submitted this Q & A)
  1227.  
  1228.     A:  Not at all!  This must ALWAYS be done with bits RS0 and RS1 at
  1229.         runtime.  The USING instruction switches only the absolute DATA
  1230.         addresses of the special assembler symbols AR0 ... AR7 according
  1231.         to the selected bank number.  With most assemblers that implement
  1232.         relocatable segments and object modules, the linker is forced to
  1233.         reserve space for the corresponding register bank in the internal
  1234.         memory.
  1235.  
  1236.  
  1237.     Q:  The Intel 8x151/8x251 won't "drop-in" for an 8051. What gives?
  1238.         (Thanks to Dave Baldwin of The Computer Journal for this one)
  1239.  
  1240.     A:  You need to use a programmer to set a couple bits to the correct
  1241.         state.  This info is hidden away in an app note available from
  1242.         their fax-back service.
  1243.  
  1244.  
  1245.  
  1246.  
  1247. 3)  SOURCES OF INFORMATION ON THE 8051
  1248.  
  1249.  
  1250. 3.1)  FTP sites
  1251.  
  1252.     The following is a list of the various anonymous ftp sites that have
  1253.     8051 source code and programming languages.  There are many others
  1254.     that  are not listed here that contains bits and pieces.  Usually you
  1255.     can find them using Archie and searching for "8051", "AS31", "ASM51",
  1256.     "MCS-51", "MCS51", and stuff like that.
  1257.  
  1258.     ftp.pppl.gov (formerly lyman.pppl.gov)
  1259.         - this is a great source of 8051 stuff
  1260.         /pub/8051
  1261.         /pub/incoming - check this out for new untested/unsorted items
  1262.  
  1263.     ftp.funet.fi (nic.funet.fi)
  1264.         - this is a great one, too
  1265.         /pub/compilers/8051
  1266.         /pub/microprocs/MCS-51   <mirror of ftp.pppl.gov>
  1267.         other subdirectories in /pub/microprocs include:
  1268.           1802, 6805, 6811, 8048, 8096 and many other microprocessors
  1269.  
  1270.     ftp.intel.com
  1271.         - this ftp site is pretty good now, and getting better all the
  1272.           time!
  1273.         - send comments to:  ftp-admin@intel.com
  1274.         /pub/mcs51
  1275.         /pub/mcs51/tools - contains various development tools
  1276.  
  1277.     ftp.InetBSystems.us.com
  1278.         - lots of good stuff here!
  1279.         /pub/Philips-MCU/bbs
  1280.         - contains the following directories:
  1281.             .../assemblers - assemblers, disassemblers, and simulators
  1282.             .../basic - Basic utilities and interpreters
  1283.             .../forth - Forth programming tools
  1284.             .../debuggers - monitors and debuggers
  1285.             .../utilities - miscellaneous information and utilities
  1286.             .../examples - code examples
  1287.             .../unsorted - new [unsorted] files
  1288.             .../xa - files on the new XA "16 bit 8051"
  1289.         /pub/Philips-MCU/archive - email archive
  1290.  
  1291.     nctuccca.edu.tw
  1292.         - mirror of ftp.intel.com
  1293.         - /vendors/Intel
  1294.  
  1295.     ftp.zilker.net
  1296.         - /pub/philips
  1297.         - Philips "mini ftp site" set up by Phil Wood of Philips
  1298.         - lots of 8051 code and programming tools from their BBS
  1299.  
  1300.     ftp.mcc.ac.uk
  1301.         - this is a new 8051 ftp site
  1302.         - soon to be improved
  1303.  
  1304.     ftp.bsl.unsw.edu.au
  1305.         - new 8051 ftp site
  1306.         - accepting uploads
  1307.  
  1308.     info@circellar.com - Email (not ftp)
  1309.         - send Email to get information file on services available
  1310.         - all Circuit Cellar INK and BYTE related files available
  1311.  
  1312.     ftp.ee.ualberta.ca
  1313.         /pub/cookbook/digital
  1314.         - circuits of all types
  1315.         - prog51.zip is a programmer for the ATMEL 89C51 flash part
  1316.           by Werner Terreblanche
  1317.  
  1318.     ftp.luth.se
  1319.         /pub/languages/assembler
  1320.  
  1321.     asterix.inescn.pt - FORTH archive
  1322.         /pub/forth/8051
  1323.  
  1324.     hpcsos.col.hp.com
  1325.         /mirrors/.hpib0/forth/8051 (mirror of asterix Forth archive)
  1326.         /misc/ns32k/beowulf/a-8051
  1327.         /mirrors/.hpib0/forth/eForth
  1328.  
  1329.     ftp.armory.com (Steve Walz)
  1330.         /pub/user/rstevew/8051
  1331.         /pub/user/rstevew/TB8051
  1332.         /pub/user/rstevew/incoming
  1333.  
  1334.     ftp.oak.oakland.edu
  1335.         - has information and software for a wide range of
  1336.           microprocessors and microcontrollers, you may have to look
  1337.           around a bit
  1338.  
  1339.     130.123.96.9
  1340.         giovanni/51forth.zip
  1341.  
  1342.     ai.uga.edu
  1343.         /pub/hardware
  1344.         - stuff on the Philips 87C750/1/2 microcontrollers
  1345.         - assembler, an update for the software in the DS-750 kit,
  1346.           notebook of some early experiences and code
  1347.         - responses welcome, Michael A. Covington (mcovingt@ai.uga.edu)
  1348.  
  1349.     ftp.hte.com
  1350.         - HiTech Equipment Corporation's ftp site
  1351.         - information about their products including some sample code,
  1352.           a free 8051 simulator, and various things from around the net
  1353.           that relate to the 8051 family
  1354.  
  1355.     csd4.csd.uwm.edu - no longer supports 8051, don't even try
  1356.  
  1357.  
  1358. 3.2)  Web pages
  1359.  
  1360.     8051 board level products
  1361.         - http://bailey2.unibase.com/local/beck04.html
  1362.  
  1363.     8051 Microcontrollers
  1364.         - http://www.cit.ac.nz/smac/cbt/hwsys/i8051/default.htm
  1365.  
  1366.     AM Research Web Site
  1367.         - http://www.amresearch.com/
  1368.         - Forth development systems and boards.
  1369.  
  1370.     Automation and Process Control (Olaf Pfeiffer)
  1371.         - http://www.ba-karlsruhe.de/automation/home.html
  1372.         - http://www.ba-karlsruhe.de/automation/FAQ
  1373.  
  1374.     Archimedes Software
  1375.         - http://www.archimedes.com/devtools
  1376.  
  1377.     Brian Brown's 8051 web page
  1378.         - http://www.cit.ac.nz/smac/cbt/hwsys/i8051/default.htm
  1379.         - contains Brian Brown's 8051 course
  1380.         - lots of other good stuff
  1381.  
  1382.     Cera/EG3 Electronic Engineers' Toolbox (home page)
  1383.         - http://www.eg3.com/ebox.htm
  1384.         - http://www.cera2.com/ebox.htm
  1385.     Cera/EG3 MCU/MPU resources
  1386.         - http://www.cera2.com/micro.htm
  1387.     Cera/EG3 Navi-GATOR (embedded development tools and chip-specific)
  1388.         - http://www.cera2.com/gator.htm
  1389.  
  1390.     Chip Directory and Chip Manufacturers (Jaap van Ganswijk)
  1391.         - http://www.hitex.com/chipdir           (USA, California)
  1392.         - http://www.civil.mtu.edu/chipdir       (USA, Michigan)
  1393.         - http://www.leg.ufrj.br/chipdir         (Brasil)
  1394.         - http://www.xs4all.nl/~ganswijk/chipdir (The Netherlands)
  1395.         - http://bbs.cc.uniud.it/chipdir         (Italy)
  1396.  
  1397.     Chipmaker web page
  1398.         - http://www.scruznet.com/~gcreager/hello5.htm
  1399.         - contains over 200 URLs of chipmakers
  1400.  
  1401.     Chris Burkey's (KB8ZLI) web page
  1402.         - plans for a cheap (about $10) and simple (4 chips) ROM emulator
  1403.         - ftp://ieee.cas.uc.edu/pub/electronics/software/burkey/
  1404.  
  1405.     Circuit Cellar Ink
  1406.         - http://www.circellar.com
  1407.  
  1408.     Dallas Semiconductor
  1409.         - http://www.dalsemi.com
  1410.  
  1411.     Gernsback Web page (Electronics Now, Popular Electronics)
  1412.         - http://www.gernsback.com
  1413.         - current issue information, recent article related files, FTP
  1414.           site, subscription information
  1415.  
  1416.     Emulation Technology
  1417.         - http://www.emulation.com
  1418.  
  1419.     FIG (Forth Interest Group) web site
  1420.         - http://www.forth.org/fig.html
  1421.         - http://www.forth.org/Forth/FAQ
  1422.  
  1423.     Forth, Inc.
  1424.         - http://www.earthlink.net/~forth
  1425.         - follow the links to chipFORTH, then to 8051
  1426.  
  1427.     French Forth web site
  1428.         - http://ourworld.compuserve.com/homepages/mp7
  1429.           maintained by Marc Petremann:
  1430.              17, allee de la Noiseraie
  1431.              F - 93160 NOISY LE GRAND
  1432.              Email: 100647.3306@compuserve.com
  1433.         - http://ourworld.compuserve.com/homepages/bioforth
  1434.           maintained by Gerard SOULA
  1435.  
  1436.     Gregory Pugh's homepage
  1437.         - http://sleepy.anest.ufl.edu/~glp/8051.html
  1438.  
  1439.     Hi-Tech Software
  1440.         - http://www.hitech.com.au
  1441.         - demo C compiler available (limits - 1K size, no library source)
  1442.  
  1443.     Intel MCS(R) 51 Microcontroller Family
  1444.         - http://www.intel.com/embedded/051/index.html
  1445.         - http://www.intel.com/design/usb/ (information on USB)
  1446.  
  1447.     S. Joel Katz's web page
  1448.         - http://www.panix.com/stimpson/micro.html
  1449.         - information about 8051 and related microcontrollers
  1450.         - not much information yet, but it is increasing rapidly
  1451.  
  1452.     Ken Tindell's CAN web pag
  1453.         - http://www.nrtt.demon.co.uk/can.html
  1454.         - Source code to drive the Intel 82527 CAN controller is
  1455.           available: just send e-mail to info@nrtt.demon.co.uk, with
  1456.           "Request Intel 82527 drivers" (without the quotes) in the
  1457.           subject line.
  1458.  
  1459.     Lakeview Research (Jan Axelson)
  1460.         - http://www.lvr.com/
  1461.         - microcontroller page (resources for 8052-Basic projects):
  1462.           http://www.lvr.com/microc.htm
  1463.  
  1464.     Mike Miller's 8051 Home Page
  1465.         - http://www.ece.orst.edu/serv/8051/
  1466.         - pointers to other 8051 pages
  1467.         - contains html copy of this FAQ
  1468.  
  1469.     Nohau Elektronik AB
  1470.         - http://www.nohau.com/nohau
  1471.  
  1472.     Packet Radio web page
  1473.         - http://www.tu-bs.de/studenten/akafunk/pr8051
  1474.         - Contains some schematics and code to do packet radio (AX.25)
  1475.           experiments with different types of MCS51 controllers. Packet
  1476.           radio is used by ham radio amateurs to exchange data. There is
  1477.           an almost worldwide net of PR stations.
  1478.         - The programs were written by August Gihr and they are only
  1479.           available on the packet radio net or this web page.
  1480.  
  1481.     Paul's 8051 Tools, Projects and Free Code
  1482.         - http://www.ece.orst.edu/~paul/8051-goodies/goodies-index.html
  1483.         - page contents: AS31 Assembler
  1484.                          PAULMON 8051 Family Monitor/Debugger
  1485.                          Low-Cost 8051 Development Board Designs
  1486.                          8051 Code Library
  1487.                          Atmel 89C2051 in-circuit programmer
  1488.  
  1489.     Philips
  1490.         - http://www.semiconductors.philips.com/ps/philips17.html
  1491.  
  1492.     The Polis research project web page
  1493.     - http://www-cad.eecs.berkeley.edu/Respep/Research/hsc/abstract.html
  1494.  
  1495.     Pseudocorp
  1496.         - http://www.teleport.com/~rhowden
  1497.         - New Site - products and pricing
  1498.  
  1499.     Richard Grant's 8051 Based Vario
  1500.         - http://cougar.stanford.edu:7878/RGvario/vario.html
  1501.         - Hang-Gliding/Paragliding WWW server. The application is an
  1502.           8751 based variometer (used by pilots to indicate the rate of
  1503.           ascent or descent). It includes schematics and assembly
  1504.           language source.
  1505.  
  1506.     Silicon Studio's web site
  1507.         - http://sistudio.com
  1508.         - plans for a simple, REALLY simple (2 transistors and 5
  1509.           resistors), 2051 programmer, called the BlowIT 2051
  1510.  
  1511.     Standard Microsystems Corporation
  1512.         - http://www.smc.com
  1513.  
  1514.     Steve Merrifield's 8051 home page
  1515.         - http://www.ee.latrobe.edu.au/postgrad/steve/8051.html
  1516.  
  1517.     Systronix web site
  1518.         - http://www.systronix.com
  1519.  
  1520.     Thomas Wedemeyer's SAB80C535 web page
  1521.         - http://www.zfn.uni-bremen.de/~g16i/
  1522.         - SAB80C535 based board design
  1523.         - English and German
  1524.  
  1525.     USB web page
  1526.         - http://www.usb.org/
  1527.  
  1528.     Xicor's web page
  1529.         - http://www.xicor.com/
  1530.         - 8051 code - http://www.xicor.com/xicor/menulink/link42.htm
  1531.         - 8051 microperipherals -
  1532.           http://www.xicor.com/xicor/menulink/link6.htm
  1533.  
  1534.  
  1535. 3.3)  Mailing lists
  1536.  
  1537.     Philips-News@InetBSystems.us.com - Email (not ftp)
  1538.         - send Email with "subscribe" in the subject field to be put
  1539.           on list for newsletter
  1540.     Philips-archive@InetBSystems.us.com - Email (not ftp)
  1541.         - send Email message with the word "help" in the subject line to
  1542.           learn how to access the archive
  1543.     Philips-forum-request@InetBSystems.us.com  - Email (not ftp)
  1544.         - send an Email message with the word "subscribe" in the subject
  1545.           line to participate in the forum, and receive usage
  1546.           instructions and guidelines
  1547.     Philips-Info@InetBSystems.us.com - Email (not ftp)
  1548.         - send Email message to get information on all of Philips Email
  1549.           services
  1550.  
  1551.  
  1552. 3.4)  BBSs
  1553.  
  1554.     The following BBSs have 8051 information:
  1555.  
  1556.     Blue Earth Research
  1557.         - support for their line of microcontroller boards
  1558.         - (507)387-4007
  1559.  
  1560.     Circuit Cellar, Inc.
  1561.         - contains code from their magazine articles and from the
  1562.           original Circuit Cellar articles in Byte magazine, also
  1563.           contains many other interesting items
  1564.         - GOOD STUFF HERE!
  1565.         - The BBS is mentioned in the masthead of each issue (on the
  1566.           table of contents page).  Excerpts from the BBS appear in Ken
  1567.           Davidson's ConnecTime column in every issue with a description
  1568.           of how to access the system at the end of every column.
  1569.         - (203)871-1988
  1570.         - Voice: (203)875-2751
  1571.         - Fax: (203)872-2204
  1572.  
  1573.     The Computer Journal - TCJ/DIBs BBS
  1574.         - 8051 code and assembler(s), lots of sample code
  1575.         - Forth section also with Camel51
  1576.         - 916-722-5799
  1577.  
  1578.     Dallas Semiconductor
  1579.         - Support for their line of innovative products
  1580.  
  1581.     Dunfield Development Systems
  1582.         - support for their Micro-C compiler and development tools
  1583.         - includes a lot of nice goodies - CHECK THIS OUT!
  1584.         - (613) 256-6289
  1585.  
  1586.     Electronics Now
  1587.         - contains code from their magazine articles
  1588.         - (516)293-2283
  1589.         - 1200/2400, 8N1
  1590.  
  1591.     Intel American Marketing Applications Support Bulletin Board System
  1592.         - 16 lines, hi-speed modems (14.4K)
  1593.         - Lots of useful info and files (including design examples)!
  1594.         - Full ANSI-BBS with color is recommended, but support for just
  1595.           about all terminal types is provided
  1596.         - (916)356-3600 (24 hours)
  1597.           Auto config: 1200 thru 14.4K Baud
  1598.           8 data bits, no parity, 1 stop
  1599.  
  1600.     Hi-Tech Software
  1601.         - +61 7 3300 5235 (Australia)
  1602.  
  1603.     Iota Systems, Inc.
  1604.         - Support for their line of hardware and software products
  1605.         - 15 application notes which show how to hook up such things as
  1606.           clocks, A/D, D/A, and special chips to the 8051
  1607.         - (702)831-4732
  1608.  
  1609.     Jens Holm's electronics BBS:
  1610.         - one of a number of BBSs that are networked over most of the
  1611.           industrial part of Europe
  1612.         - +45-86-510356 (Denmark)
  1613.         - distributes all shareware and freeware software which
  1614.           relates to electronics
  1615.         - system administrator - Jens Holm
  1616.           jholm@bjarke.nrg.dtu.dk or Jens.holm@asgaard.dk
  1617.  
  1618.     Massilia Underground BBS (Marseille, France)
  1619.         - +33-91794120
  1620.         - fidonet 2:323/25
  1621.         - not a commercial BBS
  1622.         - microcontroller related stuff (assemblers, debuggers,
  1623.           boards, etc), some 8051 stuff
  1624.         - everything coming in is tested
  1625.  
  1626.     Micro Computer Control Corporation
  1627.         - (609)466-4117
  1628.  
  1629.     Philips Semiconductor - Europe
  1630.         - support for: standard logic, programmable logic,
  1631.           in-car electronics (now open), 8 and 16 bit microcontrollers,
  1632.           I2C software, third party software, discrete semiconductors,
  1633.           cross assemblers (general), RF (planned)
  1634.         - PHIBBS is located in the Netherlands: +31-40-721102
  1635.         - maximum 21600 baud / V42bis / HST/Vterbo
  1636.         - 24 hours a day available
  1637.         - Help desk: +31-40-722749  (9.00 AM - 16.00 PM CET)
  1638.  
  1639.     Philips Semiconductor - North America
  1640.         - support for their 8051 variants
  1641.         - contains many good source code items
  1642.         - partially mirrored on ftp.pppl.gov and nic.funet.fi
  1643.         - (800)451-6644 or (408)991-2406
  1644.  
  1645.     PseudoCorp
  1646.         - support for their line of simulators and assemblers
  1647.         - (804)873-4838
  1648.  
  1649.     Realtime Control & Forth Board (RCFB)
  1650.         - Forth and assembly for the 8051
  1651.         - 300 through 14.4 baud
  1652.         - (303)278-0364 (24 hours)
  1653.  
  1654.     Systronix Inc.
  1655.         - support for their line of development tools
  1656.         - (801)487-2778
  1657.  
  1658.  
  1659. 3.5)  Help available!
  1660.  
  1661.     Listed here are individuals who have expressed interest in helping
  1662.     others with hardware and software problems for 8051 systems.
  1663.  
  1664.     Does any one else out there think that they can help?  Just let me
  1665.     know what your areas of specialization are and I'll add your name to
  1666.     the list.  Thanks!
  1667.  
  1668.     Dick Barnett <rbarnett@purdue.edu>
  1669.            voice: 765-494-7497
  1670.            snail: Richard H. Barnett, PE, Ph.D.
  1671.                   Professor of Electrical Engineering Technology
  1672.                   Purdue University
  1673.                   1415 Knoy Hall of Technology
  1674.                   West Lafayette, IN 47907-1415
  1675.        Specializes in 8051 (core processors), 80C552, and 87C751
  1676.        applications.
  1677.  
  1678.     Mark Hopkins <mark@omnifest.uwm.edu>
  1679.        Mark is the author of the CAS assembler and of the 8051.ZIP
  1680.        programs.  He's now working on JOLT, a code generator with a
  1681.        C-like syntax.  His areas of specialization include:
  1682.        multitasking, interrupts, basic stuff (like addressing, memory
  1683.        spaces), the 8052 BASIC chip, interfacing the chip with external
  1684.        inputs and outputs
  1685.  
  1686.     Hans Schou <chlor@schou.dk>
  1687.        Hans is offering his assistance to users of the Standard
  1688.        Microsystems Corp. COM20051.  He's not an expert, but he has some
  1689.        experience with it.
  1690.  
  1691.     Neville Miles <nevm@scitec.com.au or nmes@ozemail.com.au>
  1692.        Applications and programming the Intel 8051.  He's also using
  1693.        Atmel parts if you need help with these.
  1694.  
  1695.     Steve <paxit@inetnebr.com>
  1696.        Steve has designed hardware and written software for the Atmel
  1697.        AT89C1051, Intel 87C52, and Philips 87C751, and has also built a
  1698.        programmer for the Atmel AT89C1051. He knows both hardware and
  1699.        software.
  1700.  
  1701.  
  1702. 4)  8051 PRODUCTS
  1703.  
  1704.     This section includes descriptions and references to free and
  1705.     commercial software for the 8051.  FTP sites and BBSs contain many
  1706.     quality packages and code samples for free.  For heavy duty use, you
  1707.     might prefer the many commercial packages that are available.  With
  1708.     the public domain (or free) stuff, you're usually on your own.  The
  1709.     commercial packages usually provide extensive documentation and
  1710.     support.
  1711.  
  1712.  
  1713. 4.1)  Free languages and development tools
  1714.  
  1715.     The following is a list of the languages and development tools that I
  1716.     could find on the net.  Nearly all of them include source code,
  1717.     however not all are public domain.
  1718.  
  1719.     Assembler
  1720.  
  1721.       Program: asem5112.zip
  1722.       Description: 8051 cross assembler for MS-DOS, freeware
  1723.       Author: W.W. Heinz
  1724.       Location: ftp.ix.de : /pub/elrad/023
  1725.                 oak.oakland.edu : /SimTel/msdos/crossasm
  1726.                 garbo.uwasa.fi : /pc/assembler
  1727.  
  1728.       Program: ML-ASM51.ZIP
  1729.       Description: MetaLink's 8051 family macro assembler
  1730.       Location:  ftp.pppl.gov : /pub/8051/signetics-bbs
  1731.                  ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs
  1732.                  http://www.psyber.com/~tcj/tcjtools/ml-asm51.zip
  1733.  
  1734.       Program: A51.ZIP
  1735.       Description: PseudoSam 8051 Cross Assembler
  1736.       Location:  ftp.pppl.gov : /pub/8051/signetics-bbs
  1737.                  ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs
  1738.  
  1739.       Program: AS31.ZIP
  1740.       Description:  C source for an 8051 assembler, and a simple monitor
  1741.       Author:  Ken Stauffer
  1742.       Location:  ftp.pppl.gov : /pub/8051/signetics-bbs
  1743.                  ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs
  1744.                  ftp.uu.net
  1745.                  oak.oakland.edu : /pub/msdos/crossasm/as31.zip
  1746.                  many other locations (use Archie to find)
  1747.  
  1748.       Program: CUG292WK.ZIP
  1749.       Description:  C source for a cross assembler, includes 8051
  1750.       Author:  Alan R. Baldwin
  1751.       Location:  oak.oakland.edu : /pub/msdos/crossasm
  1752.                  pc.usl.edu : /pub/msdos/systools
  1753.                  many other locations (use Archie to find)
  1754.  
  1755.       Program: Frankenstein
  1756.       Description:  C source for a cross assembler, includes 8051
  1757.       Author:  Mark Zenier
  1758.       Location:  ftp.njit.edu : /pub/msdos/frankasm/FRANKASM.ZOO
  1759.                  lth.se : /pub/netnews/alt.sources/volume90/dec
  1760.                  ftp.uni-kl.de : /pub1/unix/languages/frankenstein.tar.Z
  1761.                  many other locations (use Archie to find)
  1762.  
  1763.       Program:  CAS 8051 assembler
  1764.       Description:  Experimental one-pass assembler for the 8051
  1765.                     with C-like syntax.  Includes assembler, linker
  1766.                     and disassembler.
  1767.       Author:  Mark Hopkins
  1768.       Location:  ftp.pppl.gov : /pub/8051/assem
  1769.                  ftp.funet.fi : /pub/microprocs/MCS-51/csd4-archive/assem
  1770.  
  1771.       Program:  a51
  1772.       Description:  Portable cross assembler (source in C), other
  1773.                     processors available
  1774.       Author:  William C. Colley, III
  1775.       Location:  hpcsos.col.hp.com : /misc/ns32k/beowulf/a-8051
  1776.  
  1777.       Program:  TASM
  1778.       Description:  Table driven cross-assembler for DOS, supports
  1779.                     many different microcontrollers and microprocessors
  1780.       Author:  Speech Technology Inc.
  1781.       Location:  various different places
  1782.  
  1783.       Program: HASM, HSIM
  1784.       Description: A configurable Makroassembler/Simulator
  1785.       Comment:  Only for private, educational, and evaluation use
  1786.                 Only available in German
  1787.       Author: Dipl.- Ing. H.P. Hohe
  1788.       Location: ftp.ix.de:pub/elrad/022/hasm18.zip
  1789.                 ftp.ix.de:pub/elrad/022/hasm18.txt
  1790.                   and mirrors of ftp.ix.de
  1791.  
  1792.       Program:  as
  1793.       Description:  Portable cross assembler for (8051, TMS, PIC,
  1794.                     DSP5600, 68hc11).
  1795.       Comments:     Original version in German only. Turbo Pascal source
  1796.                     available for free. Unix version comes in source
  1797.                     form and is compilable in German or English.
  1798.       Author:  Alfred Arnold
  1799.       Location: ftp.uni-stuttgart.de : /pub/systems/msdos/programming/as
  1800.                   (original version in Turbo Pascal)
  1801.                 sunsite.unc.edu:
  1802.                      /pub/Linux/devel/lang/assemblers/asl-1.41r5.tar.gz
  1803.                   (new C version for Unix systems)
  1804.  
  1805.  
  1806.     Basic
  1807.  
  1808.       Program:  BASIC52.ZIP (BASIC-52.ZIP)
  1809.       Description:  Source files for original BASIC 52 interpreter
  1810.       Author:  Intel Corporation, Embedded Controller Operations
  1811.       Location:  ftp.intel.com : /pub/mcs51
  1812.                  ftp.pppl.gov : /pub/8051/signetics-bbs
  1813.                  ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs
  1814.  
  1815.       Program:  BAS051.ZIP
  1816.       Description:  Converts IBM BASIC to 8051 assembly (compiler)
  1817.       Author:  Winefred Washington
  1818.       Location:  ftp.pppl.gov : /pub/8051/signetics-bbs
  1819.                  ftp.funet.fi : /pub/8051/signetics-bbs
  1820.  
  1821.       Program:  BASIC31.ZIP
  1822.       Description:  BASIC-52 interpreter for 8031/8051 in external EPROM
  1823.       Author:  Intel w/ changes by Dan Karmann
  1824.       Location:  ftp.pppl.gov : /pub/8051/signetics-bbs
  1825.                  ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs
  1826.  
  1827.       Program:  TB-51.ZIP
  1828.       Description:  TinyBASIC for 8031
  1829.       Author:  JHW (from Intel InSite library) w/ fixes by Tom Schotland
  1830.       Location:  ftp.pppl.gov : /pub/8051/signetics-bbs
  1831.                  ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs
  1832.  
  1833.       Program:  TB51ML23.ZIP
  1834.       Description:  MetaLink ASM compatible tiny BASIC
  1835.       Author:  adapted for MetaLink assembler by Jim Lum
  1836.       Location:  ftp.pppl.gov : /pub/8051/signetics-bbs
  1837.                  ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs
  1838.  
  1839.  
  1840.     Forth
  1841.  
  1842.       Program:  EFORTH51.ZIP
  1843.       Description:  eFORTH environment for the 8051
  1844.       Author:  C. H. Ting
  1845.       Location:  ftp.pppl.gov : /pub/8051/signetics-bbs
  1846.                  ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs
  1847.                  asterix.inescn.pt : /pub/forth/8051
  1848.                  hpcsos.col.hp.com : /mirrors/.hpib0/forth/eForth
  1849.  
  1850.       Program:  FORTH51.ZIP (FORTH86.ZIP used as host)
  1851.       Description:  FORTH development system for 8051 with PC host
  1852.       Author:  William H. Payne, the author of "Embedded Controller
  1853.                Forth for the 8051 Family"
  1854.       Location:  ftp.pppl.gov : /pub/8051/signetics-bbs
  1855.                  ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs
  1856.                  asterix.inescn.pt : /pub/forth/8051
  1857.                  hpcsos.col.hp.com : /mirrors/.hpib0/forth/8051
  1858.  
  1859.       Program:  XD8051.ZIP
  1860.       Description:  Development environment for use with F-PC Forth
  1861.       Author:  Paulo A.D. Ferreira
  1862.       Location:  ftp.pppl.gov : /pub/8051/signetics-bbs
  1863.                  ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs
  1864.  
  1865.       Program:  51FORTH.ZIP
  1866.       Description:  Subroutine threaded Forth
  1867.       Author:  Scott Gehmlich
  1868.       Location:  hpcsos.col.hp.com : /mirrors/.hpib0/forth/8051
  1869.                  130.123.96.9 : /giovanni/51forth.zip
  1870.  
  1871.       Program:  FORTH552.ZIP
  1872.       Description:  A Non-Standard Forth System for the Signetics 80C552
  1873.       Author:  Alberto Pasquale
  1874.       Location:  asterix.inescn.pt : /pub/forth/8051
  1875.                  hpcsos.col.hp.com : /mirrors/.hpib0/forth/8051
  1876.  
  1877.       Program:  CamelForth/51
  1878.       Description:  ANSI Standard Forth for the 8051 family
  1879.       Author:  Brad Rodriquez
  1880.                   email: bj@headwaters.com
  1881.                   amateur packet radio: VE3RHJ@VE3IJD.#CON.ON.CAN.NA
  1882.       Location: ftp://ftp.taygeta.com/pub/Forth/Camel/cam51-13.zip
  1883.  
  1884.       Program:  8051 eForth
  1885.       Description:  Public Domain optimized eForth for 8051 and 68HC11,
  1886.                     written in native UCASM assemblers.
  1887.       Comments:  Most of the documentation is in German.  Supplied with
  1888.                  EFTERM terminal emulator.
  1889.       Author:  W. Schemmer
  1890.       Location:  Available for $25 from:
  1891.                  Offete Enterprises, 1306 South B Street
  1892.                  San Mateo CA 94402
  1893.                  (415)574-8250
  1894.  
  1895.  
  1896.     Development systems
  1897.  
  1898.       Program:  8051.zip
  1899.       Description:  Many development tools including: debugger, monitor,
  1900.                     LCD and stepper moter driver, communications, host
  1901.                     client, and much more.  This is a great collection of
  1902.                     tools.
  1903.       Author:  Mark Hopkins
  1904.       Location:  ftp.pppl.gov : /pub/8051/signetics-bbs
  1905.                  ftp.funet.fi : /pub/microprocs/MCS-51/csd4-archive
  1906.  
  1907.       Program:  RISM and IECM51.EXE compatible host system
  1908.       Description:  RISM is a reduced instruction set monitor and
  1909.                     IECM51.EXE is its compatible host system for a PC
  1910.       Comments:  These two programs together constitute a bare-bones
  1911.                  method of developing 80C51 system code without an
  1912.                  emulator.  RISM51X is installed in the target system
  1913.                  and connected to a host PC system through a serial port.
  1914.                  The host PC runs the debugger IECM51.EXE.  Once the
  1915.                  system has been debugged, RISM can be removed and the
  1916.                  target can be run in stand-alone mode.
  1917.       Author:  Intel
  1918.       Location:  ftp.intel.com : /pub/mcs51/tools
  1919.  
  1920.       Program:  ApBUILDER 2.0
  1921.       Description:  Development system for the Intel MCS-51(R) family
  1922.                     (also for the MCS-96(R) family, 80x186, and 80x386
  1923.                     embedded microcontrollers).
  1924.       Comments:  Requires Windows 3.1
  1925.                  APBUILDR.TXT - description in ASCII
  1926.                  APBDISK1.EXE - binary self-extracting file for disk 1
  1927.                  APBDISK2.EXE - binary self-extracting file for disk 2
  1928.       Author:  Intel
  1929.       Location:  ftp.intel.com : /pub/mcs51 and /pub/mcs96
  1930.  
  1931.       Program:  FXDSMAN.EXE
  1932.       Description:  8xC51Fx data sheets and manual in Windows 3.1
  1933.                     hypertext style
  1934.       Comments:  binary self-extracting file for one diskette
  1935.       Author:  Intel
  1936.       Location:  ftp.intel.com : /pub/mcs51/80c51
  1937.  
  1938.       Program: sim51d
  1939.       Description:  Shareware Simulator in German
  1940.                     DM 50 to register for full version
  1941.       Author:  Werner Hennig-Roleff
  1942.       Location:  ftp.pppl.gov : /pub/8051/hannover
  1943.  
  1944.       Program: PDS51.ZIP or EXE or
  1945.                PDSxxx.ZIP where xxx represents the version number
  1946.       Description: This is the IDE for the Philips PDS51 system. It
  1947.                    contains a simulation engine and can therefore be run
  1948.                    in a standalone mode. Great for evaluating the PDS51
  1949.                    product or just as a full environment simulator.
  1950.       Location: Philips North America BBS (800)451-6644, (408)991-2406
  1951.                 http://www.he.net/~adr
  1952.                 CompuServe:
  1953.                    Software Development Forum, Embedded Systems Section
  1954.                      (GO CLMFOR)
  1955.                    PC Programming Forum, Tools/Debuggers forum
  1956.                      (GO PCPROG)
  1957.  
  1958.       Program: NoICE
  1959.       Description:  PC-hosted debugger (NOT a simulator) for use with a
  1960.                     variety of microprocessor targets (Z80/Z180, Z8,
  1961.                     8051, 80(1)96, 6809, 68HC11, 65(C)02, M50740/M38000,
  1962.                     TMS370, and H8/300). The debugger consists of a
  1963.                     target-specific DOS program, NOICExxx.EXE, and a
  1964.                     target-resident monitor program (about 1K code).
  1965.       Comments:  Shareware.  The distributed version is fully functional.
  1966.                  Registration is $25 in the US, $30 elsewhere.
  1967.       Author:  John Hartman <102203.1513@compuserve.com>
  1968.       Location: any Simtel archive/mirror
  1969.                     or
  1970.                 CompuServe:
  1971.                    GO SDFORUM, library section 12, embedded systems
  1972.                    GO IBMFF, do keyword search for "NoICE"
  1973.                     or
  1974.                 The Circuit Cellar BBS at 860-871-1988
  1975.  
  1976.       Program: sim552vq.zip
  1977.       Description:  8051/80C552 simulator (Freeware)
  1978.       Comments:  Program is capable of reading .HEX and .S19 records, or
  1979.                  saving memory to a file.  It supports both code and
  1980.                  data.  Written in Turbo Pascal for XT and upwards.
  1981.       Author:  Brian Brown
  1982.       Location:  cscnt.cit.ac.nz : /pub/intel/sim552v1.zip
  1983.  
  1984.       Program: HASM, HSIM
  1985.       Description: A configurable Makroassembler/Simulator
  1986.       Comments: Only available in German
  1987.       Author: Dipl.- Ing. H.P. Hohe
  1988.       Copyright: Only private , Education and evalutation use
  1989.       Location: ftp.ix.de:pub/elrad/022/hasm18.zip
  1990.                 ftp.ix.de:pub/elrad/022/hasm18.txt
  1991.                   and mirrors of ftp.ix.de
  1992.  
  1993.       Program: Emily52
  1994.       Description:  simulator
  1995.       Comments:  Shareware.
  1996.       Author:  Dunfield Development Systems
  1997.       Location: any Simtel archive/mirror
  1998.  
  1999.       Program: BlowIT
  2000.       Description:  Atmel 2051 programer
  2001.       Comments:  Freeware
  2002.       Author:  Silicon Studio
  2003.       Location: http://sistudio.com/
  2004.  
  2005.  
  2006.     Real-Time Operating Systems (RTOS)
  2007.  
  2008.       Program:  TERSE
  2009.       Description:  - Signature-Scheduled dataflow operating system
  2010.                     (RTOS) developed for embedded single-processor and
  2011.                     distributed microcontroller systems.  Easy to use,
  2012.                     very compact, and encourages totally deterministic
  2013.                     and safe performance.
  2014.                     - The first implementation is for the 8051 family,
  2015.                     and occupies from 260 to 450 bytes, the latter
  2016.                     offering network support.
  2017.                     - public domain
  2018.       Comments:  Also available is a new type of "terse-Case" development
  2019.                  methodology, particularly suited to embedded distributed
  2020.                  systems.
  2021.       Author: Barry Kauler
  2022.               Department of C & C Engineering
  2023.               Edith Cowan University, Joondalup Drive
  2024.               Joondalup, WA 6027, Australia.
  2025.               Email: b.kauler@cowan.edu.au
  2026.       Location:  WWW - ftp://scorpion.cowan.edu.au/pub/terse/terse.htm
  2027.  
  2028.  
  2029. 4.2)  Free C compilers
  2030.  
  2031.     There is finally a free C compiler for the 8051.  The Retargetable
  2032.     Concurrent Small C (RCSC) compiler is featured in an article in the
  2033.     August 1997 Dr. Dobbs. RCSC is downloadable from Dr. Dobb's at:
  2034.         http://www.ddj.com
  2035.         ftp://ftp.mv.com/pub/ddj
  2036.  
  2037.     Several commercial C compilers have evaluation versions available.
  2038.     These are not too useful (even for hobbyist projects) since they
  2039.     usually don't include libraries.  However, they do afford the user
  2040.     the chance to inspect the quality of the code generated.
  2041.  
  2042.     In most cases, it makes more sense to invest a bit, and get something
  2043.     serious.  Also, by buying a commercial package, you have the
  2044.     advantage of having the documentation, and being able to get
  2045.     technical support.  As Hershel Roberson says about the Dunfield
  2046.     package, "It is certainly worth the money. It is probably 3/4 as good
  2047.     as compilers that cost 10 times as much!"
  2048.  
  2049.     There are three low-cost C compilers currently available for 8051
  2050.     development:
  2051.  
  2052.     Dunfield Development Systems
  2053.  
  2054.     I've been using the Dunfield Development System, and its really quite
  2055.     nice.  I've also heard many good things about it from others.  For
  2056.     $100 you get a near ANSI-C compiler, run-time library with source,
  2057.     assembler, ROM debugger, integrated development environment, monitor
  2058.     with source, utilities, and other extras.  A high quality simulator
  2059.     for only $50 is also available separately.  The simulator has an
  2060.     option allowing you to interface to your target by using an on-chip
  2061.     monitor.  Although not freeware, the low price, the features, all of
  2062.     the extra goodies, and the good reviews make this a package worth
  2063.     looking at.  Also, if you're interested in working on more than one
  2064.     family of microcontroller, Dunfield supports a wide range.  This
  2065.     means only needing to learn one system, instead of many.
  2066.  
  2067.           Dunfield Development Systems
  2068.           P.O. Box 31044, Nepean, Ontario Canada   K2B 8S8
  2069.           (613)256-5820   Fax: (613)256-5821
  2070.           BBS: (613)256-6289
  2071.           Web:   http://www.dunfield.com
  2072.           Email: General information:      info@dunfield.com
  2073.           Sales inquiries/Administration: sales@dunfield.com
  2074.           Technical inquiries/Support      tech@dunfield.com
  2075.  
  2076.     Micro Computer Control Corporation
  2077.  
  2078.     Another low priced ($100) C compiler comes from Micro Computer
  2079.     Control.  This package was unavailable for review, but according to
  2080.     the manufacturer, it features:  Cross compilers running under DOS are
  2081.     available for the 8051 and the Z8 (including Super-8).  This package
  2082.     includes a C compiler, assembler, linker, librarian, and extensive
  2083.     printed documentation.  A simulator/source code debugger is available
  2084.     for an additional $79.95.  The simulator is completely configurable,
  2085.     so much so that you don't even need the target hardware to test with.
  2086.     You can configure all I/O and other features of your target chip or
  2087.     environment.
  2088.  
  2089.           Micro Computer Control Corporation
  2090.           PO Box 275, 17 Model Ave., Hopewell, NJ  08525
  2091.           (609)466-1751   Fax: (609)466-4116   BBS: (609)466-4117
  2092.           Email: 73062.3336@compuserve.com
  2093.  
  2094.     SPJ Systems
  2095.  
  2096.     C-31 is a new cross compiler from SPJ Systems.  The full package
  2097.     which costs $150 (USD) includes a C compiler (ANSI compatible
  2098.     subset), assembler, source linker, and simulator (source code
  2099.     debugger).  Compiler features include: support for floating point
  2100.     numbers, extensive collection of library routines, support for using
  2101.     Special Function Registers (SFR), assembly language interface,
  2102.     peripheral keyword (allows specifying an address of a standard
  2103.     peripheral).
  2104.  
  2105.     The simulator allows source level debugging.  A few memory mapped
  2106.     hardware peripherals are simulated including an LCD display, 8279
  2107.     keyboard processor, and an 8255 parallel port.  (SPJ also has a plain
  2108.     simulator available as a separate product for assembly/machine code
  2109.     debugging.)
  2110.  
  2111.     A working demo of the compiler package, which includes the library
  2112.     sources and permits the compilation of small programs, is available
  2113.     from their web site.  This is a new package with a few rough edges,
  2114.     but it easy to use, has a decent price, and has good potential.
  2115.     Check out the demo on their web site and see for yourselves.
  2116.  
  2117.           SPJ Systems
  2118.           114, Chitrashala Bldg.
  2119.           562, Sadashiv Peth
  2120.           Pune, India
  2121.           Phone: 91-212-451607   Fax: 91-212-480285
  2122.           Email: spjs@giaspn01.vsnl.net.in
  2123.           Web:   http://www.prime-digest.w1.com/spj
  2124.  
  2125.  
  2126. 4.3)  Commercially available products
  2127.  
  2128.     Many firms (large and small) offer a variety of 8051 microcontroller
  2129.     variants, programming languages, support packages, and development
  2130.     systems.
  2131.  
  2132.     No endorsement is implied by inclusion in this list.  I apologize to
  2133.     anyone I left out;  It's only because I didn't know about you.  If
  2134.     you want to be included in this list, just drop me a line - please.
  2135.     Any corrections and additions appreciated.
  2136.  
  2137.     C compilers ($$$ - high, $$ - medium, $ - low priced)
  2138.         - 2500 A.D.
  2139.         - Archimedes Software  $$$ & $$
  2140.              same as Keil Electronics C
  2141.              Archimedes is introducing StartRight, a low cost 8051 C
  2142.                 compiler for $700
  2143.         - Avocet Systems  $$
  2144.              repackaging of the Hi-Tech Software C compiler
  2145.         - BSO/Tasking  $$
  2146.         - Crossware Products
  2147.         - Dunfield Development Systems  $
  2148.              Complete C compiler development system for MS-DOS
  2149.              includes: compiler, run-time library with source, assembler,
  2150.                 ROM debugger, integrated development environment, monitor
  2151.                 with source, utilities, and other extras
  2152.              low price:  $100
  2153.              good reputation and good support
  2154.              works well with the Dallas DS5000/DS2250
  2155.         - Franklin Software  $$ ? (new prices)
  2156.              now marketing their own C compiler
  2157.              includes: PC-Lint and an IDE
  2158.         - IAR Systems
  2159.              IAR tool kit comes with a C-Cross compiler, assembler,
  2160.                 Xlink linker, Xlib librarian, C-SPY simulator, editor,
  2161.                 make utility and a real-time kernel
  2162.              formerly licensed for distribution in the US and Canada
  2163.                 under the Archimedes brand name
  2164.         - Hi-Tech Software  $$
  2165.              assembler, C compiler, linker, library, serial port
  2166.                 debugger, and Windows style integrated development
  2167.                 environment
  2168.              ANSI C and IEEE 32 float compatable with some very useful
  2169.                 extensions
  2170.              $900US
  2171.         - Intermetrics Microsystems Software, Inc.
  2172.              Whitesmith's compiler, assembler, and C source level
  2173.              debugger
  2174.         - Keil Electronics  $$$
  2175.              compiler, assembler, debugger, real-time kernel, ROM
  2176.                 monitor, libraries for special 8051's to set SFR,
  2177.                 embedded I/O devices, A/D, etc.
  2178.         - Mandeno Granville Electronics, Ltd
  2179.              SYS51C - ANSI C Cross Compiler
  2180.         - Micro Computer Control  $
  2181.              Developer's kit includes "C"-like compiler, assembler,
  2182.                 linker, librarian, extensive printed documentation
  2183.              low cost ($99.95)
  2184.         - Okapi Systems
  2185.         - Production Languages Corporation
  2186.              DOS- and Windows- based compilers
  2187.              Integrated development environment includes ANSI C compiler,
  2188.                 assembler, linker, librarian, debugger
  2189.         - Signum Systems
  2190.         - SPJ Systems  $
  2191.              low cost ($150.00)
  2192.  
  2193.     Basic interpreters/compilers
  2194.         - Binary Technology, Inc.
  2195.         - Iota Systems, Inc.
  2196.              Basic-752 interpreter (simulator also available)
  2197.              Basic-52 Plus interpreter
  2198.         - MDL Labs
  2199.              BASIKIT--Integrated Programming Environment for BASIC-52,
  2200.                 and for MDL-BASIC-I, MDL-BASIC-P, and MDL-BASIC-D.
  2201.     BASIKIT includes a full-screen editor and permits writing
  2202.                 programs with labels rather than line numbers.
  2203.              MDL-BASIC-I and MDL-BASIC-P are supersets of the original
  2204.                 BASIC-52, for the Intel 8052 and the Philips PCB83C552.
  2205.              MDL-BASIC-D is a BASIC for the Dallas 87C530 which accesses
  2206.                 all the features of the chip, including both serial
  2207.                 ports, the Watchdog, and the power-saving features. The
  2208.                 BASIC will address up to 512K of memory and will collect
  2209.                 data into that memory via serial port interrupts. It runs
  2210.                 faster at 25 MHz than compiled code on the 8052.
  2211.         - Micro Future
  2212.              Basic-52 development system
  2213.         - Systronix Inc. (Basic compiler)
  2214.  
  2215.     Pascal
  2216.         - Mandeno Granville Electronics, Ltd
  2217.              PASCAL51 - Advanced Turbo PASCAL compliant cross compiler
  2218.         - Scientific Engineering Labs
  2219.  
  2220.     Modula-2
  2221.         - Mandeno Granville Electronics, Ltd
  2222.              Mod51 - optimizing Modula-2 Compiler, smallest program is 14
  2223.              bytes, ideal for both very tight/fast projects and very
  2224.              large ones with multiple modules, produces smaller/tighter
  2225.              code than C, has extensive libraries and working examples
  2226.         - Vail Silicon Tools, Inc.
  2227.  
  2228.     PL/M
  2229.         - BSO/Tasking
  2230.  
  2231.     Board level products
  2232.         - Ackerman Computers Sciences (ACS)
  2233.         - AM Research
  2234.              complete FORTH based system with PC based host system
  2235.         - Binary Technology, Inc.
  2236.         - Blue Earth Research
  2237.         - Blue Ridge Micros (8031 and 8052-BASIC based boards)
  2238.         - CG Microsystems
  2239.              MCU system based on the DS80C320
  2240.              piles of features including 2 ISA slots
  2241.              about $90 for the basic system
  2242.         - Circuit Cellar Inc.
  2243.         - DataCraft International
  2244.         - Dunfield Development Systems
  2245.         - EE Systems
  2246.         - Forth, Inc.
  2247.         - HiTech Equipment Corp.
  2248.         - Iota Systems, Inc. (line of development packages, boards,
  2249.              peripherals, and components)
  2250.         - J & M Microtek, Inc.
  2251.         - L.S. Electronic Systems Design
  2252.         - Mandeno Granville Electronics, Ltd
  2253.         - New Micros
  2254.              8051 based NMIY0031 SBC
  2255.              $39 + shipping you
  2256.              includes: SBC with 8051 (Siemens SAB8051, can be
  2257.                 substituted), 8K RAM, EPROM with a burnt-in monitor which
  2258.                 supports downloading hex files into the RAM and executing
  2259.                 them
  2260.              the board can accept 3 memory chips (each one up to
  2261.                 32K), one of which is for program, one for data and the
  2262.                 third can be configured as wanted
  2263.              it has a 4x5 matrix keyboard interface, LCD interface,
  2264.                 RS232 and support for RS422/485 (need to add the chips)
  2265.     prototyping area of about 3.5 x 2 inches
  2266.              on floppy you get:  User manual for the board in Word
  2267.                 and plain text formats with many programming examples in
  2268.                 all supplied languages (about 150 pages), A51 assembler,
  2269.                 Small C compiler, hex file for the MCS-52 Basic
  2270.                 interpreter EPROM with MCS-52 manual, hex file for
  2271.                 MAX-FORTH interpreter EPROM with documentation, hex file
  2272.                 for the supplied monitor and documentation, and a
  2273.                 terminal program
  2274.         - Parallax, Inc.
  2275.         - Prologic Designs
  2276.         - Rigel Corporation
  2277.         - Software Science
  2278.              nice boards with prototyping area
  2279.         - Suncoast Technologies
  2280.         - URDA, Inc.
  2281.  
  2282.     Assemblers
  2283.         - 2500 A.D.
  2284.         - Archimedes Software
  2285.              same as Keil Electronics
  2286.              Archimedes is introducing StartRight, a low cost 8051
  2287.                 assembler for $200
  2288.         - BSO/Tasking
  2289.         - Crossware Products
  2290.         - Custom Computer Consultants
  2291.         - Cybernetics Microsystems
  2292.         - Dunfield Development Systems
  2293.              Supports both Intel and Motorola style syntax
  2294.         - Emulation Technology, Inc.
  2295.         - Intel Corporation
  2296.         - Keil Electronics
  2297.         - Lear Com Company
  2298.         - Metalink
  2299.         - Micro Computer Control
  2300.         - Microtek Research
  2301.         - Nohau Corporation
  2302.         - Okapi Systems
  2303.         - Onset Computer Corporation (8051 Assember for MAC)
  2304.         - Parallax, Inc.
  2305.         - PseudoCorp
  2306.         - Raven Computer Systems
  2307.         - Signum Systems
  2308.         - Speech Technology Inc.
  2309.              TASM (table driven cross assembler supports many different
  2310.              microcontrollers and microprocessors)
  2311.         - Universal Cross Assemblers
  2312.              CROSS32 supports 40-50 different processors
  2313.  
  2314.     Forth
  2315.         - AM Research
  2316.              Development system, features kernel of less than 700 bytes
  2317.         - Forth, Inc.
  2318.              A cross-development product for the 8051 family
  2319.                 which includes a board and extensive documentation.
  2320.         - Forth Systeme
  2321.         - MPE: MicroProcessor Engineering Ltd.
  2322.              A cross-development system for the 8051 family
  2323.                 extensive documentation
  2324.              interactive single chip development, multitasking,
  2325.                 bank switching for more than 64k code
  2326.         - Offete Enterprises
  2327.              8051 eForth (C. H. Ting -- $25.00).  "A small ROM based
  2328.                 Forth system ... Source code is in MASM IBM 5.25 disk
  2329.                 with 8051 eForth Implementation Note."
  2330.  
  2331.     ROM Monitor-based Debuggers
  2332.         - ChipTools (ChipView-51 looks like turbo debugger)
  2333.         - Dunfield Development Systems
  2334.              Can be used with DS5000 for single-chip in-circuit
  2335.                 emulation
  2336.  
  2337.     Simulators
  2338.         - 2500 A.D.
  2339.         - Avocet Systems
  2340.         - ChipTools
  2341.              on a 33 MHz 486 matches the speed of a 12 MHz 8051
  2342.         - Crossware (simulator running under Windows)
  2343.         - Cybernetic Micro Systems
  2344.         - Dunfield Development Systems
  2345.              Low cost $50.00
  2346.              500,000+ instructions/second on 486/33
  2347.              Can interface to target system for physical I/O
  2348.              Includes PC hosted "on chip" debugger with identical user
  2349.                 interface
  2350.         - HiTech Equipment Corp.
  2351.         - Hitex
  2352.         - Iota Systems, Inc.
  2353.         - J & M Microtek, Inc.
  2354.         - Keil Electronics
  2355.         - Lear Com Company
  2356.         - Mandeno Granville Electronics, Ltd
  2357.         - Micro Computer Control Corporation
  2358.              Simulator/source code debugger ($79.95)
  2359.         - Microtek Research
  2360.         - Production Languages Corp.
  2361.         - PseudoCorp
  2362.  
  2363.     Emulators ($$$ - high, $$ - medium, $ - low priced)
  2364.       <Thanks to Alistair George for this bit of important advice...
  2365.       Potential customers of emulators should check to make sure that the
  2366.       emulator supports the required external hardware (ports,
  2367.       interrupts, etc) before they buy - its probably the most
  2368.       important spec, but one easily missed. Some emulators only offer
  2369.       very minimal support, which sometimes hardly makes it worthwhile to
  2370.       bother.>
  2371.         - Advanced Micro Solutions  $$
  2372.         - Advanced Microcomputer Systems, Inc.  $
  2373.         - Applied Digital Research Ltd.  $$
  2374.         - American Automation  $$$  $$
  2375.         - Applied Microsystems  $$
  2376.         - ChipTools (front end for Nohau's emulator)
  2377.         - Cybernetic Micro Systems  $
  2378.         - Dunfield Development Systems $
  2379.              plans for pseudo-ice using Dallas DS5000/DS2250
  2380.              used together with their resident monitor and host debugger
  2381.         - Emulation Technology, Inc. $$
  2382.              OpenEmulator in-circuit emulators adaptable for over a
  2383.                 hundred microcontrollers/microprocessors
  2384.         - HBI Limited  $
  2385.         - Hewlett-Packard  $$$
  2386.         - HiTech Equipment Corp.
  2387.         - Hitex  $$
  2388.         - Huntsville Microsystems  $$
  2389.         - Intel Corporation  $$$
  2390.         - Kontron Electronics  $$$
  2391.         - Lauterbach Datentechnik GmbH
  2392.              8051 In-Circuit Emulators based on a universal high-
  2393.                 performance emulation system called TRACE32.
  2394.         - Mandeno Granville Electronics, Ltd
  2395.              full line covering everything from the Atmel flash to the
  2396.                 Siemens powerhouse 80c517a
  2397.         - MetaLink Corporation  $$  $
  2398.         - Nohau Corporation  $$
  2399.         - Orion Instruments  $$$
  2400.         - Philips $$ $
  2401.              DS-750 pseudo-ICE developed by Philips and CEIBO
  2402.                 real-time emulation and simulator debug mode
  2403.                 source-level debugging for C, PL/M, and assembler
  2404.                 programs 8xC75x parts
  2405.                 low cost - only $100 from Philips ($250 from CEIBO)
  2406.                 DOS and Windows versions available
  2407.              PDS51 board level In-Circuit Emulation system
  2408.                 no stolen resources
  2409.                 Daughter boards support wide range of Philips derivatives
  2410.                 approximately $US1000 to $US1200 depending on daughter
  2411.                   board
  2412.         - Signum Systems  $$
  2413.         - Sophia Systems  $$$
  2414.         - Zax Corporation
  2415.         - Zitek Corporation  $$$
  2416.  
  2417.     Real-time
  2418.         - Byte-BOS Integrated Systems
  2419.              small, prioritized, preemptive real-time kernel
  2420.         - Embedded System Products (formerly A.T. Barrett and Associates)
  2421.              ROMable embedded-system kernel: source provided.  Provides
  2422.              programming interface identical on all target platforms.
  2423.              Basic, advanced, and extended library packages available.
  2424.         - Intellimap Engineering
  2425.              DCE51 real time operating system
  2426.         - JMI Software Systems, Inc.
  2427.              small, prioritized, preemptive real-time kernel
  2428.         - StarCom
  2429.              CRTX, embedded real-time micro kernel primarily intended for
  2430.              embedded 8-bit applications using 8051, 68HC11, 80188 etc.
  2431.              Simple, low cost, and includes ANSI C source for
  2432.              portability.
  2433.         - U S Software
  2434.              SuperTask! - multitasking executive
  2435.  
  2436.     Trainers
  2437.         - Advanced Educational Systems (AES)
  2438.              complete learning system (board, LCD, keypad, A/D, D/A, etc)
  2439.         - Sun Equipment Corp.
  2440.              trainers
  2441.  
  2442.     Miscellaneous
  2443.         - Creative Applications Engineering, Inc
  2444.              CheepTools (integrated environment)
  2445.         - Dallas Semiconductor
  2446.              evaluation/development kit for their DS5000 (very nice)
  2447.         - Data Sync Engineering (disassembler)
  2448.         - Datarescue
  2449.              IDA - an interactive, multi-os disassembler supporting:
  2450.              OS/2, Win95, Win NT, Win, NLMs and more. Unlike other
  2451.              disassemblers, IDA works with you, allowing you to modify
  2452.              the disassembled code "on the fly". It supports many
  2453.              processors, various input file formats, and can produce
  2454.              various output files etc.  IDA has a built-in C-like
  2455.              language and sports a TVision user interface.
  2456.         - Educational Laboratories
  2457.              development courses:
  2458.                8051 Microcontroller Based Computer Design
  2459.                Programming 8051 Based Computers
  2460.              each course $19.95, both $29.95
  2461.         - Electronic Product Design, Inc.
  2462.              development system (integrated package with assembler,
  2463.              project manager, text editor, programmer)
  2464.         - Exor Inc. (ladder logic compiler)
  2465.         - Feger + Co.
  2466.              offers a series of German language 8051 related books they
  2467.              call `MC-Tools' describing the processors and/or projects
  2468.              for PC-addin boards:
  2469.              MC-Tools 1 - 80c535 project for DM 119; includes 260 page
  2470.                book, an empty PCB, and a diskette with assembler,
  2471.                debugger, PC-Oscilloscope
  2472.              MC-Tools 4 - same as above but based on 80c537
  2473.              MC-Tools 3 - Die 8051-Microcontroller Familie vom 8051 zum
  2474.                80C517A; text book on the 8051 and Siemens derivatives,
  2475.                360 pages.
  2476.              MC-Tools 5 - handbook on the 80C517 and 80C517A, 360 pages
  2477.         - Iota Systems, Inc.
  2478.              integrated environment system
  2479.         - Mandeno Granville Electronics, Ltd
  2480.              PIC to 8051 conversion program
  2481.         - Parallax, Inc.
  2482.              programmers
  2483.         - Philips
  2484.              87C51 programmers
  2485.                LCPx5x - 24 and 28 pin DIL and 68 pin PLCC Philips parts
  2486.                       - 748, 749, 750, 751, 752, 451, 453, 552
  2487.                LCPx5x40 - 40 pin DIL or 44 pin PLCC Philips parts
  2488.                Range further expanded by adaptors
  2489.                Low cost, board level
  2490.         - Quantasm Corp.
  2491.              ASMFLOW - produces flowchart and tree diagrams from source
  2492.                 code, register usage analysis, Xref, timing info
  2493.         - TCG
  2494.              EPROM emulator
  2495.              Atmel 2051 programmer
  2496.         - U S Software
  2497.              USNET - TCP/IP networking suite
  2498.              USFiles - file system
  2499.              GOFAST - floating point library
  2500.         - Xicor
  2501.              SLIC2E microperipherals - wires up directly to an 8051 and
  2502.                needs no glue logic, contains:
  2503.                   - 8K x 8 EEPROM in individual 4K segments
  2504.                   - 2 8-BIT I/O ports
  2505.                   - 16 8-BIT RAM registers
  2506.                   - Integrated Interrupt Controller Module
  2507.                   - Internal programmable address decoding
  2508.                   - code loaded at the factory allowing users to
  2509.                     download programs into EEPROM
  2510.              Development Support package includes a DATA BOOK, a
  2511.                SAMPLE of the CHIP (PDIP or PLCC, your choice) and PC
  2512.                compatible software for downloading and testing your
  2513.                programs. $15
  2514.              Development system includes a populated board. $180
  2515.  
  2516.  
  2517.     2500 A.D.       109 Brookdale Ave., Box 480, Buena Vista, CO  81211
  2518.                     (719)395-8683
  2519.  
  2520.     Ackerman Computer Sciences (ACS)
  2521.                     4276 Lago Way, Sarasota, FL  34241
  2522.                     (813)377-5775   Fax: (813)378-4226
  2523.  
  2524.     Advanced Educational Systems (AES)
  2525.                     1407 North Batavia Street, Orange, CA  92677
  2526.                     (800)730-3232   (714)744-0981   Fax: (714)744-2693
  2527.  
  2528.     Advanced Micro Devices
  2529.                     901 Thompson Place, PO Box 3453
  2530.                     Sunnyvale, CA  94088-3000
  2531.                     (408)732-2400
  2532.  
  2533.     Advanced Microcomputer Systems, Inc.
  2534.                     1321 NW 65th Place, Fort Lauderdale, FL 33309
  2535.                     (305)975-9515  Fax: (305)975-9698
  2536.  
  2537.     Advanced Micro Solutions
  2538.                     1033 S Imperial Dr., Hartland, WI 53029
  2539.                     (414)367-3577
  2540.  
  2541.     American Automation
  2542.                     2651 Dow Avenue, Tustin, CA  92680
  2543.                     (714)731-1661
  2544.  
  2545.     AM Research     4600 Hidden Oaks Lane, Loomis, CA  95650
  2546.                     (800)949-8051   (916)652-7472   Fax: (916)6642
  2547.                     BBS: (916)652-7117
  2548.                     Email: support@amresearch.com
  2549.                     http://www.amresearch.com
  2550.  
  2551.     Applied Digital Research Ltd.
  2552.                     P.O. Box 6480, Wellesley St, Auckland, NEW ZEALAND
  2553.                     +64 9 480-8827
  2554.                     Email: rossmcm@adr.co.nz
  2555.                     Compuserve: 100351,716
  2556.                     WWW: http://www.he.net/~adr/
  2557.  
  2558.  
  2559.  
  2560.     Applied Microsystems
  2561.                     5020 148th Ave. N.E., PO Box 97002
  2562.                     Redmond, WA  98073-9702
  2563.  
  2564.     Archimedes Software
  2565.                     2159 Union St., San Francisco, CA  94123
  2566.                     (415)567-4010
  2567.                     WWW: http://www.archimedes.com/devtools
  2568.  
  2569.     Ashling Microsystems Ltd
  2570.     Ireland         Plessey Technological Park
  2571.                     Limerick, Ireland
  2572.                     +353 61 334466   Fax:  +353 61 334477
  2573.     United Kingdom  Butler House
  2574.                     19-23 Market Street
  2575.                     Maidenhead, Berkshire,  UK
  2576.                     +0628 773070   Fax: 0628 773009
  2577.  
  2578.     Atmel           2125 O'Nel Drive, San Jose, CA  95131
  2579.                     (800)365-3375  (408)441-0311   Fax: (408)436-4300
  2580.  
  2581.     Avocet Systems  120 Union St., Rockport, ME  04856
  2582.                     (800)448-8500  (207)236-9055   Fax: (207)236-6713
  2583.  
  2584.     Binary Technology, Inc.
  2585.                     PO Box 541, Carlisle, MA  01741
  2586.                     (508)369-9556   Fax: (508)369-9549
  2587.  
  2588.     Blue Earth Research
  2589.                     165 W. Lind Ct., Mankato, MN  56001-0400
  2590.                     (507)387-4001   Fax: (507)387-4008
  2591.                     BBS: (507)387-4007
  2592.  
  2593.     Blue Ridge Micros
  2594.                     2505 Plymouth Rd., Johnson City, TN  37601
  2595.                     (615)335-6696   Fax: (615)929-3164
  2596.  
  2597.     BSO/Tasking
  2598.     International   333 Elm Street, Dedham, MA  02026-4530
  2599.                     (800)458-8276  (617)320-9400  Fax: (617)320-9212
  2600.     Europe          Tasking Software BV
  2601.                     P O Box 899, 3800 AW Amersfoort, Netherlands
  2602.                     +31 33 558584   Fax: +31 33 550033
  2603.  
  2604.     Business Data Computers
  2605.                     P.O. Box 1549, Chester, CA  96020
  2606.  
  2607.     Byte-BOS Integrated Systems
  2608.                     P.O. Box 3067, Del Mar, CA 92014
  2609.                     (800)788-7288   (619)755-8836
  2610.  
  2611.     CG Microsystems
  2612.                     http://home.earthlink.net/~cgmicro/
  2613.  
  2614.     ChipTools Inc   (905)274-6244   Fax: (905)891-2715
  2615.                     Email: chiptool@hookup.net
  2616.                     Web: http://www.chiptools.com/
  2617.  
  2618.     Circuit Cellar Inc.
  2619.                     4 Park St., Vernon, CT  06066
  2620.                     (203)875-2751   Fax: (203)872-2204
  2621.  
  2622.     Creative Applications Engineering, Inc
  2623.                     Ed Carryer
  2624.                     (415)494-2363   BBS: (415)494-8463
  2625.  
  2626.     Crossware Products
  2627.                     St John's Innovation Centre
  2628.                     Cowley Road, Cambridge, CB4 4WS, UK
  2629.                     +44 1223 421263  Fax: +44 1223 421006
  2630.                     Email: sales@crossware.com
  2631.                     Web: http://www.crossware.com
  2632.  
  2633.     Custom Computer Consultants
  2634.                     1807 Huron River Drive, Ypsilanti, MI 48197
  2635.  
  2636.     Cybernetic Micro Systems
  2637.                     Box 3000, San Gregorio, CA  94074
  2638.                     (415)726-3000
  2639.  
  2640.     Dallas Semiconductor
  2641.                     4401 S. Beltwood Parkway, Dallas, TX  75244-3292
  2642.                     (214)450-0448   Fax: (214)450-3715
  2643.                     International:  (214)450-5351
  2644.                     Orders:  (800)336-6933
  2645.                     Email: micro.support@dalsemi.com
  2646.                     Web: www.dalsemi.com
  2647.  
  2648.     DataCraft International
  2649.                     2828 Ione Dr., San Jose, CA  95132
  2650.                     (800)873-3709   (408)259-4866
  2651.  
  2652.     Data Sync Engineering
  2653.                     40 Trinity St., Newton, NJ 07860
  2654.                     (201)383-1355   Fax: (201)383-9382
  2655.                     Email: sales@datasynceng.com
  2656.                     Web: http://www.datasynceng.com
  2657.  
  2658.     DataRescue sprl
  2659.                     110 route du Condroz, 4121 Neupre  Belgium
  2660.                     Web: http://www.datarescue.com
  2661.  
  2662.     Dunfield Development Systems
  2663.                     P.O. Box 31044, Nepean, Ontario Canada   K2B 8S8
  2664.                     (613)256-5820   Fax: (613)256-5821
  2665.                     BBS: (613)256-6289
  2666.                     Web:   http://www.dunfield.com
  2667.                     Email: General information:      info@dunfield.com
  2668.                     Sales inquiries/Administration: sales@dunfield.com
  2669.                     Technical inquiries/Support      tech@dunfield.com
  2670.                     Old Email address:  ddunfield@bix.com
  2671.  
  2672.     EE Systems      50935 Hill Dr., Elkhart, IN  46514
  2673.                     (219)296-1754   Fax: (219)522-4271
  2674.  
  2675.     Electronic Product Design, Inc.
  2676.                     6963 Bluebelle Way, Springfield, OR  97478
  2677.                     (503)741-0778
  2678.  
  2679.     Embedded System Products (formerly A.T. Barrett and Associates)
  2680.                     11501 Chimney Rock, Houston, TX  77035-2900
  2681.                     (800)525-4302   (713)728-9688   Fax: (713)728-1049
  2682.  
  2683.     Emulation Technology, Inc.
  2684.                     2344 Walsh Avenue, Bldg. F, Santa Clara, CA  95051
  2685.                     (408)982-0660   Fax: (408)982-0664
  2686.                     Email: et@pmail.emulation.com
  2687.                     WWW: http://www.emulation.com
  2688.                     FTP: ftp.emulation.com
  2689.  
  2690.     Exor Inc.
  2691.                     4740T Interstate Dr., Cincinnati, OH 45246
  2692.                     (513)874-4665   Fax: (513)874-3684
  2693.  
  2694.     Feger + Co., Hardware + Software Verlags OHG
  2695.                     Marienstrasse 1, D-83301 Traunreut, Germany
  2696.  
  2697.     Forth, Inc.     1-800-55FORTH
  2698.                     http://www.earthlink.net/~forth
  2699.  
  2700.     Forth Systeme   P.O. Box 1103, Breisach, Germany
  2701.                     7767-551
  2702.  
  2703.     Franklin Software
  2704.                     (408)296-8051
  2705.  
  2706.     HBI Limited
  2707.                     6F, 1 Fleming Road, Hong Kong
  2708.                     852-891-3673  Fax: 852-834-9748
  2709.  
  2710.     Hewlett-Packard 1501 Page Mill Rd., Palo Alto, CA  94304
  2711.  
  2712.     HiTech Equipment Corp.
  2713.                     9400 Activity Rd., San Diego, CA  92126
  2714.                     (619)566-1892   Fax: (619)530-1458
  2715.                     Email: info@hte.com   ftp: ftp.hte.com
  2716.  
  2717.     Hi-Tech Software
  2718.                     PO Box 103, Alderly QLD 4051, Australia
  2719.                     (+61-7) 300 5011   Fax: (+61-7) 300 5246
  2720.                     BBS: +61 7 3300 5235
  2721.                     Email: hitech@hitech.com.au
  2722.                     WWW: http://www.hitech.com.au/
  2723.  
  2724.     Hitex
  2725.     North America   HiTOOLS Inc., 2055 Gateway Place, Suite 400
  2726.                     San Jose, CA 95110
  2727.                     (408) 451 3986   Fax: (408) 441 9486
  2728.                     http://www.hitex.com  info@hitex.com
  2729.     Germany         Greschbachstr 12, 76229 Karlsruhe
  2730.                     0721/9628-0      Fax: 0721/9628-149
  2731.                     info@hitex.ti.ba-karlsruhe.de
  2732.                     http://www.ba-karlsruhe.de/BA/firmen/hitex
  2733.     United Kingdom  Sir William Lyons Road, Science Park
  2734.                     Coventry CV4 7EX
  2735.                     +0203 692066     Fax: +0203 692131
  2736.  
  2737.     Huntsville Microsystems
  2738.                     4040 S. Memorial Parkway, PO Box 12415
  2739.                     Huntsville, AL  35802
  2740.  
  2741.     IAR Systems Software
  2742.     North America   One Maritime Plaza, Suite 1770
  2743.                     San Fransisco, CA 94111  USA
  2744.                     (415)765-5500   Fax: (415)765-5503
  2745.     Sweden          IAR Systems AB
  2746.                     Box 23051
  2747.                     S-750 23 Uppsala, Sweden
  2748.                     +46 18 16 7800   Fax: +46 18 16 7838
  2749.     Germany         IAR Systems GmbH
  2750.                     Brucknerstrasse 27
  2751.                     D-81677 Munchen, Germany
  2752.                     +49 89 470 6022   Fax: +49 89 470 9565
  2753.     United Kingdom  IAR Systems Ltd
  2754.                     9 Spice Court
  2755.                     Plantation Wharf, York Rd
  2756.                     London SWII 3UE, England
  2757.                     +44 71 924 3334   Fax: +44 71 924 5341
  2758.  
  2759.     Intel Corporation
  2760.                     3065 Bowers Ave., Santa Clara, CA  95051
  2761.                     Technical Help: (800)628-8686 (USA/Canada only)
  2762.                        5 am to 5 pm PST
  2763.                     Email: james_sampson@ccm.hf.intel.com
  2764.                     Faxback support: (800)628-2283 (USA/Canada)
  2765.                        touch tone phones only
  2766.                        Will only FAX to USA/Canada locations
  2767.                        English or Japanese support is available
  2768.                     BBS: (916)356-3600  24 Hr.
  2769.                        Auto config: 1200 thru 14.4K Baud
  2770.  
  2771.     Intellimap Engineering
  2772.                     1140 Morrison Dr., Suite 222
  2773.                     Ottawa Ontario Canada K2H 8S9
  2774.                     (613)829-3196   Fax: (613)820-1773
  2775.  
  2776.     Intermetrics Microsystems Software, Inc.
  2777.                     733 Concord Ave., Cambridge, MA  02138
  2778.                     (617)661-0072   Fax: (617)868-2843
  2779.  
  2780.     Iota Systems, Inc.
  2781.                     924 Incline Way, Suite N / POB 8987
  2782.                     Incline Village, NV  89452-8987
  2783.                     (702)831-6302   Fax: (702)831-4629
  2784.  
  2785.     Integrated Silicom Solution
  2786.                     2231 Lawson Lane, Santa Clara, CA  95054
  2787.                     (800)379-4774  Fax: (408)588-0806
  2788.  
  2789.     J & M Microtek, Inc.
  2790.                     83 Seaman Rd., W Orange, NJ  07052
  2791.                     (201)325-1892   Fax: (201)736-4567
  2792.  
  2793.     JMI Software Systems, Inc.
  2794.                     P.O. Box 481, 904 Sheble Lane, Spring House, PA 19477
  2795.                     (215)628-0840   Fax: (215)628-0353
  2796.  
  2797.     KC Automation GmbH (support for Sysoft products)
  2798.                     Alfredo Knecht
  2799.                     CH-6991 Neggio, Switzerland
  2800.                     Fax: ++41-91591149
  2801.                     Email: akne@tinet.ch
  2802.  
  2803.     Keil Elektronik GmbH
  2804.     Europe          Bretonischer Ring 15
  2805.                     D-85630 Grasbrunn b. Muenchen, Germany
  2806.                     49 89 / 46 50 57   Fax: 49 89 / 46 81 62
  2807.     North America   Keil Software
  2808.                     16990 Dallas Parkway, Suit 120, Dallas, TX  75248
  2809.                     (800)348-8051 (sales and tech support)
  2810.                     (214)735-8052   Fax: (214)735-8055
  2811.                     CompuServe: 71715,1604
  2812.                     BBS: (214)713-9883
  2813.                     Web: http://www.keil.com/
  2814.                     FTP: ftp://ftp.keil.com/
  2815.  
  2816.     Kontron Electronics
  2817.                     D-8057 Eching/Munich
  2818.                     Oskar von Miller Str. 1, Germany
  2819.                     (0 81 65) 77-0
  2820.  
  2821.     Lakeview Research (Jan Axelson)
  2822.                     2209 Winnebago St., Madison, WI  53704
  2823.                     (608)241-5824
  2824.                     Email: jaxelson@lvr.com
  2825.                     WWW: http://www.lvr.com/
  2826.  
  2827.     Lauterbach Datentechnik GmbH
  2828.     Europe          Fichtenstr. 27, D-85649 Hofolding, Germany
  2829.                     ++49 (0)8104 8943 31   Fax: ++49 (0)8104 8943 49
  2830.                     Compuserve: 100272,507
  2831.                     Email: sales@lauterbach.com
  2832.                     WWW: http://www.lauterbach.com
  2833.     USA             Lauterbach Inc.
  2834.                     945 Concord Street, Framingham,MA 01701
  2835.                     (508)620-4521   Fax: (508)620-4522
  2836.  
  2837.     Lear Com Company
  2838.                     2440 Kipling St. Suite 206, Lakewood, CO  80215
  2839.                     (303)232-2226   Fax: (303)232-8721
  2840.  
  2841.     Logical Systems Corporation (Disassembler, Simulator)
  2842.     Micro Dialects, Inc.
  2843.                     POB 30014, Cincinnati, OH  45230
  2844.                     (513)271-9100
  2845.  
  2846.     Logisoft        Box 61929, Sunnyvale CA  94086
  2847.                     (408)773-8465  Fax: (408)773-8466
  2848.  
  2849.     L.S. Electronic Systems Design
  2850.                     2280 Camilla Rd., Mississauga, Ontario
  2851.                     Canada  L5A 2J8
  2852.                     (905)277-4893   Fax: (905)277-0047
  2853.  
  2854.     Lumino B.V
  2855.                     Web: http://www.lumino.nl/lumino/
  2856.  
  2857.     Mandeno Granville Electronics, Ltd
  2858.                     128 Grange Rd., Auckland 3, New Zealand
  2859.                     +64 9 6300 558   Fax: +64 9 6301 720
  2860.  
  2861.     Matra Semiconductor
  2862.                     2840-100 San Tomas Expressway, Santa Clara, CA  95051
  2863.                     (408)986-9000
  2864.  
  2865.     MDL Labs
  2866.                     1073 Limberlost Court,  Columbus, OH 43235
  2867.                     Tel/Fax: 614-431-2675
  2868.                     Email: arl@infinet.com
  2869.  
  2870.     MetaLink Corporation
  2871.     North America   325 E. Elliot Road, Chandler, AZ  85255
  2872.                     (800)638-2423   (602)926-0797
  2873.                     Fax:  (602)926-1198
  2874.     Europe          MetaLink Europe GmbH
  2875.                     Westring 2, 8011<85614>
  2876.                     Kirchseeon-Eglharting, Germany
  2877.                     (08091)2046   Fax: (08091)2386
  2878.  
  2879.     Micro Computer Control Corporation
  2880.                     PO Box 275, 17 Model Ave., Hopewell, NJ  08525
  2881.                     (609)466-1751   Fax: (609)466-4116
  2882.                     BBS: (609)466-4117
  2883.                     Email: 73062.3336@compuserve.com
  2884.  
  2885.     Micro Future    40944 Cascado Place, Fremont, CA  94539
  2886.                     (510)657-0264   Fax: (510)657-5441
  2887.                     BBS: (510)657-5442
  2888.  
  2889.     MicroMint       4 Park St., Vernon, CT  06066
  2890.                     (203)875-2751   Fax: (203)872-2204
  2891.  
  2892.     Microtek International, Inc.
  2893.     North America   Microtek International, Inc.
  2894.                     3300 N.W. 211th Terrace, Hillsboro, OR  97124
  2895.                     (503)645-7333   Fax: (503)629-8460
  2896.     Europe          Microtek Electronics Europe GmbH
  2897.                     Starnberger Strasse 22, 82131 Gauting bei Munchen
  2898.                     Germany
  2899.                     +49(89)893139-30    Fax: +49(89)893139-50
  2900.  
  2901.     MPE: MicroProcessor Engineering Ltd.
  2902.                     133 Hill Lane, Shirley, Southampton SO1 5AF U.K.
  2903.                     +44 1703 631441   Fax: +44 1703 339691
  2904.                     Email: mpe@mpeltd.demon.co.uk
  2905.                            sales@mpeltd.demon.co.uk
  2906.                            70730.3576@compuserve.com
  2907.  
  2908.     New Micros of Dallas Texas
  2909.  
  2910.     Nohau Corporation
  2911.                     51 E. Campbell Ave., Campbell, CA  95008
  2912.                     (408)866-1820
  2913.                     (408)378-2912 (24 hr. information center)
  2914.                     Fax: (408)378-7869
  2915.                     Email: nohau@shell.portal.com
  2916.                     WWW: http://www.nohau.com/nohau
  2917.  
  2918.     Offete Enterprises, Inc.
  2919.                     1306 South B Street, San Mateo, CA  94402
  2920.                     (415) 574-8250
  2921.  
  2922.     Okapi Systems   (206)258-1163
  2923.  
  2924.     Onset Computer Corporation
  2925.                     199 Main St.,  P.O. Bos 1030
  2926.                     North Falmouth, MA 02556-1030
  2927.                     (508)563-9000   Fax: (508)563-9477
  2928.  
  2929.     Orion Instruments, Inc.
  2930.                     1376 Borregas Avenue, Sunnyvale, CA  94089
  2931.                     (408)747-0440  Fax: (408)747-0688
  2932.                     Email: info@oritools.com
  2933.                     http://www.oritools.com
  2934.  
  2935.     Orion Instruments
  2936.                     180 Independence Drive, Menlo Park, CA  94025
  2937.                     (800)729-7700   Fax: (415)327-9881
  2938.  
  2939.     Parallax, Inc.  6200 Desimone Lane, #69A, Citrus Heights, CA  95621
  2940.                     (916)721-8217
  2941.  
  2942.     Philips Microcontroller Product Group
  2943.                     811 East Arques Ave. / POB 3409
  2944.                     Sunnvale, CA  94088-3409
  2945.                     Technical documentation:
  2946.                         Sunnyvale, CA - (800)447-1500  Fax: (408)991-3773
  2947.                         Eindhoven, Netherlands - Fax: 31-40-724825
  2948.                     Technical questions:
  2949.                         Sunnyvale, CA - (408)991-3518
  2950.  
  2951.     Production Languages Corporation
  2952.                     P.O. Box 109, Weatherford, TX  76086
  2953.                     (800)525-6289   (817)599-8365   Fax: (817)599-5098
  2954.  
  2955.     Prologic Designs
  2956.                     PO Box 19026, Baltimore, MD  21204
  2957.                     (410)661-5950   Fax: (410)661-5950
  2958.  
  2959.     PseudoCorp      2597 Potter St., Eugene, OR 97405
  2960.                     (541)683-9173   Fax: (541)683-9186
  2961.                     Email: rhowden@teleport.com
  2962.                     Web: http://www.teleport.com/~rhowden
  2963.  
  2964.     Quantasm Corporation
  2965.                     19672 Stevens Creek Blvd.
  2966.                     Cupertino, CA  95014
  2967.                     (800)765-8086   (408)244-6826   Fax: (408)244-7268
  2968.  
  2969.     Raven Computer Systems
  2970.                     PO Box 12116, St. Paul, MN  55112
  2971.                     (612)636-0365
  2972.  
  2973.     Rigel Corporation
  2974.                     P.O. Box 90040, Gainesville, FL  32607
  2975.  
  2976.     Scientific Engineering Labs
  2977.                     255 Beacon St., Suite 3D, Somerville, MA  02143
  2978.                     (617)625-0288
  2979.  
  2980.     Siemens Components, Inc.
  2981.                     Integrated Circuit Division, 10950 N. Tantau Ave.
  2982.                     Cupertino, CA  95014
  2983.                     (800)777-4363  Fax: (708)296-4805
  2984.  
  2985.     Signetics Corporation (see Philips Microcontroller Product Group)
  2986.  
  2987.     Signum Systems  Mountain View, CA     (415)903-2220
  2988.                     Thousand Oaks, CA     (805)371-4608
  2989.  
  2990.     Software Science
  2991.                     3570 Roundbottom Rd., Cincinnati, OH  45244
  2992.                     (513)561-2060  Fax: (513)271-3181
  2993.                     Email: pbarnes@iglou.com
  2994.  
  2995.     Sophia Systems  NS Bldg. 2-4-1, Nishishinjuku, Shinuku-ku
  2996.                     Tokyo 160, Japan
  2997.                     03-348-7000
  2998.  
  2999.     Speech Technology Inc., Software Division
  3000.                     837 Front Street South, Issaquah, WA  98027
  3001.                     (206)392-8150
  3002.  
  3003.     SPJ Systems     114, Chitrashala Bldg.
  3004.                     562, Sadashiv Peth
  3005.                     Pune, India
  3006.                     91-212-451607   Fax: 91-212-480285
  3007.                     Email: spjs@giaspn01.vsnl.net.in
  3008.                     Web: http://www.prime-digest.w1.com/spj
  3009.  
  3010.     Standard Microsystems Corporation
  3011.                     80 Arkay Dr.,  Hauppage, NY  11788
  3012.                     (516)435-6000    Fax: (516)231-6004
  3013.                     WWW: http://www.smc.com
  3014.                     Email: techsupport@smc.com
  3015.  
  3016.     StarCom         WWW: http://www.n2.net/starcom
  3017.  
  3018.     Sun Equipment Corporation
  3019.     Lodestar Electronics Corp.
  3020.                     616 Hawick Rd., Raleigh, NC  27615
  3021.                     (800)870-1955   (919)881-2141   Fax: (919)870-5720
  3022.  
  3023.     Suncoast Technologies
  3024.                     P.O. Box 5835, Spring Hill FL 34606
  3025.                     Voice/FAX (352)596-7599
  3026.                     Email: suncoast@earthlink.net
  3027.                     WWW: http://home.earthlink.net/~suncoast/
  3028.  
  3029.     Sysoft SA       (closed as of 1989 - see KC Automation GmbH)
  3030.  
  3031.     Systronix Inc.  555 S. 300 E., Salt Lake City, UT  84111
  3032.                     (801)534-1017  Fax: (801)534-1019
  3033.                     BBS: (801)487-2778
  3034.  
  3035.     TCG
  3036.                     11 Ally22 Ln21 Pei-Ta Rd.
  3037.                     Hsin-Chu City, Taiwan, R.O.C.
  3038.                     (886)3-532-7372   Fax: 886-3-531-7162
  3039.                     Email:ch.bbs@csie.nctu.edu.tw
  3040.                     http://www.yp.at-taiwan.com/~com00121
  3041.                     http://www.hth.com
  3042.  
  3043.     URDA, Inc.      (800)338-0517   (412)683-8732
  3044.  
  3045.     US Software     14215 N.W. Science Park Drive, Portland, OR  97229
  3046.                     (800)356-7097   (503)641-8446   Fax: (503)644-2413
  3047.                     Product information available by ftp -
  3048.                        ftp.netcom.com : pub/ussw
  3049.  
  3050.     Universal Cross Assemblers
  3051.                     Canada
  3052.                     (506)849-8952   Fax: (506)847-0681
  3053.  
  3054.     Vail Silicon Tools, Inc.
  3055.                     Box 165, Pompano Beach FL  33069
  3056.                     (305)491-7443   Fax: (305)974-8531
  3057.  
  3058.     Xicor
  3059.                     1511 Buckeye Dr., Milpitas, CA
  3060.                     (408)432-8888   Fax: (408)432-0640
  3061.                     Email: info@smtpgat.xicor.com
  3062.                     http//www.xicor.com
  3063.                     BBS: (800)258-8864
  3064.  
  3065.     Zax Corporation
  3066.                     2572 White Road, Irving, CA 92714
  3067.                     (800)421-0982   (714)474-1170
  3068.  
  3069.     Zitek Corporation
  3070.                     1651 East Edinger Ave., Santa Ana, Ca  92705
  3071.                     (714)541-2931
  3072.  
  3073.  
  3074. 5)  8051 DOCUMENTATION
  3075.  
  3076.  
  3077. 5.1) Periodicals that cover the 8051
  3078.  
  3079.     Various magazines and journals (journals seems to be THE popular name
  3080.     for magazines these days) provide articles from time to time on the
  3081.     8051 family of microcontrollers:
  3082.  
  3083.     The Computer Applications Journal (Circuit Cellar Ink)
  3084.         - programming and construction articles
  3085.         - POB 7694, Riverton, NJ  08077-8784
  3086.         - FAX: (203)872-2204
  3087.         - Voice orders: (609)786-0409
  3088.         - Email orders: ken.davidson@circellar.com
  3089.         - BBS: (203)871-1988
  3090.           WWW: http://www.circellar.com
  3091.         - $21.95, $31.95 surface Canada and Mexico,
  3092.           $49.95 air all other countries
  3093.  
  3094.     Computer Design
  3095.         - industry announcements and trends
  3096.         - One Technology Park Drive, P.O. Box 990, Westford, MA  01886
  3097.         - (508)692-0700
  3098.  
  3099.     The Computer Journal
  3100.         - programming and construction articles, specializing in 8-bit
  3101.           and older computers (Z80-CP/M, TRS-80, Xerox, microcontrollers,
  3102.           etc)
  3103.         - programming and construction articles, specializing in old
  3104.           computers (S-100, CP/M, TRS-80, Xerox, Adam, etc)
  3105.         - P.O. Box 3900, Citrus Heights, CA 95611-3900
  3106.         - (800)424-8825 or (916) 722-4970   FAX: (916) 722-7480
  3107.         - BBS: (916) 722-5799
  3108.         - Web: http://www.psyber.com/~tcj
  3109.         - Email: tcj@psyber.com
  3110.                  Dave Baldwin: dibald@netcom.com
  3111.                  Bill Kibler: kibler@psyber.com
  3112.         - USENET newsgroup alt.tcj
  3113.  
  3114.     Dr. Dobbs Journal
  3115.         - programming articles, concepts, and designs
  3116.         - 411 Borel Ave., San Mateo, CA  94402
  3117.         - (415)358-9500
  3118.  
  3119.     EDN
  3120.         - Cahners Publishing Company
  3121.           8773 South Ridgeline Blvd., Highlands Ranch, CO 80126-2329
  3122.         - annual microprocessor and DSP editions
  3123.         - http://www.ednmag.com/
  3124.  
  3125.     Electronic Engineering Times
  3126.         - industry announcements and trends
  3127.         - FREE to qualified engineers and managers involved in
  3128.           engineering decisions
  3129.         - Fulfillment Dept., PO Box 9055, Jericho, NY  11753-8955
  3130.         - FAX: (516)733-6960
  3131.  
  3132.     Electronics Now
  3133.         - construction articles
  3134.         - Box 55115, Boulder, CO  80321-5115
  3135.         - $19.97 one year
  3136.  
  3137.     Elektor Electronics
  3138.         - programming and construction articles
  3139.         - World Wide Subscription Service Ltd
  3140.           Unit 4, Gibbs Reed Farm, Pashley Road
  3141.           Ticehurst TN5 7HE, England
  3142.         - 27 UK pounds
  3143.      or
  3144.         - Old Colony Sound Lab, P.O. Box 243, Peterborough, NH 03458
  3145.         - Tel. (603)924-6371, 924-6526
  3146.         - Fax: (603)924-9467
  3147.         - $57 USA and Canada per year
  3148.  
  3149.     Embedded Systems Programming
  3150.         - programming and systems design articles
  3151.         - Miller Freeman Publications
  3152.         - 500 Howard St., San Francisco, CA  94105
  3153.         - Miller Freeman: (415)905-2200
  3154.         - Embedded Systems Programming phone: (800)829-5537
  3155.  
  3156.     Forth Dimensions
  3157.         - monthly magazine on Forth
  3158.         - Forth Interest Group, P.O. Box 2154, Oakland, California 94621
  3159.         - (510)893-6784   Fax: (510)535-1295
  3160.         - Email: johnhall@aol.com
  3161.         - Forth Interest Group home page:
  3162.              http://taygeta.oc.nps.navy.mil/fig_home.html
  3163.  
  3164.     Inquisitor Magazine
  3165.         - If you're the type that watched Gilligan's Island for its
  3166.           socio-political insights, then you'll love a new 'zine that
  3167.           just crossed my desk - Inquisitor Magazine.  It's general
  3168.           philosophy seems to be ... well, it seems to be ... uh, yeah!
  3169.           Technical in nature, bizarre, tongue in cheek, eclectic,
  3170.           electric, did I mention bizarre(?), and lots of fun.  Worth
  3171.           looking at if you like the out of the ordinary.  The moving
  3172.           force behind this magazine is Daniel Drennan, who seems to have
  3173.           suffered from an overdose of radiation from his computer
  3174.           monitor ;-).
  3175.         - Dan is offering issue 1 of Inquisitor for free except for
  3176.           postage ($1.00 in the United States; $2.00 for Canada and
  3177.           overseas surface mail; and $3.00 for overseas airmail).  This
  3178.           issue contains plans, schematics, and troubleshooting tips for
  3179.           putting together a 8052-based microcontroller.  If you're
  3180.           thinking of putting together an 8051 system, you might want to
  3181.           check this out.
  3182.         - Planetarium Station, P.O.Box 132, New York, NY  10024-0132
  3183.         - (212)595-8370
  3184.         - Email: inquisitor@echonyc.com
  3185.         - $16 per year (4 issues)
  3186.  
  3187.     Microcomputer Journal
  3188.         - programming and construction articles
  3189.         - Midnight Engineering, 1700 Washington Av., Rocky Ford, CO 81067
  3190.         - (719)254-4558  Fax: (719)254-4517
  3191.  
  3192.     Midnight Engineering
  3193.         - 1700 Washington Ave., Rocky Road, CO  81067
  3194.           (719)254-4558   Fax: (719)254-4517
  3195.  
  3196.     MW Media - Product Directories
  3197.         - 8051 Product Directory
  3198.           (survey of various 8051 products)
  3199.         - Intel Development Tools Handbook
  3200.           (survey of commercial development tools for the 8051, 8096,
  3201.           and 80186 lines of Intel microprocessors)
  3202.         - This documents could very well be a "must" if you're into
  3203.           serious development using one of these chips.  If you are
  3204.           "just" a hobbyist, see how the "other half" lives.
  3205.         - other guides on Intel development tools, Embedded Intel 386,
  3206.           Intel 486/Pentium, 8051 products, Hitachi microcontroller
  3207.           development tools, AMD FusionE86, AMD 29K; low power products,
  3208.           DSP, multimedia CD
  3209.         - FREE to qualified developers
  3210.         - MW Media
  3211.         - Fairmont Plaza, 50 W. San Fernando, #675, San Jose, CA  95113
  3212.         - (408)288-4721 and (408)286-4200
  3213.         - FAX: (408)288-4728
  3214.  
  3215.     Nuts & Volts Magazine
  3216.         - A National Publication for the Buying and Selling of
  3217.           Electronic Equipment
  3218.         - 430 Princeland Court, Corona, CA  91719
  3219.         - Mailed third class, USA only:  $17.00 one year
  3220.                                          $31.00 two years
  3221.         - Mailed first class, one year only:  $34.00-USA
  3222.                                               $35.00-Canada/Mexico
  3223.         - Foreign/Air Mail - $70.00;  Foreign/Surface - $39.00
  3224.         - (800)783-4624
  3225.         - Email:  74262.3664@compuserve.com
  3226.  
  3227.  
  3228. 5.2)  Books on the 8051
  3229.  
  3230. 5.2.1)  List of books
  3231.  
  3232.     I don't have information on all of these, only that they exist.  I
  3233.     would greatly appreciate it if someone could provide a short synopsis
  3234.     and the complete book name if you are familiar with any of these
  3235.     titles.
  3236.  
  3237.  
  3238.  
  3239.     The 8051 Family of Microcontrollers
  3240.         - Richard H. Barnett
  3241.         - Prentice-Hall, 1995
  3242.         - ISBN 0-02-306281-9
  3243.  
  3244.     8051 Interfacing and Applications
  3245.         - Applied Logic Engineering
  3246.         - 13008 93rd Place North, Maple Grove, MN  55369
  3247.         - (612)494-3704
  3248.  
  3249.     The 8051 Microcontroller
  3250.         - I. Scott MacKenzie
  3251.         - Prentice Hall
  3252.         - 2nd edition, 1995
  3253.         - ISBN 0-02-373660-7
  3254.         - includes schematics for a single-board computer,
  3255.           assembly-language source code for a monitor program, and
  3256.           interfaces to a keypad, LEDs, and loudspeaker
  3257.  
  3258.     The 8051 Microcontroller
  3259.         - James W. Stewart
  3260.         - Regents/Prentice-Hall, 1993
  3261.         - $27.50, 273 pages
  3262.         - includes many interfacing examples (switches, solenoids,
  3263.           relays, shaft encoders, displays, motors, and A/D converters)
  3264.           and a chapter on top-down design method
  3265.  
  3266.     The 8051 Microcontroller: Architecture, Programming and Applications
  3267.         - Kenneth J. Ayala
  3268.         - 241 pages, soft cover
  3269.         - 5.25" diskette with assembler and simulator
  3270.         - ISBN 0-314-77278-2, Dewey 004.165-dc20
  3271.         - West Publishing Company
  3272.         - P.O. Box 64526, St. Paul, MN  55164
  3273.         - (800)328-9352
  3274.         - see review in next section
  3275.  
  3276.     Assembly Language Programming (for the MCS-51 family)
  3277.         - F. A. Lyn
  3278.         - L. S. Electronic Systems Design
  3279.  
  3280.     Basic-52 Programmer's Guide
  3281.         - Systronix, Inc. (they also sell a Basic compiler)
  3282.  
  3283.     Beginner's Guide
  3284.         - Suncoast Technologies
  3285.  
  3286.     C and the 8051
  3287.         - Thomas W. Schultz
  3288.         - Prentice Hall
  3289.         - ISBN 0-13-753815-4
  3290.  
  3291.     Data book / Handbook / Users' Guide
  3292.         - Advanced Micro Devices
  3293.         - Dallas (User's guide for the DS5000)
  3294.         - Intel
  3295.         - Philips
  3296.         - Siemens
  3297.  
  3298.     Embedded Controller Forth for the 8051 Family
  3299.         - Academic Press (I think)
  3300.         - William H. Payne
  3301.         - uses a Forth development system available on the Internet
  3302.           (see above in the Forth software section)
  3303.  
  3304.     Embedded Systems Programming in C and Assembler
  3305.         - John Forrest Brown
  3306.         - Van Nostrand Reinhold, 1994
  3307.         - 304 pages, $49.95
  3308.         - ISBN 0-442-01817-7
  3309.         - covers Motorola and Intel processors
  3310.         - includes diskette with code from the book
  3311.         - book review in Dr. Dobb's Journal, November 1994, page 121
  3312.  
  3313.     Experimenter's guide
  3314.         - Rigel Corporation
  3315.  
  3316.     Flow Design for Embedded Systems
  3317.         - Barry Kauler
  3318.         - R&D Books / Miller Freeman (USA), 1997
  3319.           distributed in Europe by McGraw-Hill
  3320.         - ISBN 0-87930-469-3
  3321.         - http://www.rdbooks.com/
  3322.         - bundled with a sophisticated graphical diagrammer and CASE
  3323.           tool, K-Flow diagrammer, that runs on Windows 3.1 or 95
  3324.         - source code for the TERSE RTOS is supplied
  3325.  
  3326.     Introduction to Microcontroller Design, Based on the 8051 family of
  3327.     Processors
  3328.         - Business Data Computers
  3329.         - P.O. Box 1549, Chester, CA  96020
  3330.  
  3331.     The Microcontroller Idea Book
  3332.         - Jan Axelson (of Microcomputer Journal fame)
  3333.         - features the 8052-BASIC microcontroller
  3334.         - hands-on guide with complete plans (schematics, design theory,
  3335.           program listings, construction details, etc)
  3336.         - explains how to use sensors, relays, displays, clock/calendars,
  3337.           keypads, wireless links, and more
  3338.         - 1994, 273 pages, $31.95 + shipping
  3339.         - Lakeview Research, 2209 Winnebago St., Madison, WI  53704
  3340.           (608)241-5824
  3341.         - contact the author at jaxelson@lvr.com
  3342.         - WWW: http://www.lvr.com/
  3343.         - Lakeview Research's microcontroller page (resources for
  3344.           8052-Basic projects): http://www.lvr.com/microc.htm
  3345.  
  3346.     Programming and Interfacing the 8051 Microcontroller
  3347.         - Sencer Yeralan and Ashutosh Ahluwalia
  3348.         - wealth of information, including: 8051 architecture,
  3349.           programming basics and techniques, on-chip features, building
  3350.           your own 8051 system, and interfacing to various peripherals
  3351.         - hardware experiments contains plans and code for:  scanning a
  3352.           keypad, stepper motor control, a frequency generator, measuring
  3353.           light and temperature intensity (analog to digital), digital to
  3354.           analog conversion, DC motor speed regulation, interfacing to
  3355.           intelligent Liquid Crystal Displays, and implementing a
  3356.           multi-drop RS-485 network
  3357.         - accompanying diskette has an 8051 simulator and all source code
  3358.           for the projects in the book
  3359.         - must have book for the hobbyist or professional
  3360.         - $34.38, 352 pages, paperback, ISBN 0-201-63365-5
  3361.         - Addison-Wesley
  3362.  
  3363.  
  3364. 5.2.2)  Book reviews
  3365.  
  3366.     My review of the book:
  3367.     Programming and Interfacing the 8051 Microcontroller
  3368.     by Sencer Yeralan and Ashutosh Ahluwalia
  3369.  
  3370.        Addison-Wesley has just released a GREAT new book, "Programming
  3371.        and Interfacing the 8051 Microcontroller" by Sencer Yeralan and
  3372.        Ashutosh Ahluwalia.  I had actually reviewed the manuscript some
  3373.        time back, and the book has now finally been released.  This book
  3374.        contains a wealth of information - it answers a lot of Frequently
  3375.        Asked Questions that often appear in comp.robotics,
  3376.        sci.electronics, and comp.arch.embedded.
  3377.  
  3378.        Among the some of the basic subjects covered include: 8051
  3379.        architecture, programming basics and techniques, on-chip features,
  3380.        building your own 8051 system, and interfacing to various
  3381.        peripherals.  A section on hardware experiments contains plans and
  3382.        code for:  scanning a keypad, stepper motor control, a frequency
  3383.        generator, measuring light and temperature intensity (analog to
  3384.        digital), digital to analog conversion, DC motor speed regulation,
  3385.        interfacing to intelligent Liquid Crystal Displays, and
  3386.        implementing a multi-drop RS-485 network.
  3387.  
  3388.        The book comes with a diskette containing an 8051 simulator and
  3389.        all source code for the projects in the book.  This is a must have
  3390.        book for the hobbyist or professional.  Available for $34.38, 352
  3391.        pages, paperback, ISBN 0-201-63365-5.  Run, don't walk, to your
  3392.        bookstore and get one now.  I mean it, this is a great book.
  3393.  
  3394.  
  3395.     My review of the book:
  3396.     The Microcontroller Idea Book
  3397.     by Jan Axelson
  3398.  
  3399.        This book is loosely based on a series of articles Jan wrote for
  3400.        ComputerCraft magazine (now the Microcomputer Journal).  If you
  3401.        are at all familiar with her work, you already realize that you're
  3402.        wasting your time by reading this review and you might as well
  3403.        just order your copy now.
  3404.  
  3405.        This is an excellent book for hobbyists and tinkerers, as it
  3406.        includes complete circuit schematics and parts lists, design
  3407.        theory, example program listings, construction and debugging tips,
  3408.        and vendor listings.  The example circuits and programs are based
  3409.        on the 8052-BASIC chip (a favorite with hobbyists due to its ease
  3410.        of use), and there is a lot of material on programming in BASIC52.
  3411.        The book is [very] useful even if you use a standard 8051 part.
  3412.        Lots of different interfacing ideas including: sensors, motors,
  3413.        LEDs, LCDs, wireless links, and a LOT more.
  3414.  
  3415.        Chapter titles:  microcontroller basics, inside the 8052-
  3416.        BASIC, powering up, saving programs, programming, inputs and
  3417.        outputs, switches and keypads, displays, using sensors to
  3418.        detect and measure, clocks and calendars, control circuits,
  3419.        wireless links, calling assembly-language routines, running
  3420.        BASIC-52 from external memory, related products
  3421.  
  3422.        If you are just starting out with microcontrollers, and don't have
  3423.        a clue where to start or what to control, this book is just what
  3424.        you need.  As the title of the book says, it's an idea book.
  3425.  
  3426.             The Microcontroller Idea Book
  3427.             Jan Axelson
  3428.             1994, 273 pages, $31.95 + shipping
  3429.             Lakeview Research, 2209 Winnebago St., Madison, WI  53704
  3430.                (608)241-5824
  3431.                Email: jaxelson@lvr.com
  3432.                Web: http://www.lvr.com/
  3433.  
  3434.  
  3435.     My review of the book:
  3436.     The 8051 Family of Microcontrollers
  3437.     by Richard H. Barnett
  3438.  
  3439.        This book VERY thoroughly discusses the design and implementation
  3440.        of controllers using the 8051.  Dick says his book is "lots of
  3441.        meat, very little filler", but he's a bit off the mark here.  What
  3442.        he means to say is this book is many large chunks of meat, no
  3443.        vegetables, and no potatoes - we are NOT talking Hamburger Helper
  3444.        here gang.  The introduction alone contains circuits for 3
  3445.        controllers (one 8085 design used as a comparison).  Many hardware
  3446.        and softare examples are included.  Everywhere you turn in this
  3447.        book, you'll find circuit diagrams and sample code, including
  3448.        complete designs for three different microcontroller projects in
  3449.        the last chapter.  Clear and in-depth coverage of interfacing and
  3450.        peripheral use leaves very little to the imagination.
  3451.  
  3452.        This is a good book for both students and professionals who are
  3453.        trying to figure out how to start designing there own
  3454.        microcontroller.  Experienced hobbyists will also appreciate the
  3455.        many examples.  Novices might be a bit overwhelmed by this book.
  3456.  
  3457.             The 8051 Family of Microcontrollers
  3458.             Richard H. Barnett
  3459.             Prentice-Hall, 1995
  3460.             ISBN 0-02-306281-9
  3461.  
  3462.        For more info contact the author - rbarnett@purdue.edu
  3463.  
  3464.  
  3465.     Richard Kendrick's review of the book:
  3466.     8051 Interfacing and Applications
  3467.     from Applied Logic Engineering
  3468.  
  3469.        IN BRIEF
  3470.  
  3471.        An excellent collection of interfacing circuits and well commented
  3472.        source code in assembly.  This is not a book for beginners as it
  3473.        assumes the user is very familiar with the architecture of the
  3474.        8051 and its registers.  A disk of assembly source code listings
  3475.        is included.
  3476.  
  3477.        CHAPTERS
  3478.  
  3479.              1    - 8051 Interfacing and Applications
  3480.              1.1  - Introduction
  3481.              1.2  - Main System Core
  3482.              1.3  - Simple Methods of User Input
  3483.              1.4  - Interfacing a 16 digit keypad to the 8031
  3484.              1.5  - Centronics Parallel Input Port
  3485.              1.6  - Centronics Parallel Output Port
  3486.              1.7  - Interfacing to the built-in Serial Port
  3487.              1.8  - Interfacing to a Dual Channel UART
  3488.              1.9  - Interfacing to an LCD
  3489.              1.10 - Bank Selection of Memory
  3490.                   - Appendix A: List of Vendors
  3491.                   - Appendix B: Connection to an External Computer
  3492.                      0.1 RS-232 Serial Connection
  3493.                      0.2 Centronics Interface Cabling
  3494.  
  3495.        COMMENTS
  3496.  
  3497.        This spiral bound book is thin (74 pages) but manages to cover a
  3498.        lot of information.  All of the sub-chapters have excellent code
  3499.        listings with full comments, partial schematic diagrams, and an
  3500.        occasional timing diagram.  The chapter on using the serial port
  3501.        is based on the MAX232 chip becoming so popular.  A table of timer
  3502.        reload values is provided to get standard baud rates but the book
  3503.        only mentions the required clock frequency of 11.0592 mHz in the
  3504.        first chapter.  It also doesn't explain why a seemingly
  3505.        non-standard crystal frequency was chosen.  The dual UART channel
  3506.        features the 2681 chip.  The LCD chapter gives a small but
  3507.        adequate explaination of the Hitachi controller chip usage on LCD
  3508.        displays and a tiny fragment of data on display characteristics of
  3509.        LCDs.  The bank selection of memory is useful showing code and
  3510.        schematic using five 62256 chips for 160K bytes of read/write
  3511.        memory.
  3512.  
  3513.  
  3514.     Richard Kendrick's review of the book:
  3515.     Microprocessor/Controller Design
  3516.     by Wayne P. Lichti of Business Data Computers
  3517.  
  3518.        A lame little book better bypassed.  As an introductory text,
  3519.        Kenneth Ayala's book is the winner hands down.  This book is a
  3520.        poor rehash of the same information in Intel's or AMD's data book.
  3521.        There is one code listing in the book and does little more than
  3522.        tell the reader that the 8051 family of processors exist.
  3523.  
  3524.        This book is 134 pages of wasted time.  The schematics were
  3525.        printed on a dot matrix printer and poorly reproduced.  Many of
  3526.        the sections are just a table or a paragraph with two or three
  3527.        sentences.  Use Ayala's book, you'll learn a lot more useful
  3528.        information.
  3529.  
  3530.  
  3531.     John Little's review of the book:
  3532.     The 8051 Microcontroller: Architecture, Programming and Applications
  3533.     by Kenneth J. Ayala
  3534.  
  3535.        IN BRIEF
  3536.  
  3537.        A good book for those who are already moderately familiar with
  3538.        assembly language programming and wish to learn more about 8051
  3539.        specifics.  Has many example listings, all of which are very well
  3540.        documented in terms of comments and explanations in the text. NOT
  3541.        a book for absolute beginners OR hardware hackers looking for
  3542.        circuits and applications.
  3543.  
  3544.  
  3545.        CHAPTERS
  3546.  
  3547.           1 - Microprocessors and Microcontrollers.
  3548.           2 - The 8051 Architecture.
  3549.           3 - Moving Data.
  3550.           4 - Logical Operations.
  3551.           5 - Arithmetic Operations.
  3552.           6 - Jump and Call Opcodes.
  3553.           7 - An 8051 Microcontroller Design.
  3554.           8 - Applications.
  3555.           9 - Serial Data Communication.
  3556.           A - 8051 Operational Code Mnemonics.
  3557.           B - How to Use the Assembler.
  3558.           C - how to Use the Simulator.
  3559.           D - The 8255 Programmable I/O Port.
  3560.           E - Control Registers.
  3561.  
  3562.  
  3563.        COMMENTS
  3564.  
  3565.        In his preface to the book, Mr Ayala states that that it is
  3566.        intended for "... a diverse audience. It is meant for use
  3567.        primarily by those who work in the area of electronic design and
  3568.        assembly language programming of small, dedicated computers".
  3569.        Later, he goes on to refer the reader to the manufacturer's data
  3570.        books for more information on hardware issues. This sets the tone
  3571.        for the whole book, which is very much software orientated.
  3572.  
  3573.        Anyone buying the book expecting to find reams of circuit diagrams
  3574.        and details on how to build their own 8051 driven, automated car
  3575.        assembly plant will be disappointed. In fact, most of the circuits
  3576.        and applications shown are very much conceptual, with generic,
  3577.        black-box outlines for most of the components. The single
  3578.        exception to this is a fairly complete system (8031, EPROM & RAM,
  3579.        jumper selectable memory sizes) in the chapter on microcontroller
  3580.        design.  Even then, there's no I/O shown (the txd/rxd are
  3581.        unconnected).
  3582.  
  3583.        Having said that, Mr Ayala does do a fairly thorough job of
  3584.        working through the peculiarities of the 8051, with detailed
  3585.        coverage of memory organisation, bit/byte level operations,
  3586.        timers, interrupts and, at the end of the book, a complete chapter
  3587.        on 8051 communication modes. Each area has relevant assembly
  3588.        language listings, along with a detailed explanation of the
  3589.        workings of the code.
  3590.  
  3591.        Each section also has highlighted "comment" passages which point
  3592.        out common pitfalls and reinforce critical points. Each chapter
  3593.        ends with a summary of the important points covered and a series
  3594.        of ten to twenty pertinent problems for the reader to solve. For
  3595.        the most part, the answers to the problems can be found in the
  3596.        text.  In later chapters though, the reader is asked to elaborate
  3597.        on various programming themes and to write assembly language
  3598.        programs of their own to perform various tasks. The problems range
  3599.        from the bland "Name twenty items which have a built in
  3600.        microcontroller" (Chapter 1), to the more esoteric "Compose a
  3601.        40-value lookup table that will generate a sawtooth wave using a
  3602.        D/A converter" (Chapter 8).
  3603.  
  3604.        It should be noted that the book is not aimed at the complete
  3605.        novice. For instance, although assembly language listings are used
  3606.        throughout, it is not until Appendix B that the reader finds out
  3607.        what the assembler actually does and how the listings relate to
  3608.        machine code. Even then, the complete neophyte will be left with a
  3609.        rather empty feeling, as there are pages and pages of code, the
  3610.        schematic for a (more or less) complete system and instructions on
  3611.        how to use the assembler, but no information at all on how the
  3612.        object code should be utilised (other than with the included
  3613.        simulator - see below). If you don't already know how to blow an
  3614.        EPROM, you're in trouble.
  3615.  
  3616.        The diskette which accompanies the book contains the PseudoSam
  3617.        assembler (which is used throughout) and an 8051 simulator. Both
  3618.        being intended for use on a PC (it's a measure of how fast the
  3619.        computer industry is evolving that a 5.25 inch diskette seems a
  3620.        little archaic just three years after the publication date of the
  3621.        book).  The PseudoSam assembler ran fine on my system and I was
  3622.        able to assemble several of the examples from the book and
  3623.        successfully run them on a small, home-brew 8031 system. I was
  3624.        totally unable to get the simulator to run. However, as it failed
  3625.        on several different systems I'm prepared to believe that my
  3626.        particular copy of the diskette was at fault.
  3627.  
  3628.  
  3629.        SUMMARY
  3630.  
  3631.        All in all, a recommended book for those who have previous
  3632.        assembly language experience and wish to get to know details
  3633.        relating to the 8051 microcontroller. While the internal
  3634.        architecture of the chip is covered in detail, external hardware
  3635.        and peripheral interfacing is not.  Only the basic 8051/31 is
  3636.        covered, with little mention of the other variants available.
  3637.        There are extensive listings in the text, covering routines for
  3638.        handling keyboards and displays, as well as timing loops and
  3639.        communications. A large, clear typeface ensures that all of the
  3640.        listings are completely legible. The layout and presentation of
  3641.        the book is excellent, with a consistent, unambiguous style used
  3642.        throughout.
  3643.  
  3644.  
  3645.     Tim McDonough's review of the book:
  3646.     C and the 8051: Programming for Multitasking
  3647.     by Thomas W. Schultz
  3648.  
  3649.        Schultz's book provides a brief overview of the 8051 architecture
  3650.        but is primarily a discussion of multi-tasking software in an 8051
  3651.        environment.  He presents quite a few code examples.  The examples
  3652.        and the accompanying text show comparisons of how to accomplish
  3653.        things in assembler, PLM, and C.  The C examples presented are
  3654.        based on Version 3 of the Franklin compiler but should be easily
  3655.        understandable by anyone already familiar with C.
  3656.  
  3657.        Later chapters in the book deal with more advanced topics.
  3658.        Chapters are devoted to Real-Time Ideas, Timing and Scheduling,
  3659.        Communications and Synchronization, Interrupts, Priority, and
  3660.        Context, and Distributed Systems.  The Real-Time Ideas chapter
  3661.        briefly discusses six Real Time Operating System (RTOS) kernels
  3662.        offered by several vendors.  Later in the book some examples are
  3663.        given to simple applications with and without using a RTOS.
  3664.  
  3665.        All in all, a useful addition to my technical library.  It is one
  3666.        of the few 8051 books that goes beyond the basics and would be
  3667.        particularly of interest to those contemplating their first
  3668.        non-trivial 8051 design.
  3669.  
  3670.  
  3671.     My review of the book:
  3672.     Basic-52 Programming
  3673.     by Bruce Boyes, Will Bagley, and Scott Kendall of Systronix, Inc.
  3674.  
  3675.        A must have book for Basic-52 programmers.  The book starts out
  3676.        with an introduction to BASIC-52 programming, program editing, and
  3677.        techniques.  About a hundred of the book's 160 pages are a
  3678.        detailed and quite useful reference of the commands and
  3679.        statements.  Six appendixes covering advanced topics round out
  3680.        this most useful volume.  A quick index to commands, operators,
  3681.        and instructions printed on the back cover of the book is a nice
  3682.        finishing touch.  For only $20.00, it's a bargain at twice the
  3683.        price.  Well, let's not get carried away, but if you're
  3684.        programming in Basic-52, this book is indispensible.
  3685.  
  3686.  
  3687. 5.3)  Miscellaneous documentation on the 8051
  3688.  
  3689.     Advanced Micro Devices
  3690.         - application notes
  3691.  
  3692.     Intel Corporation
  3693.         - application notes
  3694.  
  3695.     L.S. Electronic Systems Design
  3696.         - application notes (source code on diskette and schematics)
  3697.  
  3698.     Philips Semiconductors (Signetics)
  3699.         - application notes
  3700.  
  3701.     Software Science
  3702.         - application notes
  3703.  
  3704.  
  3705. __________________________________________________________
  3706.  
  3707. I disclaim everything.  The contents of this article might be totally
  3708. inaccurate, inappropriate, misguided, or otherwise perverse - except for
  3709. my name (hopefully I got that right).
  3710.  
  3711. Copyright (c) 1997 by Russ Hersch, all rights reserved.
  3712. This FAQ may be posted to any USENET newsgroup, on-line service, or BBS
  3713.   as long as it is posted in its entirety and includes this copyright
  3714.   statement.
  3715. This FAQ may not be distributed for financial gain.
  3716. This FAQ may not be included in commercial collections or compilations
  3717.    without express permission from the author.
  3718.  
  3719. -----------------------------------
  3720. Russ Hersch - russ@shani.net
  3721.