0% found this document useful (0 votes)
125 views

MCU Architecture & Programming: An Introduction

Microcontrollers are small computers contained on a single chip that contain a processor core, memory, and input/output peripherals. They use RISC or CISC instruction sets and have architectures like Harvard that allow concurrent instruction and data access. Microcontrollers are commonly used in applications like appliances, toys, and embedded systems. They have features like general purpose I/O, timers, serial communication interfaces, and limitations like limited memory. Programming microcontrollers involves languages like assembly and C. Common microcontroller types include PIC, AVR, ARM, and MSP430.

Uploaded by

Marc Neil Apas
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
125 views

MCU Architecture & Programming: An Introduction

Microcontrollers are small computers contained on a single chip that contain a processor core, memory, and input/output peripherals. They use RISC or CISC instruction sets and have architectures like Harvard that allow concurrent instruction and data access. Microcontrollers are commonly used in applications like appliances, toys, and embedded systems. They have features like general purpose I/O, timers, serial communication interfaces, and limitations like limited memory. Programming microcontrollers involves languages like assembly and C. Common microcontroller types include PIC, AVR, ARM, and MSP430.

Uploaded by

Marc Neil Apas
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

MCU Architecture &

Programming
An Introduction
Microcontroller

• is a small computer on a single integrated


circuit containing a processor core,
memory, and programmable input/output
peripherals
MCU Architecture

Memory

I/O Peripherals CPU


Architecture

• some microcontrollers use a Harvard


architecture where;
• separate memory buses for instructions
and data, allowing accesses to take place
concurrently
Instruction Bus

CPU Memory

Data Bus
Data Bus

I/O Harvard Architecture


Instruction Set

• Most MCUs have a RISC (Reduced


Instruction Set Computer) CPU while
some have CISC (Complex Instruction Set
Computer)
CISC vs RISC
• Emphasis on hardware • Emphasis on software

• includes multi-clock • single clock

• complex instructions • reduced instructions only

• Memory-to-memory: • Register-to-register:
"LOAD" and "STORE" "LOAD" and "STORE"

• Small code sizes, high • Low cycles per second, large


cycles per second code sizes

• Transistors used for • Spends more transistors on


storing complex memory registers
instructions
Applications
• automobile engine
systems

• implantable medical
devices

• remote controls

• office machines

• appliances

• toys
Why MCU?

• By reducing the size and cost compared to


a design that uses a separate
microprocessor, memory, and input/output
devices, microcontrollers make it
economical to digitally control even more
devices and processes
General Features

• low power consumption


• uses four-bit words and operate as low as
4 kHz
• ability to retain functionality while waiting
for an event such as a button press or any
interrupt
General Features
• ability for core CPU to sleep thus having as
low nano-watts power consumption
suitable for battery powered devices
• programmable general purpose I/O (GPIO)
ports
• each port can be programmed to a
specific function
General Features

• Programmable Timers
• Watch-Dog Timer (WDT)
• Interrupt Timer
• Programmable Interval Timer (PIT)
• Time Processing Unit (TPU)
General Features

• Other peripherals such as:


• A/D and D/A converters for mixed signal
systems
• Pulse-Width Modulation, Capture and
Compare Modules
General Features
• Communication Systems
• UART
• I2C
• SPI
• Com Buses
• CAN & LIN
Limitations

• MCUs does not have a math co-processor


or floating point processors like most
microprocessor have
• Calculations involving floating point must
be done by software
Limitations

• Unlike non-integrated systems, MCUs have


limited amount of RAM and Program ROM,
though can be expanded with external
memories
MCU Organization
• central processing unit -
ranging from small and simple
4-bit processors to complex
32- or 64-bit processors

• volatile memory (RAM) for


data storage

• ROM, EPROM, EEPROM or


Flash memory for program and
operating parameter storage
MCU Organization
• discrete input and output bits, allowing control
or detection of the logic state of an individual
package pin

• serial input/output such as serial ports (UARTs)

• other serial communications interfaces like I²C,


Serial Peripheral Interface and Controller Area
Network for system interconnect

• peripherals such as timers, event counters, PWM


generators, and watchdog
MCU Organization
• clock generator - often an
oscillator for a quartz timing
crystal, resonator or RC
circuit

• many include analog-to-digital


converters, some include
digital-to-analog converters

• in-circuit programming and


debugging support
Programming
• Microcontrollers were originally
programmed only in assembly language, but
various high-level programming languages
are now also in common use to target
microcontrollers
• The most common high-level language
being used is C
Assembly vs High-Level

MOVLW 03H PORTA = 0x03;


MOVWF PORTA

Code to assign a literal value 03 to register PORTA

*Programming for PIC16F84A


Assembly vs High-Level
• assembly language has a lower memory
footprint than high-level language
• high-level language is much easier to code
than assembly;
• also allows hardware abstraction which
makes programs portable to a different
MCU architecture
Types of
Microcontrollers
• Freescale 68HC11 (8-
bit); Freescale ColdFire
(32-bit) and S08 (8-bit)

• ARM processors (from


many vendors) using
ARM7 or Cortex-M3
cores are generally
microcontrollers
Types of
Microcontrollers
• Zilog eZ8 (16-bit), eZ80 (8-bit)
• NXP Semiconductors [2] LPC1000,
LPC2000, LPC3000, LPC4000 (32-bit),
LPC900, LPC700 (8-bit)
• Atmel AVR (8-bit), AVR32 (32-bit), and
AT91SAM (32-bit)
Types of
Microcontrollers

• PIC (8-bit PIC16,


PIC18, 16-bit
dsPIC33 / PIC24)

PIC16F84A 8-bit MCU


End of MCU
Architecture and
Programming

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy