Using the popular and pervasive mid-range 8-bit Microchip PICÐ® as an archetype, Microcontroller Programming offers a self-contained presentation of the multidisciplinary tools needed to design and implement modern embedded systems and microcontrollers. The authors begin with basic electronics, number systems, and data concepts followed by digital logic, arithmetic, conversions, circuits, and circuit components to build a firm background in the computer science and electronics fundamentals involved in programming microcontrollers. For the remainder of the book, they focus on PIC architecture and programming tools and work systematically through programming various functions, modules, and devices.
There are two sides to the computer revolution: one is represented by the PC on your desktop and the second one by the device that remote-controls your TV, monitors and operates your car engine, and allows you to set up your answering machine and your microwave oven. At the core of the PC you find a microprocessor, while at the heart of a self-contained programmable device (also called an embedded system) is a microcontroller.
Microcontrollers are virtually everywhere in our modern society. They are found in automobiles, airplanes, toys, kitchen appliances, computers, TVs and VCRs, phones and answering machines, space telescopes, and practically every electronic digital device that furnishes an independent functionality to its user. In this sense a microcontroller is a self-contained computer system that includes a processor, memory, and some way of communicating with the outside world, all in a single chip that can be smaller than a postage stamp.
A microcontroller (sometimes called an MCU) is actually a computer on a chip. Essentially it is a control device and its design places emphasis on being self-sufficient and inexpensive. The typical microcontroller contains all the components and features necessary to perform its functions, such as a central processor, input/output facilities, timers, RAM memory for storing program data and executable code, and a clock or oscillator that provides a timing beat. In addition, some microcontrollers include a variety of additional modules and circuits. Some common ones are serial and parallel communications, analog-to-digital converters, realtime clocks, and flash memory.
Engineers, inventors, experimenters, students, and device designers in general deal with microcontrollers on an everyday basis. In fact, interest in microcontrollers is not limited to electrical, electronic, and computer engineers. Mechanical and automotive engineers, among many others, often design devices or components that contain microcontrollers. The system that controls the hatch of a ballistic missile silo and the one that operates the doglike toy that barks and rolls on its back, both contain microcontrollers.