Page 15 - ARM Based Microcontroller Projects Using MBED
P. 15
CHAPTER
1
Introduction
1.1 OVERVIEW
Microcontrollers are single chip computers that include a minimum of a microprocessor,
memory, and input-output module. Depending on the complexity, some microcontrollers in-
clude additional components such as counters, timers, interrupt control circuits, serial com-
munication modules, analog-to-digital converters, digital signal processing modules, and so
on. Thus, a microcontroller can be anything from a tiny single chip embedded controller to a
large computer system having keyboard, monitor, hard disk, printer, and so on.
A microprocessor is different from a microcontroller in many different ways. The main dif-
ference is that a microprocessor requires several additional external support chips such as
memory and input-output circuits before it can be used as a digital controller. A microcon-
troller on the other hand includes all these support chips on the same chip and that is why it is
called a single chip computer. As a result, multiple chip microprocessor-based computer sys-
tems consume considerably more power than microcontroller-based systems. The costs of the
single chip microcontroller systems are also much lower than the costs of the multiple
chip-based microprocessor systems.
Microprocessors and microcontrollers operate by executing user programs. These pro-
grams are stored in the program memory of the device and consist of instructions that can
be understood and obeyed by the device. The device fetches these instructions from its pro-
gram memory one by one and then implements the required operations. Under the control of
the user program data is received from external input devices (inputs), manipulated as
requested, and then sent to external devices (outputs).
Microcontrollers (and microprocessors) have traditionally been programmed using the as-
sembly language of the target device. The assembly language consists of many mnemonics
where each mnemonic describes a basic instruction that can be carried out by the device. Al-
though the assembly language is very fast, it has many disadvantages. Firstly, because of the
syntax of the assembly language, it is difficult to learn this language. Secondly, processors
developed by different manufacturers have different sets of assembly language instructions.
Even in most cases the processors manufactured by the same manufacturer may have differ-
ent assembly language instruction sets. As a result, the programmer may be required to learn
1
ARM-based Microcontroller Projects Using mbed # 2019 Elsevier Ltd. All rights reserved.
https://doi.org/10.1016/B978-0-08-102969-5.00001-X