In this chapter we describe the fundamental material needed to understand the basic characteristics of microcontrollers. It includes topics such as typical microcontroller architectures, timing signals. An overview of pipelining and RISC vs. CISC, PIC18F functional block diagram is included. Finally, an introduction to programming languages is also covered.
7.1 Basic Blocks of a Microcontroller
In order to understand the functions performed by typical modules contained in a microcontroller, it is necessary to cover the basic blocks of a microcomputer.
A microcomputer has three basic blocks: a microprocessor (CPU on a chip), a memory unit, and an input/output (I/O) unit. Figure 7.1 shows the basic blocks of a microcomputer. A system bus (comprised of several wires) connects these blocks. The CPU executes all the instructions and performs arithmetic and logic operations on data. The CPU of the microcomputer contains all the registers and the control unit, as well as arithmetic-logic circuits of the microcomputer.
A memory unit stores both data and instructions. The memory section typically contains ROM and RAM chips. The ROM can only be read and is nonvolatile; that is, it retains its contents when the power is turned off. A ROM is typically used to store instructions and data that do not change. For ...