Anda di halaman 1dari 46

PIC MICROCONTROLLERS

Peeyush.K.P. ASE Ettimadai

What is an Embedded System?


Communication

Avionics Automobile

Consumer Electronics

Office Equipments
Household Appliances 2

What is an Embedded system?


System in which software is embedded into the hardware ( firmware).
The core part of the system will be a programmable device.

Automotive Embedded Systems


Todays 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

Vending Machines

Sojourner

GPS Receivers

Why Embedded systems?


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

Why uC?
Microprocessor:

Requires external support hardware

E.g., External RAM, ROM, Peripherals.

Application:Processing-Arithmetic,logic operations. Very little external support hardware/Stand alone. Most RAM, ROM and peripherals on chip. Computer on a chip, or System on chip (SOC)

Microcontroller:

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
00 01 02 .. .. FF Roll Over 00

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, 12C67x

The Mid-Range : 14bit cores with 35 instructions.


Eg:16C5x,16Cxxx

The 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 16C71C 16F877 17C766 512 12bit instructions 1024 (1k) 14bit instructions 8192 (8k) 14bit instructions 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 erase Note: 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.


FLASH Re-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 16C71C 16F877 17C766 25 Bytes RAM 36 Bytes RAM 368 Bytes 902 Bytes RAM

Data Memory (EEPROM non-volatile)

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

Speed
PICs 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 specd speed:
12C50x 12C67x 16Cxxx 17C4x /17C7xxx 18Cxxx 4MHz 10MHz 20MHz 33MHz 40MHz

Peripherals
Different 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: 18pin DIPs, SOICs: 28pin DIPs, SOICs: 40pin DIPs, SOICs: 44 - 68pin PLCCs*: 12C50x (12bit) , 12C67x (14bit) 16C5X (12bit), 16Cxxx (14bit) 16C5X (12bit), 16Cxxx (14bit) 16Cxxx (14bit), 17C4x (16bit) 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


16f8X
Operating Speed
Clock input Instruction cycle

7X
20MHz 200ns 8 No
8bit X 2 + 16bit X 1

87X
20MHz 200ns 8 Yes
8bit X 2 + 16bit X 1

Stack levels Data EEPROM Timers CCP modules ADC USART/SCI SSP/SPI/I2C
Interrupt on Pin Change

10MHz 400ns 2 Yes


8bit X 1

No No No No No

2 8bit 1 1 Yes

2 10bit 1 1 Yes

Comparison of Commonly Used Mid range series of PIC


83 84 18 A,B 13 1 KB 68 B 64 No 73/873 28 A,B,C 22 4 KB 192 B 128 No 74/874 40 A,B,C,D,E 33 4 KB 192 B 128 Yes 76/876 28 A,B,C 22 8 KB 368 B 256 No 77/877 40 A,B,C,D,E 33 8 KB 368 B 256 Yes

Total pins I/O Ports I/O Pins Prog. m/y Data m/y EEPROM PSP
ADC channels

18 A,B 13 512 B 36 B 64 No

NA
No

NA
No

5
Yes

8
Yes

5
Yes

8
Yes

BOR

PIC 16F874/877

PIC 16F874/877

PIN DIAGRAM

PIC16F877A Block Diagram


Instruction Memory Data Memory Data Bus Must be involved in all arithmetic operations Most important register in the PIC

Instruction Bus

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 behaviors General Purpose Registers: used to a normal temporary storage space (RAM) 256 Bytes of nonvolatile EEPROM

PIC16F877A Memory Map

SFR

www.greytechnologies.net

INSTRUCTION SET
1) Move Literal Value To Work Register
Syntax : MOVLW Eg: MOVLW <LITERAL> 0X02

2) Move Content of Work Reg. To File Reg.


Syntax : MOVWF Eg : MOVWF <FILE REG> PORTA

3) Move Content of File Reg. To Desti.


Syntax : MOVF Eg : MOVF Eg : MOVF <FILE REG>,<DESTI.> PORTA,0 PORTA,1

INSTRUCTION SET
1) Bit Set File Register
Syntax : BSF Eg: BSF <File Reg>,<Bit> PORTA,1

2) Bit Clear File Register


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

INSTRUCTION SET
1) Bit Test File Register Skip if Set
Syntax : BTFSS Eg: BTFSS <File Reg>,<Bit> PORTA,1

2) Bit Test File Register Skip if Clear


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

INSTRUCTION SET
1) Decrement File Register Skip if Zero
Syntax : DECFSZ Eg: DECFSZ <File Reg>,<Desti.> COUNT,1

2) Increment File Register Skip if Zero


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

Programming PIC

Basic Circuit

Thank You For Your Kind Attention

Anda mungkin juga menyukai