Está en la página 1de 124

PIC18 con CCS

(PIC18F14K50)
Autor: Andrs Ral Bruno Saravia
Microchip RTC Argentina
PIC18 Arquitectura PIC18 Arquitectura
Revisin Revisin
Microchip Familias de MCUs
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 3 3
Familia PIC18
PIC18 Tradicional
PIC18 serie - J
PIC18 serie - K
32KB 128KB 4KB
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 4 4
Tradiciona PIC18
40 MHz, 10 MIPS, 5V
Flash endurance 100k
EEPROM
Caractersticas Premium
PIC18 serie K
64MHz, 16 MIPS, 3V
Flash endurance 10k
EEPROM
Menor costo <32KB Flash
PIC18 serie J
40-48 MHz, 10-12 MIPS, 3V
Flash endurance 1k 10k
Emulate EEPROM
Menor costo >32KB Flash
Program Flash
Tipicamente los productos con mucha memoria tambien tienen muchos pines y perifericos avanzados integrados
Diagrama en Bloques Simplificado
Arquitectura PIC

8-bit
RAM
Espacio de
Datos
Espacio de
Programa
Tabla de
Acceso
8-bit 8-bit
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 5 5
Peripfericos
Puertos I/O
Memoria
Flash
8-bit CPU 16-bit
Bus de
instrucciones
Bus de datos
8-bit
Mapa de Memoria de Datos
Arquitectura PIC

8-bit
Memoria de datos
hasta 4k bytes
Dividida en bancos
de 256 byte
Medio Banco 0 y
medio banco 15 son
PIC18F2520/4520
Mapa de Registros
ACCESS RAM
Banco0 GPR
Banco1 GPR
Banco2 GPR
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 6 6
medio banco 15 son
usados para crear
un banco virtual de
acceso directo
ACCESS RAM
ACCESS SFR
ACCESS SFR
Banco15 GPR
Banco13 GPR
Banco14 GPR
* La divisin 50/50 no se mantiene en
los dispositivos con muchos registros
SFR (Special Function Registers)
Mapa de memoria de Programa
Arquitectura PIC

8-bit
Hasta 2MB (1M Words)
continuos totalmente
lineal
Memoria de Programa
En el chip
Vector de Reset
Vector de INT de alta prioridad
Vector de INT de baja prioridad
000000h
000008h
000018h
Contador de Programa de 21-bit
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 7 7
1FFFFEh
Memoria de Programa
Sin implementar
(Read as 0)
008000h
007FFEh
Contador de Programa de 21-bit
Stack de 31 niveles
Nivel de Stack 1
Nivel de Stack 2
Nivel de Stack 30
Nivel de Stack 31
Tabla de Lectura
Arquitectura PIC

8-bit
Memoria de Datos (RAM) Memoria de Programa (Flash)
0x000000
0x000002
0x000004
0x000006
0x000001
0x000003
0x000005
0x000007
0x000
0x001
0x002
0x003
2
2
-
b
i
t

A
d
d
r
e
s
s
00 00 09
TBLPTRU TBLPTRH TBLPTRL
Puntero de Mem. Prog. de 21-bit
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 8 8
2C
2C
TABLAT
0x00000A
0x000008
0x1FFFF4
0x1FFFF6
0x1FFFF8
0x1FFFFA
0x1FFFFC
0x1FFFFE
0x00000B
0x000009
0x1FFFF5
0x1FFFF7
0x1FFFF9
0x1FFFFB
0x1FFFFD
0x1FFFFF
0x005
0x004
0xFFA
0xFFB
0xFFC
0xFFD
0xFFE
0xFFF
8-bit Data
Byte Alto Byte Bajo
Caractersticas especiales Caractersticas especiales
Como setear los bits de configuracin del PIC

Como setear los bits de configuracin del PIC

Osciladores Osciladores
Fuentes de Clock
Primaria
Seleccin Fija
LP, XT, HS, RC, EC, Int RC Osc
Secundaria
PIC18F: Sistema de Clock
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 11 11
Secundaria
Oscilador Timer1 Frecuencia fija
Necesario para base de tiempo de RTR
Oscilador Interno RC
INTOSC (8 MHz por default)
4, 2, 1 MHz, 500, 250, 125 y 31 kHz seleccionables
INTRC (31 kHz)
Sistema de Clock PIC18F1XK50
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 12 12
PIC18F1XK50 Opciones del Oscilador para
el USB
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 13 13
PIC18F
Caractersticas Especiales
PIC18F
Caractersticas Especiales
In-Circuit Serial Programming
Solo necesita 2 pines para programar al
dispositivo
Conveniente para programar en sistemas
Calibracin de datos
Serializacin de datos
Suportado por debuggers y
programadores en MPLAB

Pin Pin
PP
V
PP
DD
V
DD
SS
V
SS
RB6
RB7
Function Function
Programming Voltage
Supply Voltage
Ground
Clock Input
Data I/O & Command Input
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 15 15
programadores en MPLAB
ICSP Connector
Caractersticas Especiales PIC18F
Amplio Voltaje de operacin: 2.0V a 5.5V
Memoria de Programa Flash Mejorada con 100,000
ciclos de borrado/escritura
Memoria de Datos EEPROM con 1,000,000 de ciclos
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 16 16
Memoria de Datos EEPROM con 1,000,000 de ciclos
de borrado/escritura
Retencin de Datos en Memoria EEPROM Flash/Data
: 100 aos tpico
Watchdog Timer
Ayuda al software a recuperarse de un mal funcionamiento
Usa un oscilador libre RC en el chip
WDT es borrado por la instruccin CLRWDT
WDT Habilitable (WDTEN) no puede ser borrado por soft
el overflow (desborde) del WDT reetea al chip
Perodo del timeout programable : 18ms a 3.0s tpico
Opera en modo SLEEP; sobre el time out, despierta la CPU.
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 17 17
Opera en modo SLEEP; sobre el time out, despierta la CPU.
Generador de Reset Interno
POR: Power On Reset
con MCLR ataado a V
DD
, es generado un
pulso de RESET cuando el flanco de
subida a V
DD
es detectado
PWRT: Power Up Timer
72 ms (nominal)
V
DD
MCLR
Circuito
RESET
en CHIP
Reset
Interno
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 18 18
72 ms (nominal)
Desacoplado del BOR
OST: Oscillator Startup Timer
Mantiene en RESET al dispositivo por
1024 cyclos de maquina (TCYs)
Le permite al cristal o al resonador
estabilizarse
Bypaseado en: Two Speed Startup Mode
INTOSC usa un clock para el
procesador no estable
Internal
Reset
V
DD
MCLR
POR
PWRT
OST
T
PWRT
T
OST
Reset Operacin
BOR Brown Out Reset
Cuando el voltaje cae por debajo de un umbral
particular, el dispositivo se pone en RESET
Impide el funcionamiento irregular o inesperado
Elimina la necesidad de un circuito externo BOR
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 19 19
Elimina la necesidad de un circuito externo BOR
PBOR Programmable Brown Out
Reset
Opcin de configuracin (fijado en tiempo de
programa)
No puede ser activado/desactivado por software
Cuatro puntos de disparo BVDD seleccionables
2.5V Mini V
DD
para OTP MCUs PICmicro

2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 20 20
2.5V Mini V
DD
para OTP MCUs PICmicro
2.7V
4.2V
4.5V
Para otros umbrales use un supervisor externo
(MCP1xx, MCP8xx/TCM8xx, or TC12xx)
PBOR Programmable Brown Out
Reset
Mantiene al MCU PICmicro

MCU en RESET durante ~72ms


despues que V
DD
supero el nivel de umbral
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 21 21
PLVD Detector de Bajo Voltaje
Programable
Alerta antes que el
brown out
16 Puntos de
disparo
seleccionables
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 22 22
seleccionables
1.8V hasta 4.5V en
pasos de 0.1 a 0.2V
Entrada analgica
externa
V
REF interno
PIC18F Caractersticas especiales
Resets
PIC18 RESETS
Power-on Reset (POR)
MCLR Reset durante la operacin normal
Programmable Brown-out Reset (BOR)
Watchdog Timer (WDT) Reset (durante la
ejecucin )
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 23 23
ejecucin )
Instruccin RESET
Reset por Stack Full
Reset por Stack Underflow
Para todos los resets el vector del PC es la
direccin 0
Despues del RESET el PC tiene 0x000000
Los siguientes bits son afectados por el RESET
RCON Register
POR = 0: Power On RESET
BOR = 0 & POR = 1: BOR RESET
TO = 0: WDT RESET
RI = 0: RESET Instruccin
PIC18F Caractersticas especiales
RESET Registers
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 24 24
STKPTR Register
STKFUL = 1: Stack over flow RESET
STKUNF = 1: Stack under flow RESET
MCLR RESET ies indicado por:
POR, BOR, TO & RI = 1 y STKFUL & STKUNF = 0
PIC18 Bits de Configuracin PIC18 Bits de Configuracin
Que son los bits de Configuracin?
Son usados para activar o
no las caractersticas
especiales:
Proteccion del Codigo
Watchdog Timer
Reset Vector
High Interrupt Vector
Low Interrupt Vector
16-bit Program Memory
U
s
e
r

M
e
m
o
r
y
U
s
e
r

M
e
m
o
r
y
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 26 26
Watchdog Timer
Tipo de Oscilador
Opcion de Debug
Otras
User Flash
Registros de Configuracin
Device ID
Registro CONFIGlocalizado en la
memoria de programa, fuera del area
de ejecucin del cdigo
(inicia en @ 0x300000)
U
s
e
r

M
e
m
o
r
y
U
s
e
r

M
e
m
o
r
y
C
o
n
f
i
g
u
r
a
t
i
o
n

C
o
n
f
i
g
u
r
a
t
i
o
n

M
e
m
o
r
y
M
e
m
o
r
y
Bits de Configuracin
PIC18F4520 (4 of 11)
IESO FCMEN FOSC2 FOSC1 FOSC0
BORV1 BOREN1 BOREN0 PWRTEN
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
bit 7 bit 0
BORV0
CONFIG1H Register
CONFIG2L Register
FOSC3
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 27 27
BORV1 BOREN1 BOREN0 PWRTEN
bit 7 bit 0
BORV0
WDTPS3 WDTPS1 WDTPS0 WDTEN
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
bit 7 bit 0
WDTPS2
MCLRE LPT1OSC PBADEN CCP2MX
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
bit 7 bit 0
CONFIG2H Register
CONFIG3H Register

Configurations Bits con CCS


Usar directiva #FUSES
#fuses HS,NOWDT
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 28 28
options puede variar segun el dispositivo. Un
listado de las opciones vlidas esta en el tope
de cada archivo de cabecera de cada
dispositivo.
PIC18F1x50
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 29 29
PIC18F14K50 Pin Out
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 30 30
USB Fundamentos
Un poco de historia...
USB fue co-desarrollado por un grupo de
compaas.
Compaq
Intel
Microsoft
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 32 32
Microsoft
NEC
quera hacer mucho mas facil el adicionar/remover
perifericos de la PCs
1998 USB 1.1
2000 USB 2.0
2003 On-the-Go complementa a USB 2.0 (v1.0a)
USB Basico
USB un maestro Single Master + Multiple Slaves bus encuestado
constantemente
USB Host Controller (Master)
y Root Hub
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 33 33
Mouse Speakers Printer
Frame Frame Frame
Start Of Frame Mouse Packets Speakers Packets Printer Packets
Comparacin de Buses
1394-Fire Wire
Ethernet
USB 2.0
WiFi (b/g)
Ojo! No tiene que
soportar High-Speed
para ser
USB 2.0 Compatible
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 34 34
1 1 Gb Gb 480 Mb/s 480 Mb/s 100 Mb/s 100 Mb/s 12 Mb/s 12 Mb/s 1.5 Mb/s 1.5 Mb/s 1 Mb/s 1 Mb/s 500 Kb/s 500 Kb/s
Serial Port
LS-USB
1.5 Mb/s
FS-USB
12 Mb/s
HS-USB
480 Mb/s
USB 1.1
USB 2.0
Parallel Port
CAN
Grandes Mitos
Mito: un Perifrico USB Low-Speed puede transferir datos hasta
la velocidad de 187.5 KB/s (1.5 Mbps)
Real: Imposible, por las restricciones de las especificaciones del
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 35 35
USB
8 byte de datos transferidos cada 10 ms
= 800 Bytes/segundo solamente
Siguiente Gran Mito!
Mito: Un perifrico USB Full-Speed USB puede transferir datos hasta 1.5
MB/s (12 Mb/s)
Real: Imposible, 1.5 MB/s es el total del ancho de banda del BUS
El ancho de banda se reparte entre todos los perifricos USB
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 36 36
El ancho de banda se reparte entre todos los perifricos USB
El Over head del Protocolo
Las restricciones del Protocolo
La realidad de la transferencia de datos de un nico perifrico puede
llegar a ~1.0 MB/s en el mejor de los casos
Solo 64 KB/s en la mayora de los casos
Topologa del BUS USB Fsico
USB Host Controller
& Root Hub
Hub Hub Speaker
Logic
Analyzer
Keyboard
Hub: Carga maxima = 5
Host (Tier 1)
Tier 2
Tier 3
Hub Hub
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 37 37
Hasta 126 perifricos...
PIC18 USB esta diseado para
ser periferico. PIC24/PIC32
puede funcionar como Host o
Perifrico.
Tier 4
Tier 5
Tier 6
Tier 7
Hub Hub
Hub Hub
Hub Hub
Hub Hub
Data Logger
Printer
Interfaz Fsica
~ 5.0 V
~ 3.3 V
V
BUS
D+
D-
GND
V
BUS
D+
D-
GND
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 38 38
Half Duplex con codificacin de datos NRZI
Bus Alimentado para cada dispositivo:
4.40-5.25V
Garantizado 100 mA
500 mA max por medio de negociacin
Debe usar alimentacin
externa si se necesita
mas de uno
GND GND
mini-B
FS, HS
B
FS, HS
Conectores Standard
- USB 2.0 -
A
USB Host
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 39 39
FS, HS
Device
FS, HS
Device
Conectores Standard
- Micro-USB -
Objetivo: Define un tamao ms pequeo, conector
compatible con USB 2.0 para dispositivos muy pequeos (es
decir, telfonos celulares)
Plugs y Receptaculos
Micro-B plug y receptaculo
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 40 40
Micro-B plug y receptaculo
Permitido en productos OTG y on OTG
Micro-A/B receptaculo
Permitido en productos OTG
Micro-A plug
Indicacual es escencialmente el host (OTG)
Endpoints: Source/Destino de datos
USBen un perifrico
RAM
Endpoint 1 OUT
RAM
Data Bucket
LED
USB framed data
USB framed data
USB PIC

MCU
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 41 41
RAM
Endpoint 1 IN
Caps-Lock
Nmero mximo de endpoints por dispositivo especificados por el USB
:
16 OUT endpoints + 16 IN endpoints = 32 endpoints
PIC18F87J50, PIC18F4550, PIC24F, PIC32MX soporta hasta 32 endpoints
PIC18F14K50 soporta hasta 16 endpoints
EP0 = es el cao de comunicacin por Default
USB framed data
Clases de Dispositivos USB
Mouse
External
Hard Drive
Floppy
Drive
Data Glove
Ethernet
Adapter
PICkit 3
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 42 42
Joystick
MPLAB

REAL ICE
in-circuit emulator
Modem
Keyboard
Human Interface Device Class
(HID)
Mass Storage Device
Class (MSD)
Communication Device
Class (CDC)
Custom Class
(Vendor Class)
Muchas mas clases.
PICkit 3
Starter Kit
El Proceso de Enumeracin
POWERED
Power
(self/bus)
DEFAULT
Bus
reset
Get Device
ATTACHED
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 43 43
DETACHED
ADDRESS
Get Device
Descriptor
CONFIGURED
Get
Descriptors
Cable
Connected
SUSPENDED
Auto-Deteccin: Full-Speed
PeripheralDevice PeripheralDevice PeripheralDevice PeripheralDevice
V VV V
USB USB USB USB
3 33 3. .. .3 33 3 V VV V
Full Speed Identification
D+ line pull-up
USB PIC

MCU
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 44 44
+5V
D+
D-
GND
Transceiver Transceiver Transceiver Transceiver
USB
Connector
D+ line pull-up
1.5k 5%
Auto-Deteccin: Low-Speed
PeripheralDevice PeripheralDevice PeripheralDevice PeripheralDevice
V VV V
USB USB USB USB
3 33 3. .. .3 33 3 V VV V
Low Speed Identification
D- line pull-up
USB PIC

MCU
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 45 45
+5V
D+
D-
GND
Transceiver Transceiver Transceiver Transceiver
USB
Connector
D- line pull-up
1.5k 5%
Resistores Pull-up dentro del chip
Peripheral Device
V
USB
3.3 V
resistores pull-up dentro
del chip!
USB PIC

MCU
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 46 46
+5V
D+
D-
GND
Transceiver
USB
Connector
del chip!
Planeando la Alimentacin
- Arquitectura -
Low Power alimentado del bus
Hasta 100 mA (1 carga nica) desde el BUS
Function Controller +
Function
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 47 47
Function
Planeando la Alimentacin
- Arquitectura -
High Power
100-500 mA desde el bus
Debe ser enumerado a low power (100 mA)
Device pide el bMaxPower
Host habilita la configuracin deseada solicitando el
Set_Configuration
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 48 48
Set_Configuration
Planeando la Alimentacin
- Arquitectura -
Self Powered device
Opcionalmente se puede consumir hasta 100 mA del
bus (si es reactivado) + tanto como se encuentra
disponible en su propia fuente
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 49 49
Planeando la Alimentacin
- Necesito Autoalimentacin? -
Deber alimentarse al dispositivo
externamente si:
este necesita funcionar sin estar conectado al
BUS
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 50 50
este necesita mas de 500 mA
Este va a estar conectado a una PC con
bateras, o hubs
Planeando la Alimentacin
Power from
USB Cable
V
DD
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 51 51
10F
Dispositivos alimentado externamente
- Detectando la conexin al USB -
V
BUS
from
USB Cable
V
DD
I/O
Self-Powered
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 52 52
Si el dispositivo est autoalimentado,
debe utilizar un pin I / O con tolernacia
5V al detectar una conexin del cable
antes de habilitar el mdulo USB y pull-
up en D + y D-. Adems, el dispositivo no
debe nunca estar en modo fuente VBUS
P
e
r
f
o
r
m
a
n
c
e
PIC32
High Performance, Pin Compatible to PIC24F
80 MHz, 1.53 DMIPS/MHz
Up to 80 MIPS
64- & 100-Pin Packages
Up to 512 KB Flash
Up to 32 KB RAM
USB 2.0 Device, Embedded Host, OTG
~50 USB PIC MCUs
The industrys strongest
scalable product, family, and
software migration path
Scalable USB
PIC

MCU Portfolio
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 53 53
PIC18F
Small, Low Power, Low Cost
Up to 12 MIPS
18- to 80-Pin Packages
Up to 128KB Flash
Up to 4KB RAM
USB 2.0 Device Support
Migration
PIC24F
Mid-Range, Capacitive-Touch Capable
Up to 16 MIPS
64-, 80- & 100-Pin Packages
Up to 256 KB Flash
Up to 16KB RAM
USB 2.0 Device, Embedded Host, OTG
16-bit
8-bit
P
e
r
f
o
r
m
a
n
c
e
32-bit
Control USB with CCS compiler
usb_init()
usb_task()
usb_enumerated()
usb_cdc_kbhit()
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 54 54
usb_cdc_kbhit()
usb_cdc_getc()
usb_cdc_putc(c)
usb_cdc_puts(*str)
Include files:
<usb_desc_cdc.h> & <usb_cdc.h>
PICPerifricos Comunes PICPerifricos Comunes
PIC18 Common Peripherals
Puertos I/O
Analog Comparator
Converso Analgico Digital
Timers (0,1,2,3)
CCP como PWM
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 56 56
CCP como PWM
Addressable USART (AUSART)
Puertos I/O Puertos I/O
Puertos I/O
Hasta 70 pines bidireccionales
Los mismos estan multiplexados con Perifricos
Alta capacidad de Corriente
25mA en modo fuente/sumidero
Manipulacin directa de cada bit en un solo
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 58 58
Manipulacin directa de cada bit en un solo
ciclo
Diodos de Proteccin ESD 4kV
Basado sobre el modelo del cuerpo Humano
Despues del reset:
Todos los I/O son entradas (Hi-Z)
Todos los pines con capacidades analgicas
activadas por default
Configurundo los pines como digitales
El mtodo depende del dispositivo especfico
Puede escontrarse en el registro ADCON 1
Could be in ADCON1 register
Puede encontrarse en el registro ANSEL
Registro de control (ADCON1)
VCFG1 VCFG0 PCFG3 PCFG2 PCFG1 PCFG0
Port Configuration Bits
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 59 59
Puede encontrarse en el registro ANSEL
1 = Analog; 0 = Digital
ANS7 ANS6 ANS5 ANS4 ANS3 ANS2 ANS1 ANS0
ANS13 ANS12 ANS11 ANS10 ANS9 ANS8
Analog Select Register (ANSEL)
Analog Select High Register (ANSELH)
Control de la direccin I/O
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 60 60
Bit n en el registro de control TRISx controla
la direccin en el Bit n en PORTx
1 = Entrada, 0 = Salida
Entrada Slida de Datos
Registros TRIS, PORT y LAT
0 1 0 1 0 0 1 1
LATx
Lee
PORTx
Lee
LATx
Escribe
PORTx
o LATx
Bus Interno de Datos
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 61 61
0 0 1 1 0 1 0 0
TRISx
PORTx
(I/O Pins)
Direccin de Datos
(1 = IN, 0 = OUT)
Pines son todos entradas
por default
PORTB Opciones
Todos lod pines del PORTB tienen resistores de
PULL UP.
Un bit controla el pull up de todos los pines
INTCON2 Register
R/W-1 R/W-1 R/W-1 R/W-1 U-0 R/W-1 U-0 R/W-1
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 62 62
bit 7 bit 0
bit 7 RBPU: PORTB Pull-up Enable bit
1 = All PORTB Pull-ups are disabled
0 = PORTB Pull-ups are enabled by
individual port latch values
bit 0 RBIP: RB Port Change Interrupt Priority bit
1 = High Priority
0 = Low Priority
Control I/O con CCS
output_a (value)
output_bit (pin, value)
output_high (pin)
output_low (pin)
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 63 63
output_low (pin)
output_toggle(pin)
variable = input (pin)
variable = input_a()
Conversor A/D: Conversor A/D:
A/D de 10-bit A/D de 10-bit
Conersor A/D de 10-bit
AN12
AN12
AN10
AN9
AN8
AN7*
AN6*
1
3
:
1

A
n
a
l
o
g

M
u
x
CHS3:CHS0
ADC
V
AIN
10-bit A/D Result Registers
Channel Select
ADRESH ADRESL
In ADCON0 Register
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 65 65
AN5*
AN4
V
REF+
/ AN3
V
REF-
/ AN2
AN1
AN0
1
3
:
1

A
n
a
l
o
g

M
u
x
ADC
VCFG1:VCFG0
V
DD
V
SS
x0
0x
x1
1x
V
REF+
V
REF-
V
REF
Select
ADRESH ADRESL
In ADCON1 Register
*AN5-AN7 not available on 28-pin devices
ADC 10-bit
Escalando resultados
FS = Fondo de
escala
N-bits, 2
N
Codigos
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 66 66
N-bits, 2
N
Codigos
posibles
Tamao del Bit o
Paso = V
FS
/2
N
Ejemplo:
10-bits ADC => 2
10
= 1024 codigos
Escala de valores completa 0 5.12 V
Cual es el tamao de un bit?
ADC 10-bit
Escalando resultados
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 67 67
Respuesta:
Tamao del Bit = 5.12 / 1024 = 5 mV
ADC Interpretando los resultados
Ejemplo:
8-bits ADC => 2
8
Escala completa 0 5.0 V
1 Bit = 19.53 mV
Calculo del valor si ADRESH = 0xCA
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 68 68
Result = V
IN
/ Tamao del Bit
V
IN
= Result * Tamao del Bit
V
IN
= 202 * 19.53 mV
V
IN
= 3.9456 V
Calculo del valor si ADRESH = 0xCA
Tiempo de adquisicin
Acquisition Time
10
ADRES
Adquisicin de la seal
Acquisition Time Conversion Time
VIN
time
time
VC
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 69 69
Tiempo de adquisicin
determinado por la
capacidad CHold y la
Impedancia de fuente
ADC
VSS
10
+
VC
-
Este tiempo le permite cargarse
completamente a CHold
time
CHOLD
V
SOURCE
RS < 10k
time
Acquisition Time Acquisition Time
10
ADRES
ADC Conversion
Conversion Time
ADC Result
11 ADC Conversion
VIN
time
VC
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 70 70
time
ADC
VSS
10
+
VC
-
11 ADC Conversion
Clock cycles (TAD)
time
CHOLD
Conversor A/D de 10-bit
Configuracin
ADCON0 Register
U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
bit 7 bit 0
bit 5-2 CHS3:CHS0
Analog Channel Select Bits
0000 = Channel 0 (AN0)
bit 1 GO/DONE: A/D Conversion Status bit
1 = A/D Conversion in progress
0 = A/D Idle
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 71 71
0000 =
0001 =
0010 =
0011 =
0100 =
0101 =
0110 =
0111 =
1000 =
1001 =
1010 =
1011 =
1100 =
Channel 0 (AN0)
Channel 1 (AN1)
Channel 2 (AN2)
Channel 3 (AN3)
Channel 4 (AN4)
Channel 5 (AN5)
Channel 6 (AN6)
Channel 7 (AN7)
Channel 8 (AN8)
Channel 9 (AN9)
Channel 10 (AN10)
Channel 11 (AN11)
Channel 12 (AN12)
0 = A/D Idle
bit 0 ADON: A/D On bit
1 = A/D Converter module is enabled
0 = A/D Converter module is disabled
Conversor A/D de 10-bit
Configuracin
ADCON1 Register
U-0 U-0 R/W-0 R/W-0 R/W-0* R/W* R/W* R/W*
bit 7 bit 0
bit 5 VCFG1: Voltage Reference (V
REF-
) Configuration bit
1 = V
REF-
(AN2)
0 = V
SS
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 72 72
0 = V
SS
bit 4 VCFG0: Voltage Reference (V
REF+
) Configuration bit
1 = V
REF+
(AN3)
0 = V
DD
Conversor A/D de 10-bit
Configuracin
ADCON1 Register
U-0 U-0 R/W-0 R/W-0 R/W-0* R/W* R/W* R/W*
bit 7 bit 0
bit 3-0 PCFG3:PCFG0
A/D Port Configuration Control bits
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 73 73
A = Analog Input
D = Digital I/O
Conversor A/D de 10-bit
Configuracin
ADCON2 Register
U-0 U-0 R/W-0 R/W-0 R/W-0* R/W* R/W* R/W*
bit 7 bit 0
bit 2-0 ADCS2:ADCS0: A/D Conversion Clock Selection bits
NOTE: This parameter determines the value of T
AD
: the conversion time per bit.
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 74 74
bit 2-0 ADCS2:ADCS0: A/D Conversion Clock Selection bits
111 = F
RC
(Clock derived from A/D RC oscillator)
110 = F
OSC
/64
101 = F
OSC
/16
100 = F
OSC
/4
011 = F
RC
(Clock derived from A/D RC oscillator)
010 = F
OSC
/32
001 = F
OSC
/8
000 = F
OSC
/2
Conversor A/D de 10-bit
Configuracin
Seleccionando el clock del A/D
A/D Clock Source (T
AD
) Maximum Device Frequency
Operation ADCS2:ADCS0 PIC18F4520
2 T 000 2.86 MHz
At F
OSC
= 4 MHz:
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 75 75
2 T
OSC
000 2.86 MHz
4 T
OSC
100 5.71 MHz
8 T
OSC
001 11.43 MHz
16 T
OSC
101 22.86 MHz
32 T
OSC
010 40.0 MHz
64 T
OSC
110 40.0 MHz
RC x11 *
* The Internal RC has a typical T
AD
time of 1.2s
Minimum T
AD
= 0.7 s See data sheet for official specification.
T
OSC
= 1/F
OSC
= .25 s
T
AD
= 4T
OSC
= 1 s
Conversor A/D de 10-bit
Configuracin
Calculando el tiempo de adquisicin
T
ACQ
= T
AMP
+ T
C
+ T
COFF
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 76 76
T
AMP
= Amplifier Settling Time
= T
amp internal
+ T
amp external
T
C
= Charging Time
= -(C
HOLD
)(R
IC
+ R
SS
+ R
S
)ln(1/2047) s
T
COFF
= Temperature Coefficient
= (Temp 25 C)(0.02 s/ C) for Temp > 25 C
= 0 for Temp < 25 C
Calculando el tiempo del amplificados
Conversor A/D de 10-bit
Configuracin
T
AMP
= T
AMP INT
+ T
AMP EXT
T
AMP INT
: Tiempo interno del amplificador. Chequear el data sheet para el
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 77 77
T
AMP INT
: Tiempo interno del amplificador. Chequear el data sheet para el
dispositivo especfico. Para el PIC18F4520, T
AMP INT
es 0.2 s.
T
AMP EXT
: Es el tiempo del amplificador externo. Este es muy importante cuando el
circuito externo acondiciona la seal. Para la placa de micorochip PICDEM2 Plus
es un POTENCIOMETRO, y este nmero es 0 s.
T
AMP
= 0.2 s
Conversor A/D de 10-bit
Configuracin
Calculando el Tiempo de Carga
T
C
= -(C
HOLD
)(R
IC
+ R
SS
+ R
S
)ln(1/2047) s
C = 25pF
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 78 78
C
HOLD
= 25pF
R
IC
= 1k
R
SS
= 2k
R
S
= 2.5k MAX
Asumiendo que la impedancia mxima es de
2.5k :
T
C
= 1.05 s
Conversor A/D de 10-bit
Configuracin
Calculando el coeficiete de temperatura
T
COFF
= (Temp 25 C)(0.02 s/ C)
Temp = Temperatura de Operacin
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 79 79
Temp = Temperatura de Operacin
Valido para Temp. > 25 C.
T
COFF
= 0 para Temp. < 25 C
Usando la mxima temperatura de operacin de
85 C para un dispositivo industrial:
T
COFF
= 1.2 s
Conversor A/D de 10-bit
Configuracin
Calculando el Tiempo de adquisicin
T
ACQ
= T
AMP
+ T
C
+ T
COFF
Para Rs = 2.5k
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 80 80
Para Rs = 2.5k
Temp. = 85 C
T
AMP
= 0.2 s
T
ACQ
= 0.2 + 1 + 1.2 = 2.4 s
bit 5-3 ACQT2:ACQT0: A/D Acquisition Time Selection bits
111 = 20 T
AD
Conversor A/D de 10-bit
Configuracin
ADCON2 Register
U-0 U-0 R/W-0 R/W-0 R/W-0* R/W* R/W* R/W*
bit 7 bit 0
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 81 81
110 = 16 T
AD
101 = 12 T
AD
100 = 8 T
AD
011 = 6 T
AD
010 = 4 T
AD
001 = 2 T
AD
000 = 0 T
AD
Given:
T
ACQ
= 2.4 s
T
AD
= 1 us
Then:
ACQT2:0 = 010 = 4.0 s
Conversor A/D de 10-bit
Configuracin
ADCON2 Register
R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
bit 7 bit 0
bit 7 ADFM: Selecciona el resultado del formato del A/D
1 = Justificado a la derecha
ADRESH ADRESL
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 82 82
0 = Justificado a la izquierda
b
9
b
8
b
7
b
6
b
5
b
4
b
3
b
2
b
1
b
0
ADRESH ADRESL
b
9
b
8
b
7
b
6
b
5
b
4
b
3
b
2
b
1
b
0
ADRESH ADRESL
Control ADC con CCS
setup_adc(mode)
setup_adc_ports(value)
set_adc_channel(channel)
read_adc(mode)
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 83 83
read_adc(mode)
adc_done()
#device adc=xx (xx=8,10,12 o16 bits)
Timers Timers
Timer Comparativa
TIMER 0 TIMERS 1 & 3 TIMERS 2 & 4
SIZE OF REGISTER
8-bits or
16-bits
16-bits 8-bits
CLOCK SOURCE
(Internal)
Fosc/4 Fosc/4 Fosc/4
CLOCK SOURCE
(External )
T0CKI pin T13CKI pin or
Timer 1 oscillator
None
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 85 85
(External )
Timer 1 oscillator
(T1OSC)
CLOCK SCALING
AVAILABLE
(Resolution)
Prescaler 8-bits
(1:2 1:256)
Prescaler 2-bits
(1:1, 1:2, 1:4, 1:8)
Prescaler
(1:1,1:4,1:16)
Postscaler
(1:1 1:16)
INTERRUPT EVENT
On overflow
FFh 00h
On overflow
FFFFh 0000h
TMR REG matches
PR2
CAN WAKE PIC FROM
SLEEP?
NO YES NO
Timer0
Modo compatible con PIC16
8-bit Timer/Counter
Prescaler Programable de 8 bits
Fuente de clock externa o interna
Interrupcin sobre el overflow de FF a 00
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 86 86
Interrupcin sobre el overflow de FF a 00
T0SE
T0CKI
F
OSC
/4
1
0
0
1
Programmable
Prescaler
T0CS
PSA T0PS2:T0PS0
Clock
Sync
TMR0L
8-bit Data Bus
TMR0IF
Timer0
Modo 16-bit
16-bit Timer / Counter
Modo Lectura/Escritura en 16-bit
Interrupcin sobre overflow de FFFF a 0000
Same basic features as compatibility mode
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 87 87
Same basic features as compatibility mode
T0SE
T0CKI
F
OSC
/4
1
0
0
1
Programmable
Prescaler
T0CS
PSA T0PS2:T0PS0
Clock
Sync
High Byte
8-bit Data Bus
TMR0IF
TMR0L
TMR0H
READ
TMR0L
WRITE
TMR0L
Timer0 Operation
T0SE
T0CKI
F
OSC
/4
1
0
0
1
Programmable
Prescaler
T0CS
PSA T0PS2:T0PS0
Clock
Sync
TMR0IF
TMR0L
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 88 88
T0CON Register
TMR0ON T08BIT T0CS T0SE PSA T0PS2:0
DATA BUS
T08BIT
1 = 8 BIT
0 = 16 BIT
Timer0 Operation
T0SE
T0CKI
F
OSC
/4
1
0
0
1
Programmable
Prescaler
T0CS
PSA T0PS2:T0PS0
Clock
Sync
High Byte
TMR0IF
TMR0L
TMR0H
READ
TMR0L
WRITE
TMR0L
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 89 89
T0CON Register
TMR0ON T08BIT T0CS T0SE PSA T0PS2:0
DATA BUS
T08BIT
1 = 8 BIT
0 = 16 BIT
Timer0 Operation
T0SE
T0CKI
F
OSC
/4
1
0
0
1
Programmable
Prescaler
T0CS
PSA T0PS2:T0PS0
Clock
Sync
High Byte
TMR0IF
TMR0L
TMR0H
READ
TMR0L
WRITE
TMR0L
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 90 90
TMR0 Clock Source Select
1 = TOCK1, 0 = Fosc/4
T0CON Register
TMR0ON T08BIT T0CS T0SE PSA T0PS2:0
Timer0 Operation
T0SE
T0CKI
F
OSC
/4
1
0
0
1
Programmable
Prescaler
T0CS
PSA T0PS2:T0PS0
Clock
Sync
High Byte
TMR0IF
TMR0L
TMR0H
READ
TMR0L
WRITE
TMR0L
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 91 91
Source Edge Select
1 = increment TMR0 on rising edge
0 = increment TMR0 on falling edge
T0CON Register
TMR0ON T08BIT T0CS T0SE PSA T0PS2:0
Timer0 Operation
T0SE
T0CKI
F
OSC
/4
1
0
0
1
Programmable
Prescaler
T0CS
PSA T0PS2:T0PS0
Clock
Sync
High Byte
TMR0IF
TMR0L
TMR0H
READ
TMR0L
WRITE
TMR0L
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 92 92
T0CON Register
TMR0ON T08BIT T0CS T0SE PSA T0PS2:0
Prescaler Assignment
1= prescaler NOT assigned
0= prescaler IS assigned
Timer0 Operation
T0SE
T0CKI
F
OSC
/4
1
0
0
1
Programmable
Prescaler
T0CS
PSA T0PS2:T0PS0
Clock
Sync
High Byte
TMR0IF
TMR0L
TMR0H
READ
TMR0L
WRITE
TMR0L
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 93 93
T0CON Register
TMR0ON T08BIT T0CS T0SE PSA T0PS2:0
DATA BUS
Prescaler Rate Select Bits
PS2 PS1 PS0
TMR0
RATE
0 0 0 1:2
0 0 1 1:4
0 1 0 1:8
0 1 1 1:16
1 0 0 1:32
1 0 1 1:64
1 1 0 1:128
1 1 1 1:256
Timer0 Operation
T0SE
T0CKI
F
OSC
/4
1
0
0
1
Programmable
Prescaler
T0CS
PSA T0PS2:T0PS0
Clock
Sync
High Byte
TMR0IF
TMR0L
TMR0H
READ
TMR0L
WRITE
TMR0L
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 94 94
T0CON Register
TMR0ON T08BIT T0CS T0SE PSA T0PS2:0
TMR0ON
1 = ON
0 = STOPPED
Timer1 and Timer3
16-bit Timer / Counter
Timer, Synchronous Counter or Asynchronous
Counter
Can operate from separate external crystal
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 95 95
Can operate from separate external crystal
Two read/write 8-bit registers
1, 2, 4, or 8 Prescaler
Interrupt on overflow from FFFFh to 0000h
Timer1 and Timer3
1
0
0
1
F
OSC
/4
T1OSO/
T13CKI
T1OSI
T1OSCEN TMR1CS
Prescaler
1, 2, 4, 8
Sync
Detect
Sleep Input
T1SYNC
TMR1ON
Timer 1 Oscillator
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 96 96
8-bit Data Bus
T1CKPS1: T1CKPS0
TMR1ON
TMR1L
TMR1IF
Clear Timer 1
(CCP Special Event Trigger)
High Byte
TMR1H
WRITE
TMR1L
READ
TMR1L
T1CON Register
RD16 T1RUN T1OSCEN TMR1CS TCKPS1:0 TMR1ON
Bit 7 Bit 0
T1SYNC
0
1
F
OSC
/4
T1OSO/
T13CKI
T1OSI
T1OSCEN TMR1CS
Prescaler
1, 2, 4, 8
T1CKPS1: T1CKPS0
1
0
Sync
Detect
Sleep Input
T1SYNC
TMR1ON
Timer 1 Oscillator
Timer1 and Timer3
16-bit Read/Write Mode Enable
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 97 97
RD16 T1RUN T1OSCEN TMR1CS TCKPS1:0 TMR1ON
Bit 7 Bit 0
T1SYNC
T1CON Register
TMR1L TMR1H
TMR1IF
Clear Timer 1
(CCP Special Event Trigger)
8-bit Data Bus
16-bit Read/Write Mode Enable
1 = Read/Write of Timer
in one operation
0 = Read/Write of Timer
in two 8-bit operations
16-bit Read/Write Mode Enable
1 = Read/Write of Timer
Timer1 and Timer3
1
0
0
1
F
OSC
/4
T1OSO/
T13CKI
T1OSI
T1OSCEN TMR1CS
Prescaler
1, 2, 4, 8
T1CKPS1: T1CKPS0
Sync
Detect
Sleep Input
T1SYNC
TMR1ON
Timer 1 Oscillator
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 98 98
1 = Read/Write of Timer
in one operation
0 = Read/Write of Timer
in two 8-bit operations
RD16 T1RUN
T1OSCEN
TMR1CS TCKPS1:0 TMR1ON
Bit 7 Bit 0
T1SYNC
T1CON Register
8-bit Data Bus
TMR1L
TMR1IF
Clear Timer 1
(CCP Special Event Trigger)
High Byte
TMR1H
WRITE
TMR1L
READ
TMR1L
Timer1 and Timer3
1
0
0
1
F
OSC
/4
T1OSO/
T13CKI
T1OSI
T1OSCEN TMR1CS
Prescaler
1, 2, 4, 8
T1CKPS1: T1CKPS0
Sync
Detect
Sleep Input
T1SYNC
TMR1ON
Timer 1 Oscillator
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 99 99
RD16 T1RUN T1OSCEN TMR1CS TCKPS1:0 TMR1ON
Bit 7 Bit 0
T1SYNC
T1CON Register
8-bit Data Bus
TMR1L
TMR1IF
Clear Timer 1
(CCP Special Event Trigger)
High Byte
TMR1H
WRITE
TMR1L
READ
TMR1L
Timer1 Oscillator Enable
1 = T1OSC Enabled
0 = T1OSC off
Timer1 and Timer3
1
0
0
1
F
OSC
/4
T1OSO/
T13CKI
T1OSI
T1OSCEN TMR1CS
Prescaler
1, 2, 4, 8
T1CKPS1: T1CKPS0
Sync
Detect
Sleep Input
T1SYNC
TMR1ON
Timer 1 Oscillator
Timer1 Clock Source
1= External Clock
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 100 100
RD16 T1RUN
T1OSCEN
TMR1CS TCKPS1:0 TMR1ON
Bit 7 Bit 0
T1SYNC
T1CON Register
8-bit Data Bus
TMR1L
TMR1IF
Clear Timer 1
(CCP Special Event Trigger)
High Byte
TMR1H
WRITE
TMR1L
READ
TMR1L
1= External Clock
0 = Fosc/4
Timer1 and Timer3
1
0
0
1
F
OSC
/4
T1OSO/
T13CKI
T1OSI
T1OSCEN TMR1CS
Prescaler
1, 2, 4, 8
T1CKPS1: T1CKPS0
Sync
Detect
Sleep Input
T1SYNC
TMR1ON
Timer 1 Oscillator
Timer1 Prescale Select
11 = 1:8
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 101 101
RD16
T1RUN
T1OSCEN
TMR1CS
TCKPS1:0
TMR1ON
Bit 7 Bit 0
T1SYNC
T1CON Register
8-bit Data Bus
TMR1L
TMR1IF
Clear Timer 1
(CCP Special Event Trigger)
High Byte
TMR1H
WRITE
TMR1L
READ
TMR1L
11 = 1:8
10 = 1:4
01 = 1:2
00 = 1:1
Timer1 and Timer3
1
0
0
1
F
OSC
/4
T1OSO/
T13CKI
T1OSI
T1OSCEN TMR1CS
Prescaler
1, 2, 4, 8
T1CKPS1: T1CKPS0
Sync
Detect
Sleep Input
T1SYNC
TMR1ON
Timer 1 Oscillator
Timer1 System Clock Status
Read Only Bit
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 102 102
8-bit Data Bus
TMR1L
TMR1IF
Clear Timer 1
(CCP Special Event Trigger)
High Byte
TMR1H
WRITE
TMR1L
READ
TMR1L
Read Only Bit
1 = Device clock derived from Timer1 OSC
0 = Device clock derived from another source
RD16 T1RUN
T1OSCEN
TMR1CS TCKPS1:0 TMR1ON
Bit 7 Bit 0
T1SYNC
T1CON Register
Timer1 and Timer3
1
0
0
1
F
OSC
/4
T1OSO/
T13CKI
T1OSI
T1OSCEN TMR1CS
Prescaler
1, 2, 4, 8
T1CKPS1: T1CKPS0
Sync
Detect
Sleep Input
T1SYNC
TMR1ON
Timer 1 Oscillator
Timer1 External Clock
Synchronization
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 103 103
8-bit Data Bus
TMR1L
TMR1IF
Clear Timer 1
(CCP Special Event Trigger)
High Byte
TMR1H
WRITE
TMR1L
READ
TMR1L
Synchronization
Bit only used when TMR1CS = 1
1 = Synchronize external clock input
0 = Do not synchronize
RD16 T1RUN
T1OSCEN
TMR1CS TCKPS1:0 TMR1ON
Bit 7 Bit 0
T1SYNC
T1CON Register
Timer1 and Timer3
1
0
0
1
F
OSC
/4
T1OSO/
T13CKI
T1OSI
T1OSCEN TMR1CS
Prescaler
1, 2, 4, 8
T1CKPS1: T1CKPS0
Sync
Detect
Sleep Input
T1SYNC
TMR1ON
Timer 1 Oscillator
Timer On
1 = Enables Timer
0 = Stops Timer
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 104 104
TMR1L
TMR1IF
Clear Timer 1
(CCP Special Event Trigger)
High Byte
TMR1H
WRITE
TMR1L
READ
TMR1L
T1CON Register
RD16 T1RUN
T1OSCEN
TMR1CS TCKPS1:0 TMR1ON
Bit 7 Bit 0
T1SYNC
0 = Stops Timer
8-bit Data Bus
Timer2
8-bit Timer with prescaler and postscaler
Used as PWM time base
TMR2 is readable & writable
TMR2 resets on match with PR2
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 105 105
TMR2 resets on match with PR2
Match with PR2 generates interrupt
Used as baud clock for MSSP (SPI

)
Timer2
T2OUTPS3:T2OUTPS0
T2CON Register
R/W-0 R/W-0
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
bit 7
bit 0
- T2OUTPS3 T2OUTPS2 T2OUTPS1 T2OUTPS0 TMR2ON T2CKPS1 T2CKPS0
TMR2 Postscale Value
Selection Bits
00 = 1:1
01 = 1:4
1x = 1:16
0000 = 1:1
0001 = 1:2
1111 = 1:16
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 106 106
1:1, 1:4, 1:16
Prescaler
1:1 to 1:16
Postscaler
TMR2 PR2 Comparator F
OSC
/4
T2CKPS1:T2CKPS0
T2OUTPS3:T2OUTPS0
TMR2IF
Timer 2 Output
(To PWM or MSSP)
8-bit Data Bus
Reset TMR2/PR2 Match
TMR2 Prescale Value
Selection Bits
1x = 1:16
1111 = 1:16
Control Timers con CCS
setup_timer_x(mode)
set_timerx(value).
value=get_timerx.
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 107 107
PIC18 Interrupts PIC18 Interrupts
Definicin
Interrupcin
PIC18 Tiene 2 vectores: Alta y Baja Prioridad
Interrupcin Interrupcin son son llamadas llamadas a a funciones funciones disparadas disparadas por por eventos eventos
del del Hardware, Hardware, a a dichas dichas funciones funciones no no se se les les puede puede pasar pasar
parmetros parmetros ni ni tampoco tampoco pueden pueden devolver devolver parmetros parmetros
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 109 109
PIC18 Tiene 2 vectores: Alta y Baja Prioridad
Las funciones de interrupciones deben ser
tratadas de foema especial:
ISRs no reciben ni devuelven parmetros
ISRs no son llamadas por el cdigo principal
ISRs no son llamadas por otras funciones
TMR0IF
TMR0IE
TMR1IF
Other Core
Interrupts
Wakeup
to CPU
Lgica de Interrupcin
Modo Legal o compatible con PIC16
Core Interrupts
Peripheral
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 110 110
TMR1IF
TMR1IE
Other
Peripheral
Interrupts
PEIE
GIE
Interrupt to
CPU
Vector to 0x0008
Peripheral
Interrupts
Lgica de Interrupcin
Modo Prioridad
IP
IE
IF
GIEH
High Priority
Interrupt to CPU
Vector to 0x0008
INT0IF INT0IE
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 111 111
IP
IE
IF
GIEL
Wakeup to CPU
Interrupt to CPU
Low Priority
Interrupt to CPU
Vector to 0x0018
PIC18 Fuentes de Interrupcin
Fuentes de Interrupcin
3 o 4 Int. Externas (INT0-INT3)
Edge Triggered
Rising or Falling selected in INTCON2 register
PORTB Interrupcin por cambio (RB4-RB7)
Timer Rollover/Overflow
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 112 112
Timer Rollover/Overflow
Cambio en la salida del comparador
Final de Conversin A/D
Eventos en el canal de comunicaciones
Eventos en otros perifricos
Habilitando las Interrupciones
(1 de 9)
Select Legacy or Priority mode interrupt
operation
Default is no priority levels
PIC16 Compatibility mode
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 113 113
IPEN: Interrupt Priority Enable
1 = Enable priority levels on interrupts
0 = Disable priority levels on interrupt
RCON Register
IPEN SBOREN --- RI TO PD POR BOR
Habilitando las Interrupciones
(2 de 9)
Set Peripheral Interrupt Priority
Only needed if using Priority Mode
1 = High Priority, 0 = Low Priority
IPR1 Register
PSPIP ADIP RCIP TXIP SSPIP CCP1IP TMR2IP TMR1IP
PSPIP: Parallel Slave Interrupt Priority SSPIP: MSSP Interrupt Priority
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 114 114
IPR2 Register
OSCIP CMIP --- EEIP BCLIP HLVDIP TMR3IP CCP2IP
PSPIP: Parallel Slave Interrupt Priority
ADIP: A/D Converter Interrupt Priority
RCIP: EUSART Rcv Interrupt Priority
TXIP: EUSART Tx Interrupt Priority
SSPIP: MSSP Interrupt Priority
CCPIP: CCP1 Interrupt Priority
TMR2IP: Timer2 Interrupt Priority
TMR1IP: Timer1 Interrupt Priority
OSCIP: Oscillator Fail Interrupt Priority
CMIP: Comparator Interrupt Priority
---- Unimplemented Bit
EEIP: Data EEPROM/Flash Write
Operation Interrupt Priority
BCLIP: Bus Collision Interrupt Priority
HLVDIP: High/Low Voltage Detect Interrupt Priority
TMR3IP: Timer3 Interrupt Priority
CCP2IP: CCP2 Interrupt Priority
Habilitando las Interrupciones
(3 de 9)
Ensure Peripheral Interrupt Flags are clear
If set, an interrupt is pending or being processed
1 = Set, 0 = Clear
PIR1 Register
PSPIF ADIF RCIF TXIF SSPIF CCPIF TMR2IF TMR1IF
PSPIF: Parallel Slave Interrupt Flag
ADIF: A/D Converter Interrupt Flag
SSPIF: MSSP Interrupt Flag
CCPIF: CCP1 Interrupt Flag
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 115 115
PIR2 Register
OSCIF CMIF --- EEIF BCLIF HLVDIF TMR3IF CCP2IF
ADIF: A/D Converter Interrupt Flag
RCIF: EUSART Rcv Interrupt Flag
TXIF: EUSART Tx Interrupt Flag
CCPIF: CCP1 Interrupt Flag
TMR2IF: Timer2 Interrupt Flag
TMR1IF: Timer1 Interrupt Flag
OSCIF: Oscillator Fail Interrupt Flag
CMIF: Comparator Interrupt Flag
---- Unimplemented Bit
EEIF: Data EEPROM/Flash Write
Operation Interrupt Flag
BCLIF: Bus Collision Interrupt Flag
HLVDIF: High/Low Voltage Detect Interrupt Flag
TMR3IF: Timer3 Interrupt Flag
CCP2IF: CCP2 Interrupt Flag
Habilitando las Interrupciones
(4 de 9)
Set Peripheral Interrupt Enables
1 = Enabled, 0 = Disabled
PIE1 Register
PSPIE ADIE RCIE TXIE SSPIE CCPIE TMR2IE TMR1IE
PSPIE: Parallel Slave Interrupt Enable
ADIE: A/D Converter Interrupt Enable
SSPIE: MSSP Interrupt Enable
CCPIE: CCP1 Interrupt Enable
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 116 116
PIE2 Register
OSCIE CMIE --- EEIE BCLIE HLVDIE TMR3IE CCP2IE
ADIE: A/D Converter Interrupt Enable
RCIE: EUSART Rcv Interrupt Enable
TXIE: EUSART Tx Interrupt Enable
CCPIE: CCP1 Interrupt Enable
TMR2IE: Timer2 Interrupt Enable
TMR1IE: Timer1 Interrupt Enable
OSCIE: Oscillator Fail Interrupt Enable
CMIE: Comparator Interrupt Enable
---- Unimplemented Bit
EEIE: Data EEPROM/Flash Write
Operation Interrupt Enable
BCLIE: Bus Collision Interrupt Enable
HLVDIE: High/Low Voltage Detect Interrupt Enable
TMR3IE: Timer3 Interrupt Enable
CCP2IE: CCP2 Interrupt Enable
Habilitando las Interrupciones
(5 de 9)
Set Core Interrupt Priority
Only needed if using Priority Mode
1 = High Priority, 0 = Low Priority
INTCON2 Register
RBPU INTEDG0 INTEDG1 INTEDG2 --- TMR0IP --- RBIP
INT0 does not have an IP
bit it is always a high
priority interrupt
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 117 117
INTCON3 Register
INT2IP INT1IP --- INT2IE INT1IE --- INT2IF INT1IF
TMR0IP: TMR0 Overflow Interrupt Priority
RBIP: RB Port Change Interrupt Priority
INT2IP: INT2 External Interrupt Priority
INT1IP: INT1 External Interrupt Priority
Habilitando las Interrupciones
(6 de 9)
Ensure Core Interrupt Flags are Clear
If set, an interrupt is pending or being processed
1 = Set, 0 = Clear
INTCON Register
GIE/GIEH PEIE/GIEL TMR0IE INT0IE RBIE TMR0IF INT0IF RBIF
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 118 118
INTCON3 Register
INT2IP INT1IP --- INT2IE INT1IE --- INT2IF INT1IF
TMR0IF: TMR0 Overflow Interrupt Flag
INT0IF: INT0 External Interrupt Flag
RBIF: RB Port Change Interrupt Flag
INT2IF: INT2 External Interrupt Flag
INT1IF: INT1 External Interrupt Flag
Habilitando las Interrupciones
(6 de 9)
Set Core Interrupt Enables
1 = Enabled, 0 = Disabled
INTCON Register
GIE/GIEH PEIE/GIEL TMR0IE INT0IE RBIE TMR0IF INT0IF RBIF
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 119 119
INTCON3 Register
INT2IP INT1IP --- INT2IE INT1IE --- INT2IF INT1IF
TMR0IE: TMR0 Overflow Interrupt Enable
INT0IE: INT0 External Interrupt Enable
RBIE: RB Port Change Interrupt Enable
INT2IE: INT2 External Interrupt Enable
INT1IE: INT1 External Interrupt Enable
Habilitando las Interrupciones
(8 de 9)
Enable Low Priority or Peripheral Interrupts
Still need to enable Global Interrupts when in PIC16 compatibility mode
INTCON Register
GIE/GIEH PEIE/GIEL TMR0IE INT0IE RBIE TMR0IF INT0IF RBIF
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 120 120
PEIE/GIEL :
Peripheral Interrupt Enable (PIC16 Compatibility Mode) /
Global Interrupt Enable Low (Priority Mode)
In PIC16 Compatibility Mode (RCON<IPEN> = 0):
1 = Enables all unmasked peripheral interrupts
0 = Disables all peripheral interrupts
In Priority Mode (RCON<IPEN> = 1):
1 = Enables all low priority peripheral interrupts
0 = Disables all low priority peripheral interrupts
Habilitando las Interrupciones
(9 de 9)
Enable High Priority or Global Interrupts
INTCON Register
GIE/GIEH PEIE/GIEL TMR0IE INT0IE RBIE TMR0IF INT0IF RBIF
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 121 121
GIE/GIEH :
Global Interrupt Enable (PIC16 Compatibility Mode) /
Global Interrupt Enable High (Priority Mode)
In PIC16 Compatibility Mode (RCON<IPEN> = 0):
1 = Enables all unmasked interrupts
0 = Disables all interrupts
In Priority Mode (RCON<IPEN> = 1):
1 = Enables all high priority interrupts
0 = Disables all high priority interrupts
Control de interrupciones con CCS
Se usa la directiva #INT_XXX para indicar la fuente
de la interrupcion.
XXX=depende del perifrico interruptor
La rutina de interrupcin no puede recibir ni pasar
parmetros, debe ser void
Ejemplo:
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 122 122
Ejemplo:
#int_rda
void isr_recepcion (void)
{
sentencias
}
Thank You! Thank You!
Trademarks
The Microchip name and logo, the Microchip logo, Accuron, dsPIC, KeeLoq, microID, MPLAB, PIC, PICmicro,
PICSTART, PRO MATE, PowerSmart, rfPIC and SmartShunt are registered trademarks of Microchip Technology
Incorporated in the U.S.A. and other countries.
AmpLab, FilterLab, Migratable Memory, MXDEV, MXLAB, SEEVAL, SmartSensor and The Embedded Control
Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A.
Analog-for-the-Digital Age, Application Maestro, dsPICDEM, dsPICDEM.net, dsPICworks, ECAN, ECONOMONITOR,
FanSense, FlexROM, fuzzyLAB, In-Circuit Serial Programming, ICSP, ICEPIC, Linear Active Thermistor, Mindi,
MiWi, MPASM, MPLIB, MPLINK, MPSIM, PICkit, PICDEM, PICDEM.net, PICLAB, PICtail, PowerCal, PowerInfo,
2011 Microchip Technology Incorporated. All Rights Reserved. 2011 Microchip Technology Incorporated. All Rights Reserved. Slide Slide 124 124
PowerMate, PowerTool, REAL ICE, rfLAB, rfPICDEM, Select Mode, Smart Serial, SmartTel, Total Endurance,
UNI/O, WiperLock and ZENA are trademarks of Microchip Technology Incorporated in the U.S.A. and other
countries.
SQTP is a service mark of Microchip Technology Incorporated in the U.S.A.
All other trademarks mentioned herein are property of their respective companies.

También podría gustarte