Microprocessors are used extensively in the design of any computing facility. It contains units to carry out arithmetic and logic calculations, fast storage in terms of registers and associated control logic to get instructions from memory and execute them. A number of devices can be interfaced with them to develop a complete system application. On the other hand, microcontrollers are single chip computers, integrating processor, memory and other peripheral modules into a single System-on-Chip (SoC). Apart from input-output ports, the peripherals often include timers, data converters, communication modules, and so on. The single chip solution makes the footprint of the computational element small in the overall system package, eliminating the necessity of additional chips on board. However, there exists a large range of such products. While the simpler microcontrollers are cheap, their capabilities (in terms of program size and analog and digital peripherals) are also limited. Such processors may be suitable for small applications. Microcontrollers like 8051, PIC belong to this category. On the other hand, advanced microcontrollers are often much more powerful, comparable to the very advanced microprocessors. The AVR and ARM processors are of this category.
This course will start with a discussion on a simple microprocessor, 8085. Understanding this architecture is the basis to follow any other complex CPU architecture. It will be followed by a complete overview of a range of microcontrollers covering 8051, PIC, AVR and ARM. The hardware intricacies of these processors and their programming will be covered. Different system design examples built around these processors will also be elaborated.
Week 1: Introduction: General processor architecture, Microprocessors, Microcontrollers