Vous êtes sur la page 1sur 46

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
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
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
00
01
02
..
..
FF
00
Roll Over
Sink/Source Current 25ma
The PIC Family: Cores
PICs come with 1 of 3 CPU cores:
The Base-line : 12bitcores with 33 instructions.
Eg:12C50x, 12C67x
The Mid-Range : 14bitcores with 35 instructions.
Eg:16C5x,16Cxxx
The High-End : 16bitcores with 58 instructions.
Eg:17C4x,17C7xx
Enhanced 16bitcores 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.
ProgramMemory (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
ProgramMemory (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.
ProgramMemory (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 8bitsfor 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 specd
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).
Serial communications: UART (RS-232C), SPI, I
2
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
1 1 No SSP/SPI/I
2
C
Yes Yes No
Interrupt on Pin Change
1 1 No USART/SCI
8bit X 2 +16bit X 1 8bit X 2 +16bit X 1 8bit X 1
Timers
2 2 No CCP modules
10bit 8bit No ADC
8 8 2 Stack levels
Yes No Yes Data EEPROM
200ns 200ns 400ns
20MHz 20MHz 10MHz
Operating Speed
Clock input
Instruction cycle
87X 7X 16f8X
Comparison of Commonly Used
Mid range series of PIC
Yes Yes Yes Yes No No
BOR
8 5 8 5 NA NA
ADC channels
Yes No Yes No No No
PSP
256 256 128 128 64 64
EEPROM
36 B
512 B
13
A,B
18
83
368 B 368 B 192 B 192 B 68 B
Data m/y
8 KB 8 KB 4 KB 4 KB 1 KB
Prog. m/y
33 22 33 22 13
I/O Pins
A,B,C,D,E A,B,C A,B,C,D,E A,B,C A,B
I/O Ports
40 28 40 28 18
Total pins
77/877 76/876 74/874 73/873 84
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 behaviors
General Purpose Registers: used to a normal
temporary storage space (RAM)
256 Bytes of nonvolatile EEPROM
PIC16F877A Memory Map
www.greytechnologies.net
SFR
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 Thank You For
Your Kind Your Kind
Attention Attention

Vous aimerez peut-être aussi