Email: Password: Remember Me | Create Account (Free)
8051 Tutorial: Introduction

Despite its 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.

I hope the information contained in this document/web page will assist you in mastering 8051 programming. Over the years, I've received many requests for a hardcopy/printed version of this tutorial. As a result of those requests, I wrote The 8051/8052 Microcontroller which was published in September 2005. The book contains all the information contained in these tutorials plus additional information regarding hardware, interfacing, and detailed description of each instruction in the 8052 assembly language. If you find these tutorials easy-to-understand and useful, you may wish to consider purchasing this 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:

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 cant 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 skipped entirely.

In any case, I hope you find this document useful. If you have any questions, comments, or suggestions I welcome them at:

Happy programming!

Craig Steiner (Author)
Contact Craig Steiner

Previous: Tutorial Contents Tutorial Contents Next: Types of Memory