Chp4 introduction to the pic microcontroller copy

44
Company LOGO Introduction to Introduction to the PIC the PIC Microcontroller Microcontroller BEE 3213: Microprocessor & Microcontroller

description

 

Transcript of Chp4 introduction to the pic microcontroller copy

Page 1: Chp4 introduction to the pic microcontroller   copy

Company

LOGO

Introduction to Introduction to the PIC the PIC

MicrocontrollerMicrocontroller

BEE 3213: Microprocessor & Microcontroller

Page 2: Chp4 introduction to the pic microcontroller   copy

Company

LOGO OutlineOutline

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

Page 3: Chp4 introduction to the pic microcontroller   copy

Company

LOGO What is Microcontroller?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

Page 4: Chp4 introduction to the pic microcontroller   copy

Company

LOGO µC µC vs General-Purpose vs General-Purpose µµPP

Microcontroller Microprocessor

Devices Microchip’s PIC’s series, Atmel’s AVR series

Intel’s x86 family (8086, 80286, 80386, 80486 & the Pentium) or (Motorola’s PowerPC family)

Components Internal CPU, RAM, ROM, I/O ports and timers

External RAM, ROM, and I/O ports

Application Perform specific function: A small set of signal processing functions for digital signal processor

Perform more tasks that related to general requirements: calculations of software, personal computer

Page 5: Chp4 introduction to the pic microcontroller   copy

Company

LOGO µC µC vs General-Purpose vs General-Purpose µµPP Cont…

CPU / μP

RegisterRegister

Control UnitControl Unit

ALUALU

DATA BUSCPU / μP

Register

Register

Control UnitControl Unit

ALUALU

ADDRESS BUS

CONTROL BUS

μC

RAM ROM I/O TimerSerial COM

Page 6: Chp4 introduction to the pic microcontroller   copy

Company

LOGO µC µC vs General-Purpose vs General-Purpose µµPP Cont…

Mic

ropr

oces

sor

EEPROM

RAM

Inputand

outputports

Serial I/O

Parallel I/O

Timer

PWM

Inputand

outputports

A/D

D/A

AnalogI/O

ROM

Mic

ropr

oces

sor

EEPROM

RAM

Inputand

outputports

Serial I/O

Parallel I/O

Timer

PWM

Inputand

outputports

A/DA/D

D/AD/A

AnalogI/O

ROM

Microprocessor-based System Microcontroller-based System

Page 7: Chp4 introduction to the pic microcontroller   copy

Company

LOGO A Brief History of PIC µCA 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

Page 8: Chp4 introduction to the pic microcontroller   copy

Company

LOGO A Brief History of PIC µCA Brief History of PIC µC Cont…

http://www.microchip.com

Page 9: Chp4 introduction to the pic microcontroller   copy

Company

LOGO A Brief History of PIC µCA Brief History of PIC µC

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

Cont…

Page 10: Chp4 introduction to the pic microcontroller   copy

Company

LOGO A Brief History of PIC µCA Brief History of PIC µC

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

Cont…

Page 11: Chp4 introduction to the pic microcontroller   copy

Company

LOGO A Brief History of PIC µCA Brief History of PIC µC

Architecture:

Cont…

CPUProgram &

Data MemoryVon Neumann architecture

CPUProgram Memory

Data Memory

Harvard architecture

Page 12: Chp4 introduction to the pic microcontroller   copy

Company

LOGO ReviewReview

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.

Page 13: Chp4 introduction to the pic microcontroller   copy

Company

LOGO PIC16F84 FeaturesPIC16F84 Features

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

Remarks:RA0 - RA3: Pins on port A. No additional functionRA4 : TOCK1 which functions as a timerRB0 : 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 modeMCLR : Reset input and Vpp programming voltageVss : Ground of power supply.Vdd : Positive power supply pole.OSC1 - OSC2 : Pins for connecting with oscillator.

Page 14: Chp4 introduction to the pic microcontroller   copy

Company

LOGO PIC16F84 FeaturesPIC16F84 Features Cont…

Block Block diagram of diagram of PIC16F84PIC16F84

Page 15: Chp4 introduction to the pic microcontroller   copy

Company

LOGO PIC Clock GeneratorPIC 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

Page 16: Chp4 introduction to the pic microcontroller   copy

Company

LOGO PIC Clock GeneratorPIC 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

Page 17: Chp4 introduction to the pic microcontroller   copy

Company

LOGO PIC Clock GeneratorPIC 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

Page 18: Chp4 introduction to the pic microcontroller   copy

Company

LOGO PIC Clock GeneratorPIC Clock Generator Cont…

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

External clock input operations

Page 19: Chp4 introduction to the pic microcontroller   copy

Company

LOGO PIC Clock GeneratorPIC Clock Generator Cont…

Capacitor selection for ceramic resonators

Capacitor selection for crystal resonators

Page 20: Chp4 introduction to the pic microcontroller   copy

Company

LOGO PIC Clock GeneratorPIC 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

Page 21: Chp4 introduction to the pic microcontroller   copy

Company

LOGO ResetReset Power-on Reset (POR) MCLR during normal operation MCLR during SLEEP WDT Reset (during normal

operation) WDT Wake-up (during SLEEP)

Register Reset value (hex)

PC 000000

WREG 00

SP 00

TRISA-TRISB FF

Value registers upon reset

Page 22: Chp4 introduction to the pic microcontroller   copy

Company

LOGO ReviewReview

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.

Page 23: Chp4 introduction to the pic microcontroller   copy

Company

LOGO PORTSPORTS

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

Page 24: Chp4 introduction to the pic microcontroller   copy

Company

LOGO PORTS: PORTS: PORTA & TRISAPORTA & 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)

Page 25: Chp4 introduction to the pic microcontroller   copy

Company

LOGO PORTS: PORTS: PORTB & TRISBPORTB & 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)

Page 26: Chp4 introduction to the pic microcontroller   copy

Company

LOGO ReviewReview

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 _____.

Page 27: Chp4 introduction to the pic microcontroller   copy

Company

LOGO Center Processing Unit (CPU)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

Page 28: Chp4 introduction to the pic microcontroller   copy

Company

LOGO Center Processing Unit (CPU)Center Processing Unit (CPU)

MOVLW 0x20

Program Memory

Temporary storage

executeexecute

Memory11 00xx 0010 0000

opcode

Assembler (translator)

Decoder

Fetch instruction

Fetch instruction

Page 29: Chp4 introduction to the pic microcontroller   copy

Company

LOGO Center Processing Unit (CPU)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).

Page 30: Chp4 introduction to the pic microcontroller   copy

Company

LOGO Center Processing Unit (CPU)Center Processing Unit (CPU)Cont…

ALUSTATUS register

8-bit literal (from instruction word)

WREG register

8-bit

8-bit

8-bit

Z, DC, C flags

Carry bit

Page 31: Chp4 introduction to the pic microcontroller   copy

Company

LOGO MEMORY ORGANIZATIONMEMORY 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

Page 32: Chp4 introduction to the pic microcontroller   copy

Company

LOGO

Memory organization of PIC16F84

Page 33: Chp4 introduction to the pic microcontroller   copy

Company

LOGO MEMORY ORGANIZATION:MEMORY ORGANIZATION: Program MemoryProgram 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

Page 34: Chp4 introduction to the pic microcontroller   copy

Company

LOGO MEMORY ORGANIZATION:MEMORY ORGANIZATION: Program MemoryProgram Memory

Page 35: Chp4 introduction to the pic microcontroller   copy

Company

LOGO MEMORY ORGANIZATION:MEMORY ORGANIZATION: Data MemoryData 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

Page 36: Chp4 introduction to the pic microcontroller   copy

Company

LOGO

Data Memory Organization

Page 37: Chp4 introduction to the pic microcontroller   copy

Company

LOGO

SFR File Memory

Legend: x = unknown, u = unchanged, - = unimplemented, read as '0', q = value depends on conditionNote 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.

Page 38: Chp4 introduction to the pic microcontroller   copy

Company

LOGO ReviewReview

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.

Page 39: Chp4 introduction to the pic microcontroller   copy

Company

LOGO Timer & PrescalarTimer & 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

Page 40: Chp4 introduction to the pic microcontroller   copy

Company

LOGO Timer & PrescalarTimer & Prescalar Cont…

Page 41: Chp4 introduction to the pic microcontroller   copy

Company

LOGO Flash MemoryFlash 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

Page 42: Chp4 introduction to the pic microcontroller   copy

Company

LOGO RAMRAM

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.

Page 43: Chp4 introduction to the pic microcontroller   copy

Company

LOGO ROMROM

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.

Page 44: Chp4 introduction to the pic microcontroller   copy

Company

LOGO EEPROMEEPROM

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.