319
MICROCONTROLADORES GAMA ALTA Y ARQUITECTURAS MIXTAS MIXTAS Departamento de Electrónica Instrumentación Cont ol y Control. Profesor: Ing Vladimir Trujillo Arias Ing. Vladimir Trujillo Arias.

La Gama Alta de Los PIC(18F452)

Embed Size (px)

Citation preview

Page 1: La Gama Alta de Los PIC(18F452)

MICROCONTROLADORES GAMA ALTA Y ARQUITECTURAS MIXTASMIXTAS

Departamento de Electrónica InstrumentaciónCont oly Control.

Profesor:Ing Vladimir Trujillo AriasIng. Vladimir Trujillo Arias.

Page 2: La Gama Alta de Los PIC(18F452)

Contenido.V

CAPITULO 1. IntroducciónEvolución de los sistemas digitales

L

A

D

I Evolución de los sistemas digitalesEstado del ArteTendencias

M

I

R

TendenciasConceptos generales de procesadores

Qué es un microprocesadorQ é es n mic ocont olado

T

R

U

J Qué es un microcontroladorQué es un DSPQué es un Dispositivo Lógico Configurable

í

J

I

L

L

Terminología utilizada en la arquitectura de procesadores

O

A

R

I

A

S

Page 3: La Gama Alta de Los PIC(18F452)

Contenido.V

CAPITULO 2. Conceptos Básicos de L

A

D

I

Microcontroladores Gama AltaFamilias de Microcontroladores de Altas

M

I

R

Familias de Microcontroladores de Altas prestacionesArquitecturas de Microcontroladores de

T

R

U

J Arquitecturas de Microcontroladores de Gama Alta

J

I

L

L

O

A

R

I

A

S

Page 4: La Gama Alta de Los PIC(18F452)

Contenido.V

CAPITULO 3. Microcontroladores PIC de Gama Alta. Familia 18

L

A

D

I Familia 18ArquitecturaCapacidades de computoMemoria

M

I

R

MemoriaPeriféricos especialesMódulos HWSet de inst cciones

T

R

U

J Set de instruccionesCAPITULO 4. Herramientas de programación y simulación

J

I

L

L

Lenguaje EnsambladorCompiladores CSimuladores (MPLAB y PROTEUS)

O

A

R S u ado es ( y O US)I

A

S

Page 5: La Gama Alta de Los PIC(18F452)

Contenido.V

CAPITULO 5. Arquitecturas MixtasL

A

D

I

IntroducciónSistemas Multiprocesadores

M

I

R

Sistemas Multiprocesadores Arquitecturas Electrónicas ParalelasP d Si t d

T

R

U

J Procesadores en Sistemas de Telecomunicaciones y Sistemas I d t i l

J

I

L

L

Industriales

CAPITULO 6. Proyecto Final.

O

A

R yI

A

S

Page 6: La Gama Alta de Los PIC(18F452)

Evolución de los SistemasEvolución de los Sistemas DigitalesV g

La aparición del transistor, condujo a su L

A

D

I

uso como conmutador (lógica binaria).Aparición de técnicas de integración

M

I

R

Aparición de técnicas de integración electrónica (Microelectrónica), primeros i it i t d Di it l

T

R

U

J circuitos integrados Digitales.Circuitos Integrados Monolíticos

J

I

L

L gO

A

R

I

A

S

Page 7: La Gama Alta de Los PIC(18F452)

Evolución de los SistemasEvolución de los Sistemas DigitalesV g

Clasificación:L

A

D

I

Según la forma en que se realizan físicamente:

M

I

R

Según el semiconductor: Silicio, Arseniuro de Galio, Silicio – Germanio

T

R

U

J,

Según el Transistor: Bipolares, CMOS, BICMOSSegún el número de transistores: SSI, MSI, LSI,

J

I

L

L g , , ,VLSI, ULSI y GLSI.

O

A

R

I

A

S

Page 8: La Gama Alta de Los PIC(18F452)

Evolución de los SistemasEvolución de los Sistemas DigitalesV g

Clasificación:L

A

D

I

Según la forma en que se realiza el diseño visto por el desarrollador:

M

I

R pLos Circuitos Integrados Digitales Monolíticos (CIDM) Normalizados

T

R

U

J( )Los Circuitos Integrados Digitales Monolíticos (CIDM) especificados por el usuario.

J

I

L

L

O

A

R

I

A

S

Page 9: La Gama Alta de Los PIC(18F452)

Evolución de los SistemasEvolución de los Sistemas DigitalesV g

Según el número de transistores:

L

A

D

I

Nivel de Integración # de Transistores

# de compuertas

Año

ñ ó

M

I

R

Pequeña escala de integración SSI 10 a 100 1 a 10 1960Mediana escala de integración MSI 100 a 1000 10 a 100 1965

T

R

U

J

Gran escala de integración LSI 1000 a 10000 100 a 1000 1970Muy Gran escala de integración 10K a 100K 1K a 10K 1978

J

I

L

L Muy Gran escala de integración VLSI

10K a 100K 1K a 10K 1978Ultra Gran escala de integración ULSI

100K a 1M 10K a 100K 1985

O

A

R ULSI

Giga Gran escala de integración GLSI

>1.000.000 >100.000 1995I

A

S

Page 10: La Gama Alta de Los PIC(18F452)

Evolución de los SistemasEvolución de los Sistemas DigitalesV g

Circuitos Integrados Digitales M lí i (CIDM) N li d

L

A

D

I

Monolíticos (CIDM) NormalizadosCIDM normalizados de función fija. Los

M

I

R

cuales poseen una arquitectura predefinida y su comportamiento no se puede alterar. (C t d d t )

T

R

U

J (Contadores, sumadores, etc.)CIDM normalizados Programables.

bl d

J

I

L

L

Programables de Arquitectura Fija.Programables de Arquitectura Configurable.

O

A

R

I

A

S

Page 11: La Gama Alta de Los PIC(18F452)

Evolución de los SistemasEvolución de los Sistemas DigitalesV g

CIDM normalizados Programables de Arquitectura Fija Caracterizados por poseer un Hardware en el

L

A

D

I Fija. Caracterizados por poseer un Hardware, en el que las conexiones entre los elementos que lo componen, no pueden ser modificadas. Pueden

C bi i l i l

M

I

R

ser Combinacionales o secuenciales.Los combinacionales se definen mediante una tabla de verdad que rige su comportamiento

T

R

U

J tabla de verdad que rige su comportamiento, como el caso de las memorias de acceso aleatorio.Los secuenciales poseen una CPU, que sigue un

J

I

L

L p , q gprograma almacenado en memoria.(Aquí se Hallan los Microprocesadores y Microcontroladores)

O

A

R

I

A

S

Page 12: La Gama Alta de Los PIC(18F452)

Evolución de los SistemasEvolución de los Sistemas DigitalesV g

CIDM normalizados Programables de Arquitectura Configurable. La característica principal de estos

L

A

D

I Configurable. La característica principal de estos dispositivos es la de modificar su función o comportamiento, utilizando una parte de los elementos que los componen y/o cambiando la

M

I

R

elementos que los componen y/o cambiando la interconexión entre ellos.Poseen un elevado contenido de elementos lógicos en su interior

T

R

U

J en su interior.Utilizados especialmente en el diseño de sistemas electrónicos digitales complejos, en aplicaciones d l li ll l

J

I

L

L

de paralelismo o en aquellos casos en que los dispositivos existentes no son los adecuados. FPGA’s, PLD’s

O

A

R FPGA s, PLD sI

A

S

Page 13: La Gama Alta de Los PIC(18F452)

Evolución de los SistemasEvolución de los Sistemas DigitalesV g

Los Circuitos Integrados Digitales Monolíticos f

L

A

D

I

(CIDM) especificados por el usuario. Estos dispositivos se fabrican por petición de un

d d d

M

I

R

usuario y en grandes cantidades, especialmente para producción en serie.

T

R

U

J

Requieren de potentes herramientas de desarrollo electrónico con el fin de ser

J

I

L

L

diseñados por el que los requiere.O

A

R

I

A

S

Page 14: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

Las empresas líderes a nivel mundial, en

L

A

D

I

sistemas embebidos de uso general son:INTEL (Microprocesadores)

M

I

R

TEXAS (Microcontroladores y DSP)ALTERA (PLD’S FPGA’S DSP’S)

T

R

U

J ALTERA (PLD S, FPGA S DSP S)XILINX (PLD’S, FPGA’S DSP’S)

C OC ( d )

J

I

L

L

MICROCHIP (Microprocesadores)O

A

R

I

A

S

Page 15: La Gama Alta de Los PIC(18F452)

V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 16: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

INTEL.L

A

D

I

A nivel de Procesadores producen dispositivos para:

M

I

R

dispositivos para:Computadores de escritorio

T

R

U

J

Intel Pentium 4 Extreme EditionIntel Pentium 4

J

I

L

L Intel Pentium 4Intel Celeron

O

A

R

I

A

S

Page 17: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

Procesadores para computador de escritorio

L

A

D

I

Pentium 4 XE Pentium 4 CeleronHyper-Threading Hyper-Threading No Hyper-Threading

M

I

Ryp g yp g yp g

Dos niveles de Caché hasta de 2MB

Un nivel de caché de hasta 2 MB

Un nivel de caché de hasta 256 K

H 3 7 Gh d l j H 3 6 Gh d l j H 2 8 Gh d l j

T

R

U

J Hasta 3.7 Ghz de reloj Hasta 3.6 Ghz de reloj Hasta 2.8 Ghz de reloj

Bus Frontal de 1066 MHzBus Frontal de 800 MHz Bus Frontal de 400 MHz

J

I

L

L

Tecnología de procesador de 90 nm

Tecnología de procesador de 90 nm

Tecnología de procesador de 130 nm

O

A

R

I

A

S

Page 18: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

Computadores Portátiles

L

A

D

I

Intel Pentium M Mobile Intel Pentium 4

M

I

R

Intel Celeron MMobile Intel Celeron

T

R

U

J

ServidoresIntel Itanium 2

J

I

L

L

Intel Xeon ProcessorIntel Pentium 4 processor

O

A

R Intel Pentium 4 processorI

A

S

Page 19: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

Procesadores para computadores portátiles.

Procesador Intel Intel Intel Celeron M Mobile Intel

L

A

D

IProcesador Intel Pentium M

Intel Pentium 4 mobile

Intel Celeron M Processor

Mobile Intel Celeron Processor

l í d l í d l í d l í d

M

I

R

Tecnología de procesador de 90 nm

Tecnología de procesador de 90 nm

Tecnología de procesador de 90 nm

Tecnología de procesador de 130 nm

U i l d C hé h t U i l d U i l d C hé U i l d C hé

T

R

U

J Un nivel de Caché hasta de 2MB

Un nivel de Caché hasta de 1MB

Un nivel de Caché hasta de 1MB

Un nivel de Caché hasta de 256kB

Velocidad Velocidad hasta 1 5 Velocidad hasta 2 5

J

I

L

L

Velocidad de 2.13 GHzcon velocidad para ultra bajo consumo de 1.2 Gh

Velocidad hasta 3.46 GHz

Velocidad hasta 1.5 GHz velocidad para ultra bajo consumo de 1 Ghz

Velocidad hasta 2.5 GHz velocidad para ultra bajo consumo de 800 Mhz

O

A

RGhz

Bus Frontal de 533 MHz Bus Frontal de 533 MHz

Bus Frontal de 400 MHz

Bus Frontal de 400 MHz

I

A

S

Page 20: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

Procesadores para servidores.

Intel Pentium 4 con Intel Itanium 2 Permite Intel Xeon Permite

L

A

D

IIntel Pentium 4 con tecnología Hyper-Threading

Intel Itanium 2 Permite trabajo multiprocesador o procesador dual

Intel Xeon Permite trabajo multiprocesador o procesador dual

M

I

R

Tecnología de procesador de 90 nm

Tecnología de procesador de 90 nm

Tecnología de procesador de 90 nm

T

R

U

JUn nivel de Caché hasta de 2MB

Tres niveles de Caché 32k, 256k y hasta de 9MB en el nivel 3

Tres niveles de Caché ??k, 1M y hasta de 8MB en el nivel 3

J

I

L

L

Velocidad hasta 3.46 GHz Velocidad hasta 1.6 GHz Velocidad hasta 3.66 GHz

Bus Frontal de 800 MHz Bus Frontal de 400 MHz con 128 bits de ancho y

Bus Frontal de 677 MHz con 128 bits de ancho y

O

A

R con 128 bits de ancho y BW de I/O de 6.4 Ghz

con 128 bits de ancho y BW de I/O de 14 GhzI

A

S

Page 21: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

Procesadores para equipos de red.

L

A

D

I

Intel IXP4XX que son procesadores utilizados para dispositivos de comunicaciones, como en tado es gate a s Cont ol ind st ial

M

I

R

enrutadores, gateways, Control industrial y aplicaciones de automatización, telemetría e instrumentación lectores RDIF

T

R

U

J instrumentación, lectores RDIF.

Procesadores para equipos InalámbricasIntel PCA Diseñado funcionar en equipos de

J

I

L

L

Intel PCA. Diseñado funcionar en equipos de comunicaciones móviles, como PDA, celulares y equipos similares.

O

A

R equipos similares.I

A

S

Page 22: La Gama Alta de Los PIC(18F452)

V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 23: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

Microcontroladores Texas Instruments Familia MSP430

L

A

D

I Familia MSP430Poseen un manejo de potencia muy bajo, con una CPU de tipo RISC de 16 bits

M

I

R

una CPU de tipo RISC de 16 bitsPoseen una serie de periféricos analógicos y digitales, para mediciones precisas..

T

R

U

J

Incluyen ADCs, DACs, amplificadores operacionales, comparadores, drivers LCD y sistemas supervisorios de nivel de voltaje

J

I

L

L

sistemas supervisorios de nivel de voltaje.Ultra-bajo consumo de potencia.

O

A

R

I

A

S

Page 24: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

Microcontroladores Texas Instruments Familia TMS470

L

A

D

I TMS470Poseen una CPU tipo RISC de 32-bits RISCManejan velocidades de reloj por encima de los 60 MHz

M

I

R

Manejan velocidades de reloj por encima de los 60 MHz La memoria de programa puede alcanzar hasta 1MB Posee alta integración con una gran variedad de

T

R

U

J osee a ta teg ac ó co u a g a a edad deperiféricos.Ampliamente utilizado en aplicaciones de:

J

I

L

L

- Industria automotriz- Sistemas Industriales

O

A

R

- Aplicaciones generales de sistemas embebidosI

A

S

Page 25: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

Procesadores Digitales de señalesDSP d Alt di i t TMS320C6000

L

A

D

IDSP de Alto rendimiento TMS320C6000

Con velocidades por encima de 1 GHz.Los TMS320C64x y los TMS320C62x poseen ALUs que trabajan con

M

I

Ry p q j

punto fijoLos TMS320C67x manejan punto flotante Utilizados en aplicaciones donde se manejen señales de gran ancho

T

R

U

J Utilizados en aplicaciones donde se manejen señales de gran ancho de banda.Óptimos para aplicaciones de digitalización de audio e imágenesRendimiento del orden de 1200 a 8000 MIPS para punto fijo y de

J

I

L

L

Rendimiento del orden de 1200 a 8000 MIPS para punto fijo y de 600 a 1350 MFLOPS (Millones de operaciones de coma flotante por segundo) para punto flotante

O

A

R

I

A

S

Page 26: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

DSP TMS320C5000 Alta eficiencia L

A

D

I

de energía.Estos DSPs son optimizados para

M

I

R

Estos DSPs son optimizados para elaborar equipos portátiles de uso

l C d t

T

R

U

J personal. Como reproductores personales de audio, receptores GPS,

J

I

L

L

equipos médicos portátiles, telefonía celular, y cámaras digitales.

O

A

R , y gI

A

S

Page 27: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

DSP TMS320C2000 Optimizado L

A

D

I

para Control.Optimizados para trabajo en técnicas

M

I

R

Optimizados para trabajo en técnicas de control digital.

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 28: La Gama Alta de Los PIC(18F452)

V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 29: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

PLD (Programable Logic Device)L

A

D

I

MAX II (CPLD)Bajo consumo de energía, alta densidad

M

I

R Bajo consumo de energía, alta densidadUtiliza memoria FLASH Soporta voltajes de 1 8-V 2 5-V & 3 3-V

T

R

U

J Soporta voltajes de 1.8 V, 2.5 V & 3.3 VMAX

B j d id d d d

J

I

L

L

Bajo consumo y densidad moderada. Soporta voltajes de 2.5-V, 3.3-V o 5.0-V

O

A

R

I

A

S

Page 30: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

FPGA (Field Programable Gate Array)

L

A

D

I

CICLONE IISoporta Nios II embedded processorMultiplicadores digitales 18x18 para DSP’s Embebidos

M

I

R

Multiplicadores digitales 18x18 para DSP s EmbebidosAmplio portafolio de IP.

CICLONE

T

R

U

J CICLONESoporta Nios II embedded processorAmplio portafolio de IP.

J

I

L

L

STRATIX II (Alta Densidad)Soporta Nios II embedded processor

O

A

R

Interfaces de I/O de alta velocidadAmplio portafolio de IP.

I

A

S

Page 31: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

STRATIX (Alta Densidad)Soporta Nios II embedded processor

L

A

D

I Soporta Nios II embedded processorBloques para DSPInterfaces de I/O de alta velocidad

M

I

R

Interfaces de I/O de alta velocidadAmplio portafolio de IP.T

R

U

J

STRATIX GX (Alta Densidad)Todas las características de los otros STRATIX

J

I

L

L

Transceptores de 3.125-GbpsAmplio portafolio de IP

O

A

R

I

A

S

Page 32: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 33: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 34: La Gama Alta de Los PIC(18F452)

V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 35: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

SPARTAN 3 E (FPGA)L

A

D

I

Posee alrededor de 1.2 millones de compuertas

M

I

R

Tecnología de 90nm VIRTEX 4 (FPGA)

T

R

U

J( )

COOL RUNNER (CPLD)Soporta voltajes de 1 5 a 3 3V en sus

J

I

L

L

Soporta voltajes de 1.5 a 3.3V en sus sistemas I/O

O

A

R

I

A

S

Page 36: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

IP COREL

A

D

I

Herramientas de desarrollo para diseño de controladores Y procesadores de

M

I

R

de controladores. Y procesadores de diversos tipos que corren sobre sus l t f h d

T

R

U

J plataformas hardware.Processor Central.

J

I

L

L

O

A

R

I

A

S

Page 37: La Gama Alta de Los PIC(18F452)

V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 38: La Gama Alta de Los PIC(18F452)

Estado del Arte y TendenciasV

Microcontroladores de Gama Media de L

A

D

I

la familia 16FXXXMicrocontroladores de Gama Alta de la

M

I

R

Microcontroladores de Gama Alta de la familia 18FXXXX

T

R

U

J Procesadores digitales de Señales 30FXXX

J

I

L

L

O

A

R

I

A

S

Page 39: La Gama Alta de Los PIC(18F452)

Conceptos Generales deConceptos Generales de procesadoresV

EL MICROPROCESADOR.

L

A

D

I

Definición: Es el dispositivo encargado de realizar cálculos aritméticos y lógicos y que temporiza y controla las operaciones d l d á l t d i t

M

I

R

de los demás elementos de un sistema.

Partes:U id d d t l

T

R

U

J - Unidad de control.- Unidad Aritmético-lógica (ALU).- Registros: - Contador de programa

J

I

L

L Registros: Contador de programa.- Registros generales.- Registro de estado.

O

A

R

- Stack.I

A

S

Page 40: La Gama Alta de Los PIC(18F452)

Conceptos Generales deConceptos Generales de procesadoresV

Reloj de funcionamiento:- Ciclo de reloj: señal de reloj a la entrada del procesador.

L

A

D

I C c o de e oj se a de e oj a a e t ada de p ocesado- Ciclo de máquina: periodo de ejecución de una operación completa del procesador.

Ci l d i t ió i d i

M

I

R

- Ciclo de instrucción: periodo que se requiere para ejecutar una determinada instrucción.

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 41: La Gama Alta de Los PIC(18F452)

Conceptos Generales deConceptos Generales de procesadoresV

MICROCONTROLADORL

A

D

I

Un microcontrolador es un circuito integrado de alta escala de integración

M

I

R

integrado de alta escala de integración que incorpora la mayor parte de los l t f

T

R

U

J elementos que conforman un controlador.

J

I

L

L

O

A

R

I

A

S

Page 42: La Gama Alta de Los PIC(18F452)

Conceptos Generales deConceptos Generales de procesadoresV

Características:L

A

D

I

Este circuito integrado programable contiene todos los componentes de un computador .No alcanzan el nivel de procesamiento de por ejemplo, un 8086,

M

I

Rp p j p , ,

aunque poseen la ventaja de poder trabajar sin memoria externa . El microcontrolador es un computador dedicado. En su memoria ól id d ti d b li ió

T

R

U

J sólo reside un programa destinado a gobernar una aplicación determinada, una vez programado y configurado el microcontrolador solamente sirve para gobernar dicha tarea.Es un computador completo aunque de limitadas prestaciones

J

I

L

LEs un computador completo, aunque de limitadas prestaciones, que está contenido en el chip de un circuito integrado y se destina a gobernar una sola tarea.

O

A

R

I

A

S

Page 43: La Gama Alta de Los PIC(18F452)

Conceptos Generales deConceptos Generales de procesadoresV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 44: La Gama Alta de Los PIC(18F452)

DSP DefiniciónV

Estrictamente hablando, el término DSP se

L

A

D

I

aplica a cualquier chip que trabaje con señales representadas de forma digital.

M

I

R

Un Procesador Digital de Señales es un tipo de microprocesador o microcontrolador,

T

R

U

J

increíblemente rápido y poderoso para operaciones repetitivas en las que se realicen

J

I

L

L

un gran número de sumas y multiplicaciones. O

A

R

I

A

S

Page 45: La Gama Alta de Los PIC(18F452)

Que hace a un DSP un DSP?V

Capacidad de realizar operaciones de L

A

D

I

multiplicación y acumulación (MACs) en sólo un ciclo de reloj.

M

I

R sólo un ciclo de reloj.Manejo de aplicaciones en tiempo real

T

R

U

J Arquitectura que soporte un flujo de datos a alta velocidad hacia y desde la

J

I

L

L yunidad de cálculo y memoria.

O

A

R

I

A

S

Page 46: La Gama Alta de Los PIC(18F452)

Que hace a un DSP un DSP?V

Unidades DMA (Direct Memory Acess)L

A

D

I

Generadores de direcciones (DAG’s)Mecanismo efectivo de saltos para

M

I

R

Mecanismo efectivo de saltos para ejecución de loops

T

R

U

J

Alta velocidad de procesamiento de operaciones aritméticas

J

I

L

L operaciones aritméticasO

A

R

I

A

S

Page 47: La Gama Alta de Los PIC(18F452)

Diferencias entreDiferencias entre Microcontrolador y DSPV

Estructura de memoria que poseen.

L

A

D

I

Cantidad de unidades de ejecución que poseen, (operaciones en paralelo).

M

I

R

El DSP tiene características diseñadas para soportar tareas de altas prestaciones,

T

R

U

J soportar tareas de altas prestaciones, repetitivas y numéricamente intensas.Microprocesadores de propósito general y

J

I

L

L Microprocesadores de propósito general y microcontroladores no están especializados para ninguna aplicación en especial

O

A

R para ninguna aplicación en especial.I

A

S

Page 48: La Gama Alta de Los PIC(18F452)

Requerimientos HW yRequerimientos HW y Operaciones ComunesV

Los DSP’s tienen en común ciertas L

A

D

I

características como:Capacidad aritmética especializada de alta

M

I

R

Capacidad aritmética especializada de alta velocidadBuena capacidad de transferencia de datos

T

R

U

J Buena capacidad de transferencia de datos hacia el mundo real.A últi l it t d

J

I

L

L

Acceso a múltiples arquitecturas de memoria.

O

A

R

I

A

S

Page 49: La Gama Alta de Los PIC(18F452)

Requerimientos HW yRequerimientos HW y Operaciones ComunesV

Las operaciones típicas en los DSPs L

A

D

I

son:Sumas

M

I

R

SumasMultiplicaciónR t d

T

R

U

J RetardosManejo de matrices y arreglos de datos.

J

I

L

L

O

A

R

I

A

S

Page 50: La Gama Alta de Los PIC(18F452)

Requerimientos HW yRequerimientos HW y Operaciones ComunesV

La suma y Multiplicación. Requiere L

A

D

I

el uso de:Dos operandos

M

I

R

Dos operandosAlto rendimiento.Al i t d l lt d

T

R

U

J Almacenamiento del resultado.J

I

L

L

O

A

R

I

A

S

Page 51: La Gama Alta de Los PIC(18F452)

Requerimientos HW yRequerimientos HW y Operaciones ComunesV

Manejo de ArreglosBú d d l d l i d

L

A

D

I

Búsqueda de valores de lugares consecutivos de memoriaCopia de datos de memoria a memoria

M

I

R

Copia de datos de memoria a memoriaMultiplicación y suma en paralelo.Acceso múltiple a memoria

T

R

U

J Acceso múltiple a memoriaRegistros temporalesEficiente generación de direcciones.

J

I

L

L gCaracterísticas especiales como retardos o direccionamiento cíclico

O

A

R

I

A

S

Page 52: La Gama Alta de Los PIC(18F452)

Arquitectura Von NewmanV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 53: La Gama Alta de Los PIC(18F452)

Arquitectura HardvardV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 54: La Gama Alta de Los PIC(18F452)

A i H d E did SArquitectura Harvard Extendida o Super Harvard ARChitecture (SHARC).V

Esta arquitectura incluye una memoria d hé (R ) l l ili d

L

A

D

I

de caché (Reserva), la cual es utilizada para almacenar instrucciones y datos

á l d l

M

I

R

que serán reutilizadas por la CPU, liberando así los dos buses de la

é

T

R

U

J arquitectura Hardvard y permitiéndoles ser utilizados en la búsqueda y

J

I

L

L

almacenamiento de datos, mientras se ejecutan las instrucciones en caché

O

A

R jI

A

S

Page 55: La Gama Alta de Los PIC(18F452)

A i H d E did SArquitectura Harvard Extendida o Super Harvard ARChitecture (SHARC).V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 56: La Gama Alta de Los PIC(18F452)

A i H d E did SArquitectura Harvard Extendida o Super Harvard ARChitecture (SHARC).V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 57: La Gama Alta de Los PIC(18F452)

A i H d E did SArquitectura Harvard Extendida o Super Harvard ARChitecture (SHARC).V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 58: La Gama Alta de Los PIC(18F452)

Arquitectura Von NewmanArquitectura Von Newman Modificada.V

La arquitectura Von Neuman modificada, permite múltiple acceso a memoria por instrucción

L

A

D

I múltiple acceso a memoria por instrucción, valiéndose de un truco simple que consiste en hacer el reloj de acceso a memoria más rápido que el de i i

M

I

R

instrucciones. Por ejemplo el DSP32C de Lucent con reloj de 80Mhz, tiene un ciclo de instrucción compuesto por cuatro

T

R

U

J tiene un ciclo de instrucción compuesto por cuatro estados de máquina. Mientras que el acceso a memoria de este DSP es posible realizarlo cada

d d á i i d ibl li

J

I

L

L

estado de máquina siendo posible entonces realizar cuatro accesos a memoria por cada ejecución de instrucción

O

A

R instrucciónI

A

S

Page 59: La Gama Alta de Los PIC(18F452)

CPUV

CISC Aprox. 80 instrucciones L

A

D

I

Arquitectura Von NeumanRISC Aprox 30 instrucciones

M

I

R

RISC Aprox. 30 instrucciones. Arquitectura Hardvard

í

T

R

U

J SISC Diseños específicos (Controladores Empotrados o embebidos)

J

I

L

L p )O

A

R

I

A

S

Page 60: La Gama Alta de Los PIC(18F452)

SegmentaciónV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 61: La Gama Alta de Los PIC(18F452)

OrtogonalidadV

La ortogonalidad de las instrucciones L

A

D

I

hace posible ejecutar cualquier operación, sobre cualquier registro,

M

I

R operación, sobre cualquier registro, utilizando cualquier modo de direccionamiento

T

R

U

J direccionamiento.J

I

L

L

O

A

R

I

A

S

Page 62: La Gama Alta de Los PIC(18F452)

MemoriaV

RAM. Los datos que manejan los programas varían continuamente, y esto exige que la memoria utilizada

L

A

D

I 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 fabricación mediante

M

I

R

en el chip durante el proceso de fabricación mediante el uso de máscaras. Se aconseja este tipo de memoria cuando se precisan series muy grandes, con el fin de disminuir costos de fabricación

T

R

U

J con el fin de disminuir costos de fabricación.OTP. Este modelo de memoria solo puede grabarse una vez por parte del usuario, utilizando el mismo

di i l i EPROM

J

I

L

L

procedimiento que con la memoria EPROM. Posteriormente no se puede borrar. Su bajo precio y la sencillez de la grabación aconsejan este tipo de

O

A

R g j pmemoria para prototipos finales y series de producción cortas.

I

A

S

Page 63: La Gama Alta de Los PIC(18F452)

MemoriaV

EPROM. La grabación de esta memoria se realiza mediante un dispositivo físico gobernado desde un computador

L

A

D

I

personal. En la superficie de la cápsula 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

M

I

R

emplearla nuevamente. EEPROM. La grabación es similar a las memorias OTP y EPROM, pero el borrado se hace eléctricamente. Puedepuede ser programada y borrada muchas veces

T

R

U

J puede ser programada y borrada muchas vecesFLASH. Se trata de una memoria no volátil, de bajo consumo, que se puede escribir y borrar en circuito al igual que las EEPROM pero suelen disponer de mayor capacidad

J

I

L

L que las EEPROM, pero suelen disponer de mayor capacidadque estás ultimas. El borrado sólo es posible con bloques completos y no se puede realizar sobre posiciones concretas. Son muy recomendables en aplicaciones en las

O

A

R y pque sea necesario modificar el programa a lo largo de la vida del producto

I

A

S

Page 64: La Gama Alta de Los PIC(18F452)

La Gama Alta de los PIC (18F452)(18F452)

Page 65: La Gama Alta de Los PIC(18F452)

Características GeneralesV

Código compatible con la familia 16 y L

A

D

I

17 de los PICReloj que puede trabajar por encima de

M

I

R

Reloj que puede trabajar por encima de 10 MIPs.

d l d h

T

R

U

J Uso de cristal de 40 Mhz.Cristales de 4 Mhz a 10 Mhz utilizando un

J

I

L

L

multiplicador de frecuencia PLL.

Instrucciones de 16 bits con bus de

O

A

R Instrucciones de 16 bits con bus de datos de 8 bits.

I

A

S

Page 66: La Gama Alta de Los PIC(18F452)

Características GeneralesV

Prioridad de interrupcionesL

A

D

I

Multiplicador hardware de 8 x 8 que funciona en un solo ciclo de máquina

M

I

R

funciona en un solo ciclo de máquina.Tres pines para manejo de

T

R

U

J interrupciones externas.Manejo de niveles de corriente de 25

J

I

L

L Manejo de niveles de corriente de 25 mA. en modo fuente y sumidero

O

A

R

I

A

S

Page 67: La Gama Alta de Los PIC(18F452)

Características GeneralesV

Timer 1 de 16 bits, Timer 2 de 8 bits.L

A

D

I

Timer 3, (no lo posee la gama media), de 16 bits (65535 conteos)

M

I

R

de 16 bits (65535 conteos).Dos módulos de

ó

T

R

U

J Captura/Comparación/PWM.Módulo de comunicación serial con

J

I

L

L Módulo de comunicación serial con soporte para RS-485 y RS-232

O

A

R

I

A

S

Page 68: La Gama Alta de Los PIC(18F452)

Características GeneralesV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 69: La Gama Alta de Los PIC(18F452)

Características GeneralesV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 70: La Gama Alta de Los PIC(18F452)
Page 71: La Gama Alta de Los PIC(18F452)

Oscilador.LP Cristal de baja potencia.XT Cristal resonador de cuarzoSe poseen 3 bits

(FOSC2 FOSC1HS Cristal resonador de alta velocidad (por encima de 8 Mhz.)

(FOSC2, FOSC1 y FOSC0) para la configuración del

HS + PLL Cristal de alta velocidad con PLL habilitado.

configuración del tipo de oscilador a utilizar.

RC Oscilador RC externo.RCIO Resistor externo y capacitor con pin I/O habilitado.EC Reloj externo.ECIO Reloj externo con pin I/O habilitado

Page 72: La Gama Alta de Los PIC(18F452)

Oscilador en modo HS, XT, LPV

L

A

D

I

M

I

R

T

R

U

J

Una capacitancia elevada,

J

I

L

L pincrementa la estabilidad del oscilador, pero también incrementa los tiempos de inicio del oscilador

O

A

R los tiempos de inicio del oscilador interno.I

A

S

Page 73: La Gama Alta de Los PIC(18F452)

Oscilador en modo RC

Con el Oscilador en modo, ,RC, FREC/4 esta disponible en el pin OSC2.Si C/ iSi FREC/4 no se necesita, se recomienda utilizar el modo RCIO para ahorrarRCIO, para ahorrar corriente.El modo RCIO, es igual al , gmodo RC, con la diferencia de que el pin OSC2 se

t i dcomporta como un pin de I/O normal (RA6).

Page 74: La Gama Alta de Los PIC(18F452)

Oscilador Externo.V

Cuando se utiliza el oscilador externo, se puede utilizar el

L

A

D

I , pmodo EC, el cual se tiene FREC/4 por el pin OSC2.También se puede tomar el modo ECIO, para ahorro de

i l l OSC2 d i d ó i

M

I

R

corriente, el cual OSC2 queda como un pin de propósito general (RA6)

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 75: La Gama Alta de Los PIC(18F452)

PLL

Page 76: La Gama Alta de Los PIC(18F452)

PLLV

El PLL se utiliza solo cuando el oscilador se ha f

L

A

D

I

configurado en modo HS.Si la programación del cristal se ha realizado

M

I

R

en otro modo, el PLL no se habilita y la fuente de reloj directa proviene de OSC1.

T

R

U

J

Existe un timer que bloquea el PLL, hasta que no se halla logrado por parte de él el

J

I

L

L no se halla logrado por parte de él el enganche al cuádruplo de la frecuencia de entrada

O

A

R entrada.I

A

S

Page 77: La Gama Alta de Los PIC(18F452)

Cambio de Fuente de Reloj.V

Los PIC 18Fxx2 permiten cambiar el uso del

L

A

D

I

oscilador de alta velocidad, por uno de baja velocidad (como el oscilador de 32Khz de

) l ó h l

M

I

R

timer1) esa selección se hace en el BIT OSCSEN del registro de configuración.

T

R

U

J

El BIT OSCSEN se selecciona antes de programar el PIC, para que se pueda producir

J

I

L

L

el cambio de oscilador.O

A

R

I

A

S

Page 78: La Gama Alta de Los PIC(18F452)

Registro OSCON

BIT 7 a 1 No utilizadosBIT 0 SCS S Cl k S i h biBIT 0 SCS: System Clock Switch bit

Cuando el BIT OSCSEN este en 0 y T1OSCEN este en 1:1 = Utilice el oscilador del timer 11 = Utilice el oscilador del timer 1.0 = Utilice el oscilador primario.

Si el oscilador del Timer1 no esta habilitado, cualquier escritura , qen el BIT SCS es ignorada y se utiliza el oscilador principal

Page 79: La Gama Alta de Los PIC(18F452)

Diagramas de Tiempo deDiagramas de Tiempo de Transiciones

El contador de programa, se incrementa cuando ocurre la octava transición de estabilización del Timer 1

Page 80: La Gama Alta de Los PIC(18F452)

Diagramas de Tiempo deDiagramas de Tiempo de Transiciones

Para la transición entre el oscilador de timer1 y OSC1, existe un tiempo de estabilización de 1024 ciclos de osc1, antes de comenzar a contar los 8 periodos de sincronización de relojcomenzar a contar los 8 periodos de sincronización de reloj, después de lo cual el reloj del micro funciona con OSC1.

Page 81: La Gama Alta de Los PIC(18F452)

Diagramas de Tiempo deDiagramas de Tiempo de Transiciones

Page 82: La Gama Alta de Los PIC(18F452)

Diagramas de Tiempo deDiagramas de Tiempo de TransicionesV

Cuando la transición de oscilador es l i 1 OSC1 i

L

A

D

I

entre el timer1 y OSC1, existe un tiempo de estabilización de 1024 ciclos d l

M

I

R

de osc1 y luego un tiempo necesario para que el PLL enganche la frecuencia

T

R

U

J de reloj de OSC1, antes de comenzar a contar los 8 periodos de sincronización

J

I

L

L

de reloj, después de lo cual el reloj del micro comienza a funcionar con OSC1.

O

A

R

I

A

S

Page 83: La Gama Alta de Los PIC(18F452)

Retardos Considerados al iniciarRetardos Considerados al iniciar el microcontrolador.V

Al iniciar el procesador se definen 3 retardos.

L

A

D

I

El primero es dado por el PWRT el cual provee un retardo promedio de 72 ms. para la estabilización de la ci c ite ía inte na

M

I

R

de la circuitería interna.El segundo temporizador es el OST (Oscillator Start up Timer) que espera a que el oscilador

T

R

U

J Start-up Timer) que espera a que el oscilador utilizado se estabilice.La secuencia de retardo es PWR más OST

J

I

L

L La secuencia de retardo es PWR más OST.Al utilizar el PLL, aparece un tercer retardo (TPLL ) utilizado para esperar que el PLL enganche la

O

A

R utilizado para esperar que el PLL enganche la frecuencia de entrada (2 ms típico). retardo=PWRT+OST+TPLL

I

A

S

Page 84: La Gama Alta de Los PIC(18F452)

Fuentes de ResetV

La familia PIC18FXXX Posee los siguientes

L

A

D

I

tipos de reset:Power-on Reset (POR)

M

I

R

MCLR Reset Durante el funcionamiento normalMCLR Reset Durante el modo SLEEP

T

R

U

J

WDT Reset durante operación normalProgrammable Brown-out Reset (BOR)

J

I

L

L

Instrucción de RESET.Reset debido al llenado del Stack.

O

A

R

Reset debido al vaciado del Stack.I

A

S

Page 85: La Gama Alta de Los PIC(18F452)

Organización de la memoriaV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 86: La Gama Alta de Los PIC(18F452)

Organización de la memoriaV

El PIC18FXX2 posee un contador de L

A

D

I

programa de 21 bits que permite ubicar una capacidad de memoria de 2Mega

M

I

R una capacidad de memoria de 2Mega PalabrasL i i d i llá d

T

R

U

J Las posiciones de memoria mas allá de la memoria física construida se leen

J

I

L

L

como 0.O

A

R

I

A

S

Page 87: La Gama Alta de Los PIC(18F452)

Organización de la memoriaV

El PIC18F452 posee 32 K Bytes de L

A

D

I

memoria FLASH de programa, agrupados de a 2 Bytes, con el fin de

M

I

R agrupados de a 2 Bytes, con el fin de contener instrucciones complejas.P l t t t di iti d

T

R

U

J Por lo tanto este dispositivo puede almacenar 16mil instrucciones simples.

J

I

L

L

El vector de RESET se halla en la dirección 0000h y el de interrupciones

O

A

R dirección 0000h y el de interrupciones en las posiciones 0008h y 0018h.

I

A

S

Page 88: La Gama Alta de Los PIC(18F452)

Organización de la memoriaV

Hay un stack de 31 niveles, lo

L

A

D

I

que permite tener 31 posibles sub rutinas anidadas.

E isten dos ecto es de

M

I

R

Existen dos vectores de interrupciones, para manejo de interrupciones de alta y baja

T

R

U

J prioridad.

32K de memoria en pasos de 2 en dos para un total de 16K de

J

I

L

Len dos, para un total de 16K de palabras. De 7FFF en adelante no existe memoria i l t d fí i t

O

A

Rimplementada físicamente y se lee como 0.

I

A

S

Page 89: La Gama Alta de Los PIC(18F452)

Organización de la memoria (Pila)V g

El Stack de los PIC18FXX2 posee 31 palabras

L

A

D

I

de 21 bits, direccionadas por un apuntador de Stack de 5 bits.

M

I

R

Cada vez que se produce una interrupción o un llamada a subrutina, el apuntador del Pila

T

R

U

J

se incrementa en 1 y el valor del contador de programa es almacenado en una de las

J

I

L

L

palabras de 21 bits. O

A

R

I

A

S

Page 90: La Gama Alta de Los PIC(18F452)

Organización de la memoria (Pila)V g

Cuando ocurre una instrucción de tipo return, f

L

A

D

I

retfie o retlw el dato almacenado en la posición actual que indica el apuntador de

d l d d

M

I

R

programa, es cargado al contador de programa y el apuntador de la Pila se d

T

R

U

J disminuye en 1. El apuntador de programa se puede leer y

J

I

L

L

escribir y la dirección ubicada en el inicio de la Pila puede ser leída y escrita a través de

O

A

R

los registros SFR.I

A

S

Page 91: La Gama Alta de Los PIC(18F452)

Registro STKPTRV

L

A

D

I

M

I

R

BIT 7 STKOVF: Bandera de Pila llena1 = Pila llena o rebosada.0 = Pila sin llenar

T

R

U

J 0 = Pila sin llenar

BIT 6 STKUNF: Bandera de pila vacía.1 = Ocurrió un vaciado de la pila.

J

I

L

L p0 = No ha ocurrido un vaciado de la pila.

BIT 5 Sin implementar: Leído como '0'BIT 4 0 SP4 SP0 Bit d di ió d l

O

A

R

BIT 4-0 SP4:SP0: Bits de dirección de la pila

I

A

S

Page 92: La Gama Alta de Los PIC(18F452)

Organización de la memoria (Pila)V gL

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 93: La Gama Alta de Los PIC(18F452)

Organización de la memoria (Pila)V gLa cabecera de la Pila puede ser leída y escrita a través de los registros TOSU TOSH

L

A

D

I escrita, a través de los registros TOSU, TOSH y TOSL, que mantienen el contenido apuntado por el registro STKPTR.

M

I

R

Después de un call, rcall o una interrupción, este valor puede ser modificado por SW y cuando se genere el retorno de la subrutina

T

R

U

J cuando se genere el retorno de la subrutina, se puede dirigir su regreso a un lugar diferente definido por el usuario. Solo se

J

I

L

L diferente definido por el usuario. Solo se debe tener en cuenta deshabilitar las interrupciones globales.

O

A

R

I

A

S

Page 94: La Gama Alta de Los PIC(18F452)

Organización de la memoria (Pila)V g

El registro STKPTR es el apuntador L

A

D

I g pde la Pila.El BIT STKFUL i di l ll d d

M

I

R

El BIT STKFUL indica el llenado de la pila y el BIT STKUNF el vaciado

T

R

U

Jp y

de la pila.C d d S l

J

I

L

L

Cuando se produce un RESET, el valor del apuntador de la pila es 0.

O

A

R valor del apuntador de la pila es 0. I

A

S

Page 95: La Gama Alta de Los PIC(18F452)

Organización de la memoria (Pila)V gDespués de que el contador de programa es almacenado en la pila 31

L

A

D

I programa es almacenado en la pila 31 veces, sin extraer ningún valor, el BIT STKFUL se coloca en 1 El BIT STKFUL

M

I

R

STKFUL se coloca en 1. El BIT STKFUL es borrado por SW o por un POR.(BIT STVREN en 1) Cuando se

T

R

U

J (BIT STVREN en 1) Cuando se almacena una dirección en la posición 31 la pila se desborda, se reinicia el

J

I

L

L 31 la pila se desborda, se reinicia el microprocesador, el BIT STKFUL se coloca en 1 y se mantiene así, también

O

A

R y ,el apuntador de la pila se coloca en 0. I

A

S

Page 96: La Gama Alta de Los PIC(18F452)

Organización de la memoria (Pila)V g

(BIT STVREN en 0) cuando se d b d l il l BIT STKFUL

L

A

D

I

desborda la pila el BIT STKFUL se pone en 1, cualquier dato adicional

ibi l il

M

I

R

a escribirse en la pila, no sobrescribe la posición 31, si no

it l i t STKPTR

T

R

U

J que se omite, y el registro STKPTR, se mantiene apuntando a la

ó 3

J

I

L

L

posición 31.O

A

R

I

A

S

Page 97: La Gama Alta de Los PIC(18F452)

Organización de la memoria (Pila)V g

Cuando la pila se vacía, la próxima i t ió i t

L

A

D

I

instrucción que requiera extraer un dato de ella, retorna el valor de 0 al

t d d l l

M

I

R

contador de programa y coloca el BIT STKUNF en 1 hasta que ocurra

POR b ft

T

R

U

J un POR o un se borre por software.J

I

L

L

O

A

R

I

A

S

Page 98: La Gama Alta de Los PIC(18F452)

Instrucciones PUSH y POPV

La instrucción PUSH, es utilizada para L

A

D

I

colocar en la cabecera de la pila el valor actual del contador de programa,

M

I

R actual del contador de programa, produciendo un incremento en STKPTR.S d i l i di ió d

T

R

U

J Se puede incluir una dirección de retorno cualquiera en la pila utilizando

J

I

L

L

PUSH y cargando ese valor en TOSU, TOSH y TOSL

O

A

R yI

A

S

Page 99: La Gama Alta de Los PIC(18F452)

Instrucciones PUSH y POPV

La instrucción POP, se utiliza para L

A

D

I

descartar el valor ubicado en la cabecera de la pila y reemplazarlo por

M

I

R cabecera de la pila y reemplazarlo por el valor ubicado previo a este, sin producir ningún traumatismo en el

T

R

U

J producir ningún traumatismo en el sistema.

J

I

L

L

Con la instrucción POP se produce un decremento en el apuntador de la pila.

O

A

R p pI

A

S

Page 100: La Gama Alta de Los PIC(18F452)

Contador de ProgramaV

El contador de programa (PC) esta f d l i PCL PCH

L

A

D

I

conformado por los registros PCL, PCH y PCU.

M

I

R

El registro PCL puede ser leído y escrito directamente.

T

R

U

J

Los registros PCH y PCU pueden ser leídos y escritos solo a través de los

J

I

L

L leídos y escritos solo a través de los registros PCLATH y PCLATU

O

A

R

I

A

S

Page 101: La Gama Alta de Los PIC(18F452)

Temporización / InstruccionesV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 102: La Gama Alta de Los PIC(18F452)

Temporización / InstruccionesV

La entrada de reloj es dividida internamente en cuatro señales desfasadas 900. Q1 Q2 Q3

L

A

D

I en cuatro señales desfasadas 90 Q1, Q2, Q3 y Q4.El contador de programa es incrementado

M

I

R

El contador de programa es incrementado cada flanco subida de Q1.La búsqueda de una instrucción es realizada d l d l

T

R

U

J de Q1 a Q4, pero es colocada en el registro de instrucción cada Q4Las instrucciones son decodificadas y

J

I

L

L

Las instrucciones son decodificadas y ejecutadas en el periodo de tiempo de Q1 a Q4.

O

A

R Q4.I

A

S

Page 103: La Gama Alta de Los PIC(18F452)

Instrucciones en la Memoria deInstrucciones en la Memoria de programaV g

Las instrucciones para el PIC18F452 son L

A

D

I

de 16 bits, y su byte menos significativo es siempre almacenado en una

M

I

R es siempre almacenado en una dirección par.El BIT i ifi ti d l t d

T

R

U

J El BIT menos significativo del contador de programa es siempre 0, por lo que el

J

I

L

L

incremento de las direcciones se hace de dos en dos.

O

A

R

I

A

S

Page 104: La Gama Alta de Los PIC(18F452)

Instrucciones en la Memoria deInstrucciones en la Memoria de programaV g

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 105: La Gama Alta de Los PIC(18F452)

Instrucciones de 32 bitsV

Los microcontroladores PIC18FXX2, posee 4

L

A

D

I

instrucciones de dos palabras de longitud (32 bits), ellas son MOVFF, CALL, GOTO y LFSR.

M

I

R

La segunda palabra de esas instrucciones posee los 4 BITS mas significativos en 1 y se

T

R

U

J

comporta como un tipo especial de NOP.Los otros 12 BITS de la segunda palabra

J

I

L

L Los otros 12 BITS de la segunda palabra contienen los datos a ser utilizados por la instrucción.

O

A

R instrucción.I

A

S

Page 106: La Gama Alta de Los PIC(18F452)

Instrucciones de 32 bitsV

Cuando la primer palabra es ejecutada, l d id l d

L

A

D

I

los datos contenidos en la segunda son accedidos.

M

I

R

Pero si el PC accede primero la segunda palabra, esta se ejecuta como un NOP.

T

R

U

Jp , jEsto es útil cuando previamente a una instrucción de dos palabras existe una

J

I

L

L instrucción de dos palabras, existe una instrucción de salto condicional.

O

A

R

I

A

S

Page 107: La Gama Alta de Los PIC(18F452)

Instrucciones de 32 bitsV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 108: La Gama Alta de Los PIC(18F452)

Memoria de DatosV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 109: La Gama Alta de Los PIC(18F452)

Memoria de DatosV

La memoria de datos esta dividida en L

A

D

I

16 bancos, cada uno de 256 Bytes.Los bancos 6 al 14 no están

M

I

R

Los bancos 6 al 14 no están implementados y se leen como 0.

T

R

U

J La zona de FSR se halla localizada en el banco 15 después de la posición F80h

J

I

L

L p p(de la mitad hacia el final)

O

A

R

I

A

S

Page 110: La Gama Alta de Los PIC(18F452)

Memoria de Datos (Direccionamiento)V

Se pueden identificar 3 formas de L

A

D

I

acceder la memoria de programa de los PIC18FXX2.

M

I

R PIC18FXX2.Direccionamiento indirecto: requiere el uso de los registros FSRn (12 BITS) y el

T

R

U

J de los registros FSRn (12 BITS) y el correspondiente registro indirecto INDFn).Direccionamiento directo: requiere el uso

J

I

L

L

Direccionamiento directo: requiere el uso del registro BSR, el cual en sus BITS 0 a 3 contiene la dirección del banco escogido

O

A

R

contiene la dirección del banco escogido.I

A

S

Page 111: La Gama Alta de Los PIC(18F452)

Memoria de Datos (Direccionamiento)V

Otra forma de direccionamiento directo es:Para asegurar que los registros (SFR Y GPR) sean

L

A

D

I Para asegurar que los registros (SFR Y GPR) sean accedidos en un solo ciclo de instrucción, independiente del Banco apuntado por el registro BSR Existe el ACCESS BANK el cual esta formado

M

I

R

BSR, Existe el ACCESS BANK, el cual esta formado por una parte del banco 0 y un segmento del banco 15

T

R

U

J Un BIT en la instrucción especifica si la operación a utilizar se hace a través del ACCESS BANK o con el registro BSR, a ese BIT se le denomina “a”

J

I

L

L g ,(access bit) por defecto vale 0 y apunta al ACCESS BANK

O

A

R

I

A

S

Page 112: La Gama Alta de Los PIC(18F452)

Memoria de Datos (Registros FSR)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 113: La Gama Alta de Los PIC(18F452)

Memoria de Datos (Registros FSR)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 114: La Gama Alta de Los PIC(18F452)

El registro BSRV

El registro BSR<3:0> contiene los 4 bits mas significativos de los 12-BITS de direcciones de la

L

A

D

I significativos de los 12-BITS de direcciones de la memoria RAM y se utilizan para seleccionar el banco de trabajo.

M

I

R

Los BITS BSR<7:4> se leen como ’0’s.La instrucción MOVLB se utiliza para ayudar en la selección del banco

T

R

U

J selección del banco.La instrucción MOVFF ignora el registro BSR, ya que los 12-BITS de dirección se hayan incluidos en la

J

I

L

L los 12 BITS de dirección se hayan incluidos en la instrucción.Cada banco posee un tamaño de 256 bytes.

O

A

R

I

A

S

Page 115: La Gama Alta de Los PIC(18F452)

Direccionamiento Indirecto.V

El direccionamiento indirecto se realiza utilizando dos registros el FSRn y el INDFn

L

A

D

I

utilizando dos registros, el FSRn y el INDFn.El registro FSR es utilizado como un puntero a una localidad de memoria que va a ser

M

I

R

a una localidad de memoria que va a ser escrita o leída. El direccionamiento indirecto es posible

T

R

U

J El direccionamiento indirecto es posible utilizando el registro INDF, ya que cualquier instrucción que lo utilice accede

J

I

L

L instrucción que lo utilice, accede directamente a la posición de memoria apuntada por FSR.

O

A

R apuntada por FSR.I

A

S

Page 116: La Gama Alta de Los PIC(18F452)

Direccionamiento Indirecto.V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 117: La Gama Alta de Los PIC(18F452)

Multiplicador HardwareV

El multiplicador HW que se posee es de 8

L

A

D

I

bits.El resultado se almacena en dos registros

M

I

R

PRODH y PRODLLa multiplicación de 8x8 se realiza en 1 ciclo

T

R

U

J La multiplicación de 8x8 se realiza en 1 ciclo de instrucción.El multiplicador HW permite a este dispositivo

J

I

L

L El multiplicador HW permite a este dispositivo realizar operaciones en las que se usa DSPs

O

A

R

I

A

S

Page 118: La Gama Alta de Los PIC(18F452)

PuertosV

Los puertos de los PIC de la familia 18 en general constan de 3 registros para su

L

A

D

I

general constan de 3 registros para su operación.El registro TRIS el cual controla la dirección

M

I

R

El registro TRIS, el cual controla la dirección de funcionamiento del puerto.El registro PORT que lee los niveles de

T

R

U

J El registro PORT, que lee los niveles de entrada en el puerto.El registro LAT el cual es el LATCH de salida

J

I

L

L

El registro LAT, el cual es el LATCH de salida del puerto.

O

A

R

I

A

S

Page 119: La Gama Alta de Los PIC(18F452)

PuertosV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 120: La Gama Alta de Los PIC(18F452)

Puerto AV

Este puerto se comporta como I/O digital y como entrada analógica

L

A

D

I entrada analógicaEl registro TRISA, configura este puerto como entrada o salida.Si i tili l ló i

M

I

R

Si un pin se va a utilizar como canal analógico, previamente se debe haber configurado como entrada en TRISA

T

R

U

JExiste el registro LATA, que permite el acceso I/O al latch del puerto.El pin RA4 es de colector abierto

J

I

L

L El pin RA4 es de colector abierto.Para configurarlo sus pines como analógicos o digitales, se recurre al registro ADCON1

O

A

R

I

A

S

Page 121: La Gama Alta de Los PIC(18F452)

Puerto A (18f452)V

L

A

D

I

PIN Tipo Entrada FunciónRA0/AN0 TTL Pin I/O ó entrada analógica 0.

M

I

R

RA1/AN1 TTL Pin I/O ó entrada analógica 1

RA2/AN2 TTL Pin I/O ó entrada analógica 2

RA3/AN3 TTL Pin I/O ó entrada analógica 3

T

R

U

J/ / g

RA4/T0CKI Colector Abierto Pin I/O ó entrada del timer 0, con entrada tipo Schmit Trigger

RA5/AN4 TTL Pin I/O ó entrada analógica 4

J

I

L

L / / g

RA6/OSC2/CLKO TTL Entrada del oscilador 2, o salida de frecuencia de reloj.

O

A

R

I

A

S

Page 122: La Gama Alta de Los PIC(18F452)

Puerto A (18f4520)

RA0/AN0 TTL/ANA I/O digital o entrada analógica, LATA<0> no afectado por entrada digital

RA1/AN1 TTL/ANA I/O digital o entrada analógica, LATA<1> no afectado por entrada digital

RA2/AN2/VREF-/CVREF TTL/ANA I/O digital o entrada analógica, LATA<2> no afectado por entrada digital

RA3/AN3/VREF+ TTL/ANA I/O digital o entrada analógica, LATA<3> no afectado por entrada digital

RA4/T0CKI/C1OUT Colector Abierto I/O digital, o entrada de Timer 0

RA5/AN4/SS/ HLVDIN/C2OUT TTL/ANAI/O digital o entrada analógica, LATA<5> no afectado por entrada digital,selección de entrada modo esclavo para SSP (MSSP module).

OSC2/CLKO/RA6 TTL/ANAI/O digital o entrada analógica, LATA<6> no afectado por entrada digital, retroalimentación de la salida del oscilador principal (XT, HS and LP modes).

OSC1/CLKI/RA7 TTL/ANAI/O digital o entrada analógica, LATA<7> no afectado por entrada digital,entrada del oscilador principal y entrada del reloj principal.

Page 123: La Gama Alta de Los PIC(18F452)

Puerto AV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 124: La Gama Alta de Los PIC(18F452)

Registros asociados con PORTAg

Page 125: La Gama Alta de Los PIC(18F452)

Registros asociados con PORTARegistros asociados con PORTA (18F4520)

Page 126: La Gama Alta de Los PIC(18F452)

Puerto BV

L

A

D

I

PIN Tipo Entrada FunciónRB0/INT0 TTL, Schmit Trigger

l I t iPin I/O ó entrada de interrupción

M

I

R

para la Interrupcion Externa 0.

RB1/INT1 TTL, Schmit Triggerpara la Interrupcion

Pin I/O ó entrada de interrupciónExterna 1.

T

R

U

J

RB2/INT2 TTL, Schmit Triggerpara la Interrupcion

Pin I/O ó entrada de interrupciónExterna 2.

RB3/CCP2 TTL, Schmit Triggerd CCP2

Pin I/O ó pin del módulo CCP2, cuandol bit CCP2MX t 1J

I

L

L

para modo CCP2 el bit CCP2MX esta en 1

RB4 TTL Pin I/O, y entrada de interrupción por cambio de estado en PORTB.

RB5/PGM TTL Schmit Trigger Pin I/O y entrada de interrupción porO

A

R

RB5/PGM TTL, Schmit Triggerpara prog. Serial

Pin I/O, y entrada de interrupción por cambio de estado en PORTB.

RB6/PGC TTL, Schmit Triggerpara prog Serial

Pin I/O, y entrada de interrupción por cambio de estado en PORTB.

I

A

S

para prog. Serial ca b o de estado e O

RB7/PGD TTL, Schmit Triggerpara prog. serial

Pin I/O, y entrada de interrupción por cambio de estado en PORTB.

Page 127: La Gama Alta de Los PIC(18F452)

Puerto BV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 128: La Gama Alta de Los PIC(18F452)

Puerto BV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 129: La Gama Alta de Los PIC(18F452)

Puerto CV

L

A

D

I

PIN Tipo Entrada FunciónRC0/T1OSO/T1CKI TTL Schmit Trigger Pin I/O ó salida del oscilador de timer1 o

M

I

R

RC0/T1OSO/T1CKI TTL, Schmit Trigger Pin I/O ó salida del oscilador de timer1 o entrada de reloj

RC1/T1OSI/CCP2 TTL, Schmit Trigger Pin I/O ó Salida del módulo CCP2

RC2/CCP1 TTL Schmit Trigger Pin I/O ó pin del módulo CCP1T

R

U

J

RC2/CCP1 TTL, Schmit Trigger Pin I/O ó pin del módulo CCP1

RC3/SCK/SCL TTL, Schmit Trigger Pin I/O ó utilizado para el reloj serial de los módulos SPI e I2C

RC4/SDI/SDA TTL Schmit Trigger Pin I/O o entrada de datos para SPI o I/OJ

I

L

L

RC4/SDI/SDA TTL, Schmit Trigger Pin I/O o entrada de datos para SPI o I/O para I2C

RC5/SDO TTL, Schmit Trigger Pin I/O, o salida del puerto serial síncrono

RC6/TX/CK TTL Schmit Trigger Pin I/O o TX del módulo USARTO

A

R

RC6/TX/CK TTL, Schmit Trigger Pin I/O o TX del módulo USART

RC7/RX/DT TTL, Schmit Trigger Pin I/O o RX del módulo USART

I

A

S

Page 130: La Gama Alta de Los PIC(18F452)

Puerto CV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 131: La Gama Alta de Los PIC(18F452)

Puerto DV

L

A

D

I

PIN Tipo Entrada FunciónRD0/PSP0 TTL Schmit Trigger Pin I/O ó puerto paralelo esclavo bit 0

M

I

R

RD0/PSP0 TTL, Schmit Trigger Pin I/O ó puerto paralelo esclavo bit 0

RD1/PSP1 TTL, Schmit Trigger Pin I/O ó puerto paralelo esclavo bit 1

RD2/PSP2 TTL, Schmit Trigger Pin I/O ó puerto paralelo esclavo bit 2

T

R

U

J

RD3/PSP3 TTL, Schmit Trigger Pin I/O ó puerto paralelo esclavo bit 3

RD4/PSP4 TTL, Schmit Trigger Pin I/O ó puerto paralelo esclavo bit 4J

I

L

L

/ , gg / p p

RD5/PSP5 TTL, Schmit Trigger Pin I/O, ó puerto paralelo esclavo bit 5

RD6/PSP6 TTL Schmit Trigger Pin I/O ó puerto paralelo esclavo bit 6O

A

R

RD6/PSP6 TTL, Schmit Trigger Pin I/O ó puerto paralelo esclavo bit 6

RD7/PSP7 TTL, Schmit Trigger Pin I/O ó puerto paralelo esclavo bit 7

I

A

S

Todos los pines son schimit trigger cuando se trabaja como puerto paralelo esclavo

Page 132: La Gama Alta de Los PIC(18F452)

Puerto DV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 133: La Gama Alta de Los PIC(18F452)

Puerto EV

L

A

D

I

PIN Tipo Entrada FunciónRE0/RD/AN5 TTL Schmit Trigger Pin I/O Pin de control del puerto paralelo

M

I

R

RE0/RD/AN5 TTL, Schmit TriggerPara control de puerto paralelo esclavo

Pin I/O Pin de control del puerto paralelo esclavo y entrada A/D.BIT RD1 = No lectura.

T

R

U

J

0 = Lee PORTD si CS es 1.

RE1/WR/AN6 TTL, Schmit TriggerPara control de puerto

l l l

Pin I/O Pin de control del puerto paralelo esclavo y entrada A/D. BIT WRJ

I

L

L

paralelo esclavo BIT WR1 = No escritura0 = Escribe en PORTD si CS es 1

RE2/CS/AN7 TTL Schmit Trigger Pin I/O Pin de control del puerto paraleloO

A

R

RE2/CS/AN7 TTL, Schmit TriggerPara control de puerto paralelo esclavo

Pin I/O Pin de control del puerto paralelo esclavo y entrada A/D. BIT CS1 = Dispositivo no seleccionado

I

A

S

0 = Dispositivo no seleccionado

Page 134: La Gama Alta de Los PIC(18F452)

Puerto EV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 135: La Gama Alta de Los PIC(18F452)

Registro TRISEV

L

A

D

I

Bit 7 IBF: Bit de Buffer de entrada lleno

M

I

R

Bit 7 IBF: Bit de Buffer de entrada lleno1 = Una palabra ha sido recibida y espera ser leída.

T

R

U

J e da0 = Ninguna palabra recibida.

Bit 6 OBF: Bit de Buffer de salida lleno

J

I

L

L Bit 6 OBF: Bit de Buffer de salida lleno.1 = El buffer mantiene una palabra escrita previamente.

O

A

R previamente.0 = El buffer de salida ha sido leído.

I

A

S

Page 136: La Gama Alta de Los PIC(18F452)

Registro TRISEV

Bit 5 IBOV: Rebose del Buffer de entrada.1 H id it d l b i

L

A

D

I

1 = Ha ocurrido una escritura, cuando una palabra previa no ha sido leída. (debe ser clareado por SW)0 = No ha ocurrido un desborde

M

I

R

Bit 4 PSPMODE: Selección del puerto paralelo esclavo

T

R

U

J

1 = Modo puerto paralelo esclavo.0 = Modo general de I/O

J

I

L

L

bit 3 Sin Implementarbit 2,1 y 0 TRISE: Bits de control de dirección.

d

O

A

R

1 = Entrada0 = Salida

I

A

S

Page 137: La Gama Alta de Los PIC(18F452)

El registro de estadoV

El registro de estado se utiliza para L

A

D

I

mostrar el estado aritmético de la ALU.Se recomienda utilizar solamente las

M

I

R

Se recomienda utilizar solamente las instrucciones BCF, BSF, SWAPF, MOVFF

MOVWF bi l t id d l

T

R

U

J y MOVWF para cambiar el contenido del registro de estado, ya que estas

J

I

L

L

instrucciones no alteran las banderas Z, C, DC, OV, o N

O

A

R , , ,I

A

S

Page 138: La Gama Alta de Los PIC(18F452)

El registro de estadoV

L

A

D

I

M

I

R

BIT 7-5 Sin implementar.BIT 4 N: BIT Negativo utilizado para indicar

T

R

U

J BIT 4 N: BIT Negativo, utilizado para indicar cuando un resultado de una operación aritmética fue negativo (Complemento a 2)

J

I

L

L aritmética fue negativo (Complemento a 2). 1 = Resultado negativo.0 Resultado positivo

O

A

R0 = Resultado positivo.I

A

S

Page 139: La Gama Alta de Los PIC(18F452)

El registro de estadoV

BIT OV: BIT de desbordamiento. Este bit es é

L

A

D

I

utilizado para aritmética con signo (complemento a 2).

M

I

R

1 = Desborde ocurrió0 = No ocurrió un desborde

T

R

U

J

BIT 2 Z: Bit de 01 = El resultado de una operación aritmética o

J

I

L

L plógica es 0.0 = El resultado de una operación aritmética o

O

A

R

lógica no es 0.I

A

S

Page 140: La Gama Alta de Los PIC(18F452)

El registro de estadoV

BIT 1 DC: carry del cuarto al quinto bit.

L

A

D

I

Funciona con ADDWF, ADDLW, SUBLW, y SUBWF1 = Hay carry del 4 al 5 bit.

M

I

R

0 = No hay carry del 4 al 5 bit

BIT 0 C: Bit de carry.

T

R

U

Jy

Funciona con ADDWF, ADDLW, SUBLW, y SUBWF1 = Ocurrió carry

J

I

L

L y0 = No Ocurrió carry

O

A

R

I

A

S

Page 141: La Gama Alta de Los PIC(18F452)

Registro RCON (Reset Control)V

L

A

D

I

M

I

R

BIT 7 IPEN: Bit que habilita la prioridad en las interrupciones.

T

R

U

J 1 = Prioridad en interrupciones habilitada. 0 = Prioridad en interrupciones deshabilitada.

BIT 6 5 Sin implementar

J

I

L

L

BIT 6-5 Sin implementarBIT 4 RI: Bandera de la instrucción RESET

1 = La instrucción RESET no ha sido ejecutada

O

A

R 1 = La instrucción RESET no ha sido ejecutada.0 = La instrucción RESET fue ejecutada.

I

A

S

Page 142: La Gama Alta de Los PIC(18F452)

Registro RCON (Reset Control)V

BIT 3 TO: Bandera del Perro Guardián. L

A

D

I

1 = Después de un power-up, CLRWDT, o SLEEP

M

I

R

0 = A WDT reset ocurrió

BIT 2 PD: Bandera de detección de

T

R

U

J BIT 2 PD: Bandera de detección de apagado del procesador.

J

I

L

L

1 = Después de un power-up o CLRWDT.0 = Debido a la ejecución de la instrucción

O

A

R 0 Debido a la ejecución de la instrucción SLEEP.

I

A

S

Page 143: La Gama Alta de Los PIC(18F452)

Registro RCON (Reset Control)V

BIT 1 POR: Bit de estado de Power-on Reset

L

A

D

I

1 = Un Power-on Reset no ha ocurrido0 = Un Power-on Reset ocurrió

M

I

R

Debe ser colocado en 1 después de que un Power-on Reset ha ocurrido)

T

R

U

J

BIT 0 BOR: Bit de estado de un Brown-out Reset (Bajón de voltaje)

J

I

L

L

1 = Un Brown-out Reset no ha ocurrido.0 = Un Brown-out Reset ocurrió.

O

A

R

Debe ser colocado en 1 después de que un Brown-out Reset ha ocurrido)

I

A

S

Page 144: La Gama Alta de Los PIC(18F452)

InterrupcionesV

Los microcontroladores de gama alta i l d i ió

L

A

D

I

poseen niveles de interrupción.El vector de alto nivel de interrupciones

M

I

R pse halla en la posición 0x08h y el de baja prioridad en la posición 0x18h.

T

R

U

Jj p p

Una interrupción de alta prioridad, interrumpe la ejecución de una de baja

J

I

L

L interrumpe la ejecución de una de baja prioridad.

O

A

R

I

A

S

Page 145: La Gama Alta de Los PIC(18F452)

InterrupcionesV

Los registros asociados con el manejo de interrupciones son los siguientes:

L

A

D

I interrupciones son los siguientes:RCONINTCON, INTCON2, INTCON3, que en general,

M

I

R

INTCON, INTCON2, INTCON3, que en general, manejan las interrupciones externas y de TIMER 0.PIR1, PIR2, que manejan las banderas que activan

é

T

R

U

J las interrupciones debidas a periféricos.PIE1, PIE2, que son los registros habilitadores de las interrupciones de periféricos

J

I

L

L

interrupciones de periféricosIPR1, IPR2, que activan los niveles de prioridad de las interrupciones.

O

A

R pI

A

S

Page 146: La Gama Alta de Los PIC(18F452)

InterrupcionesV

Cada fuente de interrupción, a excepción de INT0, posee 3 bits para su control

L

A

D

I posee 3 bits para su control.Una bandera que indica que la interrupción ocurrió. Bit habilitador de la interrupción

M

I

R

Bit que permite asignar el nivel de prioridad de la interrupción.

Nota: Se recomienda no utilizar la instrucción

T

R

U

J Nota: Se recomienda no utilizar la instrucción MOVFF, para modificar alguno de los registros de control, mientras las interrupciones estén habilitadas,

t d di d

J

I

L

L

ya que esto puede generar disparos de interrupciones aleatorios.

O

A

R

I

A

S

Page 147: La Gama Alta de Los PIC(18F452)

Interrupciones. Registro RCONV

L

A

D

I

M

I

R

Bit IPEN: Bit habilitador de niveles de prioridad de las interrupciones

T

R

U

J prioridad de las interrupciones.1 = Habilita los niveles de prioridad de las interrupciones

J

I

L

L

interrupciones. 0 = Deshabilita los niveles de prioridad de l i i

O

A

R

las interrupciones. I

A

S

Page 148: La Gama Alta de Los PIC(18F452)

Interrupciones. Registro RCONV

bit 6-5 Sin implementar

L

A

D

I

bit 4 RI: bit indicador de que se generó una instrucción de RESET.

M

I

R

1 = La instrucción RESET no se ha ejecutado.0 = La instrucción RESET se ejecutó

T

R

U

Jj

bit 3 TO: bit de rebose del Watchdog1 = Después del encendido instrucción CLRWDT

J

I

L

L 1 Después del encendido, instrucción CLRWDT o instrucción SLEEP.0 = Ha ocurrido un rebose del WDT

O

A

R 0 a ocu do u ebose deI

A

S

Page 149: La Gama Alta de Los PIC(18F452)

Interrupciones. Registro RCONV

bit 2 PD: Bit de detección de ausencia de

L

A

D

I

voltaje.1 = Después del encendido o por el uso de la

ó

M

I

R

instrucción CLRWDT.0 = Por la ejecución de la instrucción SLEEP.

T

R

U

J

bit 1 POR: Bit de estado del Power-on Reset.1 = Un Power-on Reset no ha ocurrido.

J

I

L

L

0 = Un Power-on Reset ocurrió. Debe ser puesta en 1 después de que un Power-on Reset occurre.

O

A

R

I

A

S

Page 150: La Gama Alta de Los PIC(18F452)

Interrupciones. Registro RCONV

bit 0 BOR: bit de estado de Brown-out L

A

D

I

Reset. (Disminución del nivel de voltaje)1 = No ha ocurrido un Brown-out Reset.

M

I

R

1 No ha ocurrido un Brown out Reset.0 = Ha ocurrido un Brown-out Reset.D b t 1 d é d

T

R

U

J Debe ser puesta en 1 después de que un Brown-out Reset ocurre.

J

I

L

L

O

A

R

I

A

S

Page 151: La Gama Alta de Los PIC(18F452)

I t i R i t INTCONInterrupciones. Registro INTCON(18F452, 18F4520)V

L

A

D

I

M

I

R

Bit 7 GIE/GIEH: Habilitador global de interrupciones.

T

R

U

J interrupciones.Si IPEN = 0: (Bit 7 RCON)

1 = Habilita todas las interrupciones sin máscara

J

I

L

L 1 Habilita todas las interrupciones sin máscara0 = Deshabilita todas las interrupciones

Si IPEN = 1: (Bit 7 RCON)

O

A

R ( )1 = Habilita todas las interrupciones de alta prioridad.0 = Deshabilita todas las interrupciones.

I

A

S

Page 152: La Gama Alta de Los PIC(18F452)

Interrupciones Registro INTCONInterrupciones. Registro INTCON(18F452, 18F4520)V

Bit 6 PEIE/GIEL: Habilitador de Interrupciones de periféricos

L

A

D

I periféricosSi IPEN = 0: (Bit 7 RCON)

1 = Habilita todas las interrupciones de periféricos

M

I

R

1 = Habilita todas las interrupciones de periféricos sin máscara.0 = Deshabilita todas las interrupciones de

T

R

U

Jperiféricos

Si IPEN = 1: (Bit 7 RCON)é

J

I

L

L

1 = Habilita todas las interrupciones de periféricos de baja prioridad. 0 = Deshabilita todas las interrupciones de

O

A

R 0 = Deshabilita todas las interrupciones de periféricos de baja prioridad

I

A

S

Page 153: La Gama Alta de Los PIC(18F452)

Interrupciones Registro INTCONInterrupciones. Registro INTCON(18F452, 18F4520)V

Bit 5 TMR0IE: Interrupción de rebose de TMR01 = Habilita la interrupción por rebose de TMR0

L

A

D

I 1 = Habilita la interrupción por rebose de TMR0.0 = Deshabilita la interrupción por rebose de TMR0.

Bit 4 INT0IE: Interrupción Externa INT0

M

I

Rp

1 = Habilita la INT00 = Deshabilita la INT0

T

R

U

J Bit 3 RBIE: Interrupción por cambio de estado en PORTB1 = Habilita la interrupción por cambio de estado en PORTB

J

I

L

L PORTB0 = Deshabilita la interrupción por cambio de estado en PORTB

O

A

R

I

A

S

Page 154: La Gama Alta de Los PIC(18F452)

Interrupciones Registro INTCONInterrupciones. Registro INTCON(18F452, 18F4520)V

Bit 2 TMR0IF: Bandera de Interrupción por rebose de TMR0

L

A

D

I de TMR01 = El TMR0 se ha rebosado (se debe borrar por SW)0 = TMR0 no se ha rebosado.

Bit 1 INT0IF: Bandera de INT0

M

I

R

Bit 1 INT0IF: Bandera de INT01 = Ha ocurrido INT0 (debe ser borrada por SW)0 = INT0 no ha ocurrido.

T

R

U

J Bit 0 RBIF: Bandera de interrupción por cambio de estado en PORTB.

1 = Ha ocurrido un cambio de estado en uno de los pines

J

I

L

L 1 Ha ocurrido un cambio de estado en uno de los pines RB4 a RB70 = No ha ocurrido un cambio de estado en RB4 a RB7.

O

A

R

I

A

S

Page 155: La Gama Alta de Los PIC(18F452)

Interrupciones Reg INTCON2Interrupciones. Reg. INTCON2(18F452, 18F4520)V

L

A

D

I

M

I

R

Bit 7 RBPU: Bit habilitador de las resistencias Pull-up.

1 T d l i t i ll

T

R

U

J 1 = Todas las resistencias pull-ups deshabilitadas.0 = Las resistencias pull-ups estan habilitadas.

J

I

L

L p pBit 6 INTEDG0: Selección del flanco de la Interrupción Externa 0

O

A

R

1 = Flanco de subida.0 = Flanco de bajada.

I

A

S

Page 156: La Gama Alta de Los PIC(18F452)

Interrupciones Reg INTCON2Interrupciones. Reg. INTCON2(18F452, 18F4520)V

Bit 5 INTEDG1: Selección del flanco de L

A

D

I

la Interrupción Externa 1 1 = Flanco de subida.

M

I

R

1 Flanco de subida.0 = Flanco de bajada.

Bit 4 INTEDG2 S l ió d l fl d

T

R

U

J Bit 4 INTEDG2: Selección del flanco de la Interrupción Externa 2

J

I

L

L

1 = Flanco de subida0 = Flanco de bajada

O

A

R 0 = Flanco de bajada.

Bit 3 Sin ImplementarI

A

S

Page 157: La Gama Alta de Los PIC(18F452)

Interrupciones Reg INTCON2Interrupciones. Reg. INTCON2(18F452, 18F4520)V

Bit 2 TMR0IP: Bit de prioridad de la interrupción por rebose de TMR0

L

A

D

I

interrupción por rebose de TMR0.1 = Alta prioridad0 Baja prioridad

M

I

R

0 = Baja prioridadBit 1 Sin implementarBit 0 RBIP Bit d i id d d l i t ió

T

R

U

J Bit 0 RBIP: Bit de prioridad de la interrupción de cambios de estado en PORTB

1 Alta prioridad

J

I

L

L

1 = Alta prioridad.0 = Baja prioridad.

O

A

R

I

A

S

Page 158: La Gama Alta de Los PIC(18F452)

Interrupciones Reg INTCON3Interrupciones. Reg. INTCON3(18F452, 18F4520)V

L

A

D

I

M

I

R

Bit 7 INT2IP: Bit de prioridad de INT21 = Alta prioridad

T

R

U

J 1 = Alta prioridad.0 = Baja prioridad.

Bit 6 INT1IP: Bit de prioridad de INT1

J

I

L

L

Bit 6 INT1IP: Bit de prioridad de INT1 1 = Alta prioridad.0 B j i id d

O

A

R

0 = Baja prioridad. I

A

S

Page 159: La Gama Alta de Los PIC(18F452)

Interrupciones Reg INTCON3Interrupciones. Reg. INTCON3(18F452, 18F4520)V

Bit 5 Sin implementarL

A

D

I

Bit 4 INT2IE: Bit habilitador de INT2 1 = Habilita INT2

M

I

R

1 = Habilita INT2.0 = Deshabilita INT2.

T

R

U

J

Bit 3 INT1IE: Bit habilitador de INT11 = Habilita INT1.

J

I

L

L 1 Habilita INT1.0 = Deshabilita INT1.

Bit 2 Si i l t

O

A

R

Bit 2 Sin implementarI

A

S

Page 160: La Gama Alta de Los PIC(18F452)

Interrupciones Reg INTCON3Interrupciones. Reg. INTCON3(18F452, 18F4520)V

Bit 1 INT2IF: Bandera que indica que ocurrió

L

A

D

I

INT21 = Ha ocurrido INT2 (debe ser borrada por SW)

M

I

R

0 = No ha ocurrido INT2

Bit 0 INT1IF: Bandera que indica que ocurrió

T

R

U

Jq q

INT11 = Ha ocurrido INT1 (debe ser borrada por SW)

J

I

L

L ( p )0 = No ha ocurrido INT1

O

A

R

I

A

S

Page 161: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIR1Int. Periféricos. Reg. PIR1(18F452, 18F4520)V

L

A

D

I

Bit 7 PSPIF(1): Bandera de interrupción de

M

I

R

Bit 7 PSPIF(1): Bandera de interrupción de lectura/escritura del puerto paralelo esclavo.

1 = Una operación de lectura o escritura ha d (d b b d )

T

R

U

J ocurrido.(debe ser borrada por SW)0 = No ha ocurrido lectura o escritura.

Bit 6 ADIF: Bandera de interrupción por fin de

J

I

L

L Bit 6 ADIF: Bandera de interrupción por fin de conversión del A/D

1 = Conversión A/D completa (Debe ser borrada por SW)

O

A

RSW)0 = La conversión A/D esta incompleta.

I

A

S

Page 162: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIR1Int. Periféricos. Reg. PIR1(18F452, 18F4520)V

Bit 5 RCIF: Bandera de interrupción por recepción en el USART

L

A

D

I

recepción en el USART.1 = El buffer de recepción, RCREG, esta lleno (Debe ser borrada por SW)

M

I

R

(Debe ser borrada por SW)0 = El buffer de RX del USART esta vacío.

Bit 4 TXIF: Bandera de interrupción por TX

T

R

U

J Bit 4 TXIF: Bandera de interrupción por TX del USART

1 = El buffer de TX del USART (TXREG), esta

J

I

L

L 1 El buffer de TX del USART (TXREG), esta vacío (Se borra cuando se escribe en TXREG)0 = El buffer de TX del USART esta lleno.

O

A

R

I

A

S

Page 163: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIR1Int. Periféricos. Reg. PIR1(18F452, 18F4520)V

Bit 3 SSPIF: Bandera de interrupción L

A

D

I

del puerto serial síncrono1 = Una TX/RX se ha completado (debe

M

I

R

1 Una TX/RX se ha completado (debe ser borrada por SW)0 = Esperando una TX o RX

T

R

U

J 0 = Esperando una TX o RX.J

I

L

L

O

A

R

I

A

S

Page 164: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIR1Int. Periféricos. Reg. PIR1(18F452, 18F4520)V

Bit 2 CCP1IF: Bandera de interrupción del módulo CCP1

L

A

D

I módulo CCP1.Modo Captura:

1 = Se ha producida la captura del valor de TMR1 (debe b d SW)

M

I

R

ser borrada por SW)0 = No ha ocurrido una captura de TMR1.

Modo Compara:

T

R

U

Jp

1 = Se ha dado una comparación con TMR1 (debe ser borrada por SW)0 = No ha ocurrido una comparación con TMR1.

J

I

L

L pModo PWM:

No utilizado en este modo.

O

A

R

I

A

S

Page 165: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIR1Int. Periféricos. Reg. PIR1(18F452, 18F4520)V

Bit 1 TMR2IF: Se ha producido una igualdad entre TMR2 y PR2

L

A

D

I

entre TMR2 y PR2.1 = Ha ocurrido una igualdad entre TMR2 y PR2 (debe ser borrada por SW)

M

I

R

(debe ser borrada por SW)0 = No hay igualdad entre TMR2 y PR2

Bit 0 TMR1IF: Bandera de interrupción por

T

R

U

J Bit 0 TMR1IF: Bandera de interrupción por rebose de TMR1.

1 = El TMR1 se ha rebosado (debe ser borrada

J

I

L

L 1 El TMR1 se ha rebosado (debe ser borrada por SW)0 = El TMR1 no se ha rebosado

O

A

R

I

A

S

Page 166: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIR2Int. Periféricos. Reg. PIR2(18F452)V

L

A

D

I

Bit 7 5 Sin implementar

M

I

R

Bit 7-5 Sin implementarBit 4 EEIF: Bandera de interrupción por

/

T

R

U

J Escritura/Lectura en EEPROM o FLASH 1 = La operación de escritura se ha completado (d b b d S )

J

I

L

L

(debe ser borrada por SW)0 = La operación de escritura no ha terminado o no e h ini i do

O

A

R

no se ha iniciado.I

A

S

Page 167: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIR2Int. Periféricos. Reg. PIR2(18F452)V

Bit 3 BCLIF: Interrupción por colisión en el

L

A

D

I

bus1 = Ocurrió una colisión

M

I

R

0 = No ha ocurrido una colisión.

Bit 2 LVDIF: Interrupción por detección de

T

R

U

Jp p

bajo voltaje.1 = Una condición de bajo voltaje ha ocurrido

J

I

L

L j j0 = El voltaje del dispositivo se mantiene por encima del valor de activación de la interrupción.

O

A

R

I

A

S

Page 168: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIR2Int. Periféricos. Reg. PIR2(18F452)V

Bit 1 TMR3IF: Bandera de rebose de TMR31 = El TMR3 se ha rebosado

L

A

D

I 1 = El TMR3 se ha rebosado0 = El TMR3 No se ha rebosado

Bit 0 CCP2IF: Bandera de interrupción del

M

I

R

Bit 0 CCP2IF: Bandera de interrupción del módulo CCP2

Modo Captura:

T

R

U

J1 = Una captura de TMR1 ha ocurrido.0 = No ha ocurrido captura de TMR1

Modo Compara:

J

I

L

L Modo Compara:1 = Ha ocurrido un evento de comparación con TMR1.0 = No ha habido eventos de comparación con TMR1.

Modo PWM

O

A

RModo PWM

No usado en este modoI

A

S

Page 169: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIR2Int. Periféricos. Reg. PIR2(18F4520)V

L

A

D

I

M

I

R

Bit 7 OSCFIF: Bandera indicadora de fallo del oscilador

T

R

U

J fallo del oscilador.1 = El oscilador del dispositivo falló. Se ha

li d bi INTOSC (D b

J

I

L

L

realizado un cambio a INTOSC. (Debe ser borrada por software)

O

A

R

0 = El reloj trabaja sin problemas.I

A

S

Page 170: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIR2Int. Periféricos. Reg. PIR2(18F4520)V

Bit 6 CMIF: Bandera de interrupción por comparación

L

A

D

Icomparación.

1 = La entrada del comparador ha cambiado (Debe ser borrada por software)

M

I

Rp )

0 = La entrada del comparador no ha cambiado.

Bit 5 Sin implementar: Se lee como ‘0’

T

R

U

J

Bit 4 EEIF: Bandera de interrupción por Escritura/Lectura en EEPROM o FLASH

J

I

L

L

1 = La operación de escritura se ha completado (debe ser borrada por SW)0 = La operación de escritura no ha terminado o no se ha

O

A

R 0 = La operación de escritura no ha terminado o no se ha iniciado.

I

A

S

Page 171: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIR2Int. Periféricos. Reg. PIR2(18F4520)V

Bit 3 BCLIF: Interrupción por colisión en el bus

L

A

D

I bus1 = Ocurrió una colisión0 = No ha ocurrido una colisión.

M

I

R

Bit 2 HLVDIF: Interrupción por detección de alto o bajo voltaje.

T

R

U

J 1 = Una condición de bajo o alto voltaje ha ocurrido. La dirección es determinada por el bit 7 (VDIRMAG) del registro HLVDCON.

J

I

L

L ( ) g0 = El voltaje del dispositivo se mantiene por encima del valor de activación de la interrupción.

O

A

R

I

A

S

Page 172: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIR2Int. Periféricos. Reg. PIR2(18F4520)V

Bit 1 TMR3IF: Bandera de rebose de TMR31 = El TMR3 se ha rebosado

L

A

D

I 1 = El TMR3 se ha rebosado0 = El TMR3 No se ha rebosado

Bit 0 CCP2IF: Bandera de interrupción del

M

I

R

Bit 0 CCP2IF: Bandera de interrupción del módulo CCP2

Modo Captura:

T

R

U

J1 = Una captura de TMR1 ha ocurrido.0 = No ha ocurrido captura de TMR1

Modo Compara:

J

I

L

L Modo Compara:1 = Ha ocurrido un evento de comparación con TMR1.0 = No ha habido eventos de comparación con TMR1.

Modo PWM

O

A

RModo PWM

No usado en este modoI

A

S

Page 173: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIE1Int. Periféricos. Reg. PIE1(18F452, 18F4520)V

L

A

D

I

PSPIE(1): Habilita la interrupción de

M

I

R

PSPIE(1): Habilita la interrupción de lectura/escritura del puerto paralelo esclavo

1 = Habilita la interrupción

T

R

U

J 1 = Habilita la interrupción0 = Deshabilita la interrupción.

Bit 6 ADIE H bilit l i t ió fi

J

I

L

L

Bit 6 ADIE: Habilita la interrupción por fin de conversión del A/D.

ó

O

A

R

1 = Habilita la interrupción del A/D.0 = Deshabilita la interrupción del A/D.

I

A

S

Page 174: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIE1Int. Periféricos. Reg. PIE1(18F452, 18F4520)V

Bit 5 RCIE: Habilita la interrupción por L

A

D

I

recepción del módulo USART.1 = Habilita la interrupción

M

I

R

1 Habilita la interrupción0 = Deshabilita la interrupción

Bit 4 TXIE H bilit l i t ió

T

R

U

J Bit 4 TXIE: Habilita la interrupción por transmisión del módulo USART

J

I

L

L

1 = Habilita la interrupción0 = Deshabilita la interrupción

O

A

R 0 = Deshabilita la interrupciónI

A

S

Page 175: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIE1Int. Periféricos. Reg. PIE1(18F452, 18F4520)V

Bit 3 SSPIE: Habilita la interrupción del puerto serial síncrono.

L

A

D

I

1 = Habilita la interrupción del MSSP0 = Deshabilita la interrupción del MSSP

Bit 2 CCP1IE: Habilita la interrupción del módulo CCP1

M

I

R

Bit 2 CCP1IE: Habilita la interrupción del módulo CCP1.1 = Habilita la interrupción del CCP10 = Deshabilita la interrupción

T

R

U

JBit 1 TMR2IE: Habilita la interrupción por igualdad de TMR2 con PR2.

1 = Habilita la interrupción

J

I

L

L 1 Habilita la interrupción0 = Deshabilita la interrupción.

Bit 0 TMR1IE: Habilita la interrupción por rebose de TMR1

O

A

R TMR11 = Habilita la interrupción de TMR10 = Deshabilita la interrupción de TMR1

I

A

S

Page 176: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIE2Int. Periféricos. Reg. PIE2(18F452)V

L

A

D

I

Bit 7-5 Sin implementar

M

I

R

Bit 7-5 Sin implementarBit 4 EEIE: Habilita la interrupción por fin de escritura en memoria EEPROM/FLASH.

T

R

U

J de escritura en memoria EEPROM/FLASH.1 = Habilitada0 = Deshabilitada

J

I

L

L

Bit 3 BCLIE: Habilita la interrupción por colisión de datos en el BUS

1 H bilit d

O

A

R

1 = Habilitada0 = Deshabilitada

I

A

S

Page 177: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIE2Int. Periféricos. Reg. PIE2(18F452)V

Bit 2 LVDIE: Habilita la Interrupción por detección de bajo voltaje.

L

A

D

I de bajo voltaje.1 = Habilitada0 = Deshabilitada.

Bit 1 TMR3IE: Habilita la interrupción por desborde

M

I

R

Bit 1 TMR3IE: Habilita la interrupción por desborde de TMR3.

1 = Habilita la interrupciónh b l l ó

T

R

U

J 0 = Deshabilita la interrupciónBit 0 CCP2IE: Habilita la interrupción del módulo CCP2

J

I

L

L

1 = Habilita la interrupción0 = Deshabilita la interrupción

O

A

R

I

A

S

Page 178: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIE2Int. Periféricos. Reg. PIE2(18F4520)V

L

A

D

I

M

I

R

Bit 7 OSCFIE: Bit habilitador de interrupción por fallo de oscilador

T

R

U

J de oscilador1 = Habilitado0 = deshabilitado

J

I

L

L

Bit 6 CMIE: Bit habilitador de interrupción por comparación

O

A

R

1 = Habilitado0 = Deshabilitado

I

A

S

Page 179: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIE2Int. Periféricos. Reg. PIE2(18F4520)V

Bit 5 Sin implementar se lee como ‘0’ó f

L

A

D

I

Bit 4 EEIE: Habilita la interrupción por fin de escritura en memoria EEPROM/FLASH.

1 H bilit d

M

I

R

1 = Habilitada0 = Deshabilitada

Bit 3 BCLIE H bilit l i t ió

T

R

U

J Bit 3 BCLIE: Habilita la interrupción por colisión de datos en el BUS

1 Habilitada

J

I

L

L

1 = Habilitada0 = Deshabilitada

O

A

R

I

A

S

Page 180: La Gama Alta de Los PIC(18F452)

Int Periféricos Reg PIE2Int. Periféricos. Reg. PIE2(18F4520)V

Bit 2 HLVDIE: Habilita la Interrupción por detección de alto o bajo voltaje

L

A

D

Ide alto o bajo voltaje.

1 = Habilitada0 = Deshabilitada

M

I

R

0 = Deshabilitada.

Bit 1 TMR3IE: Habilita la interrupción por desborde de TMR3.

T

R

U

J

1 = Habilita la interrupción0 = Deshabilita la interrupción

J

I

L

L

Bit 0 CCP2IE: Habilita la interrupción del módulo CCP2

1 H bili l i ió

O

A

R

1 = Habilita la interrupción0 = Deshabilita la interrupción

I

A

S

Page 181: La Gama Alta de Los PIC(18F452)

Prioridad de Int Reg IPR1Prioridad de Int. Reg. IPR1(18F452, 18F4520)V

L

A

D

I

ó

M

I

R

Bit 7 PSPIP(1): Prioridad de Interrupción del puerto paralelo esclavo

l d d

T

R

U

J 1 = Alta prioridad0 = Baja prioridad

Bit 6 ADIP P i id d d I t ió d l

J

I

L

L

Bit 6 ADIP: Prioridad de Interrupción del conversor A/D

1 Alta p io idad

O

A

R

1 = Alta prioridad0 = Baja prioridad

I

A

S

Page 182: La Gama Alta de Los PIC(18F452)

Prioridad de Int Reg IPR1Prioridad de Int. Reg. IPR1(18F452, 18F4520)V

Bit 5 RCIP: Prioridad de Interrupción del módulo USART en RX

L

A

D

I módulo USART en RX.1 = Alta prioridad0 = Baja prioridad

M

I

Rj p

Bit 4 TXIP: Prioridad de Interrupción del módulo USART en TX.

T

R

U

J 1 = Alta prioridad0 = Baja prioridad

Bit 3 SSPIP: Prioridad de Interrupción del

J

I

L

L

Bit 3 SSPIP: Prioridad de Interrupción del puerto serial síncrono

1 = Alta prioridad

O

A

R 1 Alta prioridad0 = Baja prioridad

I

A

S

Page 183: La Gama Alta de Los PIC(18F452)

Prioridad de Int Reg IPR1Prioridad de Int. Reg. IPR1(18F452, 18F4520)V

Bit 2 CCP1IP: Prioridad de Interrupción del módulo CCP

L

A

D

I CCP1 = Alta prioridad0 = Baja prioridad

M

I

R

0 Baja prioridad Bit 1 TMR2IP: Prioridad de Interrupción del TMR2

1 = Alta prioridad

T

R

U

Jp

0 = Baja prioridadBit 0 TMR1IP: Prioridad de Interrupción del TMR1.

J

I

L

L

1 = Alta prioridad0 = Baja prioridad

O

A

R

I

A

S

Page 184: La Gama Alta de Los PIC(18F452)

Prioridad de Int Reg IPR2Prioridad de Int. Reg. IPR2(18F452)V

L

A

D

I

Bit 7-5 Sin implementar

M

I

R

Bit 7-5 Sin implementarBit 4 EEIP: Prioridad de Interrupción por fin de escritura en EPROM/FLASH

T

R

U

J de escritura en EPROM/FLASH1 = Alta prioridad0 = Baja prioridad

J

I

L

L

Bit 3 BCLIP: Prioridad de Interrupción por colisión en Bus de datos.

1 Alt p io id d

O

A

R

1 = Alta prioridad0 = Baja prioridad

I

A

S

Page 185: La Gama Alta de Los PIC(18F452)

Prioridad de Int Reg IPR2Prioridad de Int. Reg. IPR2(18F452)V

Bit 2 LVDIP: Prioridad de Interrupción por detección de bajo voltaje

L

A

D

I detección de bajo voltaje1 = Alta prioridad0 = Baja prioridad

M

I

Rj p

Bit 1 TMR3IP: Prioridad de Interrupción por rebose de TMR3

T

R

U

J 1 = Alta prioridad0 = Baja prioridad

Bit 0 CCP2IP: Prioridad de Interrupción de

J

I

L

L

Bit 0 CCP2IP: Prioridad de Interrupción de módulo CCP2

1 = Alta prioridad

O

A

R 1 Alta prioridad0 = Baja prioridad

I

A

S

Page 186: La Gama Alta de Los PIC(18F452)

Prioridad de Int Reg IPR2Prioridad de Int. Reg. IPR2(18F4520)V

L

A

D

I

M

I

R

Bit 7 OSCFIP: Bit de prioridad de interrupción por fallo de oscilador

T

R

U

J fallo de oscilador.1 = Alta prioridad0 = Baja prioridad

J

I

L

L j p

Bit 6 CMIP: Bit de prioridad de interrupción por comparación analógica.

O

A

R

1 = Alta prioridad.0 = Baja prioridad.

I

A

S

Page 187: La Gama Alta de Los PIC(18F452)

Prioridad de Int Reg IPR2Prioridad de Int. Reg. IPR2(18F4520)V

Bit 5 Sin implementaró f

L

A

D

I

Bit 4 EEIP: Prioridad de Interrupción por fin de escritura en EPROM/FLASH

1 Alt i id d

M

I

R

1 = Alta prioridad0 = Baja prioridad

Bit 3 BCLIP P i id d d I t ió

T

R

U

J Bit 3 BCLIP: Prioridad de Interrupción por colisión en Bus de datos.

1 Alta prioridad

J

I

L

L

1 = Alta prioridad0 = Baja prioridad

O

A

R

I

A

S

Page 188: La Gama Alta de Los PIC(18F452)

Prioridad de Int Reg IPR2Prioridad de Int. Reg. IPR2(18F4520)V

Bit 2 HLVDIP: Prioridad de Interrupción por detección de bajo o alto voltaje

L

A

D

Idetección de bajo o alto voltaje

1 = Alta prioridad0 = Baja prioridad

M

I

R

0 = Baja prioridad

Bit 1 TMR3IP: Prioridad de Interrupción por rebose de TMR3

T

R

U

J

1 = Alta prioridad0 = Baja prioridad

J

I

L

L

Bit 0 CCP2IP: Prioridad de Interrupción de módulo CCP2

1 Al i id d

O

A

R

1 = Alta prioridad0 = Baja prioridad

I

A

S

Page 189: La Gama Alta de Los PIC(18F452)

Memoria FLASH de ProgramaV

La memoria de programa puede ser leída y escrita durante el funcionamiento normal

L

A

D

Idurante el funcionamiento normal.Posee un tamaño de 32K Bytes con capacidad para 16K Instrucciones

M

I

R

16K InstruccionesDurante la escritura o lectura de la memoria de programa se cesará la búsqueda de instrucciones

T

R

U

J programa se cesará la búsqueda de instrucciones, hasta que la operación este completa.La memoria de programa no puede ser accedida

J

I

L

L La memoria de programa no puede ser accedida durante la lectura o escritura, es por ello que el código no puede ser ejecutado.

O

A

R

I

A

S

Page 190: La Gama Alta de Los PIC(18F452)

Memoria FLASH de ProgramaV

Cualquier instrucción inválida que se L

A

D

I

escriba, será ejecutada como un NOPYa que la memoria de programa es de

M

I

R

Ya que la memoria de programa es de 16 bits de ancho y la RAM tiene 8 bits; l i t i TBLRD (L t )

T

R

U

J las instrucciones TBLRD (Lectura) y TBLWT (escritura), mueven datos

J

I

L

L

entre esas dos memorias, utilizando el registro TABLAT.

O

A

R gI

A

S

Page 191: La Gama Alta de Los PIC(18F452)

Memoria FLASH de ProgramaV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 192: La Gama Alta de Los PIC(18F452)

Registro EECON1 y EECON2V

El registro EECON1 es el registro de L

A

D

I

control de acceso a memoria FLASH o EEPROM.

M

I

R EEPROM.El registro EECON2 no existe fí i t l tili

T

R

U

J físicamente, y solo se utiliza en operaciones de escritura o borrado de

J

I

L

L

la memoria.Cualquier lectura a EECON2 obtiene

O

A

R Cualquier lectura a EECON2, obtiene como resultado un 0.

I

A

S

Page 193: La Gama Alta de Los PIC(18F452)

Registro EECON1 (Dir. 0FA6h )V

L

A

D

I

M

I

R

BIT 7 EEPGD: Bit de selección de la memoria FLASH o EEPROM.

1 El l i FLASH

T

R

U

J 1 = El acceso es a la memoria FLASH.0 = El acceso es a la memoria EEPROM.

BIT 6 CFGS: Acceso a memoria FLASH/EE o

J

I

L

L BIT 6 CFGS: Acceso a memoria FLASH/EE o registros de configuración.

1 = Acceso a los registros de configuración

O

A

R g g0 = Acceso a la memoria FLASH o EEPROM.I

A

S

Page 194: La Gama Alta de Los PIC(18F452)

Registro EECON1 (Dir. 0FA6h )V

BIT 5 Sin implementar.BIT 4 FREE: bit de selección de borrado de la

L

A

D

I

BIT 4 FREE: bit de selección de borrado de la memoria FLASH.

1 = Borra la memoria FLASH apuntada por

M

I

R

1 Borra la memoria FLASH apuntada por TBLPTR en el próximo comando WR.0 = Se realiza escritura únicamente.

ó d

T

R

U

J BIT 3 WRERR: Error en una operación de escritura de la memoria FLASH/EEPROM

1 = Una operación de escritura fue

J

I

L

L

1 = Una operación de escritura fue prematuramente terminada.0 = Operación de escritura completa.

O

A

R

I

A

S

Page 195: La Gama Alta de Los PIC(18F452)

Registro EECON1 (Dir. 0FA6h )V

BIT 2 WREN: Bit de habilitación de escritura

L

A

D

I

en la memoria FLASH/EEPROM.1 = Permite ciclos de escritura.

M

I

R

0 = Inhibe los ciclos de escritura.

BIT 1 WR: Bit de control de escritura

T

R

U

J

1 = Inicializa el borrado/escritura de la memoria EEPROM/FLASH, este bit se coloca en 0

J

I

L

L

nuevamente por HW. 0 = El ciclo de escritura esta completo.

O

A

R

I

A

S

Page 196: La Gama Alta de Los PIC(18F452)

Registro EECON1 (Dir. 0FA6h )V

BIT 0 RD: Bit de control de lectura.L

A

D

I

1 = Inicializa la lectura de la EEPROM, este bit se coloca en 0 por HW. El bit RD no

M

I

R ppuede puesto en 1 cuando EEPGD = 1, lo cual sugiere que la memoria FLASH, no

T

R

U

Jg q ,

puede ser leída utilizando este bit.0 = No se inicializa la lectura de la

J

I

L

L 0 = No se inicializa la lectura de la EEPROM.

O

A

R

I

A

S

Page 197: La Gama Alta de Los PIC(18F452)

Registro TABLAT y TBLPTRV

El registro TABLAT es de 8 bits y se utiliza

L

A

D

I

para almacenar datos durante la transferencia de información entre la RAM y l d

M

I

R

la memoria de programa.El registro TBLPTR apunta a las direcciones

T

R

U

J

de memoria de programa a acceder, apunta de a byte por vez.

J

I

L

L

El registro TBLPTR, es utilizado por las instrucciones TBLRD y TBLWT; ellas pueden

O

A

R instrucciones TBLRD y TBLWT; ellas pueden actualizar el TBLPTR de 4 formas diferentes.

I

A

S

Page 198: La Gama Alta de Los PIC(18F452)

Registro TBLPTRV

L

A

D

I

M

I

R

T

R

U

J

La lectura accede a memoria cada byte

J

I

L

L yLa escritura accede a memoria cada 8 BytesEl borrado se hace en paquetes de 64 Bytes

O

A

R El borrado se hace en paquetes de 64 Bytes. I

A

S

Page 199: La Gama Alta de Los PIC(18F452)

Operaciones que auto modificanOperaciones que auto modifican TBLPTRV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 200: La Gama Alta de Los PIC(18F452)

Lectura de la Memoria FLASHV

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 201: La Gama Alta de Los PIC(18F452)

Lectura de la Memoria FLASHV

Cuando se hace una lectura de memoria. Se ó

L

A

D

I

debe Cargar TBLPTR con la dirección a leer (dirección par).

M

I

R

Cuando se ejecuta la instrucción TBLRD, se mueve un byte de la instrucción a el registro

T

R

U

J

TABLAT.El que sea el byte bajo o alto, depende de si

J

I

L

L El que sea el byte bajo o alto, depende de si el bit menos significativo de la dirección escogida es 0

O

A

R escogida es 0I

A

S

Page 202: La Gama Alta de Los PIC(18F452)

Borrado de la Memoria FLASHV

El TBLPTR no tiene en cuenta los 6 bits menos significativos a la hora de hacer un

L

A

D

I

menos significativos a la hora de hacer un borrado, solo los 16 mas altos, por lo tanto el borrado de la memoria FLASH solo se hace

M

I

R

borrado de la memoria FLASH, solo se hace en bloques de 64 bytes o 32 instrucciones.Los 16 bits mas significativos apuntan a la

T

R

U

J Los 16 bits mas significativos apuntan a la dirección de inicio del bloque de 64 bytes a borrar.

J

I

L

L borrar.El registro EECON1 controla la operación de borrado.

O

A

R borrado.I

A

S

Page 203: La Gama Alta de Los PIC(18F452)

Borrado de la Memoria FLASHV

El bit EEPGD se debe poner en 1, así L

A

D

I

como WREN también debe estar en 1 para habilitar la operación de escritura

M

I

R para habilitar la operación de escritura (Borrar es escribir FF).El bit FREE l 1 i i i l

T

R

U

J El bit FREE se coloca en 1 para iniciar la operación de borrado

J

I

L

L

O

A

R

I

A

S

Page 204: La Gama Alta de Los PIC(18F452)

Borrado de la Memoria FLASHBorrado de la Memoria FLASH (Secuencia a utilizar)V

Cargar el STKPTR con la dirección de inicio a borrar (Recordar que es en paquetes de 64

L

A

D

I

borrar (Recordar que es en paquetes de 64 bytes, por tanto los 6 bits menos significativos son 0)

M

I

R

significativos son 0) Poner en 1 el bit EEPGD de EECON1.Borrar el bit CFGS del registro EECON1

T

R

U

J Borrar el bit CFGS del registro EECON1Poner en 1 los bits WREN y FREE para habilitar escritura y borrado respectivamente

J

I

L

L

habilitar escritura y borrado respectivamente.Deshabilitar las interrupciones.

O

A

R

I

A

S

Page 205: La Gama Alta de Los PIC(18F452)

Borrado de la Memoria FLASHBorrado de la Memoria FLASH (Secuencia a utilizar)V

Escribir 55h en el EECON2.L

A

D

I

Escribir AAh en el EECON2.Poner en 1 el bit WR Esto comenzará el

M

I

R

Poner en 1 el bit WR. Esto comenzará el ciclo de borradoLa CPU queda parada durante el tiempo

T

R

U

J La CPU queda parada durante el tiempo que tarde el borrado de la memoria que son 2 mili segundos aproximadamente

J

I

L

L

son 2 mili segundos aproximadamente. Habilitar las interrupciones.

O

A

R

I

A

S

Page 206: La Gama Alta de Los PIC(18F452)

Escritura en memoria Flash.V

La escritura en la memoria FLASH, se L

A

D

I

realiza en paquetes de 8 bytes o 4 instrucciones.

M

I

R instrucciones.Debido a que el registro TABLAT es de 1 b t ió d it

T

R

U

J 1 byte, una operación de escritura en FLASH, requiere el uso de 8 veces la

J

I

L

L

instrucción TBLWT.O

A

R

I

A

S

Page 207: La Gama Alta de Los PIC(18F452)

Escritura en memoria Flash.

Page 208: La Gama Alta de Los PIC(18F452)

Escritura en memoria FlashEscritura en memoria Flash. (Secuencia de Programación)V g

Secuencia de programación de la L

A

D

I

memoria FLASH.Almacenar el bloque de 64 bytes donde se

M

I

R

Almacenar el bloque de 64 bytes donde se va a modificar los datos, en la memoria RAM.

T

R

U

J RAM.Actualizar los valores en la RAM si es necesario

J

I

L

L

necesario.Cargar el apuntador del programa con la di ió b d

O

A

R

dirección a ser borrada.I

A

S

Page 209: La Gama Alta de Los PIC(18F452)

Escritura en memoria FlashEscritura en memoria Flash. (Secuencia de Programación)V g

Borrar el bloque de memoria FLASH.

L

A

D

I

Cargar el apuntador del programa con la dirección de inicio a ser escrita.

M

I

R

Escribir los primeros 8 bytes en los registros de sujeción.

T

R

U

J registros de sujeción.Utilizar la instrucción (TBLWT* + o TBLWT+*)

J

I

L

L TBLWT+ ).Poner en 1 el BIT EEPGD, para apuntar a la memoria de programa

O

A

R la memoria de programa.I

A

S

Page 210: La Gama Alta de Los PIC(18F452)

Escritura en memoria FlashEscritura en memoria Flash. (Secuencia de Programación)V g

Borrar el BIT CFGS para acceder a la

L

A

D

I

memoria de programa y poner en 1 el BIT WREN para habilitar la escritura.

M

I

R

Deshabilite las interrupciones.Escriba 55h en el registro EECON2.

T

R

U

J Escriba 55h en el registro EECON2.Escriba AAh en el registro EECON2.Coloque en 1 el BIT WR para comenzar el

J

I

L

L

Coloque en 1 el BIT WR, para comenzar el ciclo de escritura.

O

A

R

I

A

S

Page 211: La Gama Alta de Los PIC(18F452)

Escritura en memoria FlashEscritura en memoria Flash. (Secuencia de Programación)V g

L

A

D

I

La CPU se detiene cerca de 2 milisegundos mientras se escribe

M

I

R

Re – habilite las interrupciones.Repita este ciclo 7 veces

T

R

U

J Repita este ciclo 7 vecesPara escribir los 64 bytes

J

I

L

L

O

A

R

I

A

S

Page 212: La Gama Alta de Los PIC(18F452)

Escritura en memoria FlashEscritura en memoria Flash. (Secuencia de Programación)V g

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 213: La Gama Alta de Los PIC(18F452)

Memoria EEPROM de datosV

La memoria EEPROM, no puede ser

L

A

D

I

direccionada normalmente, para acceder a ella se hace a través de unos registros

M

I

R gespeciales

EECON1 (Registro de configuración)

T

R

U

J EECON1 (Registro de configuración)EECON2 (Registro de configuración)EEDATA (Registro de transferencia de

J

I

L

L EEDATA (Registro de transferencia de datos)EEADR (Registro de direccionamiento)

O

A

R EEADR (Registro de direccionamiento)I

A

S

Page 214: La Gama Alta de Los PIC(18F452)

Memoria EEPROM de datosV

Los datos en la EEPROM, se L

A

D

I

sobrescriben y el tiempo de acceso de escritura o lectura tiene un tiempo

M

I

R escritura o lectura tiene un tiempo típico de 4 milisegundosD bid l i t EEADR d 8

T

R

U

J Debido a que el registro EEADR es de 8 bits, la capacidad en EEPROM es de 256

J

I

L

L

bytes.O

A

R

I

A

S

Page 215: La Gama Alta de Los PIC(18F452)

Memoria EEPROM de datosV

L

A

D

I

M

I

R

BIT 7 EEPGD: bit de selección de la memoria FLASH o EEPROM

1 A l i FLASH

T

R

U

J 1 = Acceso a la memoria FLASH0 = Acceso a la memoria EEPROM.

BIT 6 CFGS: Acceso a la memoria FLASH/EEPROM o a los d f ó d l C

J

I

L

L

registros de configuración del PIC1 = Acceso a los registros de Configuración0 = Acceso a la memoria FLASH o EEPROM

O

A

R

I

A

S

Page 216: La Gama Alta de Los PIC(18F452)

Memoria EEPROM de datosV

BIT 5 Sin implementaró

L

A

D

I

BIT 4 FREE: Habilitación del ciclo de borrado en la memoria FLASH

1 B l i FLASH (64 b t ) t d

M

I

R

1 = Borra la memoria FLASH (64 bytes) apuntada por TBLPTR en el próximo comando WR0 = Solo para escritura

T

R

U

J 0 = Solo para escritura.BIT 3 WRERR: Bit de Error

1 = Una operación de escritura ha sido

J

I

L

L1 = Una operación de escritura ha sido interrumpida. 0 = Operación de escritura completa.

O

A

R p pI

A

S

Page 217: La Gama Alta de Los PIC(18F452)

Memoria EEPROM de datosV

BIT 2 WREN: Bit de habilitación de escritura enFLASH o EEPROM

L

A

D

I FLASH o EEPROM1 = ciclos de escritura permitidos0 = No permite escritura en la memoria EEPROM

BIT WR: bit de control de escritura

M

I

R

BIT WR: bit de control de escritura1 = Inicializa un ciclo de escritura en EEPROM o FLASH. Cuando la operación termina, el bit es borrado por HW y no se puede por software )

T

R

U

J se puede por software.)0 = El ciclo de escritura en EEPROM finalizó

BIT 0 RD: bit de control de lectura.

J

I

L

L

1 = Lee la memoria EEPROM. Es borrado por HW y no por SW. Este bit no se puede poner en 1 si EEPGD = 1.)

O

A

R )0 = No se inicia la lectura de la EEPROMI

A

S

Page 218: La Gama Alta de Los PIC(18F452)

Lectura de la memoria EEPROMLectura de la memoria EEPROM de datosV

Para la lectura de la memoria EEPROM, L

A

D

I

se escribe la dirección a leer en EEADR. Poner en 0 el bit EEPGD (bit 7 EECON1)

M

I

R

Poner en 0 el bit EEPGD (bit 7 EECON1)Poner en 0 el bit CFGS (bit 6 EECON1)

T

R

U

J

Poner en 1 el bit RD (bit 0 EECON1)El dato leído se almacena en el registro

J

I

L

L El dato leído se almacena en el registro EEDATA

O

A

R

I

A

S

Page 219: La Gama Alta de Los PIC(18F452)

Escritura en la memoria EEPROMEscritura en la memoria EEPROM de datosV

Para la Escritura en la memoria EEPROM, se escribe la dirección a acceder en el registro EEADR

L

A

D

Ila dirección a acceder en el registro EEADR. Poner en 0 el bit EEPGD (bit 7 EECON1)P 0 l bit CFGS (bit 6 EECON1)

M

I

R

Poner en 0 el bit CFGS (bit 6 EECON1)Poner en 1 el bit WREN (bit 0 EECON1) con el fin de habilitar el acceso en modo escritura

T

R

U

J habilitar el acceso en modo escritura.Poner en 1 el bit WR, para comenzar la escritura.El dato leído se almacena en el registro EEDATA

J

I

L

L

El dato leído se almacena en el registro EEDATAAl finalizar la escritura en la memoria EEPROM, se genera una interrupción al ponerse el 1 el bit EEIF

O

A

R genera una interrupción, al ponerse el 1 el bit EEIF del registro PIR2

I

A

S

Page 220: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F452)V

El conversor analógico digital posee una L

A

D

I

resolución de 10 bits.Controlado por los registros ADCON1 y

M

I

R

Controlado por los registros ADCON1 y ADCON0.

ó

T

R

U

J El resultado de la conversión es almacenado en los registros ADRESL y

J

I

L

L g yADRESH.

O

A

R

I

A

S

Page 221: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F452)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 222: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F452)V

Bit 5-3 CHS2:CHS0: Selección del l ló i

L

A

D

I

canal analógico000 = canal 0, (RA0)

M

I

R

001 = canal 1, (RA1)010 = canal 2, (RA2)

T

R

U

J, ( )

011 = canal 3, (RA3)100 = canal 4 (RA5)

J

I

L

L 100 = canal 4, (RA5)101 = canal 5, (RE0)110 = canal 6 (RE1)

O

A

R 110 = canal 6, (RE1)111 = canal 7, (RE2)

I

A

S

Page 223: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F452)V

Bit 2 GO/DONE: Estado de la conversión A/D Debe estar habilitado el bit ADON

L

A

D

I

A/D. Debe estar habilitado el bit ADON1 = Conversión A/D en progreso (Colocando este bit en 1 se inicia la conversión A/D Se borra por

M

I

R

bit en 1, se inicia la conversión A/D. Se borra por HW, cuando la conversión termina.)0 = La conversión A/D no esta en progreso.

T

R

U

Jp g

Bit 1 Sin implementarBit 0 ADON: Enciende el módulo A/D

J

I

L

L Bit 0 ADON: Enciende el módulo A/D1 = El módulo A/D esta encendido0 = El módulo A/D esta apagado y no consume

O

A

R / p g ycorriente.I

A

S

Page 224: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F452)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 225: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F452)V

Bit 7 ADFM: Formato del resultado de la conversión A/D

L

A

D

I

conversión A/D.1 = Justificado a la derecha. Los 6 bits mas significativos del registro ADRESH son cero

M

I

R

significativos del registro ADRESH son cero.0 = Justificado a la izquierda. Los 6 bits menos significativos del registro ADRESL son cero.

T

R

U

Jg g

Bit 6 ADCS2: selección del tiempo de conversión del módulo A/D, trabaja en asocio

J

I

L

L jcon los bits ADCS1 y ADCS0 del registro ADCON0

O

A

R

I

A

S

Page 226: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F452)V

Cuando el procesador se encuentra en modo SLEEP y se desea realizar una conversión se

L

A

D

I SLEEP y se desea realizar una conversión, se debe utilizar como base de tiempo el oscilador RC del conversor A/D.El ló i di it l f i

M

I

R

El conversor analógico digital funciona por conversiones sucesivas.Un RESET en el dispositivo obliga el apagado del

T

R

U

J Un RESET en el dispositivo, obliga el apagado del conversor A/D y cualquier conversión en proceso es abortada.

J

I

L

L

Cada pin del microcontrolador que se use como entrada analógica, debe ser configurado como entrada en el respectivo registro TRIS

O

A

R entrada en el respectivo registro TRISI

A

S

Page 227: La Gama Alta de Los PIC(18F452)

Módulo conversión A/D (Pasos)Módulo conversión A/D (Pasos)(18F452)V

Los pasos para realizar una conversión A/D l i i

L

A

D

I

A/D son los siguientes:1. Configuración del módulo A/D.

M

I

R g /Se configuran los pines que serán entradas analógicas o digitales (ADCON1).

T

R

U

Jg g ( )

Se selecciona el canal de entrada al módulo A/D (ADCON0).

J

I

L

L / ( )Se selecciona el reloj de conversión A/D (ADCON0).

O

A

R ( )Se enciende el módulo A/D (ADCON0).

I

A

S

Page 228: La Gama Alta de Los PIC(18F452)

Módulo conversión A/D (Pasos)Módulo conversión A/D (Pasos)(18F452)V

2. Configuración de interrupciones para el módulo A/D (opcional)

L

A

D

I módulo A/D (opcional)Borrar el bit ADIF en el registro PIR1Poner en 1 el bit ADIE en el registro PIE1.

M

I

R

Poner en 1 el bit GIE y el PEIE en el registro INTCON.

3 Esperar el tiempo de adquisición en el

T

R

U

J 3. Esperar el tiempo de adquisición en el condensador de sujeción interno.4. Comenzar la conversión, colocando en 1 el

J

I

L

L ,bit GO/DONE del registro (ADCON0), este bit no se debe poner en 1 al mismo tiempo que instrucción que enciende el módulo A/D

O

A

R instrucción que enciende el módulo A/D (ADON = 1)

I

A

S

Page 229: La Gama Alta de Los PIC(18F452)

Módulo conversión A/D (Pasos)Módulo conversión A/D (Pasos)(18F452)V

5. Esperar que la conversión A/D concluya cuando:

L

A

D

I cuando:El bit GO/DONE se ponga en 0 ó la interrupción del conversor A/D se dé.

M

I

R /6. Leer el resultado en los registros ADRESH y ADRESL y borrar el bit ADIF si es necesario.

T

R

U

J

7. Para conversiones sucesivas, se deben esperar 2 TAD’s antes de que el nuevo tiempo de adquisición comience Se entiende por un TAD el

J

I

L

L

adquisición comience. Se entiende por un TAD, el tiempo que demora la conversión de 1 bit y no puede ser menor a 1.6 micro segundos

O

A

R puede ser menor a 1.6 micro segundosI

A

S

Page 230: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F452)V

Los bits ADCS0, ADCS1 y ADCS2, permiten ó

L

A

D

I

escoger el oscilador para la conversión A/D que tiene relación directa con el TAD.

M

I

R

El TAD se obtiene así:TAD = 1/(FOSC/n) ó TOSC * n donde TOSC =

T

R

U

J( )

1/FOSC. Si el valor de ADCS0, ADCS1, ADCS2 es de 101, el

J

I

L

L

valor del TAD será de (16 * TOSC)Si se desea trabajar con el oscilador RC interno del

ód l A/D l l d l TAD á d 2 i

O

A

R

módulo A/D, el valor del TAD será de 2 micro segundos.

I

A

S

Page 231: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F452)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 232: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F452)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 233: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F452)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 234: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F452)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 235: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4520)V

El módulo A/D de este micro consta de L

A

D

I

13 canales analógicos. El resultado de la conversión es de 10 bits.

M

I

R la conversión es de 10 bits.Cinco registros conforman este módulo.

T

R

U

J ADRESH, ADRESL, registros de control ADCON0, ADCON1 y ADCON2.

J

I

L

L , yO

A

R

I

A

S

Page 236: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4520)V

L

A

D

I

M

I

R

Bit 1 GO/DONE: Bit de estado de la conversión A/DCuando ADON = 1:

T

R

U

J Cuando ADON = 1:1 = Conversión A/D en progreso.0 = Conversor A/D desocupado

h b l d d ód l /

J

I

L

L

Bit 0 ADON: Bit habilitador de módulo A/D1 = Módulo A/D habilitado0 = Módulo A/D deshabilitado

O

A

R 0 = Módulo A/D deshabilitadoI

A

S

Page 237: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4520)V

Bit 7-6 Sin implementarBit 5-2 CHS3:CHS0: Selección del canal analógico

L

A

D

I g0000 = Canal 0 (AN0/RA0)0001 = Canal 1 (AN1/RA1)0010 = Canal 2 (AN2/RA2)0011 C l 3 (AN3/RA3)

M

I

R

0011 = Canal 3 (AN3/RA3)0100 = Canal 4 (AN4/RA5)0101 = Canal 5 (AN5/RE0)0110 = Canal 6 (AN6/RE1)

T

R

U

J( / )

0111 = Canal 7 (AN7/RE2)1000 = Canal 8 (AN8/RB2)1001 = Canal 9 (AN9/RB3)1010 Canal 10 (AN10/RB1)

J

I

L

L

1010 = Canal 10 (AN10/RB1)1011 = Canal 11 (AN11/RB4)1100 = Canal 12 (AN12/RB0)1101 = Sin implementar

O

A

R p1110 = Sin implementar 1111 = Sin implementar

I

A

S

Page 238: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4520)V

L

A

D

I

M

I

R

Bit 7-6 Sin implementar, se lee como ‘0’Bit 5 VCFG1: Configuración de Voltaje de referencia (VREF-)

T

R

U

J

1 = VREF- (AN2)0 = VSS

ó

J

I

L

L

Bit 4 VCFG0: Configuración de Voltaje de referencia (VREF+)1 = VREF+ (AN3)0 = VDD

O

A

R 0 = VDDI

A

S

Page 239: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4520)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 240: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4520)V

L

A

D

I

M

I

R

Bit 7 ADFM: Selección del formato del es ltado del mód lo A/D

T

R

U

J resultado del módulo A/D1 = Justificado a la derecha

J

I

L

L

0 = Justificado a la izquierda

Bit 6 Sin implementar

O

A

R Bit 6 Sin implementarI

A

S

Page 241: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4520)V

Bit 5-3 ACQT2:ACQT0: Bit de selección del ó

L

A

D

I

tiempo de adquisición111 = 20 TAD

M

I

R

110 = 16 TAD101 = 12 TAD

T

R

U

J

100 = 8 TAD011 = 6 TAD

J

I

L

L

010 = 4 TAD001 = 2 TAD

O

A

R

000 = 0 TADI

A

S

Page 242: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4520)V

bit 2-0 ADCS2:ADCS0: Bit de selección del ó

L

A

D

I

reloj para la conversión A/D (TAD).111 = Uso del temporizador RC interno

M

I

R

110 = FOSC/64101 = FOSC/16

T

R

U

J

100 = FOSC/4011 = Uso del temporizador RC interno

J

I

L

L

010 = FOSC/32001 = FOSC/8

O

A

R

000 = FOSC/2I

A

S

Page 243: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4520)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 244: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4520)V

Pasos para realizar una conversión A/D.

L

A

D

I

1. Configuración del módulo A/DConfigurar los pines analógicos y los voltajes de

M

I

R

referencia (ADCON1)Seleccionar canal de entrada (ADCON0)

T

R

U

J Escoger el tiempo de adquisición (ADCON2)Seleccionar el tiempo de conversión TAD’s (ADCON2)

J

I

L

L

(ADCON2)Habilitar el módulo A/D (ADCON0)

O

A

R

I

A

S

Page 245: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4520)V

2. Configurar las interrupciones A/DBorrar el bit ADIF

L

A

D

I Borrar el bit ADIFPoner en 1el bit ADIEPoner en 1 el bit GIE.

M

I

R

3. Esperar a que transcurra el tiempo de adquisición si es necesario4 Comenzar la conversión Colocando en 1 el bit GO/DONE del

T

R

U

J 4. Comenzar la conversión. Colocando en 1 el bit GO/DONE del (ADCON0)5. Esperar a que la conversión A/D termine.

J

I

L

L

Cuando GO/DONE se pone en 0 ó se da una interrupción A/D6. leer el resultado de la conversión en (ADRESH:ADRESL) y borrar el bit ADIF si es necesario

O

A

R borrar el bit ADIF, si es necesario.I

A

S

Page 246: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4520)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 247: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4520)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 248: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4520)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 249: La Gama Alta de Los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4520)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 250: La Gama Alta de Los PIC(18F452)

Temporizador Timer 0V

Las características que posee el Timer0 son las siguientes:

L

A

D

I siguientes:Se puede seleccionar un modo de trabajo a 8 o 16 bitsS d l ibi él

M

I

R

Se puede leer y escribir en él.Posee un pre escalador propio de 8 bits.Selección de fuente de reloj externa (Pin RA4 T0CKI)

T

R

U

J Selección de fuente de reloj externa (Pin RA4 T0CKI) o interna Fosc/4Genera una interrupción cuando se desborda en modo de 8 o 16 bits

J

I

L

L

modo de 8 o 16 bits.El timer 0 es controlado por el registro T0CON

O

A

R

I

A

S

Page 251: La Gama Alta de Los PIC(18F452)

Temporizador Timer 0 Reg. T0CONV

L

A

D

I

M

I

R

Bit 7 TMR0ON: Bit de control ON/OFF del Timer01 = Habilita el Timer0

T

R

U

J

0 = Detiene el Timer0Bit 6 T08BIT: Bit de selección de Timer0 en modo

J

I

L

L

8 bits o 16 bits1 = Timer0 en modo 8 bits

O

A

R

0 = Timer0 en modo 16 bitsI

A

S

Page 252: La Gama Alta de Los PIC(18F452)

Temporizador Timer 0 Reg. T0CONV

Bit 5 T0CS: Bit de selección de la fuente de reloj de Timer0

L

A

D

I Timer0.1 = Transiciones en el pin T0CKI (RA4)0 = Reloj interno de Instrucciones (FOSC/4)

M

I

R

Bit 4 T0SE: Bit de tipo de flanco para incremento de Timer0.

1 Incremento por flanco de bajada

T

R

U

J 1 = Incremento por flanco de bajada. 0 = Incremento por flanco de subida.

Bit 3 PSA: Bit de asignación del Pre escalador

J

I

L

L g1 = Pre escalador no asignado a Timer0.0 = Pre escalador asignado a Timer0.

O

A

R

I

A

S

Page 253: La Gama Alta de Los PIC(18F452)

Temporizador Timer 0 Reg. T0CONV

Bit 2-0 T0PS2:T0PS0: Bits de selección del pre escalador

L

A

D

I

pre escalador.111 = 1:256110 1:128

M

I

R

110 = 1:128101 = 1:64100 = 1:32

T

R

U

J 100 = 1:32011 = 1:16010 = 1:8

J

I

L

L 010 1:8001 = 1:4000 = 1:2

O

A

R

I

A

S

Page 254: La Gama Alta de Los PIC(18F452)

Temporizador Timer 0V

Si no se asigna preescalador a TMRO, el registro de él se incrementa cada ciclo de reloj

L

A

D

Iél se incrementa cada ciclo de reloj.Si el registro TMR0L es escrito, el conteo no se reanuda hasta dos ciclos de instrucción después

M

I

R

reanuda, hasta dos ciclos de instrucción después.Si se utilizan instrucciones como:

clrf TMR0 movwf TMR0 ó bsf TMR0 el pre escalador es

T

R

U

J clrf TMR0, movwf TMR0 ó bsf TMR0, el pre escalador es puesto a 0, aunque la asignación del pre escalador no cambia.

ó

J

I

L

L

La interrupción de TMR0, no puede sacar al procesador de un SLEEP, ya que en este caso el oscilador interno esta parado

O

A

R oscilador interno esta parado.I

A

S

Page 255: La Gama Alta de Los PIC(18F452)

Temporizador Timer 0V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 256: La Gama Alta de Los PIC(18F452)

Temporizador Timer 0V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 257: La Gama Alta de Los PIC(18F452)

Temporizador Timer 0V

El registro TMR0H se actualiza solo L

A

D

I

cuando se hace una lectura de TMR0L, esto con el fin de leer los 16 bits de

M

I

R esto con el fin de leer los 16 bits de TMR0.L t lt d TMR0 l

T

R

U

J La parte alta de TMR0, solo se carga en el registro TMR0H cuando se hace una

J

I

L

L

escritura en TMR0L, esto con el fin de transferir los 16 bits a la vez

O

A

R

I

A

S

Page 258: La Gama Alta de Los PIC(18F452)

Temporizador Timer 1 V

El Timer1 es un temporizador de 16 bits posee los registros TMR1H y TMR1L

L

A

D

I registros TMR1H y TMR1L.Selección de fuente de reloj interna o externa.Puede conectarse un oscilador en los pines de

M

I

R

Puede conectarse un oscilador en los pines de entrada de Timer1 con el fin de tener una base de tiempo precisa independiente del reloj interno.

T

R

U

J tiempo precisa independiente del reloj interno.La interrupción se genera por reboseUn evento especial del módulo CCP lo coloca en 0

J

I

L

L Un evento especial del módulo CCP, lo coloca en 0O

A

R

I

A

S

Page 259: La Gama Alta de Los PIC(18F452)

Temporizador Timer 1V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 260: La Gama Alta de Los PIC(18F452)

Temporizador Timer1 Reg. T1CONV

Bit 7 RD16: Modo de lectura escritura de 16-bits

L

A

D

I

bits1 = Habilita la lectura y escritura del Timer1 en una operación de 16-bits

M

I

R

una operación de 16 bits.0 = Habilita la lectura y escritura del Timer1 en dos operaciones de 8-bits.

T

R

U

Jp

Cuando RD16 vale 1, la parte alta del timer 1 es transferida a TMR1H a través de un buffer.

J

I

L

L

Esto ocurre solo cuando TMR1L es leído, así se transfieren los 16 bits al tiempo.

O

A

R

I

A

S

Page 261: La Gama Alta de Los PIC(18F452)

Temporizador Timer1 Reg. T1CONV

Para realizar una escritura de 16 bits a el Timer 1 se carga TMR1H con el valor

L

A

D

I

Timer 1, se carga TMR1H con el valor deseado y a continuación se escribe TMR1L, en ese instante se hace la transferencia de 16

M

I

R

en ese instante se hace la transferencia de 16 bits a la vez.Bit 6 Sin implementar

T

R

U

J Bit 6 Sin implementarBit 5-4 T1CKPS1:T1CKPS0: Bits del pre escalador de Timer1

J

I

L

L escalador de Timer111 = 1:810 = 1:4

O

A

R 10 1:4 01 = 1:2 00 = 1:1

I

A

S

Page 262: La Gama Alta de Los PIC(18F452)

Temporizador Timer1 Reg. T1CONV

Bit 3 T1OSCEN: Bit habilitador del Oscilador de Timer1

L

A

D

I de Timer1.1 = Oscilador de Timer1 habilitado0 = Oscilador de Timer1 apagado

M

I

R

0 = Oscilador de Timer1 apagadoBit 2 T1SYNC: Sincronización de reloj externo con el reloj interno

T

R

U

J externo con el reloj internoCuando TMR1CS = 1:1 = No sincronice la señal de reloj externa

J

I

L

L 1 No sincronice la señal de reloj externa0 = Sincronice la señal de reloj externaCuando TMR1CS = 0:

O

A

R Cuando TMR1CS 0:Se ignora, ya que se esta usando el reloj interno

I

A

S

Page 263: La Gama Alta de Los PIC(18F452)

Temporizador Timer1 Reg. T1CONV

Bit 1 TMR1CS: Bit de selección de la fuente

L

A

D

I

de reloj de Timer1.1 = Reloj externo, entrada por

/ / ( d fl d

M

I

R

RC0/T1OSO/T13CKI (cuenta cada flanco de subida)0 R l j I t (FOSC/4)

T

R

U

J 0 = Reloj Interno (FOSC/4)

Bit 0 TMR1ON: Bit de encendido del Timer1

J

I

L

L

1 = Habilita el conteo en Timer10 = Detiene el conteo en Timer1

O

A

R

I

A

S

Page 264: La Gama Alta de Los PIC(18F452)

Temporizador Timer1. OsciladorV

El oscilador externo para Timer1 se ubica

L

A

D

I

entre los pines T1OSO y T1OSI (RC0 y RC1)El oscilador de cuarzo que se conecta a estos

M

I

R

pines no debe exceder los 200 KHz.Los condensadores sugeridos son de 33 pF.

T

R

U

J Los condensadores sugeridos son de 33 pF.Una alta capacitancia incrementa la estabilidad pero aumenta el tiempo de

J

I

L

L estabilidad, pero aumenta el tiempo de arranque del oscilador

O

A

R

I

A

S

Page 265: La Gama Alta de Los PIC(18F452)

Temporizador Timer 1V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 266: La Gama Alta de Los PIC(18F452)

Temporizador Timer 2V

El Timer2 se caracteriza por lo siguienteUn registro TMR2 de 8 bits

L

A

D

I

Un registro TMR2 de 8 bitsUn registro PR2, que controla el máximo conteo de TMR2

M

I

R

conteo de TMR2.Un pre escalador de (1:1, 1:4, 1:16)Un post escalador (1:1 a 1:16)

T

R

U

J Un post escalador (1:1 a 1:16)Se genera una interrupción al igualarse TMR2 con PR2.

J

I

L

L con PR2.TMR2 es utilizado como base de tiempo para el control del módulo PWM

O

A

R

I

A

S

Page 267: La Gama Alta de Los PIC(18F452)

Temporizador Timer 2V

El pre escalador y el post escalador son L

A

D

I

puestos a su valor mínimo, cuando:Se escribe en el registro TMR2.

M

I

R

Se escribe en el registro TMR2.Se escribe en el registro T2CONP RESET

T

R

U

J Por un RESETEl valor de TMR2 no se pone en 0 si

J

I

L

L

T2CON es modificado.O

A

R

I

A

S

Page 268: La Gama Alta de Los PIC(18F452)

Temporizador Timer 2V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 269: La Gama Alta de Los PIC(18F452)

Temporizador Timer2 Reg. T2CONV

Bit 7 Sin implementarBit 6 a 3 TOUTPS3:TOUTPS0: Timer2 Post

L

A

D

I Bit 6 a 3 TOUTPS3:TOUTPS0: Timer2 Post escalador

0000 = 1:1 Post escalador0001 1 2 P t l d

M

I

R

0001 = 1:2 Post escalador1111 = 1:16 Post escalador

Bit 2 TMR2ON: Bit de encendido

T

R

U

J1 = Timer2 encendido0 = Timer2 apagado

Bit 1 a 0 T2CKPS1:T2CKPS0: Timer2 Pre escalador

J

I

L

L Bit 1 a 0 T2CKPS1:T2CKPS0: Timer2 Pre escalador00 = Pre escalador en 101 = Pre escalador en 41x Pre escalador en 16

O

A

R1x = Pre escalador en 16I

A

S

Page 270: La Gama Alta de Los PIC(18F452)

Temporizador Timer2V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 271: La Gama Alta de Los PIC(18F452)

Temporizador Timer 3V

El temporizador Timer3 posee las siguientes

L

A

D

I

características:16 – bits de tamaño, conformado por dos

M

I

R

registros de 8 bitsUso de oscilador externo.

T

R

U

J

Interrupción por rebose del temporizador, al pasar de FFFFh a 0000h

J

I

L

L

Se puede borrar por un disparo del módulo CCP.

O

A

R

I

A

S

Page 272: La Gama Alta de Los PIC(18F452)

Temporizador Timer 3V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 273: La Gama Alta de Los PIC(18F452)

Temporizador Timer 3 Reg. T3CONV

Bit 7 RD16: Habilita el modo de lectura L

A

D

I

escritura de 16 bits1 = Habilita la lectura escritura del Timer3

M

I

R

1 Habilita la lectura escritura del Timer3 en una operación de 16 bits. El TMR3H, se actualiza al leer o escribir en el TMR3L

T

R

U

J actualiza al leer o escribir en el TMR3L0 = Habilita la lectura escritura del Timer3 en dos operaciones de 8 bits

J

I

L

L

en dos operaciones de 8 bits. O

A

R

I

A

S

Page 274: La Gama Alta de Los PIC(18F452)

Temporizador Timer 3 Reg. T3CONV

Bit 6-3 T3CCP2:T3CCP1:Uso del Timer3 y Ti 1 t b j l ód l CCP

L

A

D

I

Timer1 para trabajar con el módulo CCPx.1x = Timer3 es la fuente de reloj para el

ód l CCP d t ió

M

I

R

módulo CCP en modo captura y comparación.01 = Timer3 es la fuente de reloj para el

ód l l f d l

T

R

U

J módulo CCP2 y Timer1 es la fuente de reloj para el módulo CCP1

J

I

L

L

00 = Timer1 es la fuente de reloj para el módulo CCP en modo captura y comparación.

O

A

R

I

A

S

Page 275: La Gama Alta de Los PIC(18F452)

Temporizador Timer 3 Reg. T3CONV

Bit 5-4 T3CKPS1:T3CKPS0: Pre escalador del Timer3

L

A

D

ITimer3

11 = 1:810 = 1:4

M

I

R

10 = 1:401 = 1:200 = 1:1

T

R

U

J

Bit 2 T3SYNC: Bit para sincronización de la fuente de reloj externa de Timer3.

J

I

L

L

Cuando TMR3CS = 1:1 = No sincronice el reloj externo con el interno0 = sincronice el reloj externo con el interno

O

A

R 0 sincronice el reloj externo con el interno

Cuando TMR3CS = 0:Es ignorado.

I

A

S

Page 276: La Gama Alta de Los PIC(18F452)

Temporizador Timer 3 Reg. T3CONV

Bit 1 TMR3CS: Selección de la fuente d l j d Ti 3

L

A

D

I

de reloj de Timer31 = Fuente de reloj externa proveniente

M

I

R

del oscilador de Timer1 o del pin T1CKI0 = Fuente de reloj interna (FOSC/4)

T

R

U

J

Bit 0 TMR3ON: Encendido de Timer31 = Habilita Timer3

J

I

L

L 1 Habilita Timer30 = Detiene Timer3

O

A

R

I

A

S

Page 277: La Gama Alta de Los PIC(18F452)

Temporizador Timer3V

Para que el reset debido al evento de L

A

D

I

disparo del módulo CCP funcione, el TIMER3, debe estar configurado con

M

I

R TIMER3, debe estar configurado con reloj interno o externo con sincronización

T

R

U

J sincronización.El evento de disparo coloca en 0 el

J

I

L

L

timer 3 pero no genera una interrupción.

O

A

R pI

A

S

Page 278: La Gama Alta de Los PIC(18F452)

Temporizador Timer3V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 279: La Gama Alta de Los PIC(18F452)

Modulo CCPV

El módulo CCP1 y CCP2, constan de 1 registro de control CCPxCON y 2 registros de 8 bits auxiliares

L

A

D

I control CCPxCON y 2 registros de 8 bits auxiliares (CCPRxL y CCPRxH) para el manejo del módulo. Los modos de trabajo son captura, comparación y PWM

M

I

R

PWM.Este módulo hace uso de los temporizadores Timer1, Timer2 y Timer3

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 280: La Gama Alta de Los PIC(18F452)

Modulo CCP (Registro de control)V

L

A

D

I

M

I

R

Bit 7-6 Sin implementar

T

R

U

J Bit 7-6 Sin implementarBit 5-4 DCxB1:DCxB0: bit 0 y 1 de el ciclo de t b j PWM d d t

J

I

L

L

trabajo PWM, no usado en modo captura y comparación

O

A

R

I

A

S

Page 281: La Gama Alta de Los PIC(18F452)

Modulo CCP (Registro de control)V

Bit 3-0 CCPxM3:CCPxM0: Bits de selección del modo de trabajo0000 = Modulo CCP apagado

L

A

D

I0001 = Reservado0010 = Modo compara, pulso a la salida al darse la igualdad (CCPxIF se coloca en 1)0011 = Reservado

M

I

R

0100 = Moda captura, cada flanco de bajada.0101 = Modo captura, cada flanco de subida.0110 = Modo captura, cada 4 flancos de subida.0111 Modo captura cada 16 flancos de subida

T

R

U

J 0111 = Modo captura, cada 16 flancos de subida.1000 = Modo compara, coloca el pin CCP en estado alto cuando se produce la igualdad (CCPIF se coloca en 1)1001 = Modo compara, coloca el pin CCP en estado alto al darse la i ld d (CCPIF l 1)

J

I

L

L

igualdad (CCPIF se coloca en 1)1010 = Modo compara, el pin CCP no cambia, CCPIF se coloca en 1 cuando la igualdad se da.1011 = Modo compara, se genera un evento trigger al producirse la i ld d (CCPIF l 1)

O

A

Rigualdad (CCPIF se coloca en 1)11xx = Modo PWM

I

A

S

Page 282: La Gama Alta de Los PIC(18F452)

Modulo CCP (Modo de Captura)V

En modo de captura los registros CCPR1H:CCPR1L, capturan el valor de los 16 bits de los registros de TMR1 o TMR3 cuando un

L

A

D

I valor de los 16 bits de los registros de TMR1 o TMR3, cuando un evento en el pin RC2/CCP1 ocurre.Los eventos son:

M

I

R

Cada flanco de bajadaCada flanco de subidaCada 4 flancos de subida

T

R

U

J Cada a cos de sub daCada 16 flancos de subida

El pin del módulo CCPP debe ser configurado como entrada

J

I

L

L

El timer 1 y 3 deben estar sincronizados con el reloj interno, si están contando pulsos externos.Si se realiza un cambio de configuración del modo de trabajo

O

A

R Si se realiza un cambio de configuración del modo de trabajo del módulo CPP, se debe apagar el módulo. Ya que si no se hace se puede generar una falsa interrupción.

I

A

S

Page 283: La Gama Alta de Los PIC(18F452)

Modulo CCP (Modo de Captura)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 284: La Gama Alta de Los PIC(18F452)

Modulo CCP (Modo de Captura)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 285: La Gama Alta de Los PIC(18F452)

Modulo CCP (Modo Compara)V

En modo compara, los 16 bits de los registros CCPR1 o (CCPR2) son comparados constantemente con el valor de TMR1 o TMR3

L

A

D

I son comparados constantemente con el valor de TMR1 o TMR3.Cuando el valor de CCPRx se hace igual al de un Timer, ocurre lo siguiente en los pines RC2/CCP1 o RC1/CCP2:

M

I

R

Se pone en estado altoSe pone en estado bajoCambia de estado (Alto a Bajo o Bajo a Alto)

T

R

U

J Ca b a de estado ( to a ajo o ajo a to)Se mantiene sin cambios

El timer 1 y 3 deben estar sincronizados con el reloj interno, si están contando pulsos externos

J

I

L

L

están contando pulsos externos.Si se realiza un cambio de configuración del modo de trabajo del módulo CPP, se debe apagar el módulo. Ya que si no se

O

A

R ghace se puede generar una falsa interrupciónI

A

S

Page 286: La Gama Alta de Los PIC(18F452)

Modulo CCP (Modo Compara)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 287: La Gama Alta de Los PIC(18F452)

Modulo CCP (Modo Compara)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 288: La Gama Alta de Los PIC(18F452)

Modulo CCP (Modo PWM)V

El modo PWM, posee una resolución de 10 bits.Al borrar el registro CCPxCON la salida del módulo

L

A

D

IAl borrar el registro CCPxCON, la salida del módulo PWM se pone en su estado por defecto (0).El registro Timer 2 es utilizado como base de tiempo

M

I

R

El registro Timer 2 es utilizado como base de tiempo para la operación de este módulo.El pos escalador de TMR2 no se utiliza.

T

R

U

J

El periodo PWM esta dado por:Periodo PWM = [PR2 + 1] * 4* TOSC*(Pre escalador TMR2)

El i l d t b j ti d t t d d

J

I

L

L

El ciclo de trabajo o tiempo de cresta esta dado por:Tiempo Cresta PWM = (CCPR1L:CCP1CON<5:4>)*TOSC *(Pre escalador de TMR2)

O

A

R ( )I

A

S

Page 289: La Gama Alta de Los PIC(18F452)

Modulo CCP (Modo PWM)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 290: La Gama Alta de Los PIC(18F452)

Modulo CCP (Modo PWM)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 291: La Gama Alta de Los PIC(18F452)

Modulo CCP (Modo PWM)V

Como Configurar el módulo PWMSeleccione el periodo de trabajo mediante el registro

L

A

D

ISeleccione el periodo de trabajo mediante el registro PR2.Seleccione el tiempo de cresta de PWM mediante el

M

I

R

Seleccione el tiempo de cresta de PWM mediante el registro CCPR1L y los bits 5 y 4 de CCP1CON.Configure el pin de salida del módulo CPP como

T

R

U

J salida.Configure el preescalador de Timer2 en el registro T2CON

J

I

L

L

T2CON.Configure el módulo CPP para modo de trabajo PWM.

O

A

R

I

A

S

Page 292: La Gama Alta de Los PIC(18F452)

Modulo CCP (Modo PWM)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 293: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USARTV

El módulo de comunicación serial puede L

A

D

I

ser configurado de la siguiente manera:Sistema asíncrono full duplex.

M

I

R

Sistema asíncrono full duplex. Sistema sincrónico half-duplex (Maestro).Si t i ó i h lf d l (E l )

T

R

U

J Sistema sincrónico half-duplex (Esclavo).

El módulo USART cuenta con dos

J

I

L

L

registro de configuración.Registro de control de transmisión TXSTA

O

A

R Registro de control de transmisión TXSTA.Registro de control de recepción RCSTA.

I

A

S

Page 294: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Registro TXSTA)V g

L

A

D

I

M

I

R

Bit 7 CSRC: Selección de la fuente de reloj. Modo Asíncrono:

T

R

U

J Modo Asíncrono:No se tiene en cuenta

Modo sincrónico:

J

I

L

L Modo sincrónico:1 = Modo maestro (reloj generado internamente por el BRG)0 = Modo Esclavo (reloj de fuente externa)

O

A

R 0 = Modo Esclavo (reloj de fuente externa)I

A

S

Page 295: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Registro TXSTA)V g

Bit 6 TX9: Habilitador de transmisión de 9-bit.1 = 9 bits para transmitir

L

A

D

I 1 = 9 bits para transmitir.0 = 8 bits para transmitir.

Bit 5 TXEN: Habilitación de Transmisión

M

I

R

Bit 5 TXEN: Habilitación de Transmisión1 = Transmisión habilitada0 = Transmisión deshabilitada

T

R

U

J

Bit 4 SYNC: Selección del modo de trabajo USART

d i ó i

J

I

L

L

1 = Modo sincrónico0 = Modo asíncrono

O

A

R

I

A

S

Page 296: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Registro TXSTA)V g

Bit 3 Sin implementaró

L

A

D

I

Bit 2 BRGH: Modo de selección de trabajo del Baud Rate Generator

Modo asíncrono:

M

I

R

Modo asíncrono:1 = Alta velocidad0 = Baja velocidad

T

R

U

J

Modo Sincrónico:No utilizado en este modo

Bit 1 TRMT E t d d l i t d i i t

J

I

L

L

Bit 1 TRMT: Estado del registro de corrimiento1 = TSR vacío0 = TSR lleno

O

A

R 0 = TSR lleno

Bit 0 TX9D: Noveno bit de datos a ser transmitidoI

A

S

Page 297: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Registro RCSTA)V g

L

A

D

I

M

I

R

Bit 7 SPEN: Habilitador de puerto serial1 = Puerto serial habilitado

T

R

U

J 1 = Puerto serial habilitado0 = Puerto serial deshabilitado

Bit 6 RX9: Habilita la recepción de noveno bit

J

I

L

L Bit 6 RX9: Habilita la recepción de noveno bit.1 = Se van a recibir 9 bits.0 = Se van a recibir 8 bits.

O

A

R 0 Se van a recibir 8 bits.I

A

S

Page 298: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Registro RCSTA)V g

Bit 5 SREN: Habilitación de recepción L

A

D

I

simple.Modo asíncrono:

M

I

R

Modo asíncrono:No se tiene en cuenta

Modo sincrónico Maestro:

T

R

U

J Modo sincrónico - Maestro:1 = Habilita una recepción simple0 D h bilit l ió i l

J

I

L

L

0 = Deshabilita la recepción simple.

Modo sincrónico - Esclavo:O

A

R

No se tiene en cuentaI

A

S

Page 299: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Registro RCSTA)V g

bit 4 CREN: Habilita la recepción L

A

D

I

continua.Modo asíncrono:

M

I

R

Modo asíncrono:1 = Habilita el receptor0 = Deshabilita el receptor

T

R

U

J 0 = Deshabilita el receptor

Modo sincrónico:1 H bilit l ió ti h t l

J

I

L

L

1 = Habilita la recepción continua, hasta que el bit CREN se borre (CREN sobrescribe SREN)0 = Deshabilita la recepción continua

O

A

R 0 = Deshabilita la recepción continua.I

A

S

Page 300: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Registro RCSTA)V g

bit 3 ADDEN: Habilita la detección de direccionesModo asíncrono con noveno bit en 1 (RX9 = 1):

L

A

D

I Modo asíncrono con noveno bit en 1 (RX9 1):1 = Habilita la detección de direcciones, habilita la interrupción y lee el buffer de recepción cuando RSR<8> se pone en 10 = Deshabilita la detección de direcciones, todos los bytes son

b d l b d b d d d

M

I

R

recibidos y el noveno bit se puede usar como bit de paridadbit 2 FERR: Bit de error de Encuadre

1 = Error de encuadre

T

R

U

J

0 = No hay error de encuadrebit 1 OERR: Bit de error de desborde

1 = Error de desborde

J

I

L

L1 = Error de desborde0 = No hay error de desborde

bit 0 RX9D: Noveno bit en recepción

O

A

R

I

A

S

Page 301: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Tasa de transferencia)V

Existen dos modos para calcular la tasa de transferencia de puerto serial USART Modo alta y baja velocidad

L

A

D

I puerto serial USART. Modo alta y baja velocidad. El bit BRGH <TXSTA 2>, permite escoger el modo, mientras que el registro SPBRG contiene la tasa de transferencia

id E l i “X” l l d SPBRG

M

I

R

escogida. En las ecuaciones “X” es el valor de SPBRGModo asíncrono baja velocidad.

Tasa de transferencia = FOSC/(64(X+1))

T

R

U

J Tasa de transferencia FOSC/(64(X+1))

Modo asíncrono alta velocidad.Tasa de transferencia = FOSC/(16(X+1))

J

I

L

L

Modo sincrónico baja velocidad.Tasa de transferencia = FOSC/(4(X+1))

Modo sincrónico alta velocidad

O

A

R Modo sincrónico alta velocidad.No aplica

I

A

S

Page 302: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Modo asíncrono)V

En modo asíncrono el USART utiliza el estándar de no retorno a cero NRZ

L

A

D

Iretorno a cero NRZ.Se utiliza un bit de inicio, 8 o 9 bits de datos y un bit de parada

M

I

R

de parada. El USART transmite y recibe primero el bit menos significativo

T

R

U

J significativoEl TX y RX pueden funcionar independientemente, aunque utilizan la misma tasa de transferencia.

J

I

L

L aunque utilizan la misma tasa de transferencia. No se soporta bit de paridad por HW, aunque se puede realizar por SW.

O

A

R p pI

A

S

Page 303: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Modo asíncrono TX)V

El registro TSR es actualizado con el L

A

D

I

valor contenido en TXREG, cuando la transferencia de datos ha finalizado; es

M

I

R transferencia de datos ha finalizado; es decir cuando el bit de parada de un dato previo ha sido transmitido

T

R

U

J dato previo ha sido transmitido.TXTREG se actualiza por SW.

J

I

L

L

Una vez que TXREG transfiere sus datos a TSR queda vacío y se produce una

O

A

R a TSR, queda vacío y se produce una interrupción.

I

A

S

Page 304: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Modo asíncrono TX)V

La bandera TXIF se pone en 1, independiente

L

A

D

I

del estado de TXIE y no puede ser borrada por SW. Solo se borra cuando un nuevo valor h d d

M

I

R

ha sido cargado en TXREG.El bit TRMT, muestra el estado del registro de

T

R

U

J

corrimiento TSR, colocándose en 1 cuando TSR esta vacío.

J

I

L

L

La bandera TXIF solo se pone en 1 cuando el bit TXEN esta en 1

O

A

R bit TXEN esta en 1I

A

S

Page 305: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Modo asíncrono TX)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 306: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Modo asíncrono TX)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 307: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Modo asíncrono TX)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 308: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Modo asíncrono TX)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 309: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Modo asíncrono TX)V

Para configurar la transmisión se requiere:1 I i i li l SPBRG l t d t f i

L

A

D

I

1. Inicializar el SPBRG para la tasa de transferencia deseada. Con el bit BRGH se escoge si se desea alta o baja velocidad.

M

I

Rj

2. Habilitar el puerto seria asíncrono colocando en 0 el bit SYNC y poniendo en 1 el bit SPEN.

T

R

U

J3. Si se desean interrupciones colocar en 1 el bit TXIE.4. Si se desea transmisión de noveno bit, colocar en 1 el bit TX9

J

I

L

L

bit TX9. 5. Habilitar la transmisión colocando en 1 el bit TXEN el cual colocará en 1 el bit TXIF.

O

A

R cual colocará en 1 el bit TXIF.6. Cargar el dato a transmitir en TXREG.

I

A

S

Page 310: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Modo asíncrono RX)V

Para habilitar una recepción asíncrona se requiere:1 Inicializar el SPBRG para la tasa de transferencia deseada

L

A

D

I 1. Inicializar el SPBRG para la tasa de transferencia deseada. Con el bit BRGH se escoge si se desea alta o baja velocidad.2. Habilitar el puerto serial asíncrono colocando en 0 el bit SYNC

M

I

R

y poniendo en 1 el bit SPEN.3. Si se desean interrupciones colocar en 1 el bit RCIE.4 Si se desea recepción de noveno bit colocar en 1 el bit RX9

T

R

U

J 4. Si se desea recepción de noveno bit, colocar en 1 el bit RX9. 5. Habilitar la recepción colocando el bit CREN en 1.6. La bandera RCIF se pondrá en 1 cuando la recepción se

J

I

L

L p pcomplete y se generará una interrupción si el bit RCIE fue puesto en 1.7 Leer el dato recibido del registro RCREG

O

A

R 7. Leer el dato recibido del registro RCREG.I

A

S

Page 311: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Modo asíncrono RX)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 312: La Gama Alta de Los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Modo asíncrono RX)V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 313: La Gama Alta de Los PIC(18F452)

V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 314: La Gama Alta de Los PIC(18F452)

V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 315: La Gama Alta de Los PIC(18F452)

V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 316: La Gama Alta de Los PIC(18F452)

V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 317: La Gama Alta de Los PIC(18F452)

V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 318: La Gama Alta de Los PIC(18F452)

V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S

Page 319: La Gama Alta de Los PIC(18F452)

V

L

A

D

I

M

I

R

T

R

U

JJ

I

L

L

O

A

R

I

A

S