The answer is easy: this Microcontroller Basics book, combined with the 89S8252 Flash Board project published by Elektor Electronics.
However, this book offers more than just a basic introduction. It clearly explains the technology using various microcontroller circuits and programs written in several different programming languages. Three microcontrollers from the 8051 family are used in the sample applications, ranging from the simple 89C2051 to the AN2131, which is designed to support USB applications. The programming tools include assemblers, Basic-52 and BASCOM-51, and several C compilers. Every reader can thus find the programming environment most suitable to his or her needs.
In the course of the book, the reader gradually develops increased competence in converting his or her ideas into microcontroller circuitry. All of the sample programs can be downloaded from the Elektor Electronics website or the author’s website. That has the added advantage that the latest versions are always available.