REVIEW - Microcontroller Projects in C for the 8051


Microcontroller Projects in C for the 8051


Dogan Ibrahim



Newnes (2000)




Chris Hills


April 2001



Master these projects and you have the basic building blocks for most 8051 programs.

This is an unusual 8051 book. It is an introductory book but skips most of the usual hardware things like hex, binary and a detailed description of the Harvard architecture. What the book does have is 24 simple but complete 8051 projects. These are split in to four categories; light, sound, temperature and serial communication.

The projects are basic and some are adaptations of a previous project. The light projects start with simply flashing an LED, the first sound project operates a buzzer. This is the key to the book. These simple projects are easy to complete, the hardware is simple, the parts required are few and the software is short. Later projects, some of the temperature ones for example, get more involved using an LED readout and a buzzer for an alarm.

Anyone who can solder a few parts to a bread-board and has access to a C51 compiler and an Atmel programmer can do these projects. Not only do all the projects have C source code but pseudo code and an overall description as well. I would expect all novices to understand these programs.

The underlying skills this book picks up on are using the IO ports, timing and creating pulses, using the A to D converter and crucially the RS232 port, both polled and interrupt driven. Master these projects and you have the basic building blocks for most 8051 programs. The serial projects will probably be used as is by most readers in all their future projects for years to come.

Most students and Engineers will find that they need additional information on the 8051 architecture and data sheets for specific 8051 parts but this book will actually get you up and running with a flashing light or buzzer. Actually most of the missing information will be found on the Keil C51 Demo CD

On the down side there are some minor niggles, omissions and points I would argue. For example FLASH is referred to as PEROM. However, by the time these minor things become a problem the reader will have mastered the basics and be looking for a book that looks at the 8051 in more depth.

There are two main omissions. First is that there is no clear description or diagram of the Harvard architecture. This could cause a problem, as a clear understanding of the five memory spaces and their uses is somewhat important. Though it could be argued that getting the first program ruining is more important.

The second omission is that the source code is not available in electronic form with the book. I expect that politely emailing the author at will get you an electronic copy.

There is one possible major problem for readers. The target part used in all the examples is the Atmel AT89C2051. This uses on chip FLASH. The reader will either need an Atmel programmer or master ISP programming and hardware (See the Atmel application notes on their web site A further handicap is that the demo (free) version of the Industry Standard 8051 compiler (Keil C51) does not work with this particular part. If the reader uses any other 8051 and external EPROMS for the CODE space the projects will still work and any demo (free) compiler can be used. Also EPROM programmers are usually easier to find. The programs will run on the free simulator though.

I would have liked to see some suggested further projects for the readers to do themselves. Combining one of serial comms with one of the temperature projects (with the buzzer and LCD output) to build complete systems. The building blocks are all there and the reader should have no trouble doing this.

Recommended with reservations.

Book cover image courtesy of Open Library.

Your Privacy

By clicking "Accept All Cookies" you agree ACCU can store cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

By clicking "Share IP Address" you agree ACCU can forward your IP address to third-party sites to enhance the information presented on the site, and that these sites may store cookies on your device.