PIC Introduction PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 46

PIC

MICROCONTROLLERS

Peeyush.K.P.
Amrita School of Engineering
Coimbatore
What is an Embedded System?
Communication

Avionics

Automobile

Consumer
Electronics
Office Equipments

Household
2 Appliances
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
 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

4
Vending Machines

5
Sojourner

6
GPS Receivers

7
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.
 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  Complex Instruction Set


Computer (RISC) Computer (CISC)
 Used in: SPARC, ALPHA,  Used in: 80X86, 8051,
Atmel AVR, etc. 68HC11, etc.
 Few instructions  Many instructions
(usually < 50) (usually > 100)
 Only a few addressing  Several addressing modes
modes  Usually takes more than 1
 Executes 1 instruction in 1 internal clock cycle (Tcyc)
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 512 12bit instructions


16C71C 1024 (1k) 14bit instructions
16F877 8192 (8k) 14bit instructions
17C766 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 25 Bytes RAM
16C71C 36 Bytes RAM
16F877 368 Bytes
17C766 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 spec’d
speed:
12C50x 4MHz
12C67x 10MHz
16Cxxx 20MHz
17C4x /17C7xxx 33MHz
18Cxxx 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).
2
 Serial communications: UART (RS-232C), SPI, I C,
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
16f8X 7X 87X
Operating Speed
Clock input 10MHz 20MHz 20MHz
Instruction cycle 400ns 200ns 200ns
Stack levels 2 8 8
Data EEPROM Yes No Yes
Timers 8bit X 1 8bit X 2 + 16bit X 1 8bit X 2 + 16bit X 1
CCP modules No 2 2
ADC No 8bit 10bit
USART/SCI No 1 1
SSP/SPI/I2C No 1 1
Interrupt on Pin Change No Yes Yes
Comparison of Commonly Used
Mid range series of PIC
83 84 73/873 74/874 76/876 77/877

Total pins 18 18 28 40 28 40

I/O Ports A,B A,B A,B,C A,B,C,D,E A,B,C A,B,C,D,E


I/O Pins 13 13 22 33 22 33

Prog. m/y 512 B 1 KB 4 KB 4 KB 8 KB 8 KB

Data m/y 36 B 68 B 192 B 192 B 368 B 368 B

EEPROM 64 64 128 128 256 256

PSP No No No Yes No Yes


ADC channels NA NA 5 8 5 8
BOR No No Yes Yes Yes Yes
PIC 16F874/877
PIC 16F874/877
PIN DIAGRAM
PIC16F877A Block Diagram
Instruction
Memory Data
Memory

Instruction
Data Bus
Bus
Must be
involved in all
arithmetic
operations

Most
important
register in
the PIC
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 <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,0
Eg : MOVF PORTA,1
INSTRUCTION SET
1) Bit Set File Register
Syntax : BSF <File Reg>,<Bit>
Eg: BSF PORTA,1

2) Bit Clear File Register


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

2) Bit Test File Register Skip if Clear


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

2) Increment File Register Skip if Zero


Syntax : INCFSZ <File Reg>,<Desti.>
Eg : INCFSZ COUNT,1
Programming PIC
Basic Circuit
Thank You For
Your Kind
Attention……

You might also like