How are you using this book?

I would like feedback

For about 8 years the 3rd and 4th editions of C and the 8051 have been for sale and I’m guessing well over a thousand copies have been sold. Yet in all those years I have never had any feedback on the book…what it is used for…what things you like about it…what things you dislike…which sections do you use and which have you ignored. When I put together the 3rd edition I combined the contents of several earlier books (hardcover, published by Prentice Hall) and took out most of the assembly language to focus on C. In addition I included large sections about multitasking, serial  communications and electronic interfacing. In addition, with the significant improvement in ease of development with the Silicon Labs boards, I narrowed the examples down to two boards in their family (I got to know the boards before the start-up invention company was acquired by SL).

The closest thing to ‘feedback’ I have gotten is the couple of reviews on Amazon (which are mostly positive except for someone who thinks these editions have too many footnotes…clearly based on the earlier editions).

So here’s my request. If you are reading this blog, please either comment below or email me (schultz@pei.sympatico.ca) telling me if you use the book in a class (describe the class a little bit) or for hobbies, or for work (telling us a little about what you do if your company allows). Also, what target hardware do you use. In any case, please  identify what parts of the book are relevant to your uses.

Thank you.

Why the personal computer diverged from the embedded computer

It may surprise you “young” readers to hear that for many years there was no difference between a computer used for dedicated applications and one that could run different programs at different times! When Intel’s 8-bit 8008 gave way to the 16-bit 8086 they also produced the 8-bit-interface 8088; the next step had the 80286 but still had the (I believe 8-bit-interface) 80186; the 80286 led to the 386, and the 486. after “4” the marketing folks substituted “Pentium” for “5”; since then the non-dedicated program market has moved out of sight. Continue reading

Microcontrollers and Emulators

It has been quite some time since integration capabilities first allowed the processor, memory, and I/O to all go on one chip and the name changed from microprocessor to microcontroller

The problem in the early days was the development process–it was quite feasible to get a large quantity of a device built with a fixed program permanently integrated (if you were using a micro in a high-volume application such as an engine controller in an automobile), but getting just one device with a new iteration of a program you were developing was a different matter. Continue reading

Development on a CRT

The biggest leap forward in software development for me was the shift to a development station consisting of a keyboard and a CRT (it was a custom unit produced by Intel in the days before the PC was in existance). It seems to me they cost several thousand dollars. As best I recall the first ones I used were large dark blue boxes that included a slot for a 8″ floppy disk. The marvel was that one could make changes to the assembly (mnemonic) code and reassemble without having to repeat all the steps. If the assembler detected errors you could see them at once and it was a much simpler matter to make a fix or two and immediately re-assemble to see if everything was OK. On top of that the magnetic storage was so much easier and quicker than punched tape. Continue reading

Microprocessors

Those of us old folks who got in on the start of embedded controllers can remember when small-room-sized computers started to have competition from Minicomputers. They were built of multiple circuit boards in an enclosure about the size of a large microwave oven and were the first computers to be uksed for more control-related applications.The computing was done with core chipsets that were 4-bits wide (extremely low level of integration by today’s standards, but the available technology drove the applications). If you wanted a 12-bit processor you laid out 3 sets of processor chips (or 4 sets for 16-bit processing) on circuit boards.

About that time Intel and Motorola (and was it Fairchild and RCA?) began to develop more highly integrated ICs that held more of the processor on a single chip, called microprocessors. Continue reading