Sei sulla pagina 1di 44

BEE 3213: Microprocessor & Microcontroller

Introduction to the
PIC Microcontroller
Company
LOGO
Company
LOGO Outline
 What is Microcontroller?
 µC vs General-Purpose µP
 A Brief History of PIC µC
 PIC16F84 Features
 PIC Clock Generator
 Reset
 PORTS
 Center Processing Unit (CPU)
 MEMORY ORGANIZATION
 Timer & Prescalar
 Flash Memory
 RAM
 ROM
 EEPROM
Company
LOGO What is Microcontroller?

 Integrated chip that contains CPU, RAM,


some form of ROM, I/O ports, and timers
 Designed for a
very specific task
to control a
particular system
 reduce production
cost
Company
LOGO µC vs General-Purpose µP
Microcontroller Microprocessor
Devices Microchip’s PIC’s Intel’s x86 family (8086,
series, Atmel’s AVR 80286, 80386, 80486 &
series the Pentium) or
(Motorola’s PowerPC
family)
Components Internal CPU, RAM, External RAM, ROM, and
ROM, I/O ports and I/O ports
timers
Application Perform specific Perform more tasks that
function: A small set of related to general
signal processing requirements: calculations
functions for digital of software, personal
signal processor computer
Company
LOGO µC vs General-Purpose µP Cont…

CPU / μP
μC
CPU / μP DATA BUS

Register ALU Register ALU


Serial
RAM ROM I/O Timer
COM

Control Unit

Control Unit ADDRESS BUS

CONTROL BUS
Company
LOGO µC vs General-Purpose µP Cont…

Microprocessor-based System Microcontroller-based System

ROM EEPROM

RAM
Microprocessor

Serial I/O

A/D Input Input Parallel I/O


and and
Analog output output
I/O ports ports Timer
D/A
PWM
Company
LOGO A Brief History of PIC µC

 In 1989, Microchip Technology


Corporation introduced an 8-bit µC called
PIC (Peripheral Interface Controller).
 This 8 pins chip contains a small amounts
of data RAM, a few hundred bytes of on-
chip ROM for program, one timer, and a
few pins for I/O ports.
 The family of 8-bit µC: 10xxx, 12xxx,
14xxx, 16xxx, 17xxx, and 18xxx
Company
LOGO A Brief History of PIC µC Cont…

http://www.microchip.com
Company
LOGO A Brief History of PIC µC Cont…

 They are all 8-bit processors that the CPU


can work on only 8 bits of data a time.
 Problem: not all 100% upwardly
compatible in terms of software when
going from one family to another family.
 Ex.: 12xxx - 12-bit wide instructions
16xxx- 14-bit wide instructions
PIC18xxx - 16-bit wide with many
new instructions
Company
LOGO A Brief History of PIC µC Cont…

Advantages of PIC:
 30 to 100 times faster than other µCs
(program memory is integrated to the chip)
 Smaller size (on-board memory)
 Easy to program, reusable and
inexpensive
Company
LOGO A Brief History of PIC µC Cont…

Architecture:

Program &
CPU Data Memory
Von Neumann architecture

Data Program
Memory CPU Memory
Harvard architecture
Company
LOGO Review
1. A C normally has which of the following
devices on-chip?
(a) RAM (b) ROM (c) I/O (d) all of the above

2. A general-purpose microprocessor normally


needs which of the following devices to be
attached to it?
(a) RAM (b) ROM (c) I/O (d) all of the above

3. The PIC16 has a(n) ___-bit P.


Company
LOGO PIC16F84 Features

 18 pins, DIP18 type (Dual in Package) or


SMD type

Remarks:
RA0 - RA3 : Pins on port A. No additional function
RA4 : TOCK1 which functions as a timer
RB0 : Interrupt input is an additional function.
RB1 - RB5 : Pins on port B. No additional function.
RB6 : 'Clock' line in program mode.
RB7 : 'Data' line in program mode
MCLR : Reset input and Vpp programming voltage
Vss : Ground of power supply.
Vdd : Positive power supply pole.
OSC1 - OSC2 : Pins for connecting with oscillator.
Company
LOGO PIC16F84 Features Cont…

Block
diagram of
PIC16F84
Company
LOGO PIC Clock Generator

To provide a clock for executing a program


or program instructions of C.
Types of PIC clock generator:
A crystal & two capacitors
Resonators or external resistor-capacitor pair
Built-in resistor-capacitor
Company
LOGO PIC Clock Generator Cont…

 PIC16F84 can operate in four different


oscillation modes:
- LP low power crystal
- XT crystal/resonator
- HS high speed crystal/resonator
- RC resistor/capacitor
 Two configuration bits, FOSC1 & FOSC0
are used to select one of these four
modes
Company
LOGO PIC Clock Generator Cont…

Crystal Oscillator/Ceramic Resonators


 For XT, LP or HS OSC configurations
 Crystal or ceramic resonator is connected to the
OSC1/CLKIN & OSC2/CLKOUT pins
Company
LOGO PIC Clock Generator Cont…

External clock input operations

A parallel cut crystal is used to design


PIC16F84A
The use of a series cut crystal may give a
freq. out of the crystal manufacturer’s
specifications
Company
LOGO PIC Clock Generator Cont…

Capacitor selection for ceramic resonators

Capacitor selection for crystal resonators


Company
LOGO PIC Clock Generator Cont…

RC Oscillator

 Reduce cost for timing insensitive applications


 Variation of the oscillator frequency:
- operating temperature
- process parameter variation
- difference in lead frame capacitance between package types (low
CEXT values)
- tolerance of the external R & C components
Company
LOGO Reset
 Power-on Reset (POR) Value registers upon reset
 MCLR during normal operation Register Reset value (hex)
 MCLR during SLEEP PC 000000
 WDT Reset (during normal WREG 00
operation) SP 00
 WDT Wake-up (during SLEEP) TRISA-TRISB FF
Company
LOGO Review
1. Which pin is used to reset the PIC16F84 chip?
2. Upon power-up, the program counter (PC) has a
value of ____.
3. Upon power-up, the PIC16F84 fetches the first
opcode from ROM address location _____.
4. MCLR is an active-_____ (LOW, HIGH) pin.
5. How many Vdd and Gnd pins are in the
PIC16F84 chip?
6. In the PIC16, the program counter is ____ bits
wide.
Company
LOGO PORTS

 Physical connection of CPU and outside


world – monitor @ control other
components @ devices
 A group of pins which can be accessed
simultaneously @ set the desired
combination of zeros and ones
 All port pins can be designated as input @
output
Company
LOGO PORTS: PORTA & TRISA
 PORTA is a 5-bit wide, bi-directional port
 TRISA: data direction register of PORTA
 TRISA = 1, PORTA
is an input (output
driver in HI-
impedance mode)
 TRISA = 0, PORTA
is an output
(contents of the
output latch on the
selected pin)
Company
LOGO PORTS: PORTB & TRISB
 PORTB is a 8-bit wide, bi-directional port
 TRISB: data direction register of PORTB
 TRISB = 1, PORTB
is an input (output
driver in HI-
impedance mode)
 TRISB = 0, PORTB
is an output
(contents of the
output latch on the
selected pin)
Company
LOGO Review
1. There are total of ____ ports in the PIC16F84.
2. True or false. All of the PIC16F84 ports have 8
pins.
3. List the PIC16F84 port that has 8 pins.
4. True or false. Upon power-up, the I/O pins are
configured as output ports.
5. To make Port B an output port, we must place
____ in register _____.
6. To make Port B an input port, we must place
____ in register _____.
Company
LOGO Center Processing Unit (CPU)
 The brain of the C
 Connect all parts of the C through a data bus
& and an address bus
 Find, fetch, decode & execute the right
instruction
 CPU resources:
 Registers: store temporary information
 ALU: performing arithmetic functions

 Program counter: point to the address of the next

instruction to be executed
 Instruction decoder: interpret the instruction

fetched into the CPU


Company
LOGO Center Processing Unit (CPU)

Temporary
storage Fetch
instruction
Memory opcode
11 00xx 0010 0000
MOVLW 0x20
Decoder execute

Program Fetch
instruction
Memory

Assembler (translator)
Company
LOGO Center Processing Unit (CPU)Cont…
Arithmetic Logic Unit (ALU)
 Add, subtract, move (left @ right within a register) and
logic operations
 PIC16F84 contains an 8-bit ALU & 8-bit working
registers (WREG)
 ALU instructions: two operands @ one operand
 Two operands: WREG + file register @ immediate
constant
 Registers: GPR (General Purposes Registers) & SFP
(Special Function Registers)
 One operand: WREG @ a file register
 Execution of ALU instructions can affect STATUS bits
which are carry (C), digit carry (DC), and zero (Z).
Company
LOGO Center Processing Unit (CPU)Cont…

WREG 8-bit literal (from


register instruction word)

8-bit
8-bit
Carry bit

STATUS
ALU register

Z, DC, C flags
8-bit
Company
LOGO MEMORY ORGANIZATION

 PIC16F84 has two separate memory


blocks: data & program
 Data block: GPR and SFP registers in
RAM memory (read/write memory- static
memory), EEPROM memory
 Program block: FLASH memory
Company
LOGO

Memory
organization
of
PIC16F84
Company
LOGO MEMORY ORGANIZATION: Program Memory

 Used for storing programs (opcodes), directly under


control of program counter (PC)
 Wake up memory (address 0000H) when PIC is
powered up.
 Has been carried out in FLASH technology (indicated by
the letter F in the part number, C for one-time programmable (OTP)):
possible to program a C many times
 Size of 1024 locations, 14 bits width
 Locations 0000h & 0004h are reserved for reset &
interrupt vector, respectively
 The 1st 1Kx14 (0000h-03FFh) are physically
implemented address
 Accessing a location of physically implemented address
will cause a wraparound
Company
LOGO MEMORY ORGANIZATION: Program Memory
Company
LOGO MEMORY ORGANIZATION: Data Memory

 Also known as file register: data storage, scratch pad & registers for internal
use and functions
 Special Function Registers (SFR)
- 8-bit wide
- ALU status, timers, serial communication, I/O ports, ADC, & etc.
- function of each SFR is fixed in design, used to control C or peripheral
- access either directly (names @ addresses) or indirectly (FSR – File Select
Register)
- classified into core and peripheral sets
- control bits (RP1, RP0) in STATUS register are used for bank selection
 General Purpose Registers (GPR)
- 8-bit wide
- also called general purpose RAM (GP RAM)
- used for data storage & scratch pad
- accessed directly
- addresses in Bank 0 & Bank 1 are mapped together
 Location of SFR and GPR vary from chip to chip, even among
members of the same family
Company
LOGO

Data Memory
Organization
Company
LOGO

SFR File
Memory
Legend: x = unknown, u = unchanged, - = unimplemented, read as '0', q = value depends on condition
Note
1: The upper byte of the program counter is not directly accessible. PCLATH is a slave register for PC<12:8>. The contents of PCLATH can be
transferred to the upper byte of the program counter, but the contents of PC<12:8> are never transferred to PCLATH.
2: The TO and PD status bits in the STATUS register are not affected by a MCLR Reset.
3: Other (non power-up) RESETS include: external RESET through MCLR and the Watchdog Timer Reset.
4: On any device RESET, these pins are configured as inputs.
5: This is the value that will be in the port output latch.
Company
LOGO Review
1. True or false. Every member of the PIC16
family, regardless of the program ROM size,
wakes up at memory 0000H when it is powered
up.
2. What is the main difference between the
PIC16Fxxx and PIC16Cxxx C?
3. The GPR and SFR together are called ____.
4. The SFR registers in PIC are ___-bit.
5. The data memory in PIC16 is divided into
____-byte banks.
Company
LOGO Timer & Prescalar
 Establish relation between a real dimension such as
“time” and a variable which represents status of a time
within a microcontroller
 PIC16F84 has an 8-bit timer, whose its value is
continually increasing to 255 and then it starts all over
again: 0, 1, 2, 3, …, 255, 0, 1,… etc
 Prescaler divides oscillator clock before it reaches logic
that increases timer status.
 The first three bits in OPTION register defines divisor
 256 is the highest divisor, means timer clock would
increase by one at every 256th clock
Company
LOGO Timer & Prescalar Cont…
Company
LOGO Flash Memory
 Store permanent information on some palm-
sized computers (operating system & core
applications)
 Unlike RAM (random-access memory), flash
memory can continue to store information in the
absence of a power source.
 Unlike ROM (read-only memory), we can
write/update to flash memory
 More expensive than ROM
Company
LOGO RAM

 Random-access memory
 The most common computer memory to
perform necessary tasks while the
computer is on
 An integrated circuit memory chip allows
information to be stored or accessed in
any order and all storage locations are
equally accessible.
Company
LOGO ROM
 Read Only Memory
 Non-volatile: hold programs and data that must
be retained even the computer is turned off
 data cannot be easily written to ROM; depending
on the technology used in the ROM, writing may
require special hardware, or may be impossible.
 A computer's BIOS may be stored in ROM.
Company
LOGO EEPROM
Electrically Erasable Programmable Read Only
Memory
ROM that can be erased electronically and
reprogrammed in-circuit (or with a device
programmer).
EEPROM is very similar to flash memory. The
biggest difference is that the bytes (words) of an
EEPROM can be erased individually.

Potrebbero piacerti anche