From comp.robotics Sun Aug 7 03:09:28 1994 Newsgroups: comp.sys.intel,comp.robotics,comp.realtime,comp.lang.forth,sci.electronics,comp.answers,sci.answers,news.answers Path: nw.com!pagesat.net!pagesat.net!decwrl!hookup!yeshua.marcam.com!MathWorks.Com!news.duke.edu!eff!usenet.ins.cwru.edu!news.ecn.bgu.edu!psuvax1!news.pop.psu.edu!news.cac.psu.edu!newsserver.jvnc.net!nntp.gmd.de!dearn!barilvm!aristo.tau.ac.il!sibit From: sibit@datasrv.co.il (Sibit) Subject: 8051 microcontroller FAQ Message-ID: <1994Aug4.082638.24112@aristo.tau.ac.il> Followup-To: poster Summary: This article is a collection of information sources on the Intel 8051 family of microcontrollers (and variants). Sender: usenet@aristo.tau.ac.il (USENET) Organization: Tel-Aviv University Computation Center X-Newsreader: TIN ]version 1.2 PL2( Date: Thu, 4 Aug 1994 08:26:38 GMT Approved: news-answers-request@MIT.EDU Lines: 1595 Xref: nw.com comp.sys.intel:1612 comp.robotics:1030 sci.electronics:5304 Archive-name: microcontroller-faq/8051 Posting-Frequency: monthly This article is a collection of information sources on the Intel 8051 family of microcontrollers (and variants). The following topics are addressed: 0) Rantings and ravings (to make the FAQ zero-based) 1) ABOUT THIS FAQ 1.1) Who put this FAQ together? 1.2) How can I contribute to this FAQ? 1.3) What newsgroups will this FAQ be posted to? 1.4) May I distribute this FAQ or post it somewhere else? 1.5) How about FAQs on other microcontrollers? 2) ABOUT THE 8051 2.1) The 8051 microcontroller 2.2) 8051 representatives and approximate prices 2.3) Advantages realized in implementing control applications with this family of microcontrollers 3) 8051 PRODUCTS 3.1) FTP sites 3.2) BBSs 3.3) Free languages and development tools 3.4) Free C compilers 3.5) Commercially available products 4) 8051 DOCUMENTATION 4.1) Periodicals 4.2) Books 4.3) Miscellaneous documenation 5) What's next. 0) Rantings and ravings Well boys and girls, Cecil Moore of Intel has informed me that the Intel FTP site is finally starting to shape up. I checked it out and found some interesting items. The address is ftp.intel.com : /pub/mcs51. A couple items of note: RISM51X and ECM51.EXE found at /pub/mcs51/tools These two programs together constitute a bare-bones method of developing 80C51 system code without an emulator. RISM51X is installed in the target system and connected to a host PC system through a serial port. The host PC runs the debugger ECM51.EXE. Once the system has been debugged, RISM can be removed and the target can be run in stand-alone mode. ACE51FX.EXE found at /pub/mcs51/80c51fx A development system for the 8Xc51fx series of chips (with built-in PCA). I just received a copy of Intel Development Tools Handbook from MW Media. If you're into microcontroller development in a big way, this book can help. A very nice summary of the commercial development tools available for the 8051, 8096, and 80186 product lines. Thanks to all of you who've been in touch with information for the FAQ - "I get by with a little help from my friends." Take care, Uncle Russ 1) ABOUT THIS FAQ 1.1) Who put this FAQ together? I was prompted to put this FAQ together in response to my own frustration in searching for information, and to the constant occurrence of requests for information on this subject in various newsgroups. Hopefully others won't need to go through what I did. Normally, I spend all day programming in assembler on an IBM PC. With my hobbyist hat on I decided to try my hand at a little microcontroller project design. When it came time to start, I had no idea what to do. I had nothing to start with - no assembler, no programming language, no simulator. I cobbled together a simulator to help me learn about the workings of the chip. It's not being made available to the public since I'm afraid the simulator isn't very good. It was for my own use, so the user interface (there is none) really sucks eggs. I decided to search the net for information on the 8051. This list was compiled the hard way, logging onto every anonymous ftp site I could find and looking around. I also used Archie, other FAQs and lists, and every reference to the 8051 that appeared in the various news groups. It took a long time till stuff finally started popping up. I saved all of my notes and the result was the first version of this FAQ. Responses have been pouring in, and the result is a much more complete and thorough FAQ. 1.2) How can I contribute to this list? I please ask that if you have any suggestions or additions, or you would like to correct any of the information contained herein, please send me a note. My Email address is: sibit@datasrv.co.il My Snail-Mail address is: Russ Hersch HaVradim 11 Ginot Shomron ISRAEL The list of individuals who have sent suggestions and encouragement has finally overflowed. I hope it suffices to say "Thank you to all who have contributed to this FAQ - we all appreciate it." New contributors: Chris Burian Doug Girling Ken Anderson of ChipTools, Inc. Larry Grieve Special thanks to: Cecil A. Moore of Intel Carl Wall (hope your wife has luck with her pea patch, Carl) Christophe (Xtof) Huygens Simon Yates and Addison-Wesley Rigel Systems I certainly hope that those of you who know of interesting items for the 8051 will share with everyone by contributing to this list. For such a popular chip, I have to believe that there is a lot more out there than there appears to be. If you are a manufacturer and have an anonymous ftp site available that supports the 8051, please let me know by E-Mail so that I can add it to this FAQ. 1.3) What newsgroups will this FAQ be posted to? This FAQ will be posted to the following newsgroups: comp.sys.intel comp.realtime comp.robotics comp.lang.forth sci.electronics These newsgroups often contain discussions, announcements, or information on the 8051. Check them out from time to time. The schedule for posting will be once a month. I can't promise that it will be on time, but I hope to post it on the 26th of each month. You might also want to check out the following newsgroups, since they occasionally have items of interest for you 8051 users. comp.lang.misc alt.comp.hardware.homebuilt 1.4) May I post this FAQ to my local BBS? For those of you with sharp eyes or a better command of grammar than myself, you might have noticed that this question was originally "Can I post...". Of course you "can". The question should have read "May...". I am putting no restrictions on the use of this FAQ except - It must be distributed in its entirety with the copyright notice, and no financial gain may be realized from it. After all, I have spent, and continue to spend, a lot of time on this. The only thing that I intend to gain from it is more information on the 8051, and getting to know my fellow 8051 groupies better. For this reason I have appended a copyright statement to the end of this FAQ. I feel pretty silly doing this, but I just want to protect myself. The copyright does not limit the use of this list for noncommercial purposes. I hereby give my permission to one and all to pass this list around and post it wherever you want - as long as it is not for financial gain. Thank you. 1.5) How about FAQs on other microcontrollers? If anyone wishes to start a FAQ on another microcontroller, please feel free to copy the format of this FAQ - I don't intend on copyrighting the look and feel ;-). With a common format, we will all benefit when trying to find information on a particular microcontroller. If anyone has any comments on the format itself, I'm open for suggestions. Tom Kellett has started a FAQ on the PIC microcontroller line and I've just started FAQ on the 68hc11 and a general microcontroller FAQ. They all use the same format. Hopefully this will lead towards a much needed collection of microcontroller FAQs. Other Microcontroller FAQs Subject: PIC microcontrollers Newsgroups: comp.realtime comp.robotics sci.electronics Maintainer: Tom Kellett Tom@takdsign.demon.co.uk Subject: 68hc11 microcontrollers Newsgroups: comp.realtime comp.robotics sci.electronics Archive: rtfm.mit.edu : /pub/usenet/comp.answers/microcontroller-faq/68hc11 /pub/usenet/sci.answers/microcontroller-faq/68hc11 /pub/usenet/news.answers/microcontroller-faq/68hc11 Maintainer: Russ Hersch Email: sibit@datasrv.co.il Subject: Microcontroller primer and FAQ Newsgroups: comp.sys.intel comp.realtime comp.robotics sci.electronics alt.comp.hardware.homebuilt Archive: rtfm.mit.edu : /pub/usenet/comp.answers/microcontroller-faq/primer /pub/usenet/sci.answers/microcontroller-faq/primer /pub/usenet/news.answers/microcontroller-faq/primer Maintainer: Russ Hersch Email: sibit@datasrv.co.il Additional FAQs of interest Subject: Robotics Newsgroups: comp.robotics Maintainer: Kevin Dowling (412)268-8830 Email: nivek@ri.cmu.edu Smail: Carnegie Mellon University The Robotics Institute Pittsburgh, PA 15213 Subject: Electronics Newsgroups: sci.electronics Maintainer: Filip Gieszczykiewicz Email: filip@smi.med.pitt.edu FAQ subject: Real-time Newsgroups: comp.realtime, comp.answers, news.answers Archive: rtfm.mit.edu : pub/usenet/comp.realtime Maintainer: Mark Linimon Lonesome Dove Computing Services Roanoke, Virginia Email: linimon@nominil.lonesome.com. For more detailed information on various 8051 microcontroller parts, see the article posted to comp.robotics and sci.electronics which provides a tabular cross reference of features and pin counts on a wide range of microcontrollers (including the 8051 family). This list was compiled and is being maintained by Roger Nelson . For more information on various microcontrollers and their features, refer to the Microcontroller primer and FAQ listed above. 2) ABOUT THE 8051 2.1) The 8051 microcontroller The 8051 is a microcontroller originally developed by Intel. There are many manufacturers providing many different variants. A typical 8051 contains: - CPU with boolean processor - 5 or 6 interrupts: 2 are external 2 priority levels - 2 or 3 16-bit timer/counters - programmable full-duplex serial port (baud rate provided by one of the timers) - 32 I/O lines (four 8-bit ports) - RAM - ROM/EPROM in some models The 8051 architecture is a tad bizarre, but then so are the architectures of most microcontrollers due to their specialization (check out the PIC for creativity) . One vexing problem with the 8051 is its very non-orthogonal instruction set - especially the restrictions on accessing the different address spaces. However, after some time programming the chip, you can get used to it - maybe even appreciate it. One strong point of the 8051 is the way it handles interrupts. Vectoring to fixed 8-byte areas is convenient and efficient. Most interrupt routines are very short (or at least they should be), and generally can fit into the 8-byte area. Of course if your interrupt routine is longer, you can still jump to the appropriate routine from within the 8 byte interrupt region. The 8051 instruction set is optimized for the one-bit operations so often desired in real-world, real-time control applications. The boolean processor provides direct support for bit manipulation. This leads to more efficient programs that need to deal with binary input and output conditions inherent in digital-control problems. Bit addressing can be used for test pin monitoring or program control flags. 2.2) 8051 representatives and approximate prices (in USD $) There are many, many varieties of 8051 out there. This is only a small sampling of the Intel chips. Intel has many other varieties and other manufacturers produce a mind boggling array of 8051 parts. 8031 (128 bytes RAM)...................................3.59 80C31 (CMOS version of previous).......................6.95 8051AH (256 bytes RAM).................................6.95 8051AHBASIC (w/Basic interpreter built in)............29.95 8751 (4K EPROM, 128 bytes RAM)........................26.95 87C51 (CMOS version of previous)......................39.95 2.3) Advantages realized in implementing control applications on this family of microcontrollers Popular - readily available and widely supported, a full range of free and commercial support products is available Fast and effective - the architecture correlates closely with the problem being solved (control systems), specialized instructions mean that fewer bytes of code need to be fetched and fewer conditional jumps are processed Low cost - high level of system integration within one component, only a handful of components needed to create a working system 3) 8051 SOFTWARE This section includes descriptions and references to free and commercial software for the 8051. FTP sites and BBSs contain many quality packages and code samples for free. For heavy duty use, you might prefer the many commercial packages that are available. With the public domain (or free) stuff, you're usually on your own. The commercial packages usually provide extensive documentation and support. 3.1) FTP sites The following is a list of the various anonymous ftp sites that have 8051 source code and programming languages. There are many others that are not listed here that contains bits and pieces. Usually you can find them using Archie and searching for "8051", "AS31", "ASM51", "MCS-51", "MCS51", and stuff like that. ftp.pppl.gov (formerly lyman.pppl.gov) - this is a great source of 8051 stuff /pub/8051 /pub/incoming - check this out for new untested/unsorted items ftp.funet.fi (nic.funet.fi) - this is a great one, too /pub/compilers/8051 /pub/microprocs/MCS-51 other subdirectories in /pub/microprocs include: 1802, 6805, 6811, 8048, 8096 and many other microprocessors ftp.mcc.ac.uk - this is a new 8051 ftp site info@circellar.com - Email (not ftp) - send Email to get information file on services available - all Circuit Cellar INK and BYTE related files available ftp.luth.se /pub/languages/assembler ftp.intel.com /pub/mcs51/tools - contains various development tools /pub/mcs51/80c51fx - contains development system for 8xc51fx series of microcontrollers which have PCA (programmable counter array) built-in - not as good as one would hope or think, in fact not any good at all for the 8051 - according to insiders at Intel, this is slated to be improved - the last time I checked (Jun 23, 1994) there were a number of new directories: mcs51, mcs96, and others - ALL EMPTY. asterix.inescn.pt - FORTH archive /pub/forth/8051 hpcsos.col.hp.com /mirrors/.hpib0/forth/8051 /misc/ns32k/beowulf/a-8051 /mirrors/.hpib0/forth/eForth 130.123.96.9 giovanni/51forth.zip ftp.kulnet.kuleuven.ac.be /pub/MCS-51/keil-demo csd4.csd.uwm.edu - no longer supports 8051, don't even try soon to come (really!)... Philips Semiconductor ftp site 3.2) BBSs The following BBSs have 8051 information: Blue Earth Research - support for their line of microcontroller boards - (507)387-4007 Circuit Cellar, Inc. - contains code from their magazine articles and from the original Circuit Cellar articles in Byte magazine, also contains many other interesting items - The BBS is mentioned in the masthead of each issue (on the table of contents page). Excerpts from the BBS appear in Ken Davidson's ConnecTime column in every issue with a description of how to access the system at the end of every column. - (203)871-1988 - Voice: (203)875-2751 - Fax: (203)872-2204 Crossware Products - +44 763 261716 Dunfield Development Systems - support for their Micro-C and development tools - (613)256-5820 - 24 hours a day with touch tone Electronics Now - contains code from their magazine articles - (516)293-2283 - 1200/2400, 8N1 Intel American Marketing Applications Support Bulletin Board System - 16 lines, hi-speed modems (14.4K) - Lots of useful info and files (including design examples)! - Full ANSI-BBS with color is recommended, but support for just about all terminal types is provided - 916-356-3600 (24 hours) Auto config: 1200 thru 14.4K Baud 8 data bits, no parity, 1 stop Philips Semiconductor (parent company of Signetics) - support for: standard logic, programmable logic, in-car electronics (planned), 8 and 16 bit microcontrollers, I2C software, third party software, discrete semiconductors, cross assemblers (general), RF (planned) - PHIBBS is located in the Netherlands: +31-40-721102 - maximum 14400 baud / V42bis - 24 hours a day available - Help desk: +31-40-722749 (9.00 AM - 16.00 PM CET) PseudoCorp - support for their line of simulators and assemblers - (804)873-4838 Signetics (Philips Semiconductors) - support for their 8051 variants - contains many good source code items - partially mirrored on ftp.pppl.gov and nic.funet.fi - (800)451-6644 or (408)991-2406 Systronix Inc. - support for their line of development tools - (801)487-2778 3.3) Free languages and development tools The following is a list of the languages and development tools that I could find on the net. Nearly all of them include source code, however not all are public domain. Assembler Program: ML-ASM51.ZIP Description: MetaLink's 8051 family macro assembler Location: ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs Program: A51.ZIP Description: PseudoSam 8051 Cross Assembler Location: ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs Program: AS31.ZIP Description: C source for an 8051 assembler, and a simple monitor Author: Ken Stauffer Location: ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs ftp.uu.net oak.oakland.edu : /pub/msdos/crossasm/as31.zip many other locations (use Archie to find) Program: CUG292WK.ZIP Description: C source for a cross assembler, includes 8051 Author: Alan R. Baldwin Location: oak.oakland.edu : /pub/msdos/crossasm pc.usl.edu : /pub/msdos/systools many other locations (use Archie to find) Program: Frankenstein Description: C source for a cross assembler, includes 8051 Author: Mark Zenier Location: ftp.njit.edu : /pub/msdos/frankasm/FRANKASM.ZOO lth.se : /pub/netnews/alt.sources/volume90/dec ftp.uni-kl.de : /pub1/unix/languages/frankenstein.tar.Z many other locations (use Archie to find) Program: CAS 8051 assembler Description: Experimental one-pass assembler for the 8051 with C-like syntax. Includes assembler, linker and disassembler. Author: Mark Hopkins Location: ftp.pppl.gov : /pub/8051/assem ftp.funet.fi : /pub/microprocs/MCS-51/csd4-archive/assem Program: a51 Description: Portable cross assembler (source in C), other processors available Author: William C. Colley, III Location: hpcsos.col.hp.com : /misc/ns32k/beowulf/a-8051 Basic Program: BAS051.ZIP Description: Converts IBM BASIC to 8051 assembly (compiler) Author: Winefred Washington Location: ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/8051/signetics-bbs Program: BASIC-52.ZIP Description: Source files for BASIC-52 interpreter Author: Intel Corporation, Embedded Controller Operations Location: ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs Program: BASIC31.ZIP Description: BASIC-52 interpreter for 8031/8051 in external EPROM Author: Intel w/ changes by Dan Karmann Location: ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs Program: TB-51.ZIP Description: TinyBASIC for 8031 Author: JHW (from Intel InSite library) w/ fixes by Tom Schotland Location: ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs Program: TB51ML23.ZIP Description: MetaLink ASM compatible tiny BASIC Author: adapted for MetaLink assembler by Jim Lum Location: ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs Forth Program: EFORTH51.ZIP Description: eFORTH environment for the 8051 Author: C. H. Ting Location: ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs asterix.inescn.pt : /pub/forth/8051 hpcsos.col.hp.com : /mirrors/.hpib0/forth/eForth Program: FORTH51.ZIP (FORTH86.ZIP used as host) Description: FORTH development system for 8051 with PC host Author: William H. Payne, the author of "Embedded Controller Forth for the 8051 Family" Location: ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs asterix.inescn.pt : /pub/forth/8051 hpcsos.col.hp.com : /mirrors/.hpib0/forth/8051 Program: XD8051.ZIP Description: Development environment for use with F-PC Forth Author: Paulo A.D. Ferreira Location: ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs Program: 51FORTH.ZIP Description: Subroutine threaded Forth Author: Scott Gehmlich Location: hpcsos.col.hp.com : /mirrors/.hpib0/forth/8051 130.123.96.9 : /giovanni/51forth.zip Program: FORTH552.ZIP Description: A Non-Standard Forth System for the Signetics 80C552 Author: Alberto Pasquale Location: hpcsos.col.hp.com : /mirrors/.hpib0/forth/8051 Development systems Program: 8051.zip Description: Many development tools including: debugger, monitor, LCD and stepper moter driver, communications, host client, and much more. This is a great collection of tools. Author: Mark Hopkins Location: ftp.pppl.gov : /pub/8051 ftp.funet.fi : /pub/microprocs/MCS-51/csd4-archive Program: RISM and ECM51.EXE compatible host system Description: RISM is a reduced instruction set monitor and ECM51.EXE is its compatible host system for a PC Comments: These two programs together constitute a bare-bones method of developing 80C51 system code without an emulator. RISM51X is installed in the target system and connected to a host PC system through a serial port. The host PC runs the debugger ECM51.EXE. Once the system has been debugged, RISM can be removed and the target can be run in stand-alone mode. Author: Intel Location: ftp.intel.com : /pub/mcs51/tools Program: ApBUILDER 2.0 Description: Development system for the Intel MCS-51(R) family (also for the MCS-96(R) family, 80x186, and 80x386 embedded microcontrollers). Comments: Requires Windows 3.1 APBUILDR.TXT - description in ASCII APBDISK1.EXE - binary self-extracting file for disk 1 APBDISK2.EXE - binary self-extracting file for disk 2 Author: Intel Location: ftp.intel.com : /pub/mcs51 and /pub/mcs96 Program: FXDSMAN.EXE Description: 8xC51Fx data sheets and manual in Windows 3.1 hypertext style Comments: binary self-extracting file for one diskette Author: Intel Location: ftp.intel.com : /pub/mcs51/80c51 Program: sim51d Description: Shareware Simulator in German DM 50 to register for full version Author: Werner Hennig-Roleff Location: ftp.pppl.gov : /pub/8051/hannover 3.4) Free C compilers The following two compilers are useful only for evaluation and tinkering. Both compilers only output assembler code, and they do not include libraries. The Keil C compiler evaluation package is available as a freeware C compiler. It can be downloaded from: ftp.kulnet.kuleuven.ac.be : /pub/MCS-51/keil-demo Thanks to Christofe Huygens for setting this up. A freeware version of the Hi-Tech C compiler is available from: Circuit Cellar BBS - file name Z8051H83.EXE ftp.pppl.gov : /pub/incoming/Z8051H83.EXE design.fen.qut.edu.au : /hitech Thanks to Chris Burian for posting the information on this and for uploading it to ftp.pppl.gov. Mark Hopkins (of CAS assembler and 8051.ZIP fame) says he is working on a C compiler. No word yet on when it might be available - but, hope is on the horizon. I have heard many good things about the Dunfield C compiler and development system. Although not freeware, the low price ($150 for the development system, $100 for the compiler by itself) and the good reviews make this a package worth looking at. I still haven't heard anything to substantiate the rumors of a Small-C or GNU port for the 8051. Anyone have the poop on this? 3.5) Commercially available products Many firms (large and small) offer a variety of 8051 microcontroller variants, programming languages, support packages, and development systems. No endorsement is implied by inclusion in this list. I do have some experience with the Dallas DS5000 (very convenient and easy to use). I have made an attempt to include as many companies as possible. I apologize to those I left out; It's only because I didn't know about you. If you want to be included in this list, just drop me a line - please. Any corrections appreciated. C compilers - 2500 A.D. - Archimedes Software (compiler, assembler, debugger, real-time kernel, ROM monitor, libraries for special 8051's to set SFR, embedded I/O devices, A/D, etc.) - Avocet Systems (repackaging of the Hi-Tech Software C compiler) - BSO/Tasking - Crossware Products - Dunfield Development Systems (low cost) - Franklin Software (same as Keil Electronics C) (compiler, assembler, debugger, real-time kernel, ROM monitor, libraries for special 8051's to set SFR, embedded I/O devices, A/D, etc.) - Hi-Tech Software (high compliance to ANSI C, available for DOS and soon for SUN) - Intermetrics Microsystems Software, Inc. (Whitesmith's compiler, assembler, and C source level debugger) - Keil Electronics - Micro Computer Control (low cost) - Nohau Corporation (sells and supports Franklin C) - Okapi Systems - Signum Systems Basic compilers - Binary Technology, Inc. - Systronix Inc. Pascal - Scientific Engineering Labs PL/M - Boston Systems Office - Intel Corporation 8051 and variants - Advanced Micro Devices - Dallas Semiconductor - Intel Corporation - Matra Harris Semiconductor - Philips Semiconductors - Siemens - Signetics Corporation Board level products - Advanced Educational Systems (AES) complete learning system (board, LCD, keypad, A/D, D/A, etc) - Binary Technology, Inc. - Blue Earth Research - Circuit Cellar Inc. - DataCraft International - Dunfield Development Systems - EE Systems - Forth, Inc. - HiTech Equipment Corp. - L.S. Electronic Systems Design - Parallax, Inc. - Prologic Designs - Rigel Corporation - Software Science - Suncoast Technologies - URDA, Inc. Assemblers - 2500 A.D. - Archimedes Software - Boston Systems Office - Crossware Products - Cybernetics Microsystems - Dunfield Development Systems - Intel Corporation - Keil Electronics - Lear Com Company - Metalink - Micro Computer Control - Microtek Research - Nohau Corporation - Okapi Systems - Parallax, Inc. - PseudoCorp - Raven Computer Systems - Signum Systems - Sysoft SA Forth - AM Research (features a kernel of less than 700 bytes) - Forth, Inc. A cross-development product for the 8051 family which includes a board and extensive documentation. - Forth Systeme - MPE: MicroProcessor Engineering Ltd. A cross-development product for the 8051 family which includes a board and extensive documentation. - Offete Enterprises 8051 eForth (C. H. Ting -- $25.00). "A small ROM based Forth system ... Source code is in MASM IBM 5.25 disk With 8051 eForth Implementation Note." ROM Monitor-based Debuggers - ChipTools (ChipView-51 looks like turbo debugger) - Dunfield Development Systems Simulators - 2500 A.D. - Avocet Systems - ChipTools (on a 33 MHz 486 their simulator matches the speed of a 12 MHz 8051) - Cybernetic Micro Systems - Dunfield Development Systems - HiTech Equipment Corp. - Keil Electronics - Lear Com Company - Microtek Research - PseudoCorp Emulators - American Automation - Applied Microsystems - ChipTools (front end for Nohau's emulator) - Hewlett-Packard - HiTech Equipment Corp. - Huntsville Microsystems - Kontron Electronics - MetaLink Corporation - Nohau Corporation - Orion Instruments - Philips (pseudo-ICE) - Signum Systems - Sophia Systems - Zax Corporation - Zitek Corporation Real-time - Byte-BOS Integrated Systems small, prioritized, preemptive real-time kernel - Embedded System Products (formerly A.T. Barrett and Associates) ROMable embedded-system kernel: source provided. Provides programming interface identical on all target platforms. Basic, advanced, and extended library packages available. - JMI Software Systems, Inc. small, prioritized, preemptive real-time kernel - U S Software multitasking executive Miscellaneous - Dallas Semiconductor evaluation/development kit for their DS5000 (very nice) - Electronic Product Design, Inc. development system (integrated package with assembler, project manager, text editor, programmer) - Parallax, Inc. programmers 2500 A.D. 109 Brookdale Ave. Box 480 Buena Vista, CO 81211 (719)395-8683 Advanced Educational Systems (AES) 1407 North Batavia Street Orange, CA 92677 (800)730-3232 (714)744-0981 Fax: (714)744-2693 Advanced Micro Devices 901 Thompson Place PO Box 3453 Sunnyvale, CA 94088-3000 (408)732-2400 American Automation 2651 Dow Avenue Tustin, CA 92680 (714)731-1661 AM Research, Loomis, CA. (916) 652-7472 or (800)949-8051 Applied Microsystems 5020 148th Ave. N.E. PO Box 97002 Redmond, WA 98073-9702 Archimedes Software 2159 Union St. San Francisco, CA 94123 (415)567-4010 Ashling Microsystems Ltd Plessey Technological Park Limerick Ireland +353 61 334466 Fax: +353 61 334477 or Ashling Microsystems Ltd Butler House 19-23 Market Street Maidenhead Berkshire UK +0628 773070 Fax: 0628 773009 Avocet Systems 120 Union St. Rockport, ME 04856 (800)448-8500 (207)236-9055 Binary Technology, Inc. PO Box 541 Carlisle, MA 01741 (508)369-9556 Fax: (508)369-9549 Blue Earth Research 165 W. Lind Ct. Mankato, MN 56001-0400 (507)387-4001 Fax: (507)387-4008 BBS: (507)387-4007 Boston Systems Office 128 Technology Center Waltham, MA 02254-9164 (617)894-7800 BSO/Tasking (800)458-8276 or (617)320-9400 Business Data Computers PO Box 1549 Chester, CA 96020 Byte-BOS Integrated Systems P.O. Box 3067 Del Mar, CA 92014 (800)788-7288 (619)755-8836 ChipTools Inc Voice:905-274-6244 Fax:905-891-2715 IP: chiptool@hookup.net Circuit Cellar Inc. 4 Park St. Vernon, CT 06066 (203)875-2751 Fax: (203)872-2204 Crossware Products 2 The Lawns, Melbourn Royston Herts SG8 6BA UK +44 763 261539 Fax: +44 763 262983 BBS: +44 763 261716 Email: sales@crossware.com Cybernetic Micro Systems Box 3000 San Gregorio, CA 94074 (415)726-3000 Dallas Semiconductor 4401 S. Beltwood Parkway Dallas, TX 75244-3292 (214)450-0448 Fax: (214)450-0470 DataCraft International 2828 Ione Dr. San Jose, CA 95132 (800)873-3709 (408)259-4866 Dunfield Development Systems PO Box 31044 Nepean, Ontario K2B 8S8 Canada (613)256-5820 Fax: (613)256-5821 Email: ddunfield@bix.com also Micro Amps Ltd 66 Smithbrook Kilns Cranleigh, Surrey UK GU6 BJJ Tel: 0483 268999 Fax: 0483 268397 EE Systems 50935 Hill Dr. Elkhart, IN 46514 (219)296-1754 Fax: (219)522-4271 Electronic Product Design, Inc. 6963 Bluebelle Way Springfield, OR 97478 (503)741-0778 Embedded System Products (formerly A.T. Barrett and Associates) 11501 Chimney Rock Houston, TX 77035-2900 (800)525-4302 (713)728-9688 Fax: (713)728-1049 Forth, Inc. 1-800-55FORTH Forth Systeme P.O. Box 1103 Breisach, Germany 7767-551 Franklin Software (408)296-8051 Hewlett-Packard 1501 Page Mill Rd. Palo Alto, CA 94304 HiTech Equipment Corp. 9400 Activity Rd. San Diego, CA 92126 (619)566-1892 Fax: (619)530-1458 Hi-Tech Software PO Box 103 Alderly QLD 4051 Australia (+61-7) 300 5011 Fax: (+61-7) 300 5246 Email: hitech@hitech.com.au Hitex (UK) Ltd Sir William Lyons Road Science Park Coventry CV4 7EX +0203 692066 Fax: 0203 692131 Huntsville Microsystems 4040 S. Memorial Parkway PO Box 12415 Huntsville, AL 35802 Intel Corporation 3065 Bowers Ave. Santa Clara, CA 95051 Technical Help: 800-628-8686 (USA/Canada only) 5 am to 5 pm PST Internet: james_sampson@ccm.hf.intel.com Faxback support: 800-628-2283 (USA/Canada) touch tone phones only Will only FAX to USA/Canada locations English or Japanese support is available BBS: 916-356-3600 Auto config: 1200 thru 14.4K Baud (24 Hr. BBS) Settings: 9600,N,8,1 (NO parity, 8 data, 1 stop) Intermetrics Microsystems Software, Inc. 733 Concord Ave. Cambridge, MA 02138 (617)661-0072 Fax: (617)868-2843 JMI Software Systems, Inc. P.O. Box 481 904 Sheble Lane Spring House, PA 19477 (215)628-0840 Fax: (215)628-0353 KEIL ELEKTRONIK GmbH Bretonischer Ring 15 D-85630 Grasbrunn b. Muenchen Germany 089-465057 Fax: 089-468162 Kontron Electronics D-8057 Eching/Munich Oskar von Miller Str. 1 Germany (0 81 65) 77-0 Lear Com Company 2440 Kipling St. Suite 206 Lakewood, CO 80215 (303)232-2226 Fax: (303)232-8721 L.S. Electronic Systems Design 2280 Camilla Rd. Mississauga, Ontario Canada L5A 2J8 (905)277-4893 Fax: (905)277-0047 Matra Harris Semiconductor 2840-100 San Tomas Expressway Santa Clara, CA 95051 (408)986-9000 MetaLink Corporation 325 E. Elliot Road Chandler, AZ 85255 (800)638-2423 (602)926-0797 Fax: (602)926-1198 also MetaLink Europe GmbH Westring 2, 8011<85614> Kirchseeon-Eglharting (08091)2046 Fax: (08091)2386 Micro Computer Control PO Box 275 Hopewell, JN 08525 (609)466-4116 MicroMint 4 Park St. Vernon, CT 06066 (203)875-2751 Fax: (203)872-2204 Microtek International, Inc. 3300 N.W. 211th Terrace Hillsboro, OR 97124 (503)645-7333 Fax: (503)629-8460 also Microtek Electronics Europe GmbH Starnberger Strasse 22 82131 Gauting bei Munchen +49(89)893139-30 Fax: +49(89)893139-50 MPE: MicroProcessor Engineering Ltd. 133 Hill Lane, Shirley Southampton SO1 5AF U.K. (+44) 703-631441 fax: (+44) 703-339691 Email: U.S. dealer is AMICS Enterprises. phone: (716)461-9187 Canadian dealer is Universal Cross-Assemblers phone: (506)847-0681. Nohau Corporation 51 E. Campbell Ave. Campbell, CA 95008 (408)866-1820 (408)378-2912 (24 hr. information center) Fax: (408)378-7869 Offete Enterprises, Inc. 1306 South B Street San Mateo, CA 94402 (415) 574-8250 Okapi Systems (206)258-1163 Orion Instruments 180 Independence Drive Menlo Park, CA 94025 (800)729-7700 Fax: (415)327-9881 Parallax, Inc. 6200 Desimone Lane, #69A Citrus Heights, CA 95621 (916)721-8217 Prologic Designs PO Box 19026 Baltimore, MD 21204 (410)661-5950 Fax: (410)661-5950 PseudoCorp 716 Thimble Shoals Blvd. Newport News, VA 23606 (804)873-1947 Fax: (804)873-2154 BBS: (804)873-4838 Raven Computer Systems PO Box 12116 St. Paul, MN 55112 (612)636-0365 Rigel Corporation PO Box 90040 Gainesville, FL 32607 Scientific Engineering Labs 255 Beacon St., Suite 3D Somerville, MA 02143 (617)625-0288 Siemens Components, Inc. Integrated Circuit Division 10950 N. Tantau Ave. Cupertino, CA 95014 (800)777-4363 Signetics Corporation 811 E. Arques Ave. PO Box 3409 Sunnyvale, CA 94088-3409 Signum Systems Mountain View, CA (415)903-2220 also Thousand Oaks, CA (805)371-4608 Software Science 3570 Roundbottom Rd. Cincinnati, OH 45244 Sophia Systems NS Bldg. 2-4-1 Nishishinjuku, Shinuku-ku Tokyo 160, Japan 03-348-7000 Suncoast Technologies PO Box 5835 Spring Hill, FL 34606 (904)596-7599 Sysoft SA 6926 Montagnola Switzerland (091)543195 Systronix Inc. 555 S. 300 E. Salt Lake City, UT 84111 (801)534-1017 Fax: (801)534-1019 BBS: (801)487-2778 URDA, Inc. (800)338-0517 (412)683-8732 U S Software (503)641-8446 Fax: (503)644-2413 Zax Corporation 2572 White Road Irving, CA 92714 (800)421-0982 (714)474-1170 Zitek Corporation 1651 East Edinger Ave. Santa Ana, Ca 92705 (714)541-2931 4) 8051 DOCUMENTATION 4.1) Periodicals that cover the 8051 Various magazines and journals (journals seems to be THE popular name for magazines these days) provide articles from time to time on the 8051 family of microcontrollers: The Computer Applications Journal (Circuit Cellar Ink) - programming and construction articles - POB 7694, Riverton, NJ 08077-8784 - FAX: (203)872-2204 - Voice orders: (609) 786-0409 - On-line orders (BBS): (203) 871-1988 - Email orders: ken.davidson@circellar.com - $21.95, $31.95 surface Canada and Mexico, $49.95 air all other countries Computer Design - industry announcements and trends - One Technology Park Drive, P.O. Box 990, Westford, MA 01886 - (508)692-0700 The Computer Journal - programming and construction articles - PO Box 535, Lincoln 96648 Dr. Dobbs Journal - programming articles, concepts, and designs - 411 Borel Ave., San Mateo, CA 94402 - (415)358-9500 Electronic Engineering Times - industry announcements and trends - 500-B Bi-County Boulevard, Farmingdale, NY 11735 - (516)293-3000 Electronics Now - construction articles - Box 55115, Boulder, CO 80321-5115 - $19.97 one year Elektor Electronics - programming and construction articles - World Wide Subscription Service Ltd Unit 4, Gibbs Reed Farm, Pashley Road Ticehurst TN5 7HE, England - 27 UK pounds or - Old Colony Sound Lab, P.O. Box 243, Peterborough, NH 03458 - Tel. (603) 924-6371, 924-6526 - Fax: (603) 924-9467 - $57 USA and Canada per year Embedded Systems Programming - programming and systems design articles - Miller Freeman Publications - 500 Howard St., San Francisco, CA 94105 - (415) 397-1881 Microcomputer Journal (formerly Computer Craft) - programming and construction articles - 76 N. Broadway, Hicksville, NY 11801 - $18.95 one year, foreign $23.00, foreign air mail $76.00 Midnight Engineering - 1700 Washington Ave., Rocky Road, CO 81067 - (719)254-4553 Nuts & Volts Magazine - A National Publication for the Buying and Selling of Electronic Equipment - 430 Princeland Court, Corona, CA 91719 - Mailed third class, USA only: $17.00 one year $31.00 two years - Mailed first class, one year only: $34.00-USA $35.00-Canada/Mexico - Foreign/Air Mail - $70.00; Foreign/Surface - $39.00 - (800)783-4624 - Email: 74262.3664@Compuserve.com 4.2) Books on the 8051 4.2.1) List of books I don't have information on all of these, only that they exist. I would greatly appreciate it if someone could provide a short synopsis and the complete book name if you are familiar with any of these titles. 8051 Interfacing and Applications - Applied Logic Engineering - 13008 93rd Place North, Maple Grove, MN 55369 - (612)494-3704 The 8051 Microcontroller - I. Scott MacKenzie - Macmillan Publishing Company, 1992 The 8051 Microcontroller - James W. Stewart - Prentice Hall, 1993 The 8051 Microcontroller: Architecture, Programming and Applications - Kenneth J. Ayala - 241 pages, soft cover - 5.25" diskette with assembler and simulator - ISBN 0-314-77278-2, Dewey 004.165-dc20 - West Publishing Company - P.O. Box 64526, St. Paul, MN 55164 - (800)328-9352 - see review in next section 8051 Product Directory - MW Media - Fairmont Plaza, 50 W. San Fernando, #675, San Jose, CA 95113 - (408)286-4200 - FAX: (408)288-4728 Assembly Language Programming (for the MCS-51 family) - F. A. Lyn - L. S. Electronic Systems Design Basic-52 Programmer's Guide - Systronix, Inc. (they also sell a Basic compiler) - address above Beginner's Guide - Suncoast Technologies C and the 8051 - ISBN 0-13-753815-4 - Thomas W. Schultz - Prentice Hall Data book / Handbook / Users' Guide - Advanced Micro Devices - Dallas (User's guide for the DS5000) - Intel - Siemens Embedded Controller Forth for the 8051 Family - Academic Press (I think) - William H. Payne - uses a Forth development system available on Internet (see above in the Forth software section) Experimenter's guide - Rigel Corporation Intel Development Tools Handbook, 2nd Edition (Support Solutions for Intel's Embedded Microprocessor) - MW Media - Fairmont Plaza, 50 W. San Fernando, #675, San Jose, CA 95113 - (408)286-4200 - FAX: (408)288-4728 - Survey of commercial development tools for the 8051, 8096, and 80186 lines of Intel microprocessors. This document could very well be a "must" if you're into serious development using one of these chips. If you are "just" a hobbyist, see how the "other half" lives. Introduction to Microcontroller Design, Based on the 8051 family of Processors - Business Data Computers - P.O. Box 1549, Chester, CA 96020 4.2.1) Book reviews John Little's review of the book: The 8051 Microcontroller: Architecture, Programming and Applications by Kenneth J. Ayala IN BRIEF A good book for those who are already moderately familiar with assembly language programming and wish to learn more about 8051 specifics. Has many example listings, all of which are very well documented in terms of comments and explanations in the text. NOT a book for absolute beginners OR hardware hackers looking for circuits and applications. CHAPTERS 1 - Microprocessors and Microcontrollers. 2 - The 8051 Architecture. 3 - Moving Data. 4 - Logical Operations. 5 - Arithmetic Operations. 6 - Jump and Call Opcodes. 7 - An 8051 Microcontroller Design. 8 - Applications. 9 - Serial Data Communication. A - 8051 Operational Code Mnemonics. B - How to Use the Assembler. C - how to Use the Simulator. D - The 8255 Programmable I/O Port. E - Control Registers. COMMENTS In his preface to the book, Mr Ayala states that that it is intended for "... a diverse audience. It is meant for use primarily by those who work in the area of electronic design and assembly language programming of small, dedicated computers". Later, he goes on to refer the reader to the manufacturer's data books for more information on hardware issues. This sets the tone for the whole book, which is very much software orientated. Anyone buying the book expecting to find reams of circuit diagrams and details on how to build their own 8051 driven, automated car assembly plant will be disappointed. In fact, most of the circuits and applications shown are very much conceptual, with generic, black-box outlines for most of the components. The single exception to this is a fairly complete system (8031, EPROM & RAM, jumper selectable memory sizes) in the chapter on microcontroller design. Even then, there's no I/O shown (the txd/rxd are unconnected). Having said that, Mr Ayala does do a fairly thorough job of working through the peculiarities of the 8051, with detailed coverage of memory organisation, bit/byte level operations, timers, interrupts and, at the end of the book, a complete chapter on 8051 communication modes. Each area has relevant assembly language listings, along with a detailed explanation of the workings of the code. Each section also has highlighted "comment" passages which point out common pitfalls and reinforce critical points. Each chapter ends with a summary of the important points covered and a series of ten to twenty pertinent problems for the reader to solve. For the most part, the answers to the problems can be found in the text. In later chapters though, the reader is asked to elaborate on various programming themes and to write assembly language programs of their own to perform various tasks. The problems range from the bland "Name twenty items which have a built in microcontroller" (Chapter 1), to the more esoteric "Compose a 40-value lookup table that will generate a sawtooth wave using a D/A converter" (Chapter 8). It should be noted that the book is not aimed at the complete novice. For instance, although assembly language listings are used throughout, it is not until Appendix B that the reader finds out what the assembler actually does and how the listings relate to machine code. Even then, the complete neophyte will be left with a rather empty feeling, as there are pages and pages of code, the schematic for a (more or less) complete system and instructions on how to use the assembler, but no information at all on how the object code should be utilised (other than with the included simulator - see below). If you don't already know how to blow an EPROM, you're in trouble. The diskette which accompanies the book contains the PseudoSam assembler (which is used throughout) and an 8051 simulator. Both being intended for use on a PC (it's a measure of how fast the computer industry is evolving that a 5.25 inch diskette seems a little archaic just three years after the publication date of the book). The PseudoSam assembler ran fine on my system and I was able to assemble several of the examples from the book and successfully run them on a small, home-brew 8031 system. I was totally unable to get the simulator to run. However, as it failed on several different systems I'm prepared to believe that my particular copy of the diskette was at fault. SUMMARY All in all, a recommended book for those who have previous assembly language experience and wish to get to know details relating to the 8051 microcontroller. While the internal architecture of the chip is covered in detail, external hardware and peripheral interfacing is not. Only the basic 8051/31 is covered, with little mention of the other variants available. There are extensive listings in the text, covering routines for handling keyboards and displays, as well as timing loops and communications. A large, clear typeface ensures that all of the listings are completely legible. The layout and presentation of the book is excellent, with a consistent, unambiguous style used throughout. 4.3) Miscellaneous documentation on the 8051 Advanced Micro Devices - application notes Intel Corporation - application notes L.S. Electronic Systems Design - application notes (source code on diskette and schematics) Philips Semiconductors (Signetics) - application notes Software Science - application notes 5) What's next I'm still working on making this FAQ *.answers compliant. When this is done, it will also be posted to news.answers, comp.answers, sci.answers, and will also be archived. __________________________________________________________ Copyright (c) 1994 by Russell Hersch, all rights reserved. ----------------------------------- Russ Hersch - sibit@datasrv.co.il