8051 Tutorial: Introduction
 
 
Despite it’s relatively old age, the 8051 is one of the most popular microcontrollers in 
use today.  Many derivative microcontrollers have since been developed that are based 
on--and compatible with--the 8051.  Thus, the ability to program an 8051 is an important 
skill for anyone who plans to develop products that will take advantage of 
microcontrollers.
Many web pages, books, and tools are available for the 8051 developer. 
I hope the information contained in this document/web page will assist you in 
mastering 8051 programming.  While it is not my intention that this document 
replace a hardcopy book purchased at your local book store, it is entirely 
possible that this may be the case.  It is likely that this document contains 
everything you will need to learn 8051 assembly language programming.  Of 
course, this document is free and you get what you pay for so if, after 
reading this document, you still are lost you may find it necessary to buy a 
book. 
This document is both a tutorial and a reference tool.  The various chapters of 
the document will explain the 8051 step by step.  The chapters are targeted at people 
who are attempting to learn 8051 assembly language programming.  The appendices are 
a useful reference tool that will assist both the novice programmer as well as the 
experienced professional developer. 
This document assumes the following: 
 
- A general knowledge of programming.
 - An understanding of decimal, hexidecimal, and binary number systems.  For some background information
    on these number systems, try this link.
 - A general knowledge of hardware.
  
That is to say, no knowledge of the 8051 is assumed--however, it is assumed you’ve done 
some amount of programming before, have a basic understanding of hardware, and a firm 
grasp on the three numbering systems mentioned above.  The concept of converting a 
number from deciminal to hexidecimal and/or to binary is not within the scope of this 
document--and if you can’t do those types of conversions there are probably some 
concepts that will not be completely understandable.
This document attempts to address the need of the typical programmer.  For 
example, there are certain features that are nifty and in some cases very useful--but 
95% of the programmers will never use these features.  To make this document more 
applicable to the general programming public some details may be skimmed over very 
briefly--or not at all. 
In any case, I hope you find this document useful.  If you have any questions, comments, 
or suggestions I welcome them at: csteiner@vaultbbs.com. 
Happy programming! 
Craig Steiner (Author)
 
  
 
 
 
 
(C) Copyright 1997 - 2001 by Vault Information Services.  All Rights Reserved. 
Information provided "as-is" without warranty.  Please see details. 
Contact us for usage and copy permission. 
 
 |