Está en la página 1de 362

MICROCONTROLADORES GAMA

ALTA Y ARQUITECTURAS
MIXTAS

Departamento de Electrnica
Instrumentacin

y Control.
Profesor:
Ing. Vladimir Trujillo Arias.
V
L
Contenido.
A
D CAPITULO 1. Introduccin
Evolucin de los sistemas digitales
I
M
I
R
Estado del Arte
Tendencias
T
R
Conceptos generales de procesadores
U Qu
es un microprocesador
J Qu es un microcontrolador
I
L
Qu es un DSP
L Q
Qu es un
n Dispositivo
Dispositi o Lgico Config
Configurable
able
O
Terminologa utilizada en la arquitectura de
A procesadores
R
I
A
S
V
L
Contenido.
A
D
I
CAPITULO 2. Conceptos Bsicos de
M
I Microcontroladores Gama Alta
R

Familias de Microcontroladores de Altas


prestaciones
p
T
R
U
J
I
Arquitecturas de Microcontroladores de
L Gama Alta
L
O

A
R
I
A
S
V
L
Contenido.
A
D CAPITULO 3. Microcontroladores PIC de Gama Alta.
I Familia 18
M
I
Arquitectura
q
R Capacidades de computo
Memoria
T
R
Perifricos especiales
U Mdulos
HW
J Set de instrucciones
I
L CAPITULO 4. Herramientas de programacin y
L simulacin
i l i
O
Lenguaje Ensamblador
A Compiladores C
R Simuladores (MPLAB y PROTEUS)
I
A
S
V
L
Contenido.
A
D
I
CAPITULO 5. Arquitecturas Mixtas
Introduccin
M
I
R

T
Sistemas Multiprocesadores
R
U
Arquitecturas Electrnicas Paralelas
J
I
Procesadores en Sistemas de
L
L
Telecomunicaciones y Sistemas
O
Industriales
CAPITULO 6.
6 Proyecto Final
Final.
A
R
I
A
S
Evolucin de los Sistemas
V
L
Digitales
A
D
I
La aparicin del transistor, condujo a su
M
I uso como conmutador (lgica binaria).
R

T
Aparicin de tcnicas de integracin
R
U
electrnica (Microelectrnica),
(Microelectrnica) primeros
J
I
circuitos integrados Digitales.
L
L
O
Circuitos Integrados Monolticos
A
R
I
A
S
Evolucin de los Sistemas
V
L
Digitales
A
D
I
Clasificacin:
Segn la forma en que se realizan
M
I

fsicamente:
R

T
R Segn
g el semiconductor: Silicio,, Arseniuro de
U
J
Galio, Silicio Germanio
I
L
Segn el Transistor: Bipolares, CMOS, BICMOS
L S ell nmero
Segn de
d transistores:
i SSI MSI
SSI, MSI, LSI,
LSI
O
VLSI, ULSI y GLSI.
A
R
I
A
S
Evolucin de los Sistemas
V
L
Digitales
A
D
I
Clasificacin:
Segn la forma en que se realiza el diseo
M
I

visto por el desarrollador:


R

T
R Los Circuitos Integrados
g Digitales
g Monolticos
U
J
(CIDM) Normalizados
I
L
Los Circuitos Integrados Digitales Monolticos
L (CIDM) especificados por el usuario.
usuario
O

A
R
I
A
S
Evolucin de los Sistemas
V
L
Digitales
A
D
I
Segn el nmero de transistores:
M
I Nivel
e de Integracin
teg ac # de # de Ao
o
R Transistores compuertas
T
R
Pequea escala de integracin SSI 10 a 100 1 a 10 1960
U
J
Mediana escala de integracin MSI 100 a 1000 10 a 100 1965
Gran escala de integracin LSI 1000 a 10000 100 a 1000 1970
I
L
L
O
Muy Gran escala de integracin
VLSI
10K a 100K 1K a 10K 1978
Ultra Gran escala de integracin 100K a 1M 10K a 100K 1985
A
R
I
ULSI
A
S
Giga Gran escala de integracin
GLSI
>1.000.000 >100.000 1995
Evolucin de los Sistemas
V
L
Digitales
A
D
I
Circuitos Integrados Digitales
M
I
Monolticos ((CIDM)) Normalizados
R
CIDM normalizados de funcin fija. Los
T cuales poseen una arquitectura predefinida
y su comportamiento no se puede alterar
alterar.
R
U
J
I
(Contadores, sumadores, etc.)
L
L
CIDM normalizados Programables.
Programables
O
Programables de Arquitectura Fija.
A Programables de Arquitectura Configurable.
R
I
A
S
Evolucin de los Sistemas
V
L
Digitales
A
D CIDM normalizados Programables de Arquitectura
I
M
Fija. Caracterizados por poseer un Hardware, en el
I que las conexiones entre los elementos que lo
R
componen, no pueden ser modificadas. Pueden
T ser Combinacionales o secuenciales.
R
U
Los combinacionales se definen mediante una
J tabla de verdad que rige su comportamiento,
I
L
como el caso de las memorias de acceso aleatorio.
L L secuenciales
Los i l poseen una CPU,
CPU que sigue
i un
programa almacenado en memoria.(Aqu se Hallan
O

A los Microprocesadores y Microcontroladores)


R
I
A
S
Evolucin de los Sistemas
V
L
Digitales
A
D CIDM normalizados Programables de Arquitectura
I Configurable. La caracterstica principal de estos
M
I
dispositivos
p es la de modificar su funcin o
R comportamiento, utilizando una parte de los
elementos que los componen y/o cambiando la
T
R
interconexin entre ellos.
U P
Poseen un elevado
l d contenido
t id de d elementos
l t lgicos
l i
J en su interior.
I
L Utilizados especialmente en el diseo de sistemas
L electrnicos
l t i digitales
di it l complejos,
l j en aplicaciones
li i
O
de paralelismo o en aquellos casos en que los
A
dispositivos existentes no son los adecuados.
R FPGAs PLDs
FPGAs,
I
A
S
Evolucin de los Sistemas
V
L
Digitales
A
D
I
Los Circuitos Integrados Digitales Monolticos
M
I
(CIDM) especificados por el usuario. Estos
R dispositivos se fabrican por peticin de un
T usuario y en grandes cantidades,
especialmente
i l t para produccin
d i en serie. i
R
U
J
I Requieren de potentes herramientas de
L
L desarrollo electrnico con el fin de ser
diseados por el que los requiere.
O

A
R
I
A
S
El Microprocesador
Definicin: Es el dispositivo encargado de realizar clculos aritmticos y
lgicos y que temporiza y controla las operaciones de los dems
elementos de un sistema.
Partes:
- Unidad de control.
- Unidad Aritmtico-lgica (ALU).
- Registros: - Contador de programa (program counter).
counter)
- Registros generales.
- Registro de estado.
- Stack.
Reloj de funcionamiento:
- Ciclo de reloj: seal de reloj a la entrada del procesador.
- Ciclo de mquina: periodo de ejecucin de una operacin completa del
p
procesador.
- Ciclo de instruccin: periodo que se requiere para ejecutar una
determinada instruccin.
El Microprocesador
Controlador y
Microcontrolador
Recibe el nombre de controlador el
p
dispositivo que
q se emplea
p para
p el
gobierno de uno o varios procesos.
Ejemplos:
j Horno, Automvil.
Arquitectura Cambiante en el tiempo.
Discreto
Integrado Microprocesador.
Integrados Microcontrolador.
El Microcontrolador
Caractersticas:

Este circuito integrado programable contiene todos los


componentes de un computador .

No alcanzan el nivel de procesamiento de por ejemplo, un 8086,


aunque poseen la
l ventaja
t j d
de poder
d ttrabajar
b j sin
i memoria i
externa .

El microcontrolador es un computador dedicado. En su memoria


slo reside un programa destinado a gobernar una aplicacin
determinada, una vez programado y configurado el
microcontrolador solamente sirve para gobernar dicha tarea.
El Microcontrolador
Es un computador completo, aunque de limitadas prestaciones,
que est contenido en el chip de un circuito integrado y se
destina a g
gobernar una sola tarea.

El alto nivel de integracin reduce notablemente la cantidad de


componentes externos y los costos de desarrollo
desarrollo, mejora el
desempeo del sistema, reduce la interferencia
electromagntica, minimiza el consumo de potencia y agiliza el
tiempo
p de realizacin

El nmero de productos que utilizan uno o varios


microcontroladores aumenta de forma exponencial
exponencial.
El Microcontrolador
A it t
Arquitectura Interna:
I t
Procesador.
Memoria no voltil para contener el programa.
Memoria de lectura y escritura para guardar los datos.
Lneas de E/S para los controladores de perifricos:
Comunicacin paralelo.
C
Comunicacin
i i serie.
i
Diversas puertas de comunicacin (USB...)
Recursos auxiliares:
Circuito de reloj
reloj,
Temporizadores
Perro guardin (watchdog)
Conversores A/D y D/A
Comparadores analgicos
Proteccin ante fallos de la alimentacin
Estado de reposo o de bajo consumo
El Microcontrolador
El mercado de los
microcontroladores
Comunicaciones: 30%
Consumo g general: 27%
Automocin: 18%
Informtica: 15%
Industria: 10%
Que microcontrolador Emplear
Costos
Aplicacin
Procesamiento de datos
Entrada y salida
Consumo de energa (CMOS)
Memoria
Ancho de Palabra
Diseo de la placa
Los ms populares
Atmel
AVR
Freescale (antes Motorola)
683xx, 68HCS12, 68HCSX12, 68HC12, 68HC16, 68HC05,
68HC08 68HC11,
68HC08, 68HC11 HCS08
Hitachi, Ltd
Holtek
Intel
MCS-48 (familia 8048),
8048) MCS51 (familia 8051),
8051) 8xC251
Los ms populares
National Semiconductor
Microchip
Familia 10f2xx,
10f2xx 12Cxx de 12 bits Familia 12Fxx,
12Fxx 16Cxx y
16Fxx de 14 bits (PIC16F87X) 18Cxx y 18Fxx de 16 bits
AVR
NEC
Parallax
Texas Instruments
TMS370 MSP430
TMS370,
Zilog
Silabs
Recursos Comunes a Todos
Arquitectura Von Newman
Recursos Comunes a Todos
Arquitectura Hardvard
Recursos Comunes a Todos
Arquitectura
A it t H
Harvard
dEExtendida
t did o Super
S
Harvard ARChitecture (SHARC).

Esta arquitectura incluye una memoria


de cach ((Reserva),) la cual es utilizada
para almacenar instrucciones y datos
que sern reutilizadas por la CPU,
lib
liberando
d as los
l dos
d buses
b de
d la
l
arquitectura Hardvard y permitindoles
ser utilizados en la bsqueda y
almacenamiento de datos, mientras se
ejecutan las instrucciones en cach
Recursos Comunes a Todos
Arquitectura
A it t H
Harvard
dEExtendida
t did o Super
S
Harvard ARChitecture (SHARC).
Recursos Comunes a Todos
Arquitectura
A it t H
Harvard
dEExtendida
t did o Super
S
Harvard ARChitecture (SHARC).
Recursos Comunes a Todos
Arquitectura
A it t H
Harvard
dEExtendida
t did o Super
S
Harvard ARChitecture (SHARC).
Recursos Comunes a Todos
Arquitectura Von Newman Modificada.
La arquitectura Von Neuman modificada, permite
mltiple acceso a memoria por instruccin,
valindose de un truco simple que consiste en hacer
el reloj de acceso a memoria ms rpido que el de
instrucciones.
Por ejemplo el DSP32C de Lucent con reloj de 80Mhz
80Mhz,
tiene un ciclo de instruccin compuesto por cuatro
estados de mquina. Mientras que el acceso a
memoria de este DSP es posible realizarlo cada
estado de mquina siendo posible entonces realizar
cuatro accesos a memoria por cada ejecucin de
instruccin
Recursos Comunes a Todos
CPU

CISC Aprox. 80 instrucciones


Arquitectura Von Neuman
RISC Aprox. 30 instrucciones.
Arquitectura Hardvard
SISC Diseos especficos (Controladores
Empotrados o embebidos)
V
L
Segmentacin
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Ortogonalidad
A
D
I
La ortogonalidad de las instrucciones
M
I hace posible ejecutar cualquier
operacin, sobre cualquier registro,
R

utilizando cualquier modo de


T
R
U
J
I
direccionamiento.
L
L
O

A
R
I
A
S
Recursos Comunes a Todos
Memoria
RAM. Los datos que manejan los programas varan
continuamente, y esto exige que la memoria utilizada
para ello debe ser de lectura y escritura.
ROM. En este tipo de memoria el programa se graba
en el chip durante el proceso de fabricacin mediante
el uso de mscaras. Se aconseja este tipo de
memoria i cuando
d se precisan
i series
i muy grandes,
d
con el fin de disminuir costos de fabricacin.
OTP. Este modelo de memoria solo puede grabarse
una vez por partet del
d l usuario,
i utilizando
tili d ell mismo
i
procedimiento que con la memoria EPROM.
Posteriormente no se puede borrar. Su bajo precio y
la sencillez de la grabacin aconsejan este tipo de
memoria para prototipos finales y series de
produccin cortas.
Recursos Comunes a Todos
Memoria
EPROM. La grabacin de esta memoria se realiza mediante
un dispositivo fsico gobernado desde un computador
personal. En la superficie de la cpsula del microcontrolador
existe una ventana de cristal por la que se puede someter el
chip a rayos ultravioletas para producir su borrado y
emplearla nuevamente.
EEPROM. La grabacin es similar a las memorias OTP y
EPROM, pero el borrado se hace elctricamente. Puede
puede ser programada y borrada muchas veces
FLASH. Se trata de una memoria no voltil, de bajo
consumo que se puede escribir y borrar en circuito al igual
consumo,
que las EEPROM, pero suelen disponer de mayor capacidad
que ests ultimas. El borrado slo es posible con bloques
completos y no se puede realizar sobre posiciones
concretas Son muy recomendables en aplicaciones en las
concretas.
que sea necesario modificar el programa a lo largo de la vida
del producto
Recursos Comunes a Todos
Puertas de entrada y salida

Puertas de entrada y salida


Recursos Comunes a Todos
Reloj

Cristal
RC
Externo
Velocidad
l d d vs. Energa

Recursos Especiales
Perro Guardin
Correccin de fallos
o bloqueos
Refresco para evitar
acciones
Temporizacin
Reset
Recursos Especiales
Timers

Conteos de impulsos externos


Retardos de software
Recursos Especiales
Brownout

Se trata de un circuito que resetea al


microcontrolador cuando el voltaje de
alimentacin (VDD) es inferior a un
voltaje mnimo ((brownout).
brownout ). Mientras
el voltaje de alimentacin sea inferior al
de brownout el dispositivo se mantiene
reseteado, comenzando a funcionar
normalmente cuando sobrepasa dicho
valor.
Recursos Especiales
Estado de reposo o bajo consumo
Conversor A/D
/ D/A
/
Comparador Analgico
Modulador PWM
Recursos Especiales
Puertas de comunicacin
UART, adaptador de comunicacin serie
asncrona.
USART,
USART adaptador
d t d de d comunicacin
i i serie i
sncrona y asncrona
Puerta paralela esclava para poder conectarse
con los buses de otros microprocesadores.
USB (Universal Serial Bus), que es un moderno
b serie
bus i para los
l PC.
PC
Bus I 2 C, que es un interfaz serie de dos hilos
desarrollado por Philips.
CAN (Controller Area Network), para permitir la
adaptacin con redes industriales
V
L
Estado del Arte y Tendencias
A
D
I
Las empresas lderes a nivel mundial, en
M
I
sistemas embebidos de uso general son:
R
INTEL/AMD (Microprocesadores)
TEXAS ((Microcontroladores y DSP))
T
R
U
J ALTERA (PLDS, FPGAS DSPS)
I
L
L
XILINX ((PLDS,
S, FPGAS
G S DSPS)
S S)
O
MICROCHIP (Microprocesadores)
A
R
I
A
S
V
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Estado del Arte y Tendencias
A
D
I
INTEL.
M
I
R
En la actualidad ofrecen arquitecturas
T
revolucionarias multiprocesador.
Intel Core2 Quad Processor
R
U
J
I
L
L
O

A
R
I
A
S
Estado del Arte y Tendencias
INTEL.
Q9000 series Q6000 series
Manufacturing Process 45nm 65nm
L2 Shared
h d Cache1
h 12 MB / 6 MB 8 MB
System Bus 1333 MHz 1066 MHz
Estado del Arte y Tendencias
AMD
Processor AMD Athlon
Athlon X2 Dual-Core
Model Number BE-2400
Frequency (MHZ)
( ) 2300
L2 Cache Size (KB)
65nm SOI Wattage (W) 45 W System
Bus (MHZ) 2000
V
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Estado del Arte y Tendencias
A
D Microcontroladores Texas Instruments
I
M
Familia MSP430
I
Poseen un manejo de potencia muy bajo,bajo con
una CPU de tipo RISC de 16 bits
R

Poseen una serie de pperifricos analgicos


g y
T
R
U
J
digitales, para mediciones precisas..
I Incluyen ADCs, DACs, amplificadores
L
L
operacionales comparadores
operacionales, comparadores, drivers LCD y
O sistemas supervisorios de nivel de voltaje.
A Ultra-bajo consumo de potencia.
R
I
A
S
V
L
Estado del Arte y Tendencias
A
D Microcontroladores Texas Instruments Familia
TMS470
I
M
I
Poseen una CPU tipo RISC de 32 32-bits
bits RISC
R

Manejan velocidades de reloj por encima de los 60 MHz


T
R La memoria de p programa
g puede
p alcanzar hasta 1MB
Posee alta integracin con una gran variedad de
U
J

I perifricos.
L
L Ampliamente utilizado en aplicaciones de:
- Industria automotriz
O

A
R
- Sistemas Industriales
I - Aplicaciones generales de sistemas embebidos
A
S
V
L
Estado del Arte y Tendencias
A
D Procesadores Digitales de seales
I
M DSP de Alto rendimiento TMS320C6000
I
Con velocidades por encima de 1 GHz.
GHz
R
Los TMS320C64x y los TMS320C62x poseen ALUs que trabajan con
T punto fijo
R
Los TMS320C67x manejan punto flotante
U
J Utilizados en aplicaciones donde se manejen seales de gran ancho
I de banda.
L
ptimos para aplicaciones de digitalizacin de audio e imgenes
L
O Rendimiento del orden de 1200 a 8000 MIPS para punto fijo y de
600 a 1350 MFLOPS (Millones de operaciones de coma flotante por
A
segundo) para punto flotante
R
I
A
S
V
L
Estado del Arte y Tendencias
A
D
I
DSP TMS320C5000 Alta eficiencia
M
I de energa.
R

T
Estos DSPs son optimizados para
R
U
elaborar equipos porttiles de uso
J
I
personal. Como reproductores
L
L personales de audio
audio, receptores GPS
GPS,
equipos mdicos porttiles, telefona
O

celular y cmaras digitales.


celular, digitales
A
R
I
A
S
V
L
Estado del Arte y Tendencias
A
D
I
DSP TMS320C2000 Optimizado
M
I para Control.
R

T
Optimizados para trabajo en tcnicas
R
U
de control digital.
digital
J
I
L
L
O

A
R
I
A
S
V
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Estado del Arte y Tendencias
A
D
I
PLD (Programable Logic Device)
M
I MAX II (CPLD)
Bajo consumo de energa, alta densidad
R

Utiliza memoria FLASH


T
R
U
J Soporta voltajes de 1.8-V, 2.5-V & 3.3-V
I
L
L
MAX
O
Bajo consumo y densidad moderada.
A
R
Soporta
p voltajes
j de 2.5-V,, 3.3-V o 5.0-V
I
A
S
V
L
Estado del Arte y Tendencias
A
D FPGA (Field Programable Gate Array)
I
M CICLONE II
I
R Soporta Nios II embedded processor
Multiplicadores digitales 18x18 para DSPs Embebidos
T
R Amplio
p o portafolio
po a o o de IP.
U
J CICLONE
I
L
Soporta Nios II embedded processor
L Amplio
l portafolio
f l de
d IP.
O
STRATIX II (Alta Densidad)
A
R
Soporta Nios II embedded processor
I Interfaces de I/O de alta velocidad
A
S Amplio portafolio de IP.
V
L
Estado del Arte y Tendencias
A
D STRATIX (Alta Densidad)
Soporta Nios II embedded processor
I
M
I
R
Bloques para DSP
Interfaces de I/O de alta velocidad
T
R
Amplio portafolio de IP.
U
J
I
L
STRATIX GX (Alta Densidad)
L Todas las caractersticas de los otros STRATIX
O
Transceptores de 3.125-Gbps
A Amplio portafolio de IP
R
I
A
S
V
L
Estado del Arte y Tendencias
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Estado del Arte y Tendencias
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Estado del Arte y Tendencias
A
D
I
SPARTAN 3 E (FPGA)
M
I
Posee alrededor de 1.2 millones de
R compuertas
T
R
Tecnologa de 90nm
U
J
VIRTEX 4 (FPGA)
COOL RUNNER ((CPLD))
I
L
L
O Soporta voltajes de 1.5 a 3.3V en sus
A sistemas I/O
R
I
A
S
V
L
Estado del Arte y Tendencias
A
D
I
IP CORE
M
I
R
Herramientas de desarrollo para diseo
T
de controladores. Y procesadores de
R
U
diversos tipos que corren sobre sus
J
I
plataformas hardware.
L
L
O
Processor Central
Central.
A
R
I
A
S
V
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Estado del Arte y Tendencias
A
D
I
Microcontroladores de Gama Media de
M
I la familia 16FXXX
R

T
Microcontroladores de Gama Alta de la
R
U
familia 18FXXXX
Procesadores digitales de Seales
J
I
L
L
O
30FXXX
A
R
I
A
S
V
L
DSP Definicin
A
D
I
Estrictamente hablando, el trmino DSP se
M
I
aplica a cualquier chip que trabaje con
R seales representadas de forma digital.
T
R
Un Procesador Digital de Seales es un tipo
U
J
de microprocesador o microcontrolador,
I increblemente rpido y poderoso para
L
L operaciones repetitivas en las que se realicen
un gran nmero de sumas y multiplicaciones.
O

A
R
I
A
S
V
L
Que hace a un DSP un DSP?
A
D
I
Capacidad de realizar operaciones de
M
I multiplicacin y acumulacin (MACs) en
slo un ciclo de reloj.
R

T
R
U
Manejo de aplicaciones en tiempo real
Arquitectura que soporte un flujo de
J
I
L
L
O
datos a alta velocidad hacia y desde la
A
unidad de clculo y memoria.
R
I
A
S
V
L
Que hace a un DSP un DSP?
A
D
I
Unidades DMA (Direct Memory Acess)
M
I
R
Generadores de direcciones (DAGs)
(DAG s)
T Mecanismo efectivo de saltos para
ejecucin de loops
R
U
J
I
L
Alta velocidad de procesamiento de
L
O
operaciones aritmticas

A
R
I
A
S
Diferencias entre
V
L
Microcontrolador y DSP
A
D
I
Estructura de memoria que poseen.
M
I Cantidad de unidades de ejecucin
j que
q
R
poseen, (operaciones en paralelo).
El DSP tiene caractersticas diseadas ppara
T
R
U
J
soportar tareas de altas prestaciones,
I
L
repetitivas y numricamente intensas.
Microprocesadores de propsito general y
L
O

A
microcontroladores no estn especializados
R
I
para ninguna
i aplicacin
li i en especial.
i l
A
S
Requerimientos HW y
V
L
Operaciones Comunes
A
D
I
Los DSPs tienen en comn ciertas
M
I caractersticas como:
R

Capacidad aritmtica especializada de alta


velocidad
T
R
U
J
I
Buena capacidad de transferencia de datos
L hacia el mundo real.
L
O
Acceso a mltiples arquitecturas de
A memoria.
R
I
A
S
Requerimientos HW y
V
L
Operaciones Comunes
A
D
I
Las operaciones tpicas en los DSPs
M
I son:
R

Sumas
T
R
U
Multiplicacin
J
I
Retardos
Manejo de matrices y arreglos de datos.
datos
L
L
O

A
R
I
A
S
Requerimientos HW y
V
L
Operaciones Comunes
A
D
I
La suma y Multiplicacin. Requiere
M
I el uso de:
R

Dos operandos
T
R
U
Alto rendimiento.
rendimiento
J
I
Almacenamiento del resultado.
L
L
O

A
R
I
A
S
Requerimientos HW y
V
L
Operaciones Comunes
A
D
I
Manejo de Arreglos
M Bsqueda de valores de lugares consecutivos de
I
R
memoria i
Copia de datos de memoria a memoria
T
R Multiplicacin y suma en paralelo.
U
J Acceso mltiple a memoria
I
L
Registros temporales
L
O
Eficiente
f generacin
de direcciones.
Caractersticas especiales como retardos o
A
R
direccionamiento cclico
I
A
S
La Gama Alta de los PIC
(18F452)
V
L
Caractersticas Generales
A
D
I
Cdigo compatible con la familia 16 y
M
I 17 de los PIC
R

T
Reloj que puede trabajar por encima de
R
U
10 MIPs.
MIPs
Uso de cristal de 40 Mhz.
J
I
L
L Cristales de 4 Mhz a 10 Mhz utilizando un
multiplicador de frecuencia PLL.
O

A
R
I
Instrucciones de 16 bits con bus de
A
S
datos de 8 bits.
V
L
Caractersticas Generales
A
D
I
Prioridad de interrupciones
M
I
R
Multiplicador hardware de 8 x 8 que
T
funciona en un solo ciclo de mquina.
Tres pines para manejo de
R
U

interrupciones externas.
J
I
L
L
O
Manejo ded niveles
l de
d corriente de
d 25
A mA. en modo fuente y sumidero
R
I
A
S
V
L
Caractersticas Generales
A
D
I
Timer 1 de 16 bits, Timer 2 de 8 bits.
M
I
R
Timer 3
3, (no lo posee la gama media),
media)
T
de 16 bits (65535 conteos).
Dos mdulos de
R
U

Captura/Comparacin/PWM.
J
I
L
L
O
Mdulo
d l de
d comunicacin seriall con
A soporte para RS-485 y RS-232
R
I
A
S
V
L
Caractersticas Generales
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Caractersticas Generales
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Oscilador. (18F452)
LP Cristal de baja potencia.
potencia
Se poseen 3 bits XT Cristal resonador de cuarzo
(FOSC2, FOSC1 y
FOSC0) para lla HS Cristal resonador de alta velocidad
configuracin del (por encima de 8 Mhz.)
tipo
p de oscilador a HS + PLL Cristal de alta velocidad con PLL
utilizar. habilitado.
RC Oscilador RC externo.
RCIO Resistor externo y capacitor con
pin I/O habilitado.
EC Relojj externo.
ECIO Reloj externo con pin I/O
habilitado
Oscilador en modo HS,, XT,, LP
V
L
. (18F452)
A
D
I
M
I
R

T
R
U
J
I
L
L Una capacitancia elevada,
O
incrementa la estabilidad del
A oscilador, pero tambin incrementa
R los tiempos de inicio del oscilador
I
A
interno.
S
Oscilador en modo RC .
(18F452)
Con el Oscilador en modo,
RC,, FREC/4
/ esta disponible
p
en el pin OSC2.
Si FREC/4 no se necesita, se
recomienda utilizar el modo
RCIO, para ahorrar
corriente.
El modo
d RCIO,
RCIO es igual
i l all
modo RC, con la diferencia
de qque el pin
p OSC2 se
comporta como un pin de
I/O normal (RA6).
V
L
Oscilador Externo. (18F452)
A
D
I Cuando se utiliza el oscilador externo, se puede utilizar el
modo EC,, el cual se tiene FREC/4
/ ppor el pin
p OSC2.
M
I
R
Tambin se puede tomar el modo ECIO, para ahorro de
T corriente, el cual OSC2 queda como un pin de propsito
R
U
general (RA6)
J
I
L
L
O

A
R
I
A
S
PLL. (18F452)
V
L
PLL. (18F452)
A
D
I
El PLL se utiliza solo cuando el oscilador se ha
M
I
configurado en modo HS.
R
Si la programacin del cristal se ha realizado
T
R
en otro modo, el PLL no se habilita y la
U
J
fuente de reloj directa proviene de OSC1.
I
L
Existe un timer que bloquea el PLL, hasta que
L
O
no se halla
h ll logrado
l d por parte de
d l ell
A
enganche al cudruplo de la frecuencia de
R
I
entrada
entrada.
A
S
Cambio de Fuente de Reloj.
j
V
L
(18F452)
A
D
I
Los PIC 18Fxx2 permiten cambiar el uso del
M
I
oscilador de alta velocidad, por uno de baja
R velocidad (como el oscilador de 32Khz de
T timer1) esa seleccin se hace en el BIT
OSCSEN del
d l registro
i t de
d configuracin.
fi i
R
U
J
I El BIT OSCSEN se selecciona antes de
L
L programar el PIC
PIC, para que se pueda producir
el cambio de oscilador.
O

A
R
I
A
S
V
L
Registro OSCON (18F452)
A
D
I
M
I
R

BIT 7 a 1 No utilizados
R

U
J

I
BIT 0 SCS: System Clock Switch bit
L Cuando el BIT OSCSEN este en 0 y T1OSCEN este en 1:
L
O 1 = Utilice el oscilador del timer 1.
0 = Utilice el oscilador primario.
A

R Si el oscilador del Timer1 no esta habilitado


habilitado, cualquier escritura
I
A
en el BIT SCS es ignorada y se utiliza el oscilador principal
S
Diagramas de Tiempo de
V
L
Transiciones (18F452)
A
D
I
M
I
R

T
R
U
J
I
L
L

El contador de programa, se incrementa cuando ocurre


O

A
la octava transicin de estabilizacin del Timer 1
R
I
A
S
Diagramas de Tiempo de
V
L
Transiciones (18F452)
A
D
I
M
I
R

T
R
U
J
I
L
L
O
Para la transicin entre el oscilador de timer1 y OSC1, existe
A
p de estabilizacin de 1024 ciclos de osc1,, antes de
un tiempo
R
I comenzar a contar los 8 periodos de sincronizacin de reloj,
A despus de lo cual el reloj del micro funciona con OSC1.
S
Diagramas de Tiempo de
V
L
Transiciones (18F452)
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Diagramas de Tiempo de
V
L
Transiciones (18F452)
A
D
I
Cuando la transicin de oscilador es
M
I
entre el timer1 y OSC1, existe un
R
tiempo de estabilizacin de 1024 ciclos
T de osc1 y luego un tiempo necesario
para que ell PLL enganche
h la
l frecuencia
f i
R
U

de reloj de OSC1, antes de comenzar a


J
I

contar los 8 periodos de sincronizacin


L
L

de reloj, despus de lo cual el reloj del


O

A
R micro comienza a funcionar con OSC1.
I
A
S
V
Oscilador. (18F4550)
L
A
D El PIC18F4550 puede operar en 12 modos
I
M de oscilador.
I
R M d XT Cristal
Modo C i t l Resonador.
R d
T XTPLL Cristal Resonador con PLL.
R
U HS Cristal de alta velocidad.
velocidad
J
I HSPLL Cristal de alta velocidad con PLL.
L
L EC Reloj externo con salida de FOSC/4.
FOSC/4
O
ECIO Reloj externo con I/O en RA6
A
R ECPLL Reloj externo con PLL
I
A
S
V
Oscilador. (18F4550)
L
A
D ECIO Reloj externo con I/O en RA6 y PLL.
INTHS Oscilador Interno, usado como fuente
I
M
I
del micro
micro. Y oscilador HS usado como fuente
de reloj para USB.
R

T
R
INTXT Oscilador Interno, usado como fuente
U d l micro.
del i Y oscilador
il d XT usadod como fuente
f t de
d
J
I
reloj para USB.
L INTIO Oscilador Interno,, usado como fuente
L
O
del micro. Y oscilador EC usado como fuente de
reloj para USB 12. INTCKO Oscilador Interno,
A
R
usado como fuente del micro. Y oscilador EC
I usado como fuente de reloj para USB y FOSC/4
A
S
saliendo por RA6
Oscilador en modo HS,, XT,, LP
V
L
. (18F4550)
A
D
I
M
I
R

T
R
U
J
I
L
L Una capacitancia elevada,
O
incrementa la estabilidad del
A oscilador, pero tambin incrementa
R los tiempos de inicio del oscilador
I
A
interno.
S
Arquitectura del Oscilador.
(18F4550)
V
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
Oscilador. (18F4550)
L
A
D Oscilador Interno.
Existen 2 fuentes de reloj internas, que
I
M
I
permiten el no uso de oscilador,
oscilador cuando USB
esta deshabilitado.
R

T
R
La fuente principal (INTOSC) con 8 MHz con
U postescalador
t l d que genera frecuencias
f i de
d 31
J
I
kHz a 4 MHz
L La otra fuente de relojj es el oscilador RC
L
O
(INTRC) con frecuencia nominal de 31 kHz.
Tambin es usado como fuente de reloj para
A
R
mdulos como:
I Power-up Timer
A
S Watchdog Timer
V
Oscilador. (18F4550)
L
A
D Oscilador Interno.
I
M
Existen 4 modos de trabajo que determinan la
I fuente de reloj del USB
USB.
R
INTHS: El reloj de USB proviene del oscilador
T principal en modo HS.
R
U
INTXT: El reloj de USB proviene del oscilador
J principal en modo XT.
I
L
INTCKO: El reloj de USB proviene del oscilador
L externo con entrada en OSC1/CLKI; OSC2/CLKO es
O
la salida de FOSC/4.
A INTIO: El reloj de USB proviene del oscilador
R
externo con entrada en OSC1/CLKI; OSC2/CLKO
I
A
funciona como un pin I/O digital (RA6).
S
V
Oscilador. (18F4550)
L
A
D
I
M
I
R

bit 7 INTSRC:
INTSRC SSeleccin
l i ddell O
Oscilador.
il d
R
U
J
I 1 = reloj de 31.25 kHz derivado del reloj de 8
MHz de INTOSC
L
L
O
0 = reloj de 31 kHz derivado del reloj RC
A
R
interno INTRC.
bit 6-5 Sin implementar.
I
A
S
V
Oscilador. (18F4550)
L
A
D bit 4-0 TUN4:TUN0: bits de
I
M sntonizacin
I
R
01111 = Mxima
M i frecuencia.
f i
T

R 00001
0000
00000 = frecuencia central. El oscilador corre
U
J
I a la frecuencia calibrada en fbrica.
L
L 11111
O

A
R
10000 = Frecuencia mnima.
I
A
S
Retardos Considerados al iniciar
V
L
el microcontrolador.
A
D
I
Al iniciar el procesador se definen 3 retardos.
M
I
El primero es dado por el PWRT el cual provee un
R retardo promedio de 72 ms. para la estabilizacin
T
de la circuitera interna.
R
U
El segundo temporizador es el OST (Oscillator
J Start-up Timer) que espera a que el oscilador
utilizado se estabilice.
I
L
L
O
La secuencia de retardo es PWR ms OST.
A
Al utilizar el PLL, aparece un tercer retardo (TPLL )
R utilizado para esperar que el PLL enganche la
I
A frecuencia de entrada (2 ms tpico).
S retardo=PWRT+OST+TPLL
V
L
Fuentes de Reset
A
D
I
La familia PIC18FXXX Posee los siguientes
M
I
tipos de reset:
R
Power-on Reset (POR)
T MCLR Reset Durante el funcionamiento normal
R
U MCLR Reset Durante el modo SLEEP
J
I WDT Reset durante operacin normal
L
L Programmable Brown-out
Brown out Reset (BOR)
O
Instruccin de RESET.
A
R Reset debido al llenado del Stack.
Stack
Reset debido al vaciado del Stack.
I
A
S
V
L
Organizacin de la memoria
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Organizacin de la memoria
A
D
I
El PIC18FXX2 posee un contador de
M
I programa de 21 bits que permite ubicar
una capacidad de memoria de 2Mega
R

Palabras
T
R
U
J
I
Las posiciones de memoria mas all de
L
L la memoria fsica construida se leen
como 0.
O

A
R
I
A
S
V
L
Organizacin de la memoria
A
D
I
El PIC18F452 posee 32 K Bytes de
M
I memoria FLASH de programa,
agrupados de a 2 Bytes, con el fin de
R

contener instrucciones complejas.


T
R
U
J
I
Por lo tanto este dispositivo puede
L
L almacenar 16mil instrucciones simples.
simples
O

A
El vector de RESET se halla en la
R
I
direccin 0000h y el de interrupciones
A
S
en las posiciones 0008h y 0018h.
Organizacin
g de la memoria
V
L
18f452
A
D
I Hay un stack de 31 niveles, lo
M que permite tener 31 posibles
I
R
sub
b rutinas
ti anidadas.
id d

T
Existen dos vectores de
R interrupciones,
p , para
p manejoj de
U interrupciones de alta y baja
J
I
prioridad.
L
L
32K de memoria en pasos de 2
O en dos, para un total de 16K de
palabras. De 7FFF en adelante
A
R
no existe memoria
I implementada fsicamente y se
A lee como 0.
S
Organizacin de la memoria
18f4550
V
L
Organizacin de la memoria (Pila)
A
D
I
El Stack de los PIC18FXX2 posee 31 palabras
M
I
de 21 bits, direccionadas por un apuntador de
R Stack de 5 bits.
T
R
Cada vez que se produce una interrupcin o
U
J
un llamada a subrutina, el apuntador del Pila
I se incrementa en 1 y el valor del contador de
L
L programa es almacenado en una de las
palabras de 21 bits.
O

A
R
I
A
S
Organizacin de la memoria (Pila)
V
L
18F452 y 18F4550
A
D
I
Cuando ocurre una instruccin de tipo return,
M
I
retfie o retlw el dato almacenado en la
R posicin actual que indica el apuntador de
T programa, es cargado al contador de
programa y ell apuntador
t d ded la
l Pila
Pil se
R
U

disminuye en 1.
J
I
L
L El apuntador de programa se puede leer y
escribir y la direccin ubicada en el inicio de
O

la Pila puede ser leda y escrita a travs de


A
R
I
A
los registros SFR.
S
Registro
g STKPTR
V
L
18F452 y 18F4550
A
D
I
M
I
R

T
R
BIT 7 STKOVF: Bandera de Pila llena
U
1 = Pila
Pil llena
ll o rebosada.
b d
J 0 = Pila sin llenar
BIT 6 STKUNF: Bandera de pila vaca.
I
L
L 1 = Ocurri un vaciado de la pila.
O
0 = No ha ocurrido un vaciado de la pila.
A
R
BIT 5 Sin implementar:
p Ledo como '0'
I BIT 4-0 SP4:SP0: Bits de direccin de la
A
S
pila
Organizacin de la memoria (Pila)
V
L
18F452 y 18F4550
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Organizacin de la memoria (Pila)
V
L
18F452 y 18F4550
A
D La cabecera de la Pila puede ser leda y
I
M
escrita, a travs de los registros TOSU, TOSH
I y TOSL
TOSL, que mantienen el contenido
R
apuntado por el registro STKPTR.
T
Despus de un call, rcall o una interrupcin,
este
t valor
l puede d ser modificado
difi d por SW y
R
U
J
cuando se genere el retorno de la subrutina,
se puede dirigir su regreso a un lugar
I
L
L
dif
diferente definido
d fi id por ell usuario.
i Solo
S l se
debe tener en cuenta deshabilitar las
O

A
R
interrupciones
p globales.
g
I
A
S
Organizacin de la memoria (Pila)
V
L
18F452 y 18F4550
A
D
I El registro STKPTR es el apuntador
de la Pila.
Pila
M
I
R

T
R
El BIT STKFUL indica el llenado de
U
J
la pila y el BIT STKUNF el vaciado
de la ppila.
I
L
L
O
Cuando se produce un RESET, el
valor del apuntador de la pila es 0.
0
A
R
I
A
S
V
L
Organizacin de la memoria (Pila)
A
D
Despus de que el contador de
programa es almacenado en la pila 31
I
M
I
R
veces sin extraer ningn valor
veces, valor, el BIT
STKFUL se coloca en 1. El BIT STKFUL
es borrado por SW o por un POR.
T
R
U
J (BIT STVREN en 1) Cuando se
almacena una direccin en la posicin
I
L
L
O
31 la
l pila
l se desborda,
d b d se reinicia ell
microprocesador, el BIT STKFUL se
coloca en 1 y se mantiene as,
as tambin
A
R
I
A el apuntador de la pila se coloca en 0.
S
V
L
Organizacin de la memoria (Pila)
A
D
(BIT STVREN en 0) cuando se
desborda la ppila el BIT STKFUL se
I
M

pone en 1, cualquier dato adicional


I
R

T a escribirse en la pila, no
sobrescribe la posicin 31,
31 si no
R
U

que se omite, y el registro STKPTR,


J
I
L
L se mantiene apuntando a la
O
posicin 31.
A
R
I
A
S
V
L
Organizacin de la memoria (Pila)
A
D
Cuando la pila se vaca, la prxima
instruccin q
que requiera
q extraer un
I
M

dato de ella, retorna el valor de 0 al


I
R

T contador de programa y coloca el


BIT STKUNF en 1 hasta que ocurra
R
U

un POR o un se borre por software.


J
I
L
L
O

A
R
I
A
S
V
L
Instrucciones PUSH y POP
A
D
I
La instruccin PUSH, es utilizada para
M
I colocar en la cabecera de la pila el valor
actual del contador de programa,
R

produciendo un incremento en STKPTR.


T
R
U
J
I
Se puede incluir una direccin de
L
L retorno cualquiera en la pila utilizando
PUSH y cargando ese valor en TOSU,
O

TOSH y TOSL
A
R
I
A
S
V
L
Instrucciones PUSH y POP
A
D
I
La instruccin POP, se utiliza para
M
I descartar el valor ubicado en la
cabecera de la pila y reemplazarlo por
R

el valor ubicado previo a este, sin


T
R
U
J
I
producir ningn traumatismo en el
L
L
sistema.
Con la instruccin POP se produce un
O

decremento en el apuntador de la pila.
pila
A
R
I
A
S
V
L
Contador de Programa
A
D
I
El contador de programa (PC) esta
M
I
conformado p por los registros
g PCL, PCH
R
y PCU.
T
R
El registro
g PCL puede ser ledo y escrito
U
J
directamente.
Los registros PCH y PCU pueden ser
I
L
L
O ledos y escritos solo a travs de los
A registros PCLATH y PCLATU
R
I
A
S
V
L
Temporizacin / Instrucciones
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Temporizacin / Instrucciones
A
D La entrada de reloj es dividida internamente
I
M
en cuatro seales desfasadas 900. Q1, Q2, Q3
I y Q4
Q4.
El contador de programa es incrementado
R

T
R
cada flanco subida de Q1.
U
La bsqueda de una instruccin es realizada
de Q1 a Q4, pero es colocada en el registro
J
I
L
L
de instruccin
st ucc cada QQ4
O Las instrucciones son decodificadas y
A
ejecutadas en el periodo de tiempo de Q1 a
R Q4
Q4.
I
A
S
Instrucciones en la Memoria de
V
L
programa
A
D
I
Las instrucciones para el PIC18F452 son
M
I de 16 bits, y su byte menos significativo
es siempre almacenado en una
R

direccin par.
T
R
U
J
I
El BIT menos significativo del contador
L
L de programa es siempre 0 0, por lo que el
incremento de las direcciones se hace
O

de dos en dos
dos.
A
R
I
A
S
Instrucciones en la Memoria de
V
L
programa
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Instrucciones de 32 bits
A
D
I
Los microcontroladores PIC18FXX2, posee 4
M
I
instrucciones de dos palabras de longitud (32
R bits), ellas son MOVFF, CALL, GOTO y LFSR.
T
R
La segunda palabra de esas instrucciones
U
J
posee los 4 BITS mas significativos en 1 y se
I comporta como un tipo especial de NOP.
L
L
O
L otros 12 BITS de
Los d la
l segunda d palabra
l b
A
contienen los datos a ser utilizados por la
R instruccin
instruccin.
I
A
S
V
L
Instrucciones de 32 bits
A
D
I
Cuando la primer palabra es ejecutada,
M
I
g
los datos contenidos en la segunda son
R
accedidos.
T
R
Pero si el PC accede primero la segunda
g
U
J
palabra, esta se ejecuta como un NOP.
Esto es til cuando previamente a una
I
L
L
O instruccin de dos palabras, existe una
A instruccin de salto condicional.
R
I
A
S
V
L
Instrucciones de 32 bits
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Memoria de Datos 18F452
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Memoria de Datos 18F4550
V
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Memoria de Datos
A
D
I
La memoria de datos esta dividida en 16
M
I
bancos, cada uno de 256 Bytes.
R
En el caso del 18F4550 los bancos 4 al 7
T estn implementados para el uso del
protocolo
t l USB,
USB pero cuando d estet protocolo
t l
R
U
J
I no se usa sirven como memoria de
L
L
propsito general.
general
O
La zona de FSR se halla localizada en el
A
R
banco
ba co 155 despus de la a pos
posicin
c F80h
80 (de
I
A
la mitad hacia el final)
S
V
L
Memoria de Datos (Direccionamiento)
A
D
I
Se pueden identificar 3 formas de
M
I acceder la memoria de programa de los
PIC18FXX2.
R

T
R
U
Direccionamiento indirecto: requiere el uso
J de los registros FSRn (12 BITS) y el
correspondiente registro indirecto INDFn).
I
L
L
O Direccionamiento directo: requiere el uso
A del registro BSR, el cual en sus BITS 0 a 3
contiene la direccin del banco escogido.
R
I
A
S
V
L
Memoria de Datos (Direccionamiento)
A
D Otra forma de direccionamiento directo es:
Para asegurar que los registros (SFR Y GPR) sean
I
M
I accedidos en un solo ciclo de instruccin,
instruccin
R
independiente del Banco apuntado por el registro
T
BSR, Existe el ACCESS BANK, el cual esta formado
R por una parte
p p del banco 0 y un segmento
g del
U banco 15
Un BIT en la instruccin especifica si la operacin
J
I
L a utilizar se hace a travs del ACCESS BANK o con
L
ell registro BSR, a ese BIT se le
l denomina
d a

O
(access bit) por defecto vale 0 y apunta al ACCESS
A BANK
R
I
A
S
Memoria de Datos RAM USB
Cuando el modulo USB esta habilitado, la
memoria en esos bancos se usa como un buffer
USB.
USB
Esta memoria es compartida entre el ncleo del
micro y el mdulo USB, permitiendo la
transferencia de datos entre los dos.
El banco 4 de memoria RAM, se utiliza para el
manejoj del
d l USB,
USB cuandod este
t mdulo
d l esta
t
activo, y no puede ser usado para otros
propsitos
p p en este tiempo.
p
Memoria de Datos (Registros FSR)
V 18F452
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Memoria de Datos (Registros FSR)
V 18F452
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Memoria de Datos (Registros
FSR) 18F4550
Memoria de Datos (Registros
FSR) 18F4550
V
L
El registro BSR
A
D El registro BSR<3:0> contiene los 4 bits mas
I
M
significativos de los 12-BITS de direcciones de la
I memoria RAM y se utilizan para seleccionar el banco
R
de trabajo.
T Los BITS BSR<7:4> se leen como 0s.
R
U L instruccin
La i t i MOVLB se utiliza
tili para ayudard en la l
J
I
seleccin del banco.
L La instruccin MOVFF ignora
g el registro
g BSR,, ya
y que
q
L
O
los 12-BITS de direccin se hayan incluidos en la
instruccin.
A
R Cada banco posee un tamao de 256 bytes.
I
A
S
V
L
Direccionamiento Indirecto.
A
D
El direccionamiento indirecto se realiza
utilizando dos registros, el FSRn y el INDFn.
I
M
I
R El registro FSR es utilizado como un puntero
T
a una localidad de memoria que va a ser
R
U
escrita o leda.
leda
J
I
El direccionamiento indirecto es posible
L utilizando el registro
g INDF,, ya
y que
q cualquier
q
instruccin que lo utilice, accede
L
O

A
directamente a la posicin de memoria
R apuntada por FSR.
FSR
I
A
S
V
L
Direccionamiento Indirecto.
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Multiplicador Hardware
A
D
I
El multiplicador HW que se posee es de 8
M
I
bits.
R
El resultado se almacena en dos registros
T
R
PRODH y PRODL
U
J
La multiplicacin de 8x8 se realiza en 1 ciclo
I
L
de instruccin.
El multiplicador HW permite a este dispositivo
L
O

A
realizar operaciones sencillas tipo DSP
R
I
A
S
V
L
Puertos
A
D
Los puertos de los PIC de la familia 18 en
general constan de 3 registros para su
I
M
I
R
operacin.
i
T
El registro TRIS, el cual controla la direccin
R
U
de funcionamiento del puerto.
puerto
J
I
El registro PORT, que lee los niveles de
L entrada en el ppuerto.
L
O El registro LAT, el cual es el LATCH de salida
A del puerto.
R
I
A
S
V
L
Puertos
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Puerto A
A
D Este puerto se comporta como I/O digital y como
I entrada analgica
M
I El registro TRISA, configura este puerto como
R entrada o salida.
T
Si un pin se va a utilizar como canal analgico,
R previamente se debe haber configurado
p g como
U entrada en TRISA
J
I Existe el registro LATA, que permite el acceso I/O al
L latch del p
puerto.
El pin RA4 es de colector abierto.
L
O

Para configurarlo sus pines como analgicos o


A
R
digitales, se recurre al registro ADCON1
I
A
S
V
L
Puerto A (18f452)
A
D
I
M
I PIN Tipo
po Entrada
t ada Funcin
u c
R RA0/AN0 TTL Pin I/O entrada analgica 0.

T
RA1/AN1 TTL Pin I/O entrada analgica 1
R RA2/AN2 TTL Pin I/O entrada analgica 2
U
RA3/AN3 TTL Pin I/O entrada analgica 3
J
I RA4/T0CKI Colector Abierto Pin I/O entrada del timer 0, con entrada
L tipo Schmit Trigger
L
RA5/AN4 TTL Pin I/O entrada analgica 4
O
RA6/OSC2/CLKO TTL Entrada del oscilador 2, o salida de frecuencia
A de reloj.
R
I
A
S
Registros asociados con PORTA
V
L
Puerto A (18f452)
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
Puerto A (18f4550)
L
A Pin Funcin I/O Descripcin
D Type
I
M RA0/AN0 RA0 DIG/TTL Entrada o salida digital.
I AN0 ANA Canal 0 de entrada A/D y entrada del comparador C1(
C1(-).
). (configuracion por defecto)
R RA1/AN1 RA1 DIGTTL Entrada o salida digital.
AN1 ANA Canal 1 de entrada A/D y entrada del comparador C2(-). (configuracin por defecto)
T RA2/AN2/ RA2 DIG/TTL Entrada o salida digital.
VREF-/CVREF
R AN2 ANA Canal 2 de entrada A/D y entrada del comparador C2(
C2(+).
). (configuracin por defecto)
U VREF- ANA Referencia de voltaje para el A/D y voltaje de referencia del comparador; entrada baja
J
CVREF ANA Referencia del voltaje de salida del comparador.
I
RA3/AN3/ RA3 DIG/TTL Entrada o salida digital.
L
VREF+
L AN3 ANA Canal 3 de entrada A/D y entrada del comparador C1(+). (configuracin por defecto)
O VREF+ ANA Referencia de voltaje para el A/D y voltaje de referencia del comparador; entrada alta
RA4/T0CKI/ RA4 DIG/Sch Entrada o salida digital.
C1OUT/RCV mit
A
T0CKI Schmit Entrada de reloj del timer 0
R
C1OUT DIG Salida del comparador 1, tiene prioridad sobre los datos en el puerto
I
A RCV TTL Transeiver externo USB (Entrada RCV)
S
V
Puerto A (18f4550)
L
A
D
I Pin Funcin I/O Type Description
M
I RA5/AN4/S RA5 DIG/TTL Entrada o salida digital.
digital
R S/
HLVDIN/C
2OUT AN4 ANA Canal 4 de entrada A/D (Configuracin por defecto).
T
R SS TTL Entrada esclava para e modo SSP (MSSP module).
module)
U
J C2OUT DIG Salida del comparador 2.
I
L
OSC2/CLK OSC2 ANA Conexin del oscilador principal (Modo XT y HS)
L O/ RA6
O
CLKO DIG Salida de reloj (FOSC/4); habilitado en modo EC, ECPLL y INTCKO.

A
RA6 DIG/TTL Entrada y Salida Digital, nicamente disponible en modo ECIO, ECPIO y INTIO.
R
I VREF+ ANA Voltaje de referencia del A/D y el comparador (entrada alta).
A
S
V
Puerto A (18f4550)
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Puerto B 18F452
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Puerto B 18F452
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
Puerto B 18F4550
L
A
D
I
Es un puerto de 8 bits, con resistencias
M
I pull up internas.
R

T
Al iniciar el micro, los pines RB4:RB0
R
U
estn configurados como entradas
J
I
analgicas y RB7:RB5 son entradas
L
L digitales
digitales.
O

A
R
I
A
S
V
Puerto B 18F4550
L
Pin Functio I/O I/O Type Description
A n
D
RB0/AN12 RB0 OUT/IN DIG/TTL Entrada o salida digital
I
/
M INT0/FLT AN12 IN ANA Entrada A/D canal 12
I 0/ INT0 IN ST Interrupcin externa 0
SDI/SDA
R SDI IN ST Entrada modulo SPI (Modulo MSSP).
SDA OUT/IN DIG/I2C/SM Salida I2C y Entrada I2C (Modulo MSSP)
T B
RB1/AN10 RB1 OUT/IN DIG/TTL Entrada o salida digital
R
/ AN10 IN ANA E t d A/D canall 10
Entrada
U INT1/SCK
INT1 IN ST Interrupcin externa 1
J / SCL
SCK OUT/IN DIG/ST Salida de reloj SPI y Entrada de reloj SPI (Modulo MSSP).
I
L SCL OUT/IN DIG/I2C/SM Salida de reloj I2C y Entrada de reloj I2C (Modulo MSSP)
B
L
RB2/AN8/ RB2 OUT/IN DIG/TTL Entrada o salida digital
O INT2/VM
AN8 IN ANA Entrada A/D canal 8
O
INT2 IN ST Interrupcin externa 2
A
VMO OUT DIG Transceiver Externo USB VMO salida de datos
R
RB3/AN9/ RB3 OUT/IN DIG/TTL Entrada o salida digital
I
CCP2/VPO AN9 IN ANA Entrada A/D canal 9
A
CCP2 OUT/IN DIG/ST Salida de comparacin y PWM y entrada de captura de CCP2
S
VPO OUT DIG Transceiver Externo USB
V
Puerto B 18F4550
L
A
D
I
M
I Pin Function I/O
/ I/O
/ Type
yp Description
p
R RB4/AN11/ RB4 OUT/IN DIG/TTL Entrada o salida digital
KBI0/CSSPP
AN11 IN ANA Entrada A/D canal 11.
T
R KBI0 IN TTL Interrupcin
p por
p cambio de estado
U
CSSPP(4) OUT DIG SPP chip select control output.
J
I RB5/KBI1/ RB5 OUT/IN DIG/TTL Entrada o salida digital
PGM
L
KBI1 IN TTL Interrupcin
p por
p cambio de estado
L
O
RB6/KBI2/ RB6 OUT/IN DIG/TTL Entrada o salida digital
PGC
KBI2 IN TTL Interrupcin por cambio de estado
A
RB7/KBI3/
/ / RB7 OUT/IN
/ DIG/TTL
/ Entrada o salida digital
g
R
PGD
I KBI3 IN TTL Interrupcion por cambio de estado
A
S
V
Puerto B 18F4550
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Puerto C 18F452
A
D PIN Tipo Entrada Funcin
I
RC0/T1OSO/T1CKI TTL, Schmit Trigger Pin I/O salida del oscilador de timer1 o
M
entrada de reloj
I
R
RC1/T1OSI/CCP2 TTL, Schmit Trigger Pin I/O Salida del mdulo CCP2
RC2/CCP1 TTL, Schmit Trigger Pin I/O pin del mdulo CCP1
T
R
RC3/SCK/SCL TTL, Schmit Trigger Pin I/O utilizado para el reloj serial de los
mdulos
d l SPI e I2C
U
J RC4/SDI/SDA TTL, Schmit Trigger Pin I/O o entrada de datos para SPI o I/O
I para I2C
L RC5/SDO TTL,, Schmit Trigger
gg Pin I/O,, o salida del puerto
p serial sncrono
L
O
RC6/TX/CK TTL, Schmit Trigger Pin I/O o TX del mdulo USART
RC7/RX/DT TTL, Schmit Trigger Pin I/O o RX del mdulo USART
A
R
I
A
S
V
L
Puerto C 18F452
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
Puerto C 18F4550
L
A
D
I
Es un Puerto de 7 bits.
M
I
R
El pin RC3 no est implementado
T Los pines RC4 y RC5 no tienen TRIS
asociado
asociado.
R
U
J
I
L
El pin RC3 tiene uso para USB
L
O

A
R
I
A
S
V
Puerto C 18F4550
L
Pin Funcin I/O I/O Type Descripcin
A
RC0/T1OSO/ RC0 OUT/IN DIG/ST Entrada y salida digital
D T13CKI T1OSO OUT ANA Salida del oscilador de timer 1
I T13CKI IN ST Entrada de conteo del timer 1 y 3
RC1/T1OSI/ RC1 OUT/IN DIG/ST Entrada y salida digital
M CCP2/UOE T1OSI IN ANA Entrada del oscilador de timer 1
I CCP2(1) OUT/IN DIG/ST Salida de CCP2 y PWM
PWM. Entrada en modo captura CCP2
R UOE OUT DIG External USB transceiver OE output.
RC2/CCP1/ RC2 OUT/IN DIG/ST Entrada y salida digital
P1A CCP1 OUT/IN DIG/ST Salida de ECCP1 modo compara y PWM, entrada ECCP1 modo captura
T
P1A(3) OUT DIG Salida ECCP1 y PWM Ensanchado, canal A
R RC4/D-/VM
RC4/D /VM RC4 IN TTL Entrada digital
U D- OUT XCVR USB bus differential minus line output (internal transceiver).
IN XCVR USB bus differential minus line input (internal transceiver).
J
VM IN TTL External USB transceiver VM input.
I RC5/D+/VP RC5 IN TTL Entrada digital
L D+ OUT XCVR USB bus differential plus line output (internal transceiver).
IN XCVR USB bus differential plus line input (internal transceiver).
transceiver)
L
VP IN TTL External USB transceiver VP input.
O RC6/TX/CK RC6 OUT/IN DIG/ST Entrada y salida digital
TX OUT DIG Transmisor serial asincrono (EUSART module)
CK OUT/IN DIG/ST Salida Reloj serial sincrnico (EUSART module)
A Entrada Reloj serial sincrnico (EUSART module)
R RC7/RX/DT/ RC7 OUT/IN DIG/ST E t d y salida
Entrada lid digital
di it l
I SDO RX IN ST Recepcin serial asncrona (EUSART module).
A OUT DIG Salida de datos del Puerto serial sincrnico (EUSART module).
DT
IN ST Entrada de datos del Puerto serial sincrnico
S
SDO OUT DIG SPI data output (MSSP module)
V
Puerto C 18F4550
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Puerto D 18F452
A
D PIN Tipo Entrada Funcin
I
RD0/PSP0 TTL, Schmit Trigger Pin I/O puerto paralelo esclavo bit 0
M
I RD1/PSP1 TTL Schmit Trigger
TTL, Pin I/O puerto paralelo esclavo bit 1
R
RD2/PSP2 TTL, Schmit Trigger Pin I/O puerto paralelo esclavo bit 2
T RD3/PSP3 TTL, Schmit Trigger Pin I/O puerto paralelo esclavo bit 3
R
U
J
RD4/PSP4 TTL, Schmit Trigger Pin I/O puerto paralelo esclavo bit 4
I
L RD5/PSP5 TTL, Schmit Trigger Pin I/O, puerto paralelo esclavo bit 5
L
RD6/PSP6 TTL, Schmit Trigger Pin I/O puerto paralelo esclavo bit 6
O

RD7/PSP7 TTL, Schmit Trigger Pin I/O puerto paralelo esclavo bit 7
A
R
I Todos los pines son schimit trigger cuando se trabaja como puerto paralelo esclavo
A
S
V
L
Puerto D 18F452
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
Puerto D 18F4550
L
A
D
I
Es un puerto de 8 bits
M
I
R
Todos los pines del puerto D tiene
T
entrada tipo schmit trigger.
Todos los pines del puerto D poseen
R
U

resistencia pull up.


J
I
L
L
O
Ell puerto D puede
d ser configurado
f d
A como un puerto paralelo de
comunicacin de
d 8 bits
b de
d ancho
h (SPP).
(S )
R
I
A
S
Puerto D 18F4550
Pin Function I/O I/O Type Description

RD0/SPP RD0 OUT/IN DIG/ST Entrada o salida digital


0
SPP0 /
DIG/ST Entrada o salida 0 del SPP
OUT/IN
RD1/SPP RD1 DIG/ST Entrada o salida digital
1 OUT/IN
SPP1 OUT/IN DIG/ST Entrada o salida 1 del SPP
RD2/SPP RD2 OUT/IN DIG/ST Entrada o salida digital
2 SPP2 OUT/IN DIG/ST Entrada o salida 2 del SPP
RD3/SPP RD3 OUT/IN DIG/ST Entrada o salida digital
3 SPP3 OUT/IN DIG/ST Entrada o salida 3 del SPP
RD4/SPP RD4 OUT/IN DIG/ST Entrada o salida digital
4 SPP4 OUT/IN DIG/ST Entrada o salida 4 del SPP
RD5/SPP RD5 OUT/IN DIG/ST Entrada o salida digital
5/P1B SPP5 OUT/IN DIG/ST Entrada o salida 5 del SPP
P1B OUT DIG Salida de ECCP1 Enhanced PWM canal B
RD6/SPP RD6 OUT/IN DIG/ST Entrada o salida digital
6/P1C SPP6 OUT/IN DIG/ST Entrada o salida 6 del SPP
P1C OUT DIG Salida de ECCP1 Enhanced PWM canal C
RD7/SPP RD7 OUT/IN DIG/ST Entrada o salida digital
7/P1D SPP7 OUT/IN DIG/ST Entrada o salida 7 del SPP
P1D OUT DIG Salida de ECCP1 Enhanced PWM canal D
Puerto D 18F4550
V
L
Puerto E 18F452
A
D PIN Tipo Entrada Funcin
I
RE0/RD/AN5 TTL, Schmit Trigger Pin I/O Pin de control del puerto paralelo
M
Para control de p
puerto esclavo y entrada A/D.
I
paralelo esclavo BIT RD
R
1 = No lectura.
T 0 = Lee PORTD si CS es 1.
R RE1/WR/AN6 TTL, Schmit Trigger
TTL Pin I/O Pin de control del puerto paralelo
U
Para control de puerto esclavo y entrada A/D.
J paralelo esclavo BIT WR
I
1 = No escritura
L
0 = Escribe en PORTD si CS es 1
L
O RE2/CS/AN7 TTL, Schmit Trigger Pin I/O Pin de control del puerto paralelo
Para control de puerto esclavo y entrada A/D.
A paralelo esclavo BIT CS
R 1 = Dispositivo no seleccionado
I 0 = Dispositivo no seleccionado
A
S
V
L
Puerto E 18F452
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Registro TRISE
A
D
I
M
I
R
Bit 7 IBF: Bit de Buffer de entrada lleno
T
R 1 = Una palabra ha sido recibida y espera ser
U
J
leda.
I
L
0 = Ninguna palabra recibida.
L
O Bit 6 OBF: Bit de Buffer de salida lleno.
A 1 = El buffer mantiene una palabra escrita
R
previamente
previamente.
I
A 0 = El buffer de salida ha sido ledo.
S
V
L
Registro TRISE
A
D Bit 5 IBOV: Rebose del Buffer de entrada.
I
M 1 = Ha ocurrido una escritura, cuando una palabra previa no
I ha sido leda
leda. (debe ser clareado por SW)
R
0 = No ha ocurrido un desborde
Bit 4 PSPMODE: Seleccin del puerto paralelo
T
R

U
esclavo
J
I 1 = Modo puerto paralelo esclavo.
L
L
0 = Modo general de I/O
O
bit 3 Sin Implementar
A
R
bit 2,1 y 0 TRISE: Bits de control de direccin.
I 1 = Entrada
A
S
0 = Salida
V
Puerto E 18F4550
L
Pin Functi I/O I/O Type Description
A on
D
RE0/AN RE0 OUT/ DIG/ST Entrada y salida digital
I 5/ IN
M CK1SPP
AN5 IN ANA Entrada A/D canal 5
I
CK1S OUT DIG SPP clock 1 output (SPP enabled).
R PP
RE1/AN RE1 OUT/ DIG/ST Entrada y salida digital
6/ IN
T
CK2SPP
R AN6 IN ANA Entrada A/D canal 6
U CK2S OUT DIG SPP clock 2 output (SPP enabled).
PP
J
RE2/AN RE2 OUT/ DIG/ST Entrada y salida digital
I 7/ IN
L OESPP
AN7 IN ANA Entrada A/D canal 7.
L
OESP OUT DIG SPP enable output (SPP enabled).
O P
MCLR/V MCLR IN ST External Master Clear input; enabled when MCLRE Configuration bit is set.
PP/ RE3
A
VPP IN ANA High-voltage detection, used for ICSP mode entry detection. Always available
R regardless of pin mode.
I RE3 IN ST PORTE<3> data input; enabled when MCLRE Configuration bit is clear.
A
S
V
Puerto E 18F4550
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
Diagrama de pines 18F4550
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
Registro ADCON1 18F4550
L
A
D
I
M
I
R

T
R
bit 7-6 Sin implementar
U bit 5 VCFG0: Referencia de voltaje (VREF- )
1 = VREF- (AN2)
J

I
L 0 = VSS
bit 4 VCFG0: Referencia de voltaje (VREF + )
L
O
1 = VREF+ (AN3)
A
R
0 = VDD
I
bit 3-0 PCFG3:PCFG0: Configuracin de los
A
S
pines para el A/D
V
L
Registro ADCON1 18F452
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
Registro ADCON1 18F4550
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
Registro CMCON 18F4550
L
A
D
I
M
I
R
bit 7 C2OUT: bit de salida del comparador 2
T Cuando C2INV = 0:
R 1 = C2 VIN+ > C2 VIN
VIN-
U 0 = C2 VIN+ < C2 VINWhen
J
Caunado C2INV = 1:
I
1 = C2 VIN+ < C2 VIN-
L
0 = C2 VIN+ > C2 VINbit
L
O 6 C1OUT: bit de salida del comparador 1
Cuando C1INV = 0:
A 1 = C1 VIN+ > C1 VIN-
R 0 = C1 VIN+ < C1 VINWhen
I Cuando C1INV = 1:
A 1 = C1 VIN+ < C1 VIN-
S 0 = C1 VIN+ > C1 VINbit
V
Registro CMCON 18F4550
L
A
D 5 C2INV: Inversin de la salida del Comparador 2
I
1 = C2 salida invertida
M
I 0 = C2 salida no invertida
R
bit 4 C1INV: Inversin de la salida del Comparador 1
T 1 = C1 salida invertida
R
0 = C1 salida no invertida
U
J bit 3 CIS: Comparator Input Switch bit
I
When CM2:CM0 = 110:
L
L 1 = C1 VIN- connects to RA3/AN3/VREF+ C2 VIN- connects
O
to RA2/AN2/VREF-/CVREF
A 0 = C1 VIN- connects to RA0/AN0 C2 VIN- connects to

R RA1/AN1
I
A bit 2-0 CM2:CM0: Modo de trabajo del comparador
S
Registro CMCON 18F4550
Registro CMCON 18F4550
V
L
El registro de estado
A
D
I
El registro de estado se utiliza para
M
I mostrar el estado aritmtico de la ALU.
R

T
Se recomienda utilizar solamente las
R
U
instrucciones BCF,
BCF BSF,
BSF SWAPF,
SWAPF MOVFF
J
I
y MOVWF para cambiar el contenido del
L
L registro de estado
estado, ya que estas
instrucciones no alteran las banderas Z,
O

C DC,
C, DC OV,
OV o N
A
R
I
A
S
El registro
g de estado 18f452 y
V
L
18F4550
A
D
I
M
I
R

BIT 7-5 Sin implementar.


p
T
R
U
J BIT 4 N: BIT Negativo, utilizado para indicar
I
L cuando un resultado de una operacin
p
aritmtica fue negativo (Complemento a 2).
L
O

A 1 = Resultado negativo.
R
I 0 = Resultado positivo.
A
S
V
L
El registro de estado
A
D
I
BIT OV: BIT de desbordamiento. Este bit es
M
I
utilizado para aritmtica con signo
R (complemento a 2).
T 1 = Desborde ocurri
R
U 0 = No ocurri
un desborde
J
I
L
BIT 2 Z: Bit de 0
L 1 = El resultado
l d de
d una operacin
i aritmtica
i i o
O
lgica es 0.
A
R 0 = El resultado de una operacin aritmtica o
I
A
lgica no es 0.
S
V
L
El registro de estado
A
D
I
BIT 1 DC: carry del cuarto al quinto bit.
M
I
Funciona con ADDWF, ADDLW, SUBLW, y SUBWF
R
1 = Hay carry del 4 al 5 bit.
T
0 = No hay carry del 4 al 5 bit
R
U
J
BIT 0 C: Bit de carry.
I
L
Funciona con ADDWF, ADDLW, SUBLW, y SUBWF
L
O
1 = Ocurri
carry
0 = No Ocurri carry
A
R
I
A
S
V
L
Registro RCON (Reset Control)
A
D
I
M
I
R

T
R
BIT 7 IPEN: Bit que habilita la prioridad en las
U i t
interrupciones.
i
1 = Prioridad en interrupciones habilitada.
J
I
L
L
0 = Prioridad en interrupciones deshabilitada.
O BIT 6-5 Sin implementar
A BIT 4 RI: Bandera de la instruccin RESET
1 = La instruccin
RESET no ha sido ejecutada.
R
I

A 0 = La instruccin RESET fue ejecutada.
S
V
L
Registro RCON (Reset Control)
A
D
I
BIT 3 TO: Bandera del Perro Guardin.
1 = Despus de un power
power-up
up, CLRWDT,
CLRWDT o
M
I

SLEEP
R

T
R 0 = A WDT reset ocurri
U
J
I
BIT 2 PD: Bandera de deteccin de
L
L apagado del procesador.
procesador
O
1 = Despus de un power-up o CLRWDT.
A
R
I
0 = Debido a la ejecucin de la instruccin
A SLEEP.
S
V
L
Registro RCON (Reset Control)
A
D
I
BIT 1 POR: Bit de estado de Power-on Reset
M
I
1 = Un Power-on Reset no ha ocurrido
R
0 = Un Power-on Reset ocurri
T
Debe ser colocado en 1 despus de que un Power-
R
U on Reset
R thha ocurrido)
id )
J
I BIT 0 BOR: Bit de estado de un Brown-out
Reset (Bajn de voltaje)
L
L
O
1 = Un Brown-out Reset no ha ocurrido.
A
R 0 = Un Brown
Brown-out
out Reset ocurri
ocurri.
Debe ser colocado en 1 despus de que un
I
A
S
Brown-out Reset ha ocurrido)
V
L
Interrupciones
A
D
I
Los microcontroladores de gama alta
M
I
poseen niveles de interrupcin.
p p
R
El vector de alto nivel de interrupciones
T
R
se halla en la posicin 0x08h y el de
U
J
baja prioridad en la posicin 0x18h.
Una interrupcin de alta prioridad,
I
L
L
O interrumpe la ejecucin de una de baja
A prioridad.
R
I
A
S
V
L
Interrupciones
A
D Los registros asociados con el manejo de
I
M
interrupciones son los siguientes:
I
RCON
R
INTCON, INTCON2, INTCON3, que en general,
T
R
manejan las interrupciones externas y de TIMER 0.
U PIR1, PIR2, que manejan las banderas que activan
las interrupciones debidas a perifricos.
J
I
L
L
PIE1, PIE2, que son los registros habilitadores de las
O interrupciones de perifricos
A
IPR1, IPR2, que activan los niveles de prioridad de
R las interrupciones.
interrupciones
I
A
S
V
L
Interrupciones
A
D Cada fuente de interrupcin, a excepcin de INT0,
I
M
posee 3 bits para su control.
I Una bandera que indica que la interrupcin ocurri.
ocurri
R
Bit habilitador de la interrupcin
T Bit que permite asignar el nivel de prioridad de la
R interrupcin.
U
J Nota: Se recomienda no utilizar la instruccin
I
L
MOVFF, para modificar alguno de los registros de
L control mientras las interrupciones estn habilitadas
control, habilitadas,
O ya que esto puede generar disparos de
A
interrupciones aleatorios.
R
I
A
S
V
L
Interrupciones. Registro RCON
A
D
I
M
I
R

T
R Bit IPEN: Bit habilitador de niveles de
prioridad de las interrupciones.
U
J
I
L
L
1 = Habilita los niveles de p
prioridad de las
O interrupciones.
A
R
0 = Deshabilita los niveles de pprioridad de
I
A
las interrupciones.
S
V
L
Interrupciones. Registro RCON
A
D
I
bit 6-5 Sin implementar
M
I bit 4 RI: bit indicador de q
que se gener
g una
R
instruccin de RESET.
T
R
1 = La instruccin RESET no se ha ejecutado.
U
J
0 = La instruccin RESET se ejecut
I
L
bit 3 TO: bit de rebose del Watchdog
L
O
1 = Despus del encendido, instruccin CLRWDT
o instruccin SLEEP.
A
R 0 = Ha ocurrido un rebose del WDT
I
A
S
V
L
Interrupciones. Registro RCON
A
D
I
bit 2 PD: Bit de deteccin de ausencia de
M
I
voltaje.
R
1 = Despus del encendido o por el uso de la
T instruccin CLRWDT.
R
U 0 = Por
P lla ejecucin
j i de
d la
l instruccin
i t i SLEEP.
SLEEP
J
I bit 1 POR: Bit de estado del Power-on Reset.
L
L 1 = Un Power-on
Power on Reset no ha ocurrido
ocurrido.
O
0 = Un Power-on Reset ocurri. Debe ser puesta
A
R
p
en 1 despus de que
q un Power-on Reset occurre.
I
A
S
V
L
Interrupciones. Registro RCON
A
D
I
bit 0 BOR: bit de estado de Brown-out
M
I Reset. (Disminucin del nivel de voltaje)
R

1 = No ha ocurrido un Brown-out Reset.


T
R
U
0 = Ha ocurrido un Brown
Brown-out
out Reset.
Reset
J
I
Debe ser puesta en 1 despus de que un
L
L
Brown-out
Brown out Reset ocurre.
O

A
R
I
A
S
Interrupciones Registro INTCON
Interrupciones.
V (18F452, 18F4550)
L
A
D
I
M
I
R

Bit 7 GIE/GIEH:
/ Habilitador g
global de
T
R

interrupciones.
U
J
I
L Si IPEN = 0: (Bit 7 RCON)
L
O
1 = Habilita todas las interrupciones sin mscara
0 = Deshabilita todas las interrupciones
A
R Si IPEN = 1: (Bit 7 RCON)
I
A
1 = Habilita todas las interrupciones de alta prioridad.
S 0 = Deshabilita todas las interrupciones.
Interrupciones. Registro INTCON
V (18F452, 18F4550)
L
A
D Bit 6 PEIE/GIEL: Habilitador de Interrupciones de
perifricos
I
M

Si IPEN = 0: (Bit 7 RCON)


I
R

1 = Habilita todas las interrupciones de perifricos


T
R
sin mscara.
0 = Deshabilita todas las interrupciones de
U
J
I perifricos
Si IPEN = 1: (Bit 7 RCON)
L
L

1 = Habilita todas las interrupciones de perifricos


O

A de baja prioridad.
0 = Deshabilita todas las interrupciones de
R
I
A perifricos de baja prioridad
S
Interrupciones. Registro INTCON
V (18F452, 18F4550)
L
A
D Bit 5 TMR0IE: Interrupcin de rebose de TMR0
1 = Habilita la interrupcin por rebose de TMR0.
I
M
I 0 = Deshabilita la interrupcin por rebose de TMR0.
TMR0
R
Bit 4 INT0IE: Interrupcin Externa INT0
1 = Habilita la INT0
T
R
U 0 = Deshabilita la INT0
J
I
Bit 3 RBIE: Interrupcin por cambio de estado en PORTB
L
1 = Habilita la interrupcin
p por
p cambio de estado en
PORTB
L
O

0 = Deshabilita la interrupcin por cambio de estado


A
R
en PORTB
I
A
S
Interrupciones. Registro INTCON
V (18F452, 18F4550)
L
A
D Bit 2 TMR0IF: Bandera de Interrupcin por rebose
I de TMR0
M
I
1 = El TMR0 se ha rebosado ((se debe borrar por
p SW))
R 0 = TMR0 no se ha rebosado.
T
Bit 1 INT0IF: Bandera de INT0
R 1 = Ha ocurrido INT0 ((debe ser borrada por
p SW))
U 0 = INT0 no ha ocurrido.
Bit 0 RBIF: Bandera de interrupcin por cambio de
J
I
L estado en PORTB.
L
1 = Ha ocurrido un cambio de estado en uno de los pines
O
RB4 a RB7
A 0 = No ha ocurrido un cambio de estado en RB4 a RB7.
R
I
A
S
Interrupciones. Reg. INTCON2
V (18F452, 18F4550)
L
A
D
I
M
I
R

T
Bit 7 RBPU: Bit habilitador de las
resistencias Pull-up.
Pull up
R
U
J
1 = Todas las resistencias pull-ups
deshabilitadas.
I
L
L
0 = Las resistencias pull-ups
ll estan habilitadas.
h bl d
O

Bit 6 INTEDG0: Seleccin del flanco de la


A
R
Interrupcin Externa 0
I 1 = Flanco de subida.
A
S 0 = Flanco de bajada.
Las resistencias pull up se utilizan para forzar a un nivel alto
una entrada de un componente lgico. Sirve por ejemplo
cuando necesitas leer el estado de un interruptor o una tecla.
Cuando la tecla se activa se lleva a un estado lgico
determinado, pero cuando est abierta est "al aire" y los
circuitos lgicos hacen una interpretacin indeterminada. La
resistencia pull up fuerza a nivel lgico alto cuando est
abierta y permite que se lleve a nivel bajo al cerrarse sin
producir un cortocircuito.
Tambin puede servir cuando se conecta una entrada a una
salida de colector abierto. El pull up suple la resistencia
faltante del driver de colector abierto
abierto.
Todos los pines del puerto B de los PIC tienen resistencias
pull up y se activan borrando !RBPU de OPTION_REG.
Interrupciones. Reg. INTCON2
V (18F452, 18F4550)
L
A
D
I
Bit 5 INTEDG1: Seleccin del flanco de
M
I la Interrupcin Externa 1
R

1 = Flanco de subida.
T
R
U
0 = Flanco de bajada.
bajada
J
I Bit 4 INTEDG2: Seleccin del flanco de
la Interrupcin Externa 2
L
L
O

A
1 = Flanco de subida
R
I
0 = Flanco
Fl de
d bajada.
b j d
Bit 3 Sin Implementar
A
S
Interrupciones. Reg. INTCON2
V (18F452, 18F4550)
L
A
D
Bit 2 TMR0IP: Bit de prioridad de la
interrupcin por rebose de TMR0.
I
M
I
R 1 = Alta prioridad
T
0 = Baja prioridad
R
U
Bit 1 Sin implementar
J
I
Bit 0 RBIP: Bit de prioridad de la interrupcin
L
L
de cambios de estado en PORTB
O 1 = Alta prioridad.
A 0 = Baja prioridad.
R
I
A
S
Interrupciones. Reg. INTCON3
V (18F452, 18F4550)
L
A
D
I
M
I
R

Bit 7 INT2IP: Bit de p


prioridad de INT2
T
R
U
J 1 = Alta prioridad.
I
L 0 = Baja prioridad.
L
O Bit 6 INT1IP: Bit de prioridad de INT1
A 1 = Alta prioridad.
R
I 0 = Baja prioridad.
A
S
Interrupciones. Reg. INTCON3
V (18F452, 18F45550)
L
A
D
I
Bit 5 Sin implementar
M
I
R
Bit 4 INT2IE: Bit habilitador de INT2
T
1 = Habilita INT2.
0 = Deshabilita INT2.
INT2
R
U
J
I
L
Bit 3 INT1IE: Bit habilitador de INT1
L
O
1 = Habilita INT1.
A 0 = Deshabilita INT1.
R
I
A
Bit 2 Sin implementar
S
Interrupciones. Reg. INTCON3
V (18F452, 18F4550)
L
A
D
I
Bit 1 INT2IF: Bandera que indica que ocurri
M
I
INT2
R
1 = Ha ocurrido INT2 (debe ser borrada por SW)
T 0 = No ha ocurrido INT2
R
U
J
Bit 0 INT1IF: Bandera que indica que ocurri
I
L
INT1
L 1 = Ha
H ocurrido
id INT1 (debe
(d b ser borrada
b d por SW)
O

0 = No ha ocurrido INT1
A
R
I
A
S
Int. Perifricos. Reg. PIR1
V (18F452, 18F4550)
L
A
D
I
M
I
R

T
Bit 7 PSPIF(1): Bandera de interrupcin de
R lectura/escritura del puerto paralelo esclavo.
U
1 = Una operacin de lectura o escritura ha
J
I
ocurrido.(debe ser borrada por SW)
L 0 = No ha ocurrido lectura o escritura.
Bit 6 ADIF: Bandera de interrupcin por fin de
L
O

conversin del A/D
A
R
1 = Conversin A/D completa (Debe ser borrada por
I SW)
A
0 = La conversin A/D esta incompleta.
S
Int. Perifricos. Reg. PIR1
V (18F452, 18F4550)
L
A
D
Bit 5 RCIF: Bandera de interrupcin por
recepcin en el USART.
I
M
I
R 1 = El buffer de recepcin,
RCREG, esta lleno
(Debe ser borrada por SW)
T
R 0 = El buffer de RX del USART esta vaco.
Bit 4 TXIF: Bandera de interrupcin por TX
U
J
I
L
del USART
L
O
1 = El buffer de TX del USART (TXREG), esta
vaco (Se borra cuando se escribe en TXREG)
0 = El buffer de TX del USART esta lleno.
A
R

I
A
S
Int. Perifricos. Reg. PIR1
V (18F452, 18F4550)
L
A
D
I
Bit 3 SSPIF: Bandera de interrupcin
M
I del puerto serial sncrono
R

1 = Una TX/RX se ha completado (debe


ser borrada p
por SW))
T
R
U
J
I
0 = Esperando una TX o RX.
L
L
O

A
R
I
A
S
Int. Perifricos. Reg. PIR1
V (18F452, 18F4550)
L
A
D Bit 2 CCP1IF: Bandera de interrupcin del
I
M
mdulo CCP1.
I Modo Captura:
R
1 = Se ha producido la captura del valor de TMR1 (debe
T
ser borrada por SW)
R 0 = Noo ha
a ocurrido
ocu do una
u a captura
cap u a de TMR1.
U
J
Modo Compara:
I 1 = Se ha dado una comparacin con TMR1 (debe ser
L borrada por SW)
L
0 = No ha ocurrido una comparacin con TMR1.
O
Modo PWM:
A
No utilizado en este modo.
R
I
A
S
Int. Perifricos. Reg. PIR1
V (18F452, 18F4550)
L
A
D
Bit 1 TMR2IF: Se ha producido una igualdad
entre TMR2 y PR2.
I
M
I
R 1 = Ha ocurrido una igualdad entre TMR2 y PR2
(debe ser borrada por SW)
T
R 0 = No hayy igualdad
g entre TMR2 y PR2
Bit 0 TMR1IF: Bandera de interrupcin por
U
J
I
L
rebose de TMR1.
L
O
1 = El TMR1 se ha rebosado (debe ser borrada
por SW)
0 = El TMR1 no se ha rebosado
A
R

I
A
S
Int. Perifricos. Reg. PIR2
V (18F452)
L
A
D
I
M
I
R

T
Bit 7-5 Sin implementar
Bit 4 EEIF:
EEIF Bandera
B d d
de interrupcin
i t i por
R
U
Escritura/Lectura en EEPROM o FLASH
J
I
L
L 1 = La operacin de escritura se ha completado
O
(debe ser borrada por SW)
A
0 = La operacin de escritura no ha terminado o
R
I no se ha iniciado.
A
S
Int. Perifricos. Reg. PIR2
V (18F452)
L
A
D
I
Bit 3 BCLIF: Interrupcin por colisin en el
M
I
bus
R
1 = Ocurri una colisin
T 0 = No ha ocurrido una colisin.
R
U
J
Bit 2 LVDIF: Interrupcin por deteccin de
I
L
bajo voltaje.
L 1 = Una
U condicin
di i de
d bajo
b j voltaje
l j ha
h ocurrido
id
O

0 = El voltaje del dispositivo se mantiene por


A
R encima del valor de activacin de la interrupcin.
I
A
S
Int. Perifricos. Reg. PIR2
V (18F452)
L
A
D Bit 1 TMR3IF: Bandera de rebose de TMR3
1 = El TMR3 se ha rebosado
I
M
I
R
0 = El TMR3 No se ha rebosado
Bit 0 CCP2IF: Bandera de interrupcin del
T
R
mdulo CCP2
U
Modo Captura:
J
I
1 = Una captura de TMR1 ha ocurrido.
L 0 = No ha ocurrido captura de TMR1
L
O
Modo Compara:
1 = Ha ocurrido un evento de comparacin con TMR1.
A
0 = No ha habido eventos de comparacin con TMR1.
R
I Modo PWM
A No usado en este modo
S
Int. Perifricos. Reg. PIR2
V (18F4550)
L
A
D
I
M
I
R

Bit 7 OSCFIF: Bandera indicadora de


T
R
U
J
I
fallo del oscilador.
L
L
1 = El oscilador del dispositivo fall.
fall Se ha
O
realizado un cambio a INTOSC. (Debe ser
A
R
borrada ppor software))
I
A
0 = El reloj trabaja sin problemas.
S
Int. Perifricos. Reg. PIR2
V (18F4550)
L
A
D Bit 6 CMIF: Bandera de interrupcin por
I
M
comparacin.
I 1 = La entrada del comparador ha cambiado (Debe ser
R borrada por software)
T 0 = La entrada del comparador no ha cambiado.
R
U
USBIF: USB Bit de interrupcin USB
USB.
J 1 = El mdulo USB ha generado una interrupcin
I
0 = No hay interrupciones USB
L
L Bit 4 EEIF:
EEIF Bandera
B d d
de interrupcin
i t i por
O
Escritura/Lectura en EEPROM o FLASH
A 1 = La operacin de escritura se ha completado (debe ser
R
b
borrada
d por SW)
I
A 0 = La operacin de escritura no ha terminado o no se ha
S iniciado.
Int. Perifricos. Reg. PIR2
V (18F4550)
L
A
D Bit 3 BCLIF: Interrupcin por colisin en el
I
M
bus
I 1 = Ocurri una colisin
R
0 = No ha ocurrido una colisin.
T
R
Bit 2 HLVDIF: Interrupcin por deteccin de
U alto
l o bajo
b j voltaje.
l j
J
I 1 = Una condicin de bajo o alto voltaje ha
L ocurrido. La direccin es determinada p por el bit 7
L
O
(VDIRMAG) del registro HLVDCON.
0 = El voltaje del dispositivo se mantiene por
A encima del valor de activacin de la interrupcin.
R
I
A
S
Int. Perifricos. Reg. PIR2
V (18F4550)
L
A
D Bit 1 TMR3IF: Bandera de rebose de TMR3
1 = El TMR3 se ha rebosado
I
M
I
R
0 = El TMR3 No se ha rebosado
Bit 0 CCP2IF: Bandera de interrupcin del
T
R
mdulo CCP2
U
Modo Captura:
J
I
1 = Una captura de TMR1 ha ocurrido.
L 0 = No ha ocurrido captura de TMR1
L
O
Modo Compara:
1 = Ha ocurrido un evento de comparacin con TMR1.
A
0 = No ha habido eventos de comparacin con TMR1.
R
I Modo PWM
A No usado en este modo
S
Int. Perifricos. Reg. PIE1
V (18F452, 18F4550)
L
A
D
I
M
I
R

T
PSPIE(1): Habilita la interrupcin de
R
U
lectura/escritura del puerto paralelo esclavo
J 1 = Habilita la interrupcin
I
L 0 = Deshabilita la interrupcin.
p
L
O
Bit 6 ADIE: Habilita la interrupcin por fin
A de conversin del A/D.
R
I 1 = Habilita la interrupcin del A/D.
A
S 0 = Deshabilita la interrupcin del A/D.
Int. Perifricos. Reg. PIE1
V (18F452, 18F4550)
L
A
D
I
Bit 5 RCIE: Habilita la interrupcin por
M
I recepcin del mdulo USART.
R

1 = Habilita la interrupcin
T
R
U
0 = Deshabilita la interrupcin
J
I Bit 4 TXIE: Habilita la interrupcin por
transmisin del mdulo USART
L
L
O

A
1 = Habilita la interrupcin
R
I
0 = Deshabilita
D h bilit la l interrupcin
i t i
A
S
Int. Perifricos. Reg. PIE1
V (18F452, 18F4550)
L
A
D Bit 3 SSPIE: Habilita la interrupcin del puerto serial
I sncrono.
1 = Habilita la interrupcin del MSSP
M
I
R 0 = Deshabilita la interrupcin del MSSP

T
Bit 2 CCP1IE: Habilita la interrupcin del mdulo CCP1.
R 1 = Habilita la interrupcin
p del CCP1
0 = Deshabilita la interrupcin
U
J
I Bit 1 TMR2IE: Habilita la interrupcin por igualdad de
L TMR2 con PR2.
1 = Habilita la interrupcin
L
O
0 = Deshabilita la interrupcin.
A
Bit 0 TMR1IE: Habilita la interrupcin
p por
p rebose de
R
I
TMR1
A 1 = Habilita la interrupcin de TMR1

0 = Deshabilita la interrupcin de TMR1


S
Int. Perifricos. Reg. PIE2
V (18F452)
L
A
D
I
M
I
R

T
Bit 7-5 Sin implementar
R Bit 4 EEIE: Habilita la interrupcin por fin
U
J
de escritura en memoria EEPROM/FLASH.
I
L
1 = Habilitada
L 0 = Deshabilitada
O
Bit 3 BCLIE: Habilita la interrupcin por
A
R
colisin de datos en el BUS
I 1 = Habilitada
A
S
0 = Deshabilitada
Int. Perifricos. Reg. PIE2
V (18F452)
L
A
D Bit 2 LVDIE: Habilita la Interrupcin por deteccin
I de bajo voltaje.
M
I
1 = Habilitada
R 0 = Deshabilitada.
Bit 1 TMR3IE: Habilita la interrupcin por desborde
de TMR3.
T
R
U 1 = Habilita la interrupcin
J
I
0 = Deshabilita la interrupcin
L Bit 0 CCP2IE: Habilita la interrupcin del mdulo
L
CCP2
O
1 = Habilita la interrupcin
A 0 = Deshabilita la interrupcin
R
I
A
S
Int. Perifricos. Reg. PIE2
V (18F4550)
L
A
D
I
M
I
R

T
R
U
Bit 7 OSCFIE: Bit habilitador de interrupcin por fallo
J de oscilador
I
L
1 = Habilitado
L 0 = deshabilitado
O
Bit 6 CMIE: Bit habilitador de interrupcin por
comparacin
A
R
I
1 = Habilitado
A
S 0 = Deshabilitado
Int. Perifricos. Reg. PIE2
V (18F4550)
L
A
D
USBIE: Bit habilitador de la interrupcin
USB.
I
M
I
R 1 = Habilitado
T
0 = Deshabilitado
R
U
Bit 4 EEIE: Habilita la interrupcin por fin de
J
I
escritura en memoria EEPROM/FLASH.
L 1 = Habilitada
L
O
0 = Deshabilitada
Bit 3 BCLIE: Habilita la interrupcin por
colisin de datos en el BUS
A
R
I
A
1 = Habilitada
S 0 = Deshabilitada
Int. Perifricos. Reg. PIE2
V (18F4550)
L
A
D Bit 2 HLVDIE: Habilita la Interrupcin por deteccin
I
M de alto o bajo voltaje.
I
R
1 = Habilitada
H bilit d
0 = Deshabilitada.
T
R Bit 1 TMR3IE: Habilita la interrupcin
p por
p desborde
U
J
de TMR3.
I 1 = Habilita la interrupcin
L
L 0 = Deshabilita la interrupcin
Bit 0 CCP2IE: Habilita la interrupcin del mdulo
O

A
CCP2
R
I 1 = Habilita la interrupcin
A
S
0 = Deshabilita la interrupcin
Prioridad de Int. Reg. IPR1
V (18F452, 18F4550)
L
A
D
I
M
I
R

T Bit 7 PSPIP(1): Prioridad de Interrupcin


del puerto paralelo esclavo
R
U
J
I
1 = Alta prioridad
L
L
0 = Baja prioridad
O
Bit 6 ADIP: Prioridad de Interrupcin del
A conversor A/D
R
I 1 = Alta prioridad
A
S
0 = Baja prioridad
Prioridad de Int. Reg. IPR1
V (18F452, 18F4520)
L
A
D Bit 5 RCIP: Prioridad de Interrupcin del
I
M
mdulo USART en RX.
I 1 = Alta prioridad
R
0 = Baja prioridad
T
R
Bit 4 TXIP: Prioridad de Interrupcin del
U mdulo
d l USART en TX.TX
J
I 1 = Alta prioridad
L
L
0 = Baja prioridad
O Bit 3 SSPIP: Prioridad de Interrupcin del
A puerto serial sncrono
R
I
1 = Alta
Alt prioridad
i id d
A 0 = Baja prioridad
S
Prioridad de Int. Reg. IPR1
V (18F452, 18F4520)
L
A
D Bit 2 CCP1IP: Prioridad de Interrupcin del mdulo
I
M
CCP
I
1 = Alta prioridad
R
0 = Baja prioridad
T
R Bit 1 TMR2IP: Prioridad de Interrupcin
p del TMR2
1 = Alta prioridad
U
J
I
0 = Baja prioridad
L
L Bit 0 TMR1IP:
TMR1IP Prioridad
P i id d de
d Interrupcin
I t i del
d l TMR1.
TMR1
O
1 = Alta prioridad

0 = Baja prioridad
A
R
I
A
S
Prioridad de Int. Reg. IPR2
V (18F452)
L
A
D
I
M
I
R

T
Bit 7-5 Sin implementar
R Bit 4 EEIP: Prioridad de Interrupcin por fin
U
J
de escritura en EPROM/FLASH
I
L
1 = Alta prioridad
L 0 = Baja prioridad
O
Bit 3 BCLIP: Prioridad de Interrupcin por
A
R
colisin en Bus de datos.
I 1 = Alta prioridad
A
S
0 = Baja prioridad
Prioridad de Int. Reg. IPR2
V (18F452)
L
A
D Bit 2 LVDIP: Prioridad de Interrupcin por
I
M
deteccin de bajo voltaje
I 1 = Alta prioridad
R
0 = Baja prioridad
T
R
Bit 1 TMR3IP: Prioridad de Interrupcin por
U rebose
b de
d TMR3
J
I 1 = Alta prioridad
L
L
0 = Baja prioridad
O Bit 0 CCP2IP: Prioridad de Interrupcin de
A mdulo CCP2
R
I
1 = Alta
Alt prioridad
i id d
A 0 = Baja prioridad
S
Prioridad de Int. Reg. IPR2
V (18F4550)
L
A
D
I
M
I
R

T
R
U
Bit 7 OSCFIP: Bit de prioridad de interrupcin por
J fallo de oscilador.
I
L
1 = Alta prioridad
L 0 = Baja prioridad
O
Bit 6 CMIP: Bit de prioridad de interrupcin por
comparacin analgica.
A
R
I
1 = Alta prioridad.
A
S 0 = Baja prioridad.
Prioridad de Int. Reg. IPR2
V (18F4550)
L
A
D
I
USBIP: Bit de prioridad interrupcin USB.
M
I
1 = Alta prioridad
R
0 = Baja prioridad
T
R
Bit 4 EEIP: Prioridad de Interrupcin por fin
U
J
de escritura en EPROM/FLASH
I 1 = Alta prioridad
L
L 0 = Baja prioridad
O
Bit 3 BCLIP: Prioridad de Interrupcin por
A
R
colisin en Bus de datos.
I
A
1 = Alta prioridad
S 0 = Baja prioridad
Prioridad de Int. Reg. IPR2
V (18F4550)
L
A
D Bit 2 HLVDIP: Prioridad de Interrupcin por
I
M deteccin de bajo o alto voltaje
I
R
1 = Alta
Alt prioridad
i id d
0 = Baja prioridad
T
R Bit 1 TMR3IP: Prioridad de Interrupcin
p por
p rebose
U
J
de TMR3
I 1 = Alta prioridad
L
L 0 = Baja prioridad
Bit 0 CCP2IP: Prioridad de Interrupcin de mdulo
O

A
CCP2
R
I 1 = Alta prioridad
A
S
0 = Baja prioridad
Temporizador Timer 0
V
L
18F452, 18F4550
A
D Las caractersticas que posee el Timer0 son las
I siguientes:
M
I Se puede seleccionar un modo de trabajo a 8 o 16
R bits
T
Se puede leer y escribir en l.
R
Posee un pre escalador propio de 8 bits
bits.
U
J Seleccin de fuente de reloj externa (Pin RA4 T0CKI)
I o interna Fosc/4
L
L Genera una interrupcin cuando se desborda en
O modo de 8 o 16 bits.
A
El timer 0 es controlado por el registro T0CON
R
I
A
S
Temporizador Timer 0 Reg.
Reg T0CON
V
L
18F452, 18F4550
A
D
I
M
I
R

T Bit 7 TMR0ON: Bit de control ON/OFF del Timer0


R
U 1 = Habilita
b l ell Timer0
J
I 0 = Detiene el Timer0
L
L Bit 6 T08BIT: Bit de seleccin de Timer0 en modo
O
8 bits o 16 bits
1 = Timer0 en modo 8 bits
A
R
I
0 = Timer0 en modo 16 bits
A
S
Temporizador Timer 0 Reg.
Reg T0CON
V
L
18F452, 18F4550
A
D Bit 5 T0CS: Bit de seleccin de la fuente de reloj de
I
M
Timer0.
I 1 = Transiciones en el pin T0CKI (RA4)
R
0 = Reloj interno de Instrucciones (FOSC/4)
T Bit 4 T0SE: Bit de tipo de flanco para incremento de
Timer0
Timer0.
R
U
J 1 = Incremento por flanco de bajada.
I
L
0 = Incremento por flanco de subida.
L
O
Bit 3 PSA: Bit de asignacin
del Pre escalador
1 = Pre escalador no asignado a Timer0.
A
0 = Pre escalador asignado a Timer0.
R
I
A
S
Temporizador Timer 0 Reg.
Reg T0CON
V
L
18F452, 18F4550
A
D
Bit 2-0 T0PS2:T0PS0: Bits de seleccin del
pre escalador.
I
M
I
R 111 = 1:256
T
110 = 1:128
R
101 = 1:64
U
J 100 = 1:32
I
L 011 = 1:16
L
O
010 = 1:8
A
001 = 1:4
R 000 = 1:2
I
A
S
Temporizador
p Timer 0
V
L
18F452, 18F4550
A
D Si no se asigna preescalador a TMRO, el registro de
I
M l se incrementa cada ciclo de reloj.
I
R Si el registro TMR0L es escrito, el conteo no se
T
reanuda, hasta dos ciclos de instruccin despus.
R
Si se utilizan instrucciones como:
U
J clrf TMR0, movwf TMR0 bsf TMR0, el pre escalador es
I
puesto a 0, aunque la asignacin del pre escalador no
L
L
cambia
cambia.
O
La interrupcin de TMR0, no puede sacar al
A procesador de un SLEEP, ya que en este caso el
oscilador interno esta parado.
R
I
A
S
Temporizador
p Timer 0
V
L
18F452, 18F4550
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Temporizador
p Timer 0
V
L
18F452, 18F4550
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Temporizador
p Timer 0
V
L
18F452, 18F4550
A
D
I
El registro TMR0H se actualiza solo
M
I cuando se hace una lectura de TMR0L,
esto con el fin de leer los 16 bits de
R

TMR0.
T
R
U
J
I
La parte alta de TMR0, solo se carga en
L
L el registro TMR0H cuando se hace una
escritura en TMR0L, esto con el fin de
O

transferir los 16 bits a la vez


A
R
I
A
S
Temporizador
p Timer 1
V
L
18F452, 18F4550
A
D El Timer1 es un temporizador de 16 bits posee los
registros TMR1H y TMR1L.
I
M
I
R
S l i de
Seleccin d fuente
f t de
d reloj
l j interna
i t o externa.
t
T
Puede conectarse un oscilador en los pines de
R entrada de Timer1 con el fin de tener una base de
U
J tiempo precisa independiente del reloj interno.
La interrupcin se genera por rebose
I
L

L
O
Un evento especial del mdulo CCP, lo coloca en 0
A
R
I
A
S
Temporizador
p Timer 1
V
L
18F452, 18F4550
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Temporizador Timer1 Reg.
Reg T1CON
V
L
18F452, 18F4550
A
D
Bit 7 RD16: Modo de lectura escritura de 16-
bits
I
M
I
R 1 = Habilita la lectura y escritura del Timer1 en
una operacin de 16-bits.
T
R 0 = Habilita la lectura y escritura del Timer1 en
U
J
dos operaciones de 8-bits.
I
L
Cuando RD16 vale 1, la parte alta del timer 1
L es transferida a TMR1H a travs de un buffer.
buffer
Esto ocurre solo cuando TMR1L es ledo, as
O

A
R
se transfieren los 16 bits al tiempo.
p
I
A
S
Temporizador Timer1 Reg.
Reg T1CON
V
L
18F452, 18F4550
A
D
Para realizar una escritura de 16 bits a el
Timer 1, se carga TMR1H con el valor
I
M
I
R
d
deseadod y a continuacin
ti i se escribe
ib TMR1L,
TMR1L
T
en ese instante se hace la transferencia de 16
R bits a la vez.
U
J Bit 6 Sin implementar
I
L Bit 5-4 T1CKPS1:T1CKPS0: Bits del p pre
escalador de Timer1
L
O

A
11 = 1:8
R
I
10 = 1:4
14
A 01 = 1:2
S
00 = 1:1
Temporizador Timer1 Reg.
Reg T1CON
V
L
18F452, 18F4550
A
D Bit 3 T1OSCEN: Bit habilitador del Oscilador
I
M
de Timer1.
1 = Oscilador de Timer1 habilitado
I
R

0 = Oscilador de Timer1 apagado


T
R Bit 2 T1SYNC: Sincronizacin de reloj
U
J
externo con el reloj interno
Cuando TMR1CS = 1:
I
L

1 = No
N sincronice
i i lal seal
l de
d reloj
l j externa
L
O

0 = Sincronice la seal de reloj externa


A
R Cuando TMR1CS = 0:
I
A Se ignora, ya que se esta usando el reloj
S
interno
Temporizador Timer1 Reg.
Reg T1CON
V
L
18F452, 18F4550
A
D
I
Bit 1 TMR1CS: Bit de seleccin de la fuente
M
I
de reloj de Timer1.
R
1 = Reloj externo, entrada por
T RC0/T1OSO/T13CKI (cuenta cada flanco de
R
U
subida)
J
I
0 = Reloj Interno (FOSC/4)
L
L
Bit 0 TMR1ON: Bit de encendido del Timer1
O
1 = Habilita el conteo en Timer1
A
R
0 = Detiene el conteo en Timer1
I
A
S
Temporizador Timer1
Timer1. Oscilador
V
L
18F452, 18F4550
A
D
I
El oscilador externo para Timer1 se ubica
M
I
entre los pines T1OSO y T1OSI (RC0 y RC1)
R
El oscilador de cuarzo que se conecta a estos
T
R
pines no debe exceder los 200 KHz.
U
J
Los condensadores sugeridos son de 33 pF.
Una alta capacitancia incrementa la
I
L

estabilidad, pero aumenta el tiempo de


L
O

A
arranque del oscilador
R
I
A
S
Temporizador
p Timer 1
V
L
18F452, 18F4550
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Temporizador
p Timer 2
V
L
18F452, 18F4550
A
D El Timer2 se caracteriza por lo siguiente
Un registro TMR2 de 8 bits
I
M

U registro
Un i t PR2,
PR2 que controla
t l ell mximo
i
I
R

T
conteo de TMR2.
R Un pre escalador de (1:1, 1:4, 1:16)
U
J Un post escalador (1:1 a 1:16)
Se genera una interrupcin al igualarse TMR2
I
L
L
O
con PR2.
PR2
TMR2 es utilizado como base de tiempo para
el control del mdulo PWM
A
R
I
A
S
Temporizador
p Timer 2
V
L
18F452, 18F4550
A
D
I
El pre escalador y el post escalador son
M
I puestos a su valor mnimo, cuando:
R

Se escribe en el registro TMR2.


T
R
U
Se escribe en el registro T2CON
J
I
Por un RESET
El valor de TMR2 no se pone en 0 si
L
L
O
T2CON es modificado.
A
R
I
A
S
Temporizador
p Timer 2
V
L
18F452, 18F4550
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Temporizador Timer2 Reg.
Reg T2CON
V
L
18F452, 18F4550
A
D Bit 7 Sin implementar
I
M
Bit 6 a 3 TOUTPS3:TOUTPS0: Timer2 Post
I escalador
R 0000 = 1:1 Post escalador
T
0001 = 1:2 Post escalador
R 1111 = 1:16 Post escalador
U
J
Bit 2 TMR2ON: Bit de encendido
I 1 = Timer2 encendido
L 0 = Timer2 apagado
p g
Bit 1 a 0 T2CKPS1:T2CKPS0: Timer2 Pre escalador
L
O

00 = Pre escalador en 1
A
01 = Pre escalador en 4
R
I 1x = Pre escalador en 16
A
S
Temporizador
p Timer2
V
L
18F452, 18F4550
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Temporizador Timer 3
A

El temporizador Timer3 posee las siguientes


D
I
M
I
caractersticas:
R
16 bits de tamao, conformado por dos
T registros de 8 bits
R
U
J
Uso de oscilador externo.
I
L
Interrupcin por rebose del temporizador, al
L pasar de FFFFh a 0000h
O
Se puede borrar por un disparo del mdulo
A
R CCP.
I
A
S
V
L
Temporizador Timer 3
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Temporizador Timer 3 Reg. T3CON
A
D
I
Bit 7 RD16: Habilita el modo de lectura
M
I escritura de 16 bits
R

1 = Habilita la lectura escritura del Timer3


en una operacin
p de 16 bits. El TMR3H,, se
T
R

actualiza al leer o escribir en el TMR3L


U
J
I
L 0 = Habilita la lectura escritura del Timer3
en dos operaciones de 8 bits.
L
O

A
R
I
A
S
V
L
Temporizador Timer 3 Reg. T3CON
A
D
I
Bit 6-3 T3CCP2:T3CCP1:Uso del Timer3 y
M Timer1 para trabajar con el mdulo CCPx.
I
R 1x = Timer3 es la fuente de reloj para el

T mdulo CCP en modo captura y comparacin.


R
U 01 = Timer3
Ti 3 es la
l fuente
f t de
d reloj
l j para ell
mdulo CCP2 y Timer1 es la fuente de reloj
J
I
L
L
para el mdulo CCP1
00 = Timer1 es la fuente de reloj para el
O

A
R
mdulo CCP en modo captura y comparacin.
I
A
S
V
L
Temporizador Timer 3 Reg. T3CON
A
D Bit 5-4 T3CKPS1:T3CKPS0: Pre escalador del
I
M Timer3
I
R
11 = 1:8
18
10 = 1:4
T
R
01 = 1:2
U
00 = 1:1
J
I Bit 2 T3SYNC: Bit para sincronizacin de la fuente
L
L de reloj externa de Timer3
Timer3.
O
Cuando TMR3CS = 1:
A 1 = No sincronice el reloj externo con el interno
R
0 = sincronice
i i ell reloj
l j externo con ell interno
i
I
A Cuando TMR3CS = 0:
S
Es ignorado.
V
L
Temporizador Timer 3 Reg. T3CON
A
D
I
Bit 1 TMR3CS: Seleccin de la fuente
M
I
de relojj de Timer3
R
1 = Fuente de reloj externa proveniente
T del oscilador de Timer1 o del pin T1CKI
R
U
J
0 = Fuente de reloj interna (FOSC/4)
I
L
Bit 0 TMR3ON: Encendido de Timer3
L
O
1 = Habilita Timer3
A
0 = Detiene Timer3
R
I
A
S
V
L
Temporizador Timer3
A
D
I
Para que el reset debido al evento de
M
I disparo del mdulo CCP funcione, el
TIMER3, debe estar configurado con
R

reloj interno o externo con


T
R
U
J
I
sincronizacin.
L
L El evento de disparo coloca en 0 el
timer 3 pero no genera una
O

interrupcin
interrupcin.
A
R
I
A
S
V
L
Temporizador Timer3
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Mdulo conversin A/D
V (18F452)
L
A
D
I
El conversor analgico digital posee una
M
I resolucin de 10 bits.
R

T
Controlado por los registros ADCON1 y
R
U
ADCON0
ADCON0.
El resultado de la conversin es
J
I
L
L
O
almacenado en los registros ADRESL y
A
ADRESH.
R
I
A
S
Mdulo conversin A/D
V (18F452)
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Mdulo conversin A/D
V (18F452)
L
A
D
I
Bit 5-3 CHS2:CHS0: Seleccin del
M
I
g
canal analgico
R
000 = canal 0, (RA0)
T
R
001 = canal 1, (RA1)
U
J
010 = canal 2, (RA2)
I
L
011 = canal 3, (RA3)
L
O 100 = canal 4, (RA5)
A 101 = canal 5, (RE0)
110 = canal 6, (RE1)
R
I

111 = canal 7, (RE2)


A
S
Mdulo conversin A/D
V (18F452)
L
A
D
Bit 2 GO/DONE: Estado de la conversin
A/D. Debe estar habilitado el bit ADON
I
M
I
R 1 = Conversin A/D en progreso (Colocando este
bit en 1, se inicia la conversin A/D. Se borra por
HW, cuando la conversin termina.)
T
R
U
J
0 = La conversin A/D no esta en progreso.
I
L
Bit 1 Sin implementar
L
O
Bit 0 ADON: Enciende
d ell mdulo
d l A/D
/
1 = El mdulo A/D esta encendido
A
R 0 = El mdulo A/D esta apagado y no consume
I
A
corriente.
S
Mdulo conversin A/D
V (18F452)
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Mdulo conversin A/D
V (18F452)
L
A
D
Bit 7 ADFM: Formato del resultado de la
conversin A/D.
I
M
I
R 1 = Justificado a la derecha. Los 6 bits mas
significativos del registro ADRESH son cero.
T
R 0 = Justificado a la izquierda.
q Los 6 bits menos
U
J
significativos del registro ADRESL son cero.
I
L
Bit 6 ADCS2: seleccin del tiempo de
L conversin del mdulo A/D,
A/D trabaja en asocio
con los bits ADCS1 y ADCS0 del registro
O

A
R
ADCON0
I
A
S
Mdulo conversin A/D
V (18F452)
L
A
D Cuando el procesador se encuentra en modo
I
SLEEP y se desea realizar una conversin, se
debe utilizar como base de tiempo el oscilador
M
I
R RC del conversor A/D.
T El conversor analgico digital funciona por
R
U
aproximaciones sucesivas
sucesivas.
J Un RESET en el dispositivo, obliga a el apagado
I
del conversor A/D y cualquier conversin en
proceso es abortada
abortada.
L
L
O
Cada pin del micro controlador que se use como
A entrada analgica, debe ser configurado como
R
I
entrada en el respectivo registro TRIS
A
S
Mdulo conversin A/D (Pasos)
V (18F452)
L
A
D
I
Los pasos para realizar una conversin
M
I
g
A/D son los siguientes:
R
1. Configuracin del mdulo A/D.
Se configuran
g los pines
p que
q sern entradas
T
R
U
J
analgicas o digitales (ADCON1).
I
L
Se selecciona el canal de entrada al
L
O
mdulo
d l A/D (ADCON0)
(ADCON0).
A
Se selecciona el reloj de conversin A/D
R (ADCON0)
(ADCON0).
I
A Se enciende el mdulo A/D (ADCON0).
S
Mdulo conversin A/D (Pasos)
V (18F452)
L
A
D 2. Configuracin de interrupciones para el
I
M
mdulo A/D (opcional)
I Borrar el bit ADIF en el registro PIR1
R
Poner en 1 el bit ADIE en el registro PIE1.
T Poner en 1 el bit GIE y el PEIE en el registro
R
U
INTCON
INTCON.
J 3. Esperar el tiempo de adquisicin en el
I
L
condensador de sujecin interno.
L
4 Comenzar
4. C la
l conversin,
i colocando
l d en 1 ell
bit GO/DONE del registro (ADCON0), este bit
O

A no se debe poner en 1 al mismo tiempo que


R
I
i
instruccin
i que enciende
i d ell mdulo
d l A/D
A (ADON = 1)
S
Mdulo conversin A/D (Pasos)
V (18F452)
L
A
D 5. Esperar que la conversin A/D concluya
cuando:
I
M
I
R
El bit GO/DONE se ponga en 0 la interrupcin del
conversor A/D se d.
T
R
6. Leer el resultado en los registros ADRESH y
U ADRESL y borrar el bit ADIF si es necesario.
J
I 7. Para conversiones sucesivas, se deben esperar
L
L
2 TAD
TADss antes de que el nuevo tiempo de
O adquisicin comience. Se entiende por un TAD, el
A tiempo que demora la conversin de 1 bit y no
R
I
puede ser menor a 1 1.6
6 micro segundos
A
S
Mdulo conversin A/D
V (18F452)
L
A
D
I
Los bits ADCS0, ADCS1 y ADCS2, permiten
M
I
escoger el oscilador para la conversin A/D
R que tiene relacin directa con el TAD.
T
R
El TAD se obtiene as:
U
J
TAD = 1/(FOSC/n) TOSC * n donde TOSC =
I 1/FOSC.
L
L Si el valor de ADCS0,
ADCS0 ADCS1,
ADCS1 ADCS2 es de 101,
101 el
O
valor del TAD ser de (16 * TOSC)
A
R
Si se desea trabajar
j con el oscilador RC interno del
I mdulo A/D, el valor del TAD ser de 2 micro
segundos.
A
S
Mdulo conversin A/D
V (18F452)
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Mdulo conversin A/D
V (18F452)
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Mdulo conversin A/D
V (18F452)
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Mdulo conversin A/D
V (18F452)
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Mdulo conversin A/D
V (18F4550)
L
A
D
I
El mdulo A/D de este micro consta de
M
I 13 canales analgicos. El resultado de
la conversin es de 10 bits.
R

T
R
U
Cinco registros conforman este mdulo
mdulo.
ADRESH, ADRESL, registros de control
J
I
L
L
O
ADCON0 ADCON1 y ADCON2.
ADCON0, ADCON2
A
R
I
A
S
Mdulo conversin A/D
V (18F4550)
L
A
D
I
M
I
R

T
R
U
Bit 1 GO/DONE: Bit de estado de la conversin A/D
J Cuando ADON = 1:
I
1 = Conversin A/D en progreso.
L
L
0 = Conversor A/D desocupado
O
Bit 0 ADON: Bit habilitador de mdulo A/D
A 1 = Mdulo A/D habilitado
R
0 = Mdulo
Md l A/D deshabilitado
d h bilit d
I
A
S
Mdulo conversin A/D
V (18F4550)
L
A
D Bit 7-6 Sin implementar
I Bit 5-2 CHS3:CHS0: Seleccin del canal analgico
M 0000 = Canal 0 (AN0/RA0)
I
0001 = C
Canall 1 (AN1/RA1)
R
0010 = Canal 2 (AN2/RA2)
0011 = Canal 3 (AN3/RA3)
T
0100 = Canal 4 (AN4/RA5)
R
U
0101 = C
Canall 5 (AN5/RE0)
J
0110 = Canal 6 (AN6/RE1)
I
0111 = Canal 7 (AN7/RE2)
L 1000 = Canal 8 (AN8/RB2)
L 1001 = Canal 9 (AN9/RB3)
O 1010 = Canal 10 (AN10/RB1)
1011 = Canal 11 (AN11/RB4)
A 1100 = Canal 12 (AN12/RB0)
R 1101 = Sin implementar
I 1110 = Sin implementar
A 1111 = Sin implementar
S
Mdulo conversin A/D
V (18F4550)
L
A
D
I
M
I
R

Bit 7-6 Sin implementar, se lee como 0


T

R
U Bit 5 VCFG1: Configuracin de Voltaje de referencia (VREF-)
J
I 1 = VREF- (AN2)
L
0 = VSS
L
O
Bit 4 VCFG0: Configuracin de Voltaje de referencia (VREF+)
A 1 = VREF+ (AN3)
R
0 = VDD
I
A
S
Mdulo conversin A/D
V (18F4550)
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Mdulo conversin A/D
V (18F4550)
L
A
D
I
M
I
R

T
R
U
Bit 7 ADFM: Seleccin del formato del
J
I
resultado del mdulo A/D
1 = Justificado a la derecha
L
L
O

0 = Justificado a la izquierda
A
R
I
Bit 6 Si
Sin implementar
i l t
A
S
Mdulo conversin A/D
V (18F4550)
L
A
D
I
Bit 5-3 ACQT2:ACQT0: Bit de seleccin del
M
I
tiempo de adquisicin
R
111 = 20 TAD
T 110 = 16 TAD
R
U 101 = 12 TAD
J
I 100 = 8 TAD
L
L 011 = 6 TAD
O
010 = 4 TAD
A
R 001 = 2 TAD
000 = 0 TAD
I
A
S
Mdulo conversin A/D
V (18F4550)
L
A
D
I
bit 2-0 ADCS2:ADCS0: Bit de seleccin del
M
I
reloj para la conversin A/D (TAD).
R
111 = Uso del temporizador RC interno
T 110 = FOSC/64
R
U 101 = FOSC/16
J
I 100 = FOSC/4
L
L 011 = Uso del temporizador RC interno
O
010 = FOSC/32
A
R 001 = FOSC/8
000 = FOSC/2
I
A
S
Mdulo conversin A/D
V (18F4550)
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Mdulo conversin A/D
V (18F4550)
L
A
D
I
Pasos para realizar una conversin A/D.
M
I
1. Configuracin del mdulo A/D
R
Configurar los pines analgicos y los voltajes de
T referencia (ADCON1)
R
U S l i
Seleccionar canall de
d entrada
t d (ADCON0)
J
I Escoger el tiempo de adquisicin (ADCON2)
Seleccionar el tiempo de conversin TAD
TADss
L
L
O
(ADCON2)
A Habilitar el mdulo A/D (ADCON0)
R
I
A
S
Mdulo conversin A/D
V (18F4550)
L
A
D 2. Configurar las interrupciones A/D
I
M
Borrar el bit ADIF
I Poner en 1el bit ADIE
R
Poner en 1 el bit GIE.
T 3. Esperar a que transcurra el tiempo de adquisicin si es
R
necesario
U
J 4. Comenzar la conversin. Colocando en 1 el bit GO/DONE del
I (ADCON0)
L
L 5 Esperar a que la conversin A/D termine.
5. termine
O
Cuando GO/DONE se pone en 0 se da una interrupcin A/D
A 6. leer el resultado de la conversin en (ADRESH:ADRESL) y
R
b
borrar ell bit ADIF,
ADIF sii es necesario.
i
I
A
S
Mdulo conversin A/D
V (18F4550)
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Mdulo conversin A/D
V (18F4550)
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Mdulo conversin A/D
V (18F4550)
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Mdulo conversin A/D
V (18F4550)
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Memoria EEPROM de datos
A
D
I
La memoria EEPROM, no puede ser
M
I
direccionada normalmente,, para
p acceder a
R
ella se hace a travs de unos registros
T
R
especiales
EECON1 (Registro de configuracin)
U
J

EECON2 (Registro de configuracin)


I
L

EEDATA (Registro de transferencia de


L
O

A
datos)
R
I
EEADR (Registro
( de
d direccionamiento)
d )
A
S
V
L
Memoria EEPROM de datos
A
D
I
Los datos en la EEPROM, se
M
I sobrescriben y el tiempo de acceso de
escritura tiene un tiempo tpico de 4
R

milisegundos
T
R
U
J
I
Debido a que el registro EEADR es de 8
L
L bits la capacidad en EEPROM es de 256
bits,
bytes.
O

A
R
I
A
S
V
L
Memoria EEPROM de datos
A
D
I
M
I
R

T
R
BIT 7 EEPGD: bit de seleccin de la memoria FLASH o
U EEPROM
J 1 = Acceso a la memoria FLASH
I
L
0 = Acceso a la memoria EEPROM.
L BIT 6 CFGS:
CFGS Acceso
A a la
l memoriai FLASH/EEPROM o a los
l
O registros de configuracin del PIC
A
1 = Acceso a los registros de Configuracin
R 0 = Acceso a la memoria FLASH o EEPROM
I
A
S
V
L
Memoria EEPROM de datos
A
D
I
BIT 5 Sin implementar
M
I
BIT 4 FREE: Habilitacin del ciclo de borrado
R en la memoria FLASH
T 1 = Borra la memoria FLASH (64 bytes) apuntada
R
por TBLPTR en el prximo comando WR
U
J 0 = Solo para escritura.
I
L BIT 3 WRERR: Bit de Error
L
O 1 = Una operacin de escritura ha sido
interrumpida.
A
R 0 = Operacin de escritura completa.
completa
I
A
S
V
L
Memoria EEPROM de datos
A
D BIT 2 WREN: Bit de habilitacin de escritura en
I FLASH o EEPROM
M
I
1 = ciclos de escritura p
permitidos
R 0 = No permite escritura en la memoria EEPROM
T
BIT WR: bit de control de escritura
R 1 = Inicializa un ciclo de escritura en EEPROM o FLASH.
U Cuando la operacin termina, el bit es borrado por HW y no
J se puede por software.)
I
0 = El ciclo de escritura en EEPROM finaliz
L
L BIT 0 RD: bit de control de lectura.
lectura
O 1 = Lee la memoria EEPROM. Es borrado por HW y no por
SW. Este bit no se puede poner en 1 si EEPGD = 1.)
A
R
0 = No se inicia la lectura de la EEPROM
I
A
S
Lectura de la memoria EEPROM
V
L
de datos
A
D
I
Para la lectura de la memoria EEPROM,
M
I se escribe la direccin a leer en EEADR.
R

T
Poner en 0 el bit EEPGD (bit 7 EECON1)
Poner en 0 el bit CFGS (bit 6 EECON1)
R
U
J
I
L
Poner en 1 el bit RD (bit 0 EECON1)
El dato ledo se almacena en el registro
L
O
A
R
EEDATA
I
A
S
Escritura en la memoria EEPROM
V
L
de datos
A
D Para la Escritura en la memoria EEPROM, se escribe
I
M la direccin a acceder en el registro EEADR.
I
R Poner en 0 el bit EEPGD (bit 7 EECON1)
T
Poner en 0 el bit CFGS (bit 6 EECON1)
R
U
Poner en 1 el bit WREN (bit 0 EECON1) con el fin de
J habilitar el acceso en modo escritura.
I
L Poner en 1 el bit WR,, para
p comenzar la escritura.
L
O El dato ledo se almacena en el registro EEDATA
A Al finalizar la escritura en la memoria EEPROM, se
R
I
genera una interrupcin,
i i all ponerse ell 1 ell bit
bi EEIF
A del registro PIR2
S
V
L
Modulo CCP
A
D El mdulo CCP1 y CCP2, consta de 1 registro de
I control CCPxCON y 2 registros de 8 bits auxiliares
M
I
((CCPRxL y CCPRxH)) para
p el manejo
j del mdulo.
R Los modos de trabajo son captura, comparacin y
T
PWM.
R Este mdulo hace uso de los temporizadores
p
U Timer1, Timer2 y Timer3
J
I
L
L
O

A
R
I
A
S
V
L
Modulo CCP (Registro de control)
A
D
I
M
I
R

T
R
U
J Bit 7-6 Sin implementar
I
L
L
Bit 5-4
5 4 DCxB1:DCxB0: bit 0 y 1 de el ciclo de
O
trabajo PWM, no usado en modo captura y
A comparacin
R
I
A
S
V
L
Modulo CCP (Registro de control)
A
D
Bit 3-0 CCPxM3:CCPxM0: Bits de seleccin del modo de trabajo
I 0000 = Modulo CCP apagado
M 0001 = Reservado
I 0010 = Modo compara
compara, pulso a la salida al darse la igualdad (CCPxIF se
R coloca en 1)
0011 = Reservado
T 0100 = Moda captura, cada flanco de bajada.
R 0101 = Modo captura,
p , cada flanco de subida.
U 0110 = Modo captura, cada 4 flancos de subida.
J 0111 = Modo captura, cada 16 flancos de subida.
I 1000 = Modo compara, coloca el pin CCP en estado alto cuando se produce
L la igualdad (CCPIF se coloca en 1)
L 1001 = Modo compara, coloca el pin CCP en estado alto al darse la
O igualdad (CCPIF se coloca en 1)
1010 = Modo compara, el pin CCP no cambia, CCPIF se coloca en 1 cuando
A la igualdad se da.
R 1011 = Modo compara
compara, se genera un evento trigger al producirse la
I igualdad (CCPIF se coloca en 1)
A 11xx = Modo PWM
S
V
L
Modulo CCP (Modo de Captura)
A
D En modo de captura los registros CCPR1H:CCPR1L, capturan el
I
valor de los 16 bits de los registros de TMR1 o TMR3, cuando un
M
I
evento en el ppin RC2/CCP1
/ ocurre.
R
Los eventos son:
T Cada flanco de bajada
R Cada flanco de subida
U
J
Cada 4 flancos de subida
I Cada 16 flancos de subida
L
L
El pin del mdulo CCPP debe ser configurado como entrada
O El timer 1 y 3 deben estar sincronizados con el reloj interno, si
A
estn contando pulsos externos.
R Si se realiza un cambio de configuracin del modo de trabajo
I
A
del mdulo CPP, se debe apagar el mdulo. Ya que si no se
S hace se puede generar una falsa interrupcin.
V
L
Modulo CCP (Modo de Captura)
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Modulo CCP (Modo de Captura)
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Modulo CCP (Modo Compara)
A
D En modo compara, los 16 bits de los registros CCPR1 o (CCPR2)
I
son comparados constantemente con el valor de TMR1 o TMR3.
M
I Cuando el valor de CCPRx se hace igual al de un Timer,
Timer ocurre
R
lo siguiente en los pines RC2/CCP1 o RC1/CCP2:
T Se pone en estado alto
R Se pone en estado bajo
U
J
Cambia de estado (Alto a Bajo o Bajo a Alto)
I Se mantiene sin cambios
L
L
El timer 1 y 3 deben estar sincronizados con el reloj interno,
interno si
O estn contando pulsos externos.
A
Si se realiza un cambio de configuracin del modo de trabajo
R del mdulo CPP,
CPP se debe apagar el mdulo.
mdulo Ya que si no se
I hace se puede generar una falsa interrupcin
A
S
V
L
Modulo CCP (Modo Compara)
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Modulo CCP (Modo Compara)
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Modulo CCP (Modo PWM)
A
D El modo PWM, posee una resolucin de 10 bits.
I
M Al borrar el registro CCPxCON, la salida del mdulo
I
PWM se pone en su estado por defecto (0) (0).
R
El registro Timer 2 es utilizado como base de tiempo
T
R
para la operacin de este mdulo.
U El pos escalador de TMR2 no se utiliza.
J
I El periodo PWM esta dado por:
L
L
Periodo PWM = [PR2 + 1] * 4
4* TOSC
TOSC*(Pre
(Pre escalador TMR2)
O El ciclo de trabajo o tiempo de cresta esta dado por:
A Tiempo Cresta PWM = (CCPR1L:CCP1CON<5:4>)*TOSC
R *(Pre escalador de TMR2)
I
A
S
V
L
Modulo CCP (Modo PWM)
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Modulo CCP (Modo PWM)
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Modulo CCP (Modo PWM)
A
D Como Configurar el mdulo PWM
I
M Seleccione el periodo de trabajo mediante el registro
I
PR2
PR2.
R
Seleccione el tiempo de cresta de PWM mediante el
T
R
registro CCPR1L y los bits 5 y 4 de CCP1CON.
U Configure el pin de salida del mdulo CPP como
salida.
J
I
L
L
Configure el preescalador de Timer2 en el registro
O T2CON.
A
Configure el mdulo CPP para modo de trabajo PWM.
R
I
A
S
V
L
Modulo CCP (Modo PWM)
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Modulo de Comunicacin serial
V
L
USART
A
D
I
El mdulo de comunicacin serial puede
M
I ser configurado de la siguiente manera:
R

Sistema asncrono full duplex.


T
R
U
Sistema sincrnico half
half-duplex
duplex (Maestro).
(Maestro)
J
I
Sistema sincrnico half-duplex (Esclavo).
El mdulo USART cuenta con dos
L
L
O

A
registro de configuracin.
R
I
Registro
R i t ded control
t l de
d transmisin
t i i TXSTA.
TXSTA
Registro de control de recepcin RCSTA.
A
S
Modulo de Comunicacin serial
V
L
USART (Registro TXSTA)
A
D
I
M
I
R

T
R
U
Bit 7 CSRC: Seleccin de la fuente de reloj.
reloj
J Modo Asncrono:
I
L No se tiene en cuenta
L
O
Modo sincrnico:
1 = Modo maestro (reloj generado internamente por el
A BRG)
R
I
0 = Modo Esclavo (reloj de fuente externa)
A
S
Modulo de Comunicacin serial
V
L
USART (Registro TXSTA)
A
D Bit 6 TX9: Habilitador de transmisin de 9-bit.
1 = 9 bits para transmitir.
I
M
I
R
0 = 8 bits para transmitir.
transmitir
Bit 5 TXEN: Habilitacin de Transmisin
T
R 1 = Transmisin habilitada
U
J
0 = Transmisin deshabilitada
I Bit 4 SYNC: Seleccin del modo de trabajo
L
L USART
O
1 = Modo sincrnico
A 0 = Modo asncrono
R
I
A
S
Modulo de Comunicacin serial
V
L
USART (Registro TXSTA)
A
D Bit 3 Sin implementar
I
M Bit 2 BRGH: Modo de seleccin de trabajo del Baud
I
R Rate Generator
Modo asncrono:
T
R 1 = Alta velocidad
U
0 = Baja velocidad
J
I Modo Sincrnico:
L
No utilizado en este modo
L
O Bit 1 TRMT: Estado del registro de corrimiento
A 1 = TSR vaco
R
I
0 = TSR lleno
A
S
Bit 0 TX9D: Noveno bit de datos a ser transmitido
Modulo de Comunicacin serial
V
L
USART (Registro RCSTA)
A
D
I
M
I
R

T
R Bit 7 SPEN: Habilitador de puerto serial
U
J 1 = Puerto serial habilitado
0 = Puerto serial deshabilitado
I
L

L
O
Bit 6 RX9: Habilita la recepcin de noveno bit.
A
1 = Se van a recibir 9 bits.
R 0 = Se van a recibir 8 bits
bits.
I
A
S
Modulo de Comunicacin serial
V
L
USART (Registro RCSTA)
A
D
I
Bit 5 SREN: Habilitacin de recepcin
M
I simple.
R

Modo asncrono:
T
R No se tiene en cuenta
U
J
I
Modo sincrnico - Maestro:
L 1 = Habilita una recepcin
p simple
p
L
O 0 = Deshabilita la recepcin simple.
A
R
Modo sincrnico - Esclavo:
I
A
No se tiene en cuenta
S
Modulo de Comunicacin serial
V
L
USART (Registro RCSTA)
A
D
I
bit 4 CREN: Habilita la recepcin
M
I continua.
R

Modo asncrono:
T
R 1 = Habilita el receptor
U
J 0 = Deshabilita el receptor
I
L Modo sincrnico:
L
O 1 = Habilita la recepcin continua, hasta que el
A bit CREN se borre (CREN sobrescribe SREN)
0 = Deshabilita la recepcin
continua.
R
I

A
S
Modulo de Comunicacin serial
V
L
USART (Registro RCSTA)
A
D bit 3 ADDEN: Habilita la deteccin de direcciones
I
Modo asncrono con noveno bit en 1 (RX9 = 1):
M
I
1 = Habilita la deteccin de direcciones, habilita la interrupcin
R
y lee
l ell buffer
b ff de d recepcin
cuandod RSR<8> 8 se pone en 1
0 = Deshabilita la deteccin de direcciones, todos los bytes son
T
recibidos y el noveno bit se puede usar como bit de paridad
R bit 2 FERR: Bit de error de Encuadre
U
J
1 = Error de encuadre
I 0 = No hay error de encuadre
L
L
bit 1 OERR: Bit de error de desborde
O 1 = Error de desborde
0 = No hay error de desborde
bit 0 RX9D: Noveno bit en recepcin
A
R
I
A
S
Modulo de Comunicacin serial
V
L
USART (Tasa de transferencia)
A
D Existen dos modos para calcular la tasa de transferencia de
I
puerto serial USART. Modo alta y baja velocidad.
M
I El bit BRGH <TXSTA 2>,
2> permite escoger el modo,
modo mientras
R
que el registro SPBRG contiene la tasa de transferencia
T
escogida. En las ecuaciones X es el valor de SPBRG
R Modo asncrono baja velocidad
velocidad.
U
J
Tasa de transferencia = FOSC/(64(X+1))
I
Modo asncrono alta velocidad.
L
L Tasa de transferencia = FOSC/(16(X+1))
O
Modo sincrnico baja velocidad.
A Tasa de transferencia = FOSC/(4(X+1))
R
M d sincrnico
Modo i i altalt velocidad.
l id d
I
A No aplica
S
Modulo de Comunicacin serial
V
L
USART (Modo asncrono)
A
D En modo asncrono el USART utiliza el estndar de no
I
M retorno a cero NRZ.
I
R Se utiliza un bit de inicio, 8 o 9 bits de datos y un bit
T
de parada.
R
El USART transmite y recibe primero el bit menos
U
J significativo
I
L El TX y RX pueden funcionar independientemente,
L
O
aunque utilizan la misma tasa de transferencia.
A
No se soporta bit de paridad por HW, aunque se
R puede realizar por SW
SW.
I
A
S
Modulo de Comunicacin serial
V
L
USART (Modo asncrono TX)
A
D
I
El registro TSR es actualizado con el
M
I valor contenido en TXREG, cuando la
transferencia de datos ha finalizado; es
R

decir cuando el bit de parada de un


T
R
U
J
I
dato previo ha sido transmitido.
L
L TXTREG se actualiza por SWSW.
O

A
Una vez que TXREG transfiere sus datos
R
I
a TSR,
TSR queda vaco y se produce una
A
S
interrupcin.
Modulo de Comunicacin serial
V
L
USART (Modo asncrono TX)
A
D
I
La bandera TXIF se pone en 1, independiente
M
I
del estado de TXIE y no puede ser borrada
R por SW. Solo se borra cuando un nuevo valor
T ha sido cargado en TXREG.
R
U
J
El bit TRMT, muestra el estado del registro de
I corrimiento TSR, colocndose en 1 cuando
L
L TSR esta vaco
vaco.
O

A
La bandera TXIF solo se pone en 1 cuando el
R bit TXEN esta en 1
I
A
S
Modulo de Comunicacin serial
V
L
USART (Modo asncrono TX)
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Modulo de Comunicacin serial
V
L
USART (Modo asncrono TX)
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Modulo de Comunicacin serial
V
L
USART (Modo asncrono TX)
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Modulo de Comunicacin serial
V
L
USART (Modo asncrono TX)
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Modulo de Comunicacin serial
V
L
USART (Modo asncrono TX)
A
D Para configurar la transmisin se requiere:
I
M 1. Inicializar el SPBRG para la tasa de transferencia
I
deseada Con el bit BRGH se escoge si se desea alta o
deseada.
R
baja velocidad.
T
R
2. Habilitar el puerto seria asncrono colocando en 0 el bit
U SYNC y poniendo en 1 el bit SPEN.
J
I 3. Si se desean interrupciones colocar en 1 el bit TXIE.
L
L
4 Si se desea transmisin de noveno bit
4. bit, colocar en 1 el
O bit TX9.
A 5. Habilitar la transmisin colocando en 1 el bit TXEN el
R
c al colocar
cual coloca en 1 el bit TXIF.
TXIF
I
A 6. Cargar el dato a transmitir en TXREG.
S
Modulo de Comunicacin serial
V
L
USART (Modo asncrono RX)
A
D Para habilitar una recepcin asncrona se requiere:
I
M
1. Inicializar el SPBRG para la tasa de transferencia deseada.
I Con el bit BRGH se escoge si se desea alta o baja velocidad
velocidad.
R
2. Habilitar el puerto serial asncrono colocando en 0 el bit SYNC
T y poniendo en 1 el bit SPEN.
R
U
3 Si se desean interrupciones colocar en 1 el bit RCIE
3. RCIE.
J 4. Si se desea recepcin de noveno bit, colocar en 1 el bit RX9.
I
L
5. Habilitar la recepcin colocando el bit CREN en 1.
L
6. La bandera RCIF se pondr en 1 cuando la recepcin se
O
complete y se generar una interrupcin si el bit RCIE fue
A puesto en 1.
R
I
7. Leer el dato recibido del registro RCREG.
A
S
Modulo de Comunicacin serial
V
L
USART (Modo asncrono RX)
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
Modulo de Comunicacin serial
V
L
USART (Modo asncrono RX)
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Memoria FLASH de Programa
A
D La memoria de programa puede ser leda y escrita
I
M durante el funcionamiento normal.
I
R Posee un tamao de 32K Bytes con capacidad para
T
16K Instrucciones
R
Durante la escritura o lectura de la memoria de
U
J programa se cesar la bsqueda de instrucciones,
I
L
hasta que la operacin este completa.
L
O
La memoria de programa no puede ser accedida
durante la lectura o escritura, es por ello que el
A
R
cdigo no puede ser ejecutado.
I
A
S
V
L
Memoria FLASH de Programa
A
D
I
Cualquier instruccin invlida que se
M
I escriba, ser ejecutada como un NOP
R

T
Ya que la memoria de programa es de
R
U
16 bits de ancho y la RAM tiene 8 bits;
J
I
las instrucciones TBLRD (Lectura) y
L
L TBLWT (escritura),
(escritura) mueven datos
entre esas dos memorias, utilizando el
O

registro TABLAT.
TABLAT
A
R
I
A
S
V
L
Memoria FLASH de Programa
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Registro EECON1 y EECON2
A
D
I
El registro EECON1 es el registro de
M
I control de acceso a memoria FLASH o
EEPROM.
R

T
R
U
El registro EECON2 no existe
J
I
fsicamente, y solo se utiliza en
L
L operaciones de escritura o borrado de
la memoria.
O

A
R
I
Cualquier lectura a EECON2,
EECON2 obtiene
A
S
como resultado un 0.
V
L
Registro EECON1 (Dir. 0FA6h )
A
D
I
M
I
R

T
BIT 7 EEPGD: Bit de seleccin de la
memoria FLASH o EEPROM
EEPROM.
R
U
J
I
1 = El acceso es a la memoria FLASH.
L 0 = El acceso es a la memoria EEPROM.
BIT 6 CFGS: Acceso a memoria FLASH/EE o
L
O

A
registros de configuracin.
R 1 = Acceso a los registros de configuracin
I
A
0 = Acceso a la memoria FLASH o EEPROM.
S
V
L
Registro EECON1 (Dir. 0FA6h )
A
D BIT 5 Sin implementar.
BIT 4 FREE: bit de seleccin de borrado de la
I
M
I
R
memoria FLASH
FLASH.
1 = Borra la memoria FLASH apuntada por
T
R
TBLPTR en el prximo comando WR.
U 0 = Se
S realiza
li escritura
i nicamente.
i
BIT 3 WRERR: Error en una operacin de
J
I
L
L
escritura
esc tu a de la
a memoria
e o a FLASH/EEPROM
S / O
O 1 = Una operacin de escritura fue
prematuramente terminada.
A
R 0 = Operacin de escritura completa
completa.
I
A
S
V
L
Registro EECON1 (Dir. 0FA6h )
A
D
I
BIT 2 WREN: Bit de habilitacin de escritura
M
I
en la memoria FLASH/EEPROM.
R
1 = Permite ciclos de escritura.
T 0 = Inhibe los ciclos de escritura.
R
U
J
BIT 1 WR: Bit de control de escritura
I
L
1 = Inicializa el borrado/escritura de la memoria
L EEPROM/FLASH este bit se coloca en 0
EEPROM/FLASH,
O
nuevamente por HW.
A
R
0 = El ciclo de escritura esta completo.
p
I
A
S
V
L
Registro EECON1 (Dir. 0FA6h )
A
D
I
BIT 0 RD: Bit de control de lectura.
1 = Inicializa la lectura de la EEPROM,
EEPROM este
M
I

bit se coloca en 0 por HW. El bit RD no


R

T
R puede puesto en 1 cuando EEPGD = 1, lo
U
J
cual sugiere que la memoria FLASH, no
I
L
puede ser leda utilizando este bit.
L
O
0 = No se inicializa la lectura de la
A
EEPROM.
R
I
A
S
V
L
Registro TABLAT y TBLPTR
A
D
I
El registro TABLAT es de 8 bits y se utiliza
M
I
para almacenar datos durante la
R transferencia de informacin entre la RAM y
T la memoria de programa.
R
U
J
El registro TBLPTR apunta a las direcciones
I de memoria de programa a acceder, apunta
L
L de a byte por vez
vez.
O

A
El registro TBLPTR, es utilizado por las
R instrucciones TBLRD y TBLWT; ellas pueden
I
A actualizar el TBLPTR de 4 formas diferentes.
S
V
L
Registro TBLPTR
A
D
I
M
I
R

T
R
U
J
I
L
L
O
LLa lectura
l t accede
d a memoriai cada
d byte
b t
A
La escritura accede a memoria cada 8 Bytes
El borrado se hace en paquetes de 64 Bytes.
R
I
A
S
Operaciones que auto modifican
V
L
TBLPTR
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Lectura de la Memoria FLASH
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Lectura de la Memoria FLASH
A
D
I
Cuando se hace una lectura de memoria. Se
M
I
debe Cargar TBLPTR con la direccin a leer
R (direccin par).
T
R
Cuando se ejecuta la instruccin TBLRD, se
U
J
mueve un byte de la instruccin a el registro
I TABLAT.
L
L
O
El que sea ell byte
b bajo
b j o alto,
l depende
d d ded sii
A
el bit menos significativo de la direccin
R escogida es 0
I
A
S
V
L
Borrado de la Memoria FLASH
A
D
El TBLPTR no tiene en cuenta los 6 bits
menos significativos a la hora de hacer un
I
M
I
R
b
borrado,
d solol los
l 16 mas altos,
lt por lo
l tanto
t t ell
T
borrado de la memoria FLASH, solo se hace
R en bloques
q de 64 bytes
y o 32 instrucciones.
U
J Los 16 bits mas significativos apuntan a la
I
L direccin de inicio del bloque de 64 bytes a
L
O
b
borrar.
A
El registro EECON1 controla la operacin de
R borrado
borrado.
I
A
S
V
L
Borrado de la Memoria FLASH
A
D
I
El bit EEPGD se debe poner en 1, as
M
I como WREN tambin debe estar en 1
para habilitar la operacin de escritura
R

(Borrar es escribir FF).


T
R
U
J
I
El bit FREE se coloca en 1 para iniciar la
L
L operacin de borrado
O

A
R
I
A
S
Borrado de la Memoria FLASH
V
L
(Secuencia a utilizar)
A
D
Cargar el STKPTR con la direccin de inicio a
borrar (Recordar que es en paquetes de 64
I
M
I
R
b t
bytes, por ttanto
t llos 6 bit
bits menos
T
significativos son 0)
R
U
Poner en 1 el bit EEPGD de EECON1
EECON1.
J
I
Borrar el bit CFGS del registro EECON1
L
L
Poner en 1 los bits WREN y FREE para
O habilitar escritura y borrado respectivamente.
A
R
Deshabilitar las interrupciones.
I
A
S
Borrado de la Memoria FLASH
V
L
(Secuencia a utilizar)
A
D
I
Escribir 55h en el EECON2.
M
I Escribir AAh en el EECON2.
Poner en 1 el bit WR. Esto comenzar el
R


ciclo de borrado
T
R
U
J
I
La CPU queda parada durante el tiempo
L
L
que tarde el borrado de la memoria que
O
son 2 mili segundos aproximadamente.
A
R
Habilitar las interrupciones.
I
A
S
V
L
Escritura en memoria Flash.
A
D
I
La escritura en la memoria FLASH, se
M
I realiza en paquetes de 8 bytes o 4
instrucciones.
R

T
R
U
Debido a que el registro TABLAT es de
J
I
1 byte, una operacin de escritura en
L
L FLASH requiere el uso de 8 veces la
FLASH,
instruccin TBLWT.
O

A
R
I
A
S
Escritura en memoria Flash.
Escritura en memoria Flash
Flash.
V (Secuencia de Programacin)
L
A
D
I
Secuencia de programacin de la
M
I memoria FLASH.
R

Almacenar el bloque de 64 bytes donde se


va a modificar los datos,, en la memoria
T
R

RAM.
U
J
I
L Actualizar los valores en la RAM si es
necesario.
L
O

A Cargar el apuntador del programa con la


R
I direccin a ser borrada.
A
S
Escritura en memoria Flash
Flash.
V (Secuencia de Programacin)
L
A
D
I
Borrar el bloque de memoria FLASH.
M
I Cargar
g el apuntador
p del programa
p g con la
R
direccin de inicio a ser escrita.
Escribir los pprimeros 8 bytes
y en los
T
R
U
J
registros de sujecin.
Utilizar la instruccin (TBLWT* + o
I
L

TBLWT+*).
L
O

A Poner en 1 el BIT EEPGD, para apuntar a


la memoria de programa.
R
I
A
S
Escritura en memoria Flash
Flash.
V (Secuencia de Programacin)
L
A
D
I
Borrar el BIT CFGS para acceder a la
M
I
memoria de programa y poner en 1 el BIT
R WREN para habilitar la escritura.
T
R
Deshabilite las interrupciones.
U
J
Escriba 55h en el registro EECON2.
Escriba AAh en el registro EECON2.
I
L
L
O Coloque en 1 el BIT WR, para comenzar el
A ciclo de escritura.
R
I
A
S
Escritura en memoria Flash
Flash.
V (Secuencia de Programacin)
L
A
D
I
M
I La CPU se detiene cerca de 2 milisegundos
g
R
mientras se escribe
Re habilite las interrupciones.
p
T
R
U
J Repita este ciclo 7 veces
I
L
L
Para
a a escribir
esc b los os 6
64 bytes
O

A
R
I
A
S
Escritura en memoria Flash
Flash.
V (Secuencia de Programacin)
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
Modulo USB 18F45550
A
D
I
La familia PIC18FX455/X550 posee una
M
I interface USB de full-speed
full speed and low
low-
speed.
R

T
R
U
Esta diseada para permitir la
J
I
comunicacin entre cualquier HOST y el
L
L microcontrolador
O

A
R
I
A
S
V
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S
V
L
A
D
I
M
I
R

T
R
U
J
I
L
L
O

A
R
I
A
S

También podría gustarte