pic introduction

46
Peeyush.K.P. Amrita School of Engineering Coimbatore PIC MICROCONTROLLERS

Upload: peeyushkp

Post on 19-Jul-2016

13 views

Category:

Documents


5 download

TRANSCRIPT

Peeyush.K.P.Amrita School of Engineering

Coimbatore

PIC MICROCONTROLLERS

2

What is an Embedded System?

Consumer Electronics

Automobile

Household Appliances

Communication

Office Equipments

Avionics

System in which software is embedded into the hardware ( firmware).

The core part of the system will be a programmable device.

What is an Embedded system?

4

Automotive Embedded Systems Today’s high-end automobile have > 80

microprocessors: 4-bit microcontroller checks seat belt; microcontrollers run dashboard devices; 16/32-bit microprocessor controls engine. Millions lines of code

5

Vending Machines

6

Sojourner

7

GPS Receivers

Reduced number of components. Reduced size. Reduced cost. Reduced power consumption. Easier upgradation. Easier troubleshooting & maintenance. Best suited for specific controlling applications.

Why Embedded systems?

Why uC? Microprocessor:

• Requires ‘external’ support hardware• E.g., External RAM, ROM, Peripherals.

• Application:Processing-Arithmetic,logic operations. Microcontroller:

• Very little external support hardware/Stand alone.• Most RAM, ROM and peripherals on chip.• “Computer on a chip”, or “System on chip” (SOC)

• E.g., PIC = Peripheral Interface Controller• Application: Controlling purposes.

Microcontroller

VARIOUS MICROCONTROLLERS 8 bit microcontrollers

Microchip - PIC 12 & 16 Series. Atmel - 89c51 Intel - 8051 Motorola - 68HCxx series

16 bit microcontrollers Microchip - PIC 18 series

32 bit microcontrollers ARM Processors

DSP based microcontrollers Shark

Two Different Architectures

RISC vs. CISC

Reduced Instruction Set Computer (RISC) Used in: SPARC, ALPHA,

Atmel AVR, etc. Few instructions

(usually < 50) Only a few addressing

modes Executes 1 instruction in 1

internal clock cycle (Tcyc)

Complex Instruction Set Computer (CISC) Used in: 80X86, 8051,

68HC11, etc. Many instructions

(usually > 100) Several addressing modes Usually takes more than 1

internal clock cycle (Tcyc) to execute

WHY PIC ?

WHY PIC ?

PICs use the Harvard Architecture PICs and most Harvard chips are “RISC” 35 Instructions Executes 1 instruction in 1 internal clock cycle In-Circuit Serial Programmable (ICSP) – via two pins. Available in different packages

Features

Power On Reset Timer Oscillator Startup Timer WatchDog Timer Sink/Source Current – 25ma Flash Programming

POR/Oscillator Startup Timer

WatchDog Timer

000102....FF

00Roll Over

Sink/Source Current – 25ma

The PIC Family: Cores

PICs come with 1 of 3 CPU ‘cores’:The Base-line : 12bit cores with 33 instructions. Eg:12C50x, 12C67xThe Mid-Range : 14bit cores with 35 instructions. Eg:16C5x,16CxxxThe High-End : 16bit cores with 58 instructions. Eg:17C4x,17C7xx‘Enhanced’ 16bit cores with 77 instructions: 18Cxxx

Areas of Application. Base-line

Inexpensive controllers, glue logic, simple tasks. E.g., quadrature decoding, digital interfacing.

Mid-range Multitasking programs, serial communication. E.g., Cheap data acquisition system and digital I/O

system for PC off COM ports, data logging. High-end

RTOS, low end DSP, communications, big moosey applications.

E.g., FEC converter, Rocket Flight Computer, cheap FFT chip.

Program Memory (ROM)-size

PIC program space is different for each chip.

Some examples are:

12C508 512 12bit instructions16C71C 1024 (1k) 14bit instructions16F877 8192 (8k) 14bit instructions17C766 16384 (16k) 16bit instructions

Program Memory (ROM)-types

PICs have two different types of program storage:

EPROM (Erasable Programmable Read Only Memory)Needs high voltage from a programmer to program (~13V)Needs windowed chips and UV light to eraseNote: One Time Programmable (OTP) chips are EPROM chips, but with no glass window. ( ‘CR’ )PIC Examples: Any ‘C’ part: 12C50x, 17C7xx, etc.

Program Memory (ROM)-types.

FLASHRe-writable (even by chip itself)Much faster to develop on! Finite number of writes (~100k Writes)PIC Examples: Any ‘F’ part: 16F84, 16F87x, 18Fxxx (future)

Data Memory (RAM-volatile)

PICs use general purpose “file registers” for RAM (each register is 8bits for all PICs)

Some examples are:12C508 25 Bytes RAM16C71C 36 Bytes RAM16F877 368 Bytes17C766 902 Bytes RAM

Data Memory (EEPROM non-volatile)

For permanent storage of data. Available in few PICs only. Eg:16F8X,12CE5XX,16F87X

SpeedPICs require a clock to work.

Can use crystals, clock oscillators, or even an RC circuit.Some PICs have a built in 4MHz RC clock- Not very accurate, but requires no external components!Instruction speed = 1/4 clock speed (Tcyc = 4 * Tclk) All PICs can be run from DC to their maximum spec’d speed:

12C50x 4MHz12C67x 10MHz16Cxxx 20MHz17C4x /17C7xxx 33MHz18Cxxx 40MHz

PeripheralsDifferent PICs have different on-board peripherals

Some common peripherals are: Tri-state (“floatable”) digital I/O pins. Analog to Digital Converters (ADC) (8, 10 and

12bit, 50ksps). Serial communications: UART (RS-232C), SPI, I2C,

CAN. Pulse Width Modulation (PWM) (10bit). Timers and counters (8 and 16bit). Watchdog timers, Brown out detect, LCD drivers.

Packages

PICs come in a huge variety of packages:

8 pin DIPs, SOICs: 12C50x (12bit) , 12C67x (14bit)18pin DIPs, SOICs: 16C5X (12bit), 16Cxxx (14bit)28pin DIPs, SOICs: 16C5X (12bit), 16Cxxx (14bit)40pin DIPs, SOICs: 16Cxxx (14bit), 17C4x (16bit)44 - 68pin PLCCs*: 16Cxxx (14bit), 17Cxx (16bit)

Commonly used mid range series PICs

The 16F8x series- 16F84. The 16F7x series- 16F73,74,76,77. The 16F87x series- 16F873, 874,876,877.

Comparison of Commonly Used Mid range series of PIC

11NoSSP/SPI/I2CYesYesNoInterrupt on Pin Change

11NoUSART/SCI

8bit X 2 + 16bit X 18bit X 2 + 16bit X 18bit X 1Timers22NoCCP modules

10bit8bitNoADC

882Stack levelsYesNoYesData EEPROM

200ns200ns400ns20MHz20MHz10MHz

Operating SpeedClock input

Instruction cycle

87X7X16f8X

Comparison of Commonly Used Mid range series of PIC

YesYesYesYesNoNoBOR

8585NANAADC channels

YesNoYesNoNoNoPSP

2562561281286464EEPROM

36 B

512 B

13

A,B

18

83

368 B368 B192 B192 B 68 BData m/y

8 KB8 KB4 KB4 KB1 KBProg. m/y

3322332213I/O Pins

A,B,C,D,EA,B,CA,B,C,D,EA,B,CA,BI/O Ports

4028402818Total pins

77/87776/87674/87473/87384

PIC 16F874/877

PIC 16F874/877

PIN DIAGRAM

PIC16F877A Block Diagram

Instruction Bus

Most important register in

the PIC

Must be involved in all

arithmetic operations

Data Bus

Data Memory

Instruction Memory

PIC16F877A Memory The PIC16F877A has an 8192 (8k) 14bit instruction

program memory

368 Bytes Registers as Data Memory :Special Function Registers: used to control peripherals

and PIC behaviorsGeneral Purpose Registers: used to a normal

temporary storage space (RAM)

256 Bytes of nonvolatile EEPROM

PIC16F877A Memory Map

www.greytechnologies.net

SFR

INSTRUCTION SET1) Move Literal Value To Work Register

Syntax : MOVLW <LITERAL>Eg: MOVLW 0X02

2) Move Content of Work Reg. To File Reg. Syntax : MOVWF <FILE REG>Eg : MOVWF PORTA

3) Move Content of File Reg. To Desti.Syntax : MOVF <FILE REG>,<DESTI.>Eg : MOVF PORTA,0Eg : MOVF PORTA,1

INSTRUCTION SET1) Bit Set File Register

Syntax : BSF <File Reg>,<Bit>Eg: BSF PORTA,1

2) Bit Clear File RegisterSyntax : BCF <File Reg>,<Bit>Eg : BCF PORTA,1

INSTRUCTION SET1) Bit Test File Register Skip if Set

Syntax : BTFSS <File Reg>,<Bit>Eg: BTFSS PORTA,1

2) Bit Test File Register Skip if ClearSyntax : BTFSC <File Reg>,<Bit>Eg : BTFSC PORTA,1

INSTRUCTION SET1) Decrement File Register Skip if Zero

Syntax : DECFSZ <File Reg>,<Desti.>Eg: DECFSZ COUNT,1

2) Increment File Register Skip if ZeroSyntax : INCFSZ <File Reg>,<Desti.>Eg : INCFSZ COUNT,1

Programming PIC

Basic Circuit

Thank You For Thank You For Your Kind Your Kind

Attention……Attention……