8051 Microcontrollers is one of the most widely used microcontrollers in embedded system design. The second edition of the book discusses its internal architecture, instruction set and interfacing techniques through simple language, excellent graphical annotations and a large variety of solved examples. The latest edition of the book features additional C language based programs for varied applications.
This is a great book, but not everyone will like its style.
Having worked with programming and microcontrollers for decades, I may not be the intended public for this book. It is clearly aimed at the classroom. The subject is divided into small pieces and each chapter follows the structure of objectives, introduction, exposition (with many examples), summary, points to remember, and review questions (evaluate yourself, search for answers, and think and solve). If you are impatient, you may get bored by this (I skipped quite a few pages).
In some places, I found the chapters' divisions a bit too harsh (for example, why not explain multiply and divide with the other arithmetical instructions?).
I also find curious the few times he compared the 8051 to the 8085. The 8085 was the first microprocessor I programmed professionally, but that was back in 1981!
A minor annoyance is that the text would benefit from a revision by a native English speaker (yes, I know this may sound strange coming from a person whose primary language is not English).
Anyway, you will still find today microcontrollers based on the 8051 instruction set, and this book covers a lot of ground so I do recommend this book (along with a little patience).