362
MICROCONTROLADORES GAMA ALTA Y ARQUITECTURAS ALTA Y ARQUITECTURAS MIXTAS ó ó Departamento de Electrónica Instrumentación y Control. Profesor: Profesor: 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 ARQUITECTURASALTA Y ARQUITECTURAS MIXTAS

ó óDepartamento de Electrónica Instrumentacióny Control.

Profesor:Profesor:Ing. Vladimir Trujillo Arias.

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

Contenido.V

L

CAPITULO 1. IntroducciónEvolución de los sistemas digitalesEstado del Arte

A

D

I

M

I Estado del ArteTendenciasConceptos generales de procesadores

é

I

R

T

R

Qué es un microprocesadorQué es un microcontroladorQué es un DSPQ é es n Dispositi o Lógico Config able

U

J

I

L

Qué es un Dispositivo Lógico ConfigurableTerminología utilizada en la arquitectura de procesadores

L

O

A

RR

I

A

S

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

Contenido.V

L

CAPITULO 2. Conceptos Básicos de Microcontroladores Gama Alta

A

D

I

M

I Microcontroladores Gama AltaFamilias de Microcontroladores de Altas prestaciones

I

R

T

R pArquitecturas de Microcontroladores de Gama Alta

U

J

I

L

L

O

A

RR

I

A

S

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

Contenido.V

L

CAPITULO 3. Microcontroladores PIC de Gama Alta. Familia 18

Arquitectura

A

D

I

M

Iq

Capacidades de computoMemoriaPeriféricos especiales

ó

I

R

T

R

Módulos HWSet de instrucciones

CAPITULO 4. Herramientas de programación y i l ió

U

J

I

L

simulaciónLenguaje EnsambladorCompiladores CSimuladores (MPLAB y PROTEUS)

L

O

A

R Simuladores (MPLAB y PROTEUS)R

I

A

S

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

Contenido.V

L

CAPITULO 5. Arquitecturas MixtasIntroducción

A

D

I

M

I IntroducciónSistemas Multiprocesadores Arquitecturas Electrónicas Paralelas

I

R

T

R Arquitecturas Electrónicas ParalelasProcesadores en Sistemas de Telecomunicaciones y Sistemas

U

J

I

L Telecomunicaciones y Sistemas Industriales

CAPITULO 6 Proyecto Final

L

O

A

R CAPITULO 6. Proyecto Final.R

I

A

S

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

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

L

La aparición del transistor, condujo a su uso como conmutador (lógica binaria).

A

D

I

M

I uso como conmutador (lógica binaria).Aparición de técnicas de integración electrónica (Microelectrónica) primeros

I

R

T

R electrónica (Microelectrónica), primeros circuitos integrados Digitales.Circuitos Integrados Monolíticos

U

J

I

L

Circuitos Integrados MonolíticosL

O

A

RR

I

A

S

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

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

L

Clasificación:Según la forma en que se realizan

A

D

I

M

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

Según el semiconductor: Silicio, Arseniuro de

I

R

T

R g ,Galio, Silicio – GermanioSegún el Transistor: Bipolares, CMOS, BICMOSS ú l ú d i SSI MSI LSI

U

J

I

L

Según el número de transistores: SSI, MSI, LSI, VLSI, ULSI y GLSI.

L

O

A

RR

I

A

S

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

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

L

Clasificación:Según la forma en que se realiza el diseño

A

D

I

M

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

Los Circuitos Integrados Digitales Monolíticos

I

R

T

R g g(CIDM) NormalizadosLos Circuitos Integrados Digitales Monolíticos (CIDM) especificados por el usuario

U

J

I

L

(CIDM) especificados por el usuario.L

O

A

RR

I

A

S

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

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

L

Según el número de transistores:Nivel de Integración # de # de Año

A

D

I

M

I e de teg ac ó deTransistores

decompuertas

o

Pequeña escala de integración SSI 10 a 100 1 a 10 1960

I

R

T

R

Mediana escala de integración MSI 100 a 1000 10 a 100 1965Gran escala de integración LSI 1000 a 10000 100 a 1000 1970

U

J

I

L

Muy Gran escala de integración VLSI

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

L

O

A

R ULSI1985

Giga Gran escala de integración GLSI

>1.000.000 >100.000 1995

R

I

A

S

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

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

L

Circuitos Integrados Digitales Monolíticos (CIDM) Normalizados

A

D

I

M

I( )

CIDM normalizados de función fija. Los cuales poseen una arquitectura predefinida y su comportamiento no se puede alterar

I

R

T

R y su comportamiento no se puede alterar. (Contadores, sumadores, etc.)CIDM normalizados Programables

U

J

I

L CIDM normalizados Programables.Programables de Arquitectura Fija.Programables de Arquitectura Configurable.

L

O

A

RR

I

A

S

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

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

L

CIDM normalizados Programables de Arquitectura Fija. Caracterizados por poseer un Hardware, en el que las conexiones entre los elementos que lo

A

D

I

M

I que las conexiones entre los elementos que lo componen, no pueden ser modificadas. Pueden ser Combinacionales o secuenciales.Los combinacionales se definen mediante una

I

R

T

R Los combinacionales se definen mediante una tabla de verdad que rige su comportamiento, como el caso de las memorias de acceso aleatorio.L i l CPU i

U

J

I

L

Los secuenciales poseen una CPU, que sigue un programa almacenado en memoria.(Aquí se Hallan los Microprocesadores y Microcontroladores)

L

O

A

RR

I

A

S

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

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

L

CIDM normalizados Programables de Arquitectura Configurable. La característica principal de estos dispositivos es la de modificar su función o

A

D

I

M

Ip

comportamiento, utilizando una parte de los elementos que los componen y/o cambiando la interconexión entre ellos.P l d t id d l t ló i

I

R

T

R

Poseen un elevado contenido de elementos lógicos en su interior.Utilizados especialmente en el diseño de sistemas l t ó i di it l l j li i

U

J

I

L

electrónicos digitales complejos, en aplicaciones de paralelismo o en aquellos casos en que los dispositivos existentes no son los adecuados. FPGA’s PLD’s

L

O

A

R FPGA’s, PLD’sR

I

A

S

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

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

L

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

A

D

I

M

I

dispositivos se fabrican por petición de un usuario y en grandes cantidades,

i l t d ió i

I

R

T

R especialmente para producción en serie.Requieren de potentes herramientas de desarrollo electrónico con el fin de ser

U

J

I

L

desarrollo electrónico con el fin de ser diseñados por el que los requiere.

L

O

A

RR

I

A

S

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

El MicroprocesadorDefinición: Es el dispositivo encargado de realizar cálculos aritméticos y

lógicos y que temporiza y controla las operaciones de los demáselementos de un sistema.

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

- Registros generales.- Registro de estado.- Stack.

Reloj de funcionamiento:- Ciclo de reloj: señal de reloj a la entrada del procesador.- Ciclo de máquina: periodo de ejecución de una operación completa del

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

determinada instrucción.

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

El Microprocesador

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

Controlador y yMicrocontrolador

Recibe el nombre de controlador el dispositivo que se emplea para el p q p pgobierno de uno o varios procesos.Ejemplos: Horno, Automóvil.jArquitectura Cambiante en el tiempo.

DiscretoIntegrado Microprocesador.Integrados Microcontrolador.

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

El MicrocontroladorCaracterísticas:

Este circuito integrado programable contiene todos losEste circuito integrado programable contiene todos los componentes de un computador .

No alcanzan el nivel de procesamiento de por ejemplo, un 8086, l t j d d t b j i iaunque poseen la ventaja de poder trabajar sin memoria

externa .

El microcontrolador es un computador dedicado. En su memoriaEl microcontrolador es un computador dedicado. En su memoria 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.

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

El MicrocontroladorEs 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.g

El alto nivel de integración reduce notablemente la cantidad de componentes externos y los costos de desarrollo mejora elcomponentes externos y los costos de desarrollo, mejora el desempeño del sistema, reduce la interferencia electromagnética, minimiza el consumo de potencia y agiliza el tiempo de realización p

El número de productos que utilizan uno o varios microcontroladores aumenta de forma exponencialmicrocontroladores aumenta de forma exponencial.

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

El MicrocontroladorA it t I tArquitectura Interna:

Procesador.Memoria no volátil para contener el programa.Memoria de lectura y escritura para guardar los datos.Líneas de E/S para los controladores de periféricos:

Comunicación paralelo.C i ió iComunicación serie. Diversas puertas de comunicación (USB...)

Recursos auxiliares:Circuito de relojCircuito de reloj, Temporizadores Perro guardián (watchdog)Conversores A/D y D/AConversores A/D y D/AComparadores analógicosProtección ante fallos de la alimentaciónEstado de reposo o de bajo consumo

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

El Microcontrolador

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

El mercado de los microcontroladores

Comunicaciones: 30%Consumo general: 27%gAutomoción: 18%Informática: 15%Informática: 15%Industria: 10%

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

Que microcontrolador EmplearCostosAplicaciónAplicación

Procesamiento de datosEntrada y salidayConsumo de energía (CMOS)MemoriaAncho de PalabraDiseño de la placa

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

Los más popularesAtmelAVRFreescale (antes Motorola)

683xx, 68HCS12, 68HCSX12, 68HC12, 68HC16, 68HC05, 68HC08 68HC11 HCS0868HC08, 68HC11, HCS08

Hitachi, LtdHoltekHoltekIntel

MCS-48 (familia 8048) MCS51 (familia 8051) 8xC251MCS-48 (familia 8048), MCS51 (familia 8051), 8xC251

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

Los más popularesNational Semiconductor Microchip

Familia 10f2xx 12Cxx de 12 bits Familia 12Fxx 16Cxx yFamilia 10f2xx, 12Cxx de 12 bits Familia 12Fxx, 16Cxx y 16Fxx de 14 bits (PIC16F87X) 18Cxx y 18Fxx de 16 bits AVR

NECParallaxTexas Instruments

TMS370 MSP430TMS370, MSP430

ZilogSilabs

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

Recursos Comunes a TodosRecursos Comunes a TodosArquitectura Von Newman

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

Recursos Comunes a TodosRecursos Comunes a TodosArquitectura Hardvard

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

Recursos Comunes a TodosA it t H d E t did SArquitectura Harvard Extendida o Super

Harvard ARChitecture (SHARC).

Esta arquitectura incluye una memoria de caché (Reserva), la cual es utilizada ( )para almacenar instrucciones y datos que serán reutilizadas por la CPU, lib d í l d b d lliberando así los dos buses de la arquitectura Hardvard y permitiéndoles ser utilizados en la búsqueda yser utilizados en la búsqueda y almacenamiento de datos, mientras se ejecutan las instrucciones en cachéejecutan las instrucciones en caché

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

Recursos Comunes a TodosA it t H d E t did SArquitectura Harvard Extendida o Super Harvard ARChitecture (SHARC).

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

Recursos Comunes a TodosA it t H d E t did SArquitectura Harvard Extendida o Super Harvard ARChitecture (SHARC).

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

Recursos Comunes a TodosA it t H d E t did SArquitectura Harvard Extendida o Super Harvard ARChitecture (SHARC).

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

Recursos Comunes a TodosRecursos Comunes a TodosArquitectura Von Newman Modificada.

La arquitectura Von Neuman modificada, permite múltiple acceso a memoria por instrucción, valiéndose de un truco simple que consiste en hacervaliéndose de un truco simple que consiste en hacer el reloj de acceso a memoria más rápido que el de instrucciones. Por ejemplo el DSP32C de Lucent con reloj de 80MhzPor ejemplo el DSP32C de Lucent con reloj de 80Mhz, 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 cadamemoria de este DSP es posible realizarlo cada estado de máquina siendo posible entonces realizar cuatro accesos a memoria por cada ejecución de instruccióninstrucción

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

Recursos Comunes a TodosRecursos Comunes a TodosCPU

CISC Aprox. 80 instrucciones Arquitectura Von NeumanArquitectura Von NeumanRISC Aprox. 30 instrucciones. Arquitectura HardvardArquitectura HardvardSISC Diseños específicos (Controladores Empotrados o embebidos)Empotrados o embebidos)

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

SegmentaciónV

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

OrtogonalidadV

L

La ortogonalidad de las instrucciones hace posible ejecutar cualquier

A

D

I

M

I hace posible ejecutar cualquier operación, sobre cualquier registro, utilizando cualquier modo de

I

R

T

R utilizando cualquier modo de direccionamiento.

U

J

I

L

L

O

A

RR

I

A

S

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

Recursos Comunes a TodosRecursos Comunes a TodosMemoria

RAM. Los datos que manejan los programas varían continuamente, y esto exige que la memoria utilizada para ello debe ser de lectura y escritura.yROM. En este tipo de memoria el programa se graba en el chip durante el proceso de fabricación mediante el uso de máscaras. Se aconseja este tipo de

i d i i dmemoria cuando se precisan series muy grandes, con el fin de disminuir costos de fabricación.OTP. Este modelo de memoria solo puede grabarse

t d l i tili d l iuna vez por parte del usuario, utilizando el mismo procedimiento que con la memoria EPROM. Posteriormente no se puede borrar. Su bajo precio y la sencillez de la grabación aconsejan este tipo dela sencillez de la grabación aconsejan este tipo de memoria para prototipos finales y series de producción cortas.

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

Recursos Comunes a TodosRecursos Comunes a TodosMemoria

EPROM. La grabación de esta memoria se realiza mediante un dispositivo físico gobernado desde un computador personal. En la superficie de la cápsula del microcontroladorexiste una ventana de cristal por la que se puede someter elexiste una ventana de cristal por la que se puede someter el chip a rayos ultravioletas para producir su borrado y 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 vecesFLASH. Se trata de una memoria no volátil, de bajo consumo que se puede escribir y borrar en circuito al igualconsumo, que se puede escribir y borrar en circuito al igual que las EEPROM, pero suelen disponer de mayor capacidad que 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 lasconcretas. Son muy recomendables en aplicaciones en las que sea necesario modificar el programa a lo largo de la vida del producto

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

Recursos Comunes a TodosPuertas de entrada y salida

Puertas de entrada y salida

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

Recursos Comunes a TodosRecursos Comunes a TodosReloj

CristalRCRCExterno

l d d íVelocidad vs. Energía

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

Recursos EspecialesRecursos EspecialesPerro Guardián

Corrección de fallos o bloqueosRefresco para evitar accionesTemporizaciónReset

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

Recursos EspecialesRecursos EspecialesTimers

Conteos de impulsos externosRetardos de softwareRetardos de software

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

Recursos EspecialesRecursos EspecialesBrownout

Se trata de un circuito que resetea al microcontrolador cuando el voltaje demicrocontrolador cuando el voltaje de alimentación (VDD) es inferior a un voltaje mínimo (“brownout”). Mientrasvoltaje mínimo ( brownout ). Mientras el voltaje de alimentación sea inferior al de brownout el dispositivo se mantienede brownout el dispositivo se mantiene reseteado, comenzando a funcionar normalmente cuando sobrepasa dichonormalmente cuando sobrepasa dicho valor.

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

Recursos EspecialesEstado de reposo o bajo consumoConversor A/D D/A/ /Comparador AnalógicoModulador PWMModulador PWM

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

Recursos EspecialesRecursos EspecialesPuertas de comunicación

• UART, adaptador de comunicación serie asíncrona. USART d t d d i ió i• USART, adaptador de comunicación serie

síncrona y asíncrona• Puerta paralela esclava para poder conectarse Puerta paralela esclava para poder conectarse con los buses de otros microprocesadores.• USB (Universal Serial Bus), que es un moderno b i l PCbus serie para los PC.• Bus I 2 C, que es un interfaz serie de dos hilos desarrollado por Philips.desarrollado por Philips.• CAN (Controller Area Network), para permitir la adaptación con redes industriales

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

Estado del Arte y TendenciasV

L

Las empresas líderes a nivel mundial, en sistemas embebidos de uso general son:

A

D

I

M

I

INTEL/AMD (Microprocesadores)TEXAS (Microcontroladores y DSP)

I

R

T

R ( y )ALTERA (PLD’S, FPGA’S DSP’S)XILINX (PLD’S, FPGA’S DSP’S)

U

J

I

L ( S, G S S S)MICROCHIP (Microprocesadores)

L

O

A

RR

I

A

S

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

V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Estado del Arte y TendenciasV

L

INTEL.En la actualidad ofrecen arquitecturas

A

D

I

M

I En la actualidad ofrecen arquitecturas revolucionarias multiprocesador.Intel® Core™2 Quad Processor

I

R

T

R Intel® Core™2 Quad ProcessorU

J

I

L

L

O

A

RR

I

A

S

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

Estado del Arte y Tendencias

INTEL.Q9000 series Q6000 seriesQ9000 series Q6000 seriesManufacturing Process 45nm 65nm

h d h /L2 Shared Cache1 12 MB / 6 MB 8 MBSystem Bus 1333 MHz 1066 MHz

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

Estado del Arte y Tendencias

AMDProcessor AMD Athlon™ X2 Dual-CoreProcessor AMD Athlon X2 Dual-CoreModel Number BE-2400

( )Frequency (MHZ) 2300 L2 Cache Size (KB) 65nm SOI Wattage (W) 45 W SystemBus (MHZ) 2000Bus (MHZ) 2000

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

V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Estado del Arte y TendenciasV

L

Microcontroladores Texas Instruments Familia MSP430Poseen un manejo de potencia muy bajo con

A

D

I

M

I Poseen un manejo de potencia muy bajo, con una CPU de tipo RISC de 16 bitsPoseen una serie de periféricos analógicos y

I

R

T

R p g ydigitales, para mediciones precisas..Incluyen ADCs, DACs, amplificadores operacionales comparadores drivers LCD y

U

J

I

L operacionales, comparadores, drivers LCD y sistemas supervisorios de nivel de voltaje.Ultra-bajo consumo de potencia.

L

O

A

RR

I

A

S

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

Estado del Arte y TendenciasV

L

Microcontroladores Texas Instruments Familia TMS470Poseen una CPU tipo RISC de 32 bits RISC

A

D

I

M

I Poseen una CPU tipo RISC de 32-bits RISCManejan velocidades de reloj por encima de los 60 MHz La memoria de programa puede alcanzar hasta 1MB

I

R

T

R p g pPosee alta integración con una gran variedad de periféricos.Ampliamente utilizado en aplicaciones de:

U

J

I

LAmpliamente utilizado en aplicaciones de:- Industria automotriz- Sistemas Industriales

L

O

A

R

- Aplicaciones generales de sistemas embebidosR

I

A

S

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

Estado del Arte y TendenciasV

L

Procesadores Digitales de señalesDSP de Alto rendimiento TMS320C6000

Con velocidades por encima de 1 GHz

A

D

I

M

I Con velocidades por encima de 1 GHz.Los TMS320C64x y los TMS320C62x poseen ALUs que trabajan con punto fijoLos TMS320C67x manejan punto flotante

I

R

T

R Los TMS320C67x manejan punto flotante Utilizados en aplicaciones donde se manejen señales de gran ancho de banda.Óptimos para aplicaciones de digitalización de audio e imágenes

U

J

I

L Óptimos para aplicaciones de digitalización de audio e imágenesRendimiento 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

L

O

A

RR

I

A

S

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

Estado del Arte y TendenciasV

L

DSP TMS320C5000 Alta eficiencia de energía.

A

D

I

M

I de energía.Estos DSPs son optimizados para elaborar equipos portátiles de uso

I

R

T

R elaborar equipos portátiles de uso personal. Como reproductores personales de audio receptores GPS

U

J

I

L personales de audio, receptores GPS, equipos médicos portátiles, telefonía celular y cámaras digitales

L

O

A

R celular, y cámaras digitales.R

I

A

S

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

Estado del Arte y TendenciasV

L

DSP TMS320C2000 Optimizado para Control.

A

D

I

M

I para Control.Optimizados para trabajo en técnicas de control digital

I

R

T

R de control digital. U

J

I

L

L

O

A

RR

I

A

S

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

V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Estado del Arte y TendenciasV

L

PLD (Programable Logic Device)MAX II (CPLD)

A

D

I

M

I MAX II (CPLD)Bajo consumo de energía, alta densidadUtiliza memoria FLASH

I

R

T

R

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

U

J

I

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

L

O

A

Rp j ,

R

I

A

S

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

Estado del Arte y TendenciasV

L

FPGA (Field Programable Gate Array)CICLONE II

A

D

I

M

ISoporta Nios II embedded processorMultiplicadores digitales 18x18 para DSP’s EmbebidosAmplio portafolio de IP.

I

R

T

R p o po a o o de

CICLONESoporta Nios II embedded processor

l f l d

U

J

I

L

Amplio portafolio de IP.

STRATIX II (Alta Densidad)Soporta Nios II embedded processor

L

O

A

R Soporta Nios II embedded processor Interfaces de I/O de alta velocidadAmplio portafolio de IP.

R

I

A

S

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

Estado del Arte y TendenciasV

L

STRATIX (Alta Densidad)Soporta Nios II embedded processorBloques para DSP

A

D

I

M

I Bloques para DSPInterfaces de I/O de alta velocidadAmplio portafolio de IP.

I

R

T

R

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

U

J

I

L

Todas las características de los otros STRATIXTransceptores de 3.125-GbpsAmplio portafolio de IP

L

O

A

RR

I

A

S

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

Estado del Arte y TendenciasV

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Estado del Arte y TendenciasV

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Estado del Arte y TendenciasV

L

SPARTAN 3 E (FPGA)Posee alrededor de 1.2 millones de

A

D

I

M

I

compuertas Tecnología de 90nm

I

R

T

R

VIRTEX 4 (FPGA)COOL RUNNER (CPLD)

U

J

I

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

L

O

A

RR

I

A

S

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

Estado del Arte y TendenciasV

L

IP COREHerramientas de desarrollo para diseño

A

D

I

M

I Herramientas de desarrollo para diseño de controladores. Y procesadores de diversos tipos que corren sobre sus

I

R

T

R diversos tipos que corren sobre sus plataformas hardware.Processor Central

U

J

I

L

Processor Central.L

O

A

RR

I

A

S

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

V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Estado del Arte y TendenciasV

L

Microcontroladores de Gama Media de la familia 16FXXX

A

D

I

M

I la familia 16FXXXMicrocontroladores de Gama Alta de la familia 18FXXXX

I

R

T

R familia 18FXXXXProcesadores digitales de Señales 30FXXX

U

J

I

L

30FXXXL

O

A

RR

I

A

S

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

DSP DefiniciónV

L

Estrictamente hablando, el término DSP se aplica a cualquier chip que trabaje con

A

D

I

M

I

señales representadas de forma digital.Un Procesador Digital de Señales es un tipo

I

R

T

R

de microprocesador o microcontrolador, increíblemente rápido y poderoso para operaciones repetitivas en las que se realicen

U

J

I

L

operaciones repetitivas en las que se realicen un gran número de sumas y multiplicaciones.

L

O

A

RR

I

A

S

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

Que hace a un DSP un DSP?V

L

Capacidad de realizar operaciones de multiplicación y acumulación (MACs) en

A

D

I

M

I multiplicación y acumulación (MACs) en sólo un ciclo de reloj.Manejo de aplicaciones en tiempo real

I

R

T

R Manejo de aplicaciones en tiempo real Arquitectura que soporte un flujo de datos a alta velocidad hacia y desde la

U

J

I

L

datos a alta velocidad hacia y desde la unidad de cálculo y memoria.

L

O

A

RR

I

A

S

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

Que hace a un DSP un DSP?V

L

Unidades DMA (Direct Memory Acess)Generadores de direcciones (DAG’s)

A

D

I

M

I Generadores de direcciones (DAG s)Mecanismo efectivo de saltos para ejecución de loops

I

R

T

R ejecución de loopsAlta velocidad de procesamiento de

é

U

J

I

L

operaciones aritméticasL

O

A

RR

I

A

S

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

Diferencias entreDiferencias entre Microcontrolador y DSPV

L

Estructura de memoria que poseen. Cantidad de unidades de ejecución que

A

D

I

M

I j qposeen, (operaciones en paralelo).El DSP tiene características diseñadas para

I

R

T

R psoportar tareas de altas prestaciones, repetitivas y numéricamente intensas.

U

J

I

L

Microprocesadores de propósito general y microcontroladores no están especializados

i li ió i l

L

O

A

R para ninguna aplicación en especial.R

I

A

S

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

Requerimientos HW yRequerimientos HW y Operaciones ComunesV

L

Los DSP’s tienen en común ciertas características como:

A

D

I

M

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

I

R

T

R

Buena capacidad de transferencia de datos hacia el mundo real.

U

J

I

L

Acceso a múltiples arquitecturas de memoria.

L

O

A

RR

I

A

S

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

Requerimientos HW yRequerimientos HW y Operaciones ComunesV

L

Las operaciones típicas en los DSPs son:

A

D

I

M

I son:SumasMultiplicación

I

R

T

R MultiplicaciónRetardosManejo de matrices y arreglos de datos

U

J

I

L Manejo de matrices y arreglos de datos.L

O

A

RR

I

A

S

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

Requerimientos HW yRequerimientos HW y Operaciones ComunesV

L

La suma y Multiplicación. Requiere el uso de:

A

D

I

M

I el uso de:Dos operandosAlto rendimiento

I

R

T

R Alto rendimiento.Almacenamiento del resultado.

U

J

I

L

L

O

A

RR

I

A

S

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

Requerimientos HW yRequerimientos HW y Operaciones ComunesV

L

Manejo de ArreglosBúsqueda de valores de lugares consecutivos de

i

A

D

I

M

I memoriaCopia de datos de memoria a memoriaMultiplicación y suma en paralelo.

I

R

T

R Multiplicación y suma en paralelo.Acceso múltiple a memoriaRegistros temporalesf ó

U

J

I

L

Eficiente generación de direcciones.Características especiales como retardos o direccionamiento cíclico

L

O

A

RR

I

A

S

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

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

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

Características GeneralesV

L

Código compatible con la familia 16 y 17 de los PIC

A

D

I

M

I 17 de los PICReloj que puede trabajar por encima de 10 MIPs

I

R

T

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

U

J

I

L

Cristales de 4 Mhz a 10 Mhz utilizando un multiplicador de frecuencia PLL.

Instrucciones de 16 bits con bus de

L

O

A

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

R

I

A

S

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

Características GeneralesV

L

Prioridad de interrupcionesMultiplicador hardware de 8 x 8 que

A

D

I

M

I Multiplicador hardware de 8 x 8 que funciona en un solo ciclo de máquina.Tres pines para manejo de

I

R

T

R Tres pines para manejo de interrupciones externas.

d l d d

U

J

I

L

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

L

O

A

RR

I

A

S

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

Características GeneralesV

L

Timer 1 de 16 bits, Timer 2 de 8 bits.Timer 3 (no lo posee la gama media)

A

D

I

M

I Timer 3, (no lo posee la gama media), de 16 bits (65535 conteos).Dos módulos de

I

R

T

R Dos módulos de Captura/Comparación/PWM.

ód l d ó l

U

J

I

L

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

L

O

A

RR

I

A

S

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

Características GeneralesV

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Características GeneralesV

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Oscilador. (18F452)LP Cristal de baja potenciaLP Cristal de baja potencia.XT Cristal resonador de cuarzoHS Cristal resonador de alta velocidad

Se poseen 3 bits (FOSC2, FOSC1 y FOSC0) l HS Cristal resonador de alta velocidad

(por encima de 8 Mhz.)HS + PLL Cristal de alta velocidad con PLL

FOSC0) para la configuración del tipo de oscilador a

habilitado.RC Oscilador RC externo.RCIO Resistor externo y capacitor con

putilizar.

RCIO Resistor externo y capacitor con pin I/O habilitado.EC Reloj externo.jECIO Reloj externo con pin I/O habilitado

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

Oscilador en modo HS, XT, LP, ,. (18F452)V

L

A

D

I

M

II

R

T

R

U

J

I

L

Una capacitancia elevada, incrementa la estabilidad del oscilador, pero también incrementa los tiempos de inicio del oscilador

L

O

A

R los tiempos de inicio del oscilador interno.

R

I

A

S

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

Oscilador en modo RC . (18F452)

Con el Oscilador en modo, RC, FREC/4 esta disponible , / pen el pin OSC2.Si FREC/4 no se necesita, se recomienda utilizar el modorecomienda utilizar el modo RCIO, para ahorrar corriente.El d RCIO i l lEl modo RCIO, es igual al modo RC, con la diferencia de que el pin OSC2 se q pcomporta como un pin de I/O normal (RA6).

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

Oscilador Externo. (18F452)V

L

Cuando se utiliza el oscilador externo, se puede utilizar el modo EC, el cual se tiene FREC/4 por el pin OSC2.

A

D

I

M

I , / p pTambién se puede tomar el modo ECIO, para ahorro de corriente, el cual OSC2 queda como un pin de propósito general (RA6)

I

R

T

R general (RA6)U

J

I

L

L

O

A

RR

I

A

S

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

PLL. (18F452)

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

PLL. (18F452)V

L

El PLL se utiliza solo cuando el oscilador se ha configurado en modo HS.

A

D

I

M

I

Si la programación del cristal se ha realizado en otro modo, el PLL no se habilita y la

I

R

T

R

fuente de reloj directa proviene de OSC1.Existe un timer que bloquea el PLL, hasta que

h ll l d d él l

U

J

I

L

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

L

O

A

R entrada.R

I

A

S

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

Cambio de Fuente de Reloj. j(18F452)V

L

Los PIC 18Fxx2 permiten cambiar el uso del oscilador de alta velocidad, por uno de baja

A

D

I

M

I

velocidad (como el oscilador de 32Khz de timer1) esa selección se hace en el BIT OSCSEN d l i t d fi ió

I

R

T

R OSCSEN del registro de configuración.El BIT OSCSEN se selecciona antes de programar el PIC para que se pueda producir

U

J

I

L

programar el PIC, para que se pueda producir el cambio de oscilador.

L

O

A

RR

I

A

S

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

Registro OSCON (18F452)V

L

A

D

I

M

I

BIT 7 a 1 No utilizados

I

R

T

R BIT 7 a 1 No utilizadosBIT 0 SCS: System Clock Switch bit

Cuando el BIT OSCSEN este en 0 y T1OSCEN este en 1:

U

J

I

L y1 = Utilice el oscilador del timer 1.0 = Utilice el oscilador primario.

Si el oscilador del Timer1 no esta habilitado cualquier escritura

L

O

A

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

R

I

A

S

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

Diagramas de Tiempo deDiagramas de Tiempo de Transiciones (18F452)V

L

A

D

I

M

II

R

T

R

U

J

I

L

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

L

O

A

RR

I

A

S

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

Diagramas de Tiempo deDiagramas de Tiempo de Transiciones (18F452)V

L

A

D

I

M

II

R

T

R

U

J

I

L

Para la transición entre el oscilador de timer1 y OSC1, existe un tiempo de estabilización de 1024 ciclos de osc1, antes de

L

O

A

Rp ,

comenzar a contar los 8 periodos de sincronización de reloj, después de lo cual el reloj del micro funciona con OSC1.

R

I

A

S

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

Diagramas de Tiempo deDiagramas de Tiempo de Transiciones (18F452)V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Diagramas de Tiempo deDiagramas de Tiempo de Transiciones (18F452)V

L

Cuando la transición de oscilador es entre el timer1 y OSC1, existe un

A

D

I

M

Iy

tiempo de estabilización de 1024 ciclos de osc1 y luego un tiempo necesario

l PLL h l f i

I

R

T

R

para que el PLL enganche la frecuencia de reloj de OSC1, antes de comenzar a contar los 8 periodos de sincronización

U

J

I

L contar los 8 periodos de sincronización de reloj, después de lo cual el reloj del micro comienza a funcionar con OSC1.

L

O

A

R micro comienza a funcionar con OSC1.R

I

A

S

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

Oscilador. (18F4550)V

L

El PIC18F4550 puede operar en 12 modos de oscilador.M d XT C i t l R d

A

D

I

M

I Modo XT Cristal Resonador.XTPLL Cristal Resonador con PLL.HS Cristal de alta velocidad

I

R

T

R HS Cristal de alta velocidad.HSPLL Cristal de alta velocidad con PLL.EC Reloj externo con salida de FOSC/4

U

J

I

L EC Reloj externo con salida de FOSC/4.ECIO Reloj externo con I/O en RA6ECPLL Reloj externo con PLL

L

O

A

R ECPLL Reloj externo con PLLR

I

A

S

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

Oscilador. (18F4550)V

L

ECIO Reloj externo con I/O en RA6 y PLL.INTHS Oscilador Interno, usado como fuente del micro Y oscilador HS usado como fuente

A

D

I

M

I del micro. Y oscilador HS usado como fuente de reloj para USB.INTXT Oscilador Interno, usado como fuente d l i Y il d XT d f t d

I

R

T

R

del micro. Y oscilador XT usado como fuente de reloj para USB.INTIO Oscilador Interno, usado como fuente

U

J

I

L ,del micro. Y oscilador EC usado como fuente de reloj para USB 12. INTCKO Oscilador Interno, usado como fuente del micro. Y oscilador EC

L

O

A

R

usado como fuente de reloj para USB y FOSC/4 saliendo por RA6

R

I

A

S

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

Oscilador en modo HS, XT, LP, ,. (18F4550)V

L

A

D

I

M

II

R

T

R

U

J

I

L

Una capacitancia elevada, incrementa la estabilidad del oscilador, pero también incrementa los tiempos de inicio del oscilador

L

O

A

R los tiempos de inicio del oscilador interno.

R

I

A

S

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

Arquitectura del Oscilador. (18F4550)(18F4550)

V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Oscilador. (18F4550)V

L

Oscilador Interno.Existen 2 fuentes de reloj internas, que permiten el no uso de oscilador cuando USB

A

D

I

M

I permiten el no uso de oscilador, cuando USB esta deshabilitado.La fuente principal (INTOSC) con 8 MHz con

t l d f i d 31

I

R

T

R

postescalador que genera frecuencias de 31 kHz a 4 MHzLa otra fuente de reloj es el oscilador RC

U

J

I

L j(INTRC) con frecuencia nominal de 31 kHz. También es usado como fuente de reloj para módulos como:

L

O

A

R

Power-up TimerWatchdog Timer

R

I

A

S

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

Oscilador. (18F4550)V

L

Oscilador Interno.Existen 4 modos de trabajo que determinan la fuente de reloj del USB

A

D

I

M

I fuente de reloj del USB.INTHS: El reloj de USB proviene del oscilador principal en modo HS.INTXT: El reloj de USB proviene del oscilador

I

R

T

R INTXT: El reloj de USB proviene del oscilador principal en modo XT.INTCKO: El reloj de USB proviene del oscilador externo con entrada en OSC1/CLKI; OSC2/CLKO es

U

J

I

L

externo con entrada en OSC1/CLKI; OSC2/CLKO es la salida de FOSC/4.INTIO: El reloj de USB proviene del oscilador externo con entrada en OSC1/CLKI; OSC2/CLKO

L

O

A

R externo con entrada en OSC1/CLKI; OSC2/CLKO funciona como un pin I/O digital (RA6).

R

I

A

S

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

Oscilador. (18F4550)V

L

A

D

I

M

I

bit 7 INTSRC S l ió d l O il d

I

R

T

R bit 7 INTSRC: Selección del Oscilador.1 = reloj de 31.25 kHz derivado del reloj de 8 MHz de INTOSC

U

J

I

L MHz de INTOSC0 = reloj de 31 kHz derivado del reloj RC interno INTRC.

L

O

A

R interno INTRC.

bit 6-5 Sin implementar.R

I

A

S

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

Oscilador. (18F4550)V

L

bit 4-0 TUN4:TUN0: bits de sntonización

01111 Má i f i

A

D

I

M

I 01111 = Máxima frecuencia.• •00001

I

R

T

R 000000000 = frecuencia central. El oscilador corre a la frecuencia calibrada en fábrica.11111

U

J

I

L 11111• •10000 = Frecuencia mínima.

L

O

A

RR

I

A

S

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

Retardos Considerados al iniciarRetardos Considerados al iniciar el microcontrolador.V

L

Al iniciar el procesador se definen 3 retardos.El primero es dado por el PWRT el cual provee un

A

D

I

M

I

retardo promedio de 72 ms. para la estabilización de la circuitería interna.El segundo temporizador es el OST (Oscillator

I

R

T

R El segundo temporizador es el OST (OscillatorStart-up Timer) que espera a que el oscilador utilizado se estabilice.

U

J

I

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

L

O

A

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

R

I

A

S

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

Fuentes de ResetV

L

La familia PIC18FXXX Posee los siguientes tipos de reset:

A

D

I

M

I

Power-on Reset (POR)MCLR Reset Durante el funcionamiento normal

I

R

T

R

MCLR Reset Durante el modo SLEEPWDT Reset durante operación normalProgrammable Brown out Reset (BOR)

U

J

I

L

Programmable Brown-out Reset (BOR)Instrucción de RESET.Reset debido al llenado del Stack

L

O

A

R Reset debido al llenado del Stack.Reset debido al vaciado del Stack.

R

I

A

S

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

Organización de la memoriaV

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Organización de la memoriaV

L

El PIC18FXX2 posee un contador de programa de 21 bits que permite ubicar

A

D

I

M

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

I

R

T

R PalabrasLas posiciones de memoria mas allá de la memoria física construida se leen

U

J

I

L la memoria física construida se leen como 0.

L

O

A

RR

I

A

S

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

Organización de la memoriaV

L

El PIC18F452 posee 32 K Bytes de memoria FLASH de programa,

A

D

I

M

I memoria FLASH de programa, agrupados de a 2 Bytes, con el fin de contener instrucciones complejas.

I

R

T

R contener instrucciones complejas.Por lo tanto este dispositivo puede almacenar 16mil instrucciones simples

U

J

I

L almacenar 16mil instrucciones simples.El vector de RESET se halla en la dirección 0000h y el de interrupciones

L

O

A

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

R

I

A

S

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

Organización de la memoria g18f452V

L

Hay un stack de 31 niveles, lo que permite tener 31 posibles

b ti id d

A

D

I

M

I sub rutinas anidadas.

Existen dos vectores de interrupciones, para manejo de

I

R

T

R p , p jinterrupciones de alta y baja prioridad.

32K de memoria en pasos de 2

U

J

I

L 32K de memoria en pasos de 2 en dos, para un total de 16K de palabras. De 7FFF en adelante no existe memoria

L

O

A

Rimplementada físicamente y se lee como 0.

R

I

A

S

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

Organización de la memoriaOrganización de la memoria 18f4550

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

Organización de la memoria (Pila)V

L

El Stack de los PIC18FXX2 posee 31 palabras de 21 bits, direccionadas por un apuntador de

A

D

I

M

I

Stack de 5 bits.Cada vez que se produce una interrupción o

I

R

T

R

un llamada a subrutina, el apuntador del Pila se incrementa en 1 y el valor del contador de programa es almacenado en una de las

U

J

I

L

programa es almacenado en una de las palabras de 21 bits.

L

O

A

RR

I

A

S

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

Organización de la memoria (Pila)Organización de la memoria (Pila)18F452 y 18F4550V

L

Cuando ocurre una instrucción de tipo return, retfie o retlw el dato almacenado en la

A

D

I

M

I

posición actual que indica el apuntador de programa, es cargado al contador de

l t d d l Pil

I

R

T

R programa y el apuntador de la Pila se disminuye en 1. El apuntador de programa se puede leer y

U

J

I

L

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

L

O

A

R la Pila puede ser leída y escrita a través de los registros SFR.

R

I

A

S

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

Registro STKPTRg18F452 y 18F4550V

L

A

D

I

M

I

BIT 7 STKOVF: Bandera de Pila llena1 Pil ll b d

I

R

T

R1 = Pila llena o rebosada.0 = Pila sin llenar

BIT 6 STKUNF: Bandera de pila vacía.

U

J

I

L

1 = Ocurrió un vaciado de la pila.0 = No ha ocurrido un vaciado de la pila.

BIT 5 Sin implementar: Leído como '0'

L

O

A

Rp

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

R

I

A

S

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

Organización de la memoria (Pila)Organización de la memoria (Pila) 18F452 y 18F4550V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Organización de la memoria (Pila)Organización de la memoria (Pila)18F452 y 18F4550V

L

La cabecera de la Pila puede ser leída y escrita, a través de los registros TOSU, TOSH y TOSL que mantienen el contenido

A

D

I

M

I y TOSL, que mantienen el contenido apuntado por el registro STKPTR. Después de un call, rcall o una interrupción,

t l d difi d SW

I

R

T

R este valor puede ser modificado por SW y cuando se genere el retorno de la subrutina, se puede dirigir su regreso a un lugar dif d fi id l i S l

U

J

I

L

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

L

O

A

Rp g

R

I

A

S

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

Organización de la memoria (Pila)Organización de la memoria (Pila)18F452 y 18F4550V

L

El registro STKPTR es el apuntador de la Pila

A

D

I

M

I de la Pila.El BIT STKFUL indica el llenado de

I

R

T

R

la pila y el BIT STKUNF el vaciado de la pila.

U

J

I

L pCuando se produce un RESET, el valor del apuntador de la pila es 0

L

O

A

R valor del apuntador de la pila es 0. R

I

A

S

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

Organización de la memoria (Pila)V

L

Después de que el contador de programa es almacenado en la pila 31 veces sin extraer ningún valor el BIT

A

D

I

M

I veces, sin extraer ningún valor, el BIT STKFUL se coloca en 1. El BIT STKFUL es borrado por SW o por un POR.

I

R

T

R es borrado por SW o por un POR.(BIT STVREN en 1) Cuando se almacena una dirección en la posición

l l d b d l

U

J

I

L

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

L

O

A

R coloca en 1 y se mantiene así, también el apuntador de la pila se coloca en 0.

R

I

A

S

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

Organización de la memoria (Pila)V

L

(BIT STVREN en 0) cuando se desborda la pila el BIT STKFUL se

A

D

I

M

Ip

pone en 1, cualquier dato adicional a escribirse en la pila, no sobrescribe la posición 31 si no

I

R

T

R sobrescribe la posición 31, si no que se omite, y el registro STKPTR, se mantiene apuntando a la

U

J

I

L se mantiene apuntando a la posición 31.

L

O

A

RR

I

A

S

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

Organización de la memoria (Pila)V

L

Cuando la pila se vacía, la próxima instrucción que requiera extraer un

A

D

I

M

Iq q

dato de ella, retorna el valor de 0 al contador de programa y coloca el BIT STKUNF en 1 hasta que ocurra

I

R

T

R BIT STKUNF en 1 hasta que ocurra un POR o un se borre por software.

U

J

I

L

L

O

A

RR

I

A

S

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

Instrucciones PUSH y POPV

L

La instrucción PUSH, es utilizada para colocar en la cabecera de la pila el valor

A

D

I

M

I colocar en la cabecera de la pila el valor actual del contador de programa, produciendo un incremento en STKPTR.

I

R

T

R produciendo un incremento en STKPTR.Se puede incluir una dirección de retorno cualquiera en la pila utilizando

U

J

I

L retorno cualquiera en la pila utilizando PUSH y cargando ese valor en TOSU, TOSH y TOSL

L

O

A

R TOSH y TOSLR

I

A

S

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

Instrucciones PUSH y POPV

L

La instrucción POP, se utiliza para descartar el valor ubicado en la

A

D

I

M

I descartar el valor ubicado en la cabecera de la pila y reemplazarlo por el valor ubicado previo a este, sin

I

R

T

R el valor ubicado previo a este, sin producir ningún traumatismo en el sistema.

U

J

I

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

L

O

A

R decremento en el apuntador de la pila.R

I

A

S

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

Contador de ProgramaV

L

El contador de programa (PC) esta conformado por los registros PCL, PCH

A

D

I

M

Ip g

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

I

R

T

R gdirectamente. Los registros PCH y PCU pueden ser

U

J

I

L

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

L

O

A

RR

I

A

S

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

Temporización / InstruccionesV

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Temporización / InstruccionesV

L

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

A

D

I

M

I y Q4.El contador de programa es incrementado cada flanco subida de Q1.

I

R

T

R

La búsqueda de una instrucción es realizada de Q1 a Q4, pero es colocada en el registro de instrucción cada Q4

U

J

I

L de st ucc ó cada QLas instrucciones son decodificadas y ejecutadas en el periodo de tiempo de Q1 a Q4

L

O

A

R Q4.R

I

A

S

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

Instrucciones en la Memoria deInstrucciones en la Memoria de programaV

L

Las instrucciones para el PIC18F452 son de 16 bits, y su byte menos significativo

A

D

I

M

I de 16 bits, y su byte menos significativo es siempre almacenado en una dirección par.

I

R

T

R dirección par.El BIT menos significativo del contador de programa es siempre 0 por lo que el

U

J

I

L de programa es siempre 0, por lo que el incremento de las direcciones se hace de dos en dos

L

O

A

R de dos en dos.R

I

A

S

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

Instrucciones en la Memoria deInstrucciones en la Memoria de programaV

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Instrucciones de 32 bitsV

L

Los microcontroladores PIC18FXX2, posee 4 instrucciones de dos palabras de longitud (32

A

D

I

M

I

bits), ellas son MOVFF, CALL, GOTO y LFSR.La segunda palabra de esas instrucciones

I

R

T

R

posee los 4 BITS mas significativos en 1 y se comporta como un tipo especial de NOP.L 12 BITS d l d l b

U

J

I

L

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

L

O

A

R instrucción.R

I

A

S

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

Instrucciones de 32 bitsV

L

Cuando la primer palabra es ejecutada, los datos contenidos en la segunda son

A

D

I

M

Ig

accedidos. Pero si el PC accede primero la segunda

I

R

T

R gpalabra, esta se ejecuta como un NOP.Esto es útil cuando previamente a una

U

J

I

L

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

L

O

A

RR

I

A

S

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

Instrucciones de 32 bitsV

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Memoria de Datos 18F452V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Memoria de Datos 18F4550V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Memoria de DatosV

L

La memoria de datos esta dividida en 16 bancos, cada uno de 256 Bytes.

A

D

I

M

I

En el caso del 18F4550 los bancos 4 al 7 están implementados para el uso del

t l USB d t t l

I

R

T

R protocolo USB, pero cuando este protocolo no se usa sirven como memoria de propósito general

U

J

I

L propósito general.La zona de FSR se halla localizada en el banco 15 después de la posición F80h (de

L

O

A

Rba co 5 después de a pos c ó 80 (dela mitad hacia el final)

R

I

A

S

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

Memoria de Datos (Direccionamiento)V

L

Se pueden identificar 3 formas de acceder la memoria de programa de los

A

D

I

M

I acceder la memoria de programa de los PIC18FXX2.

Direccionamiento indirecto: requiere el uso

I

R

T

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

U

J

I

L

Direccionamiento directo: requiere el uso del registro BSR, el cual en sus BITS 0 a 3

L

O

A

R contiene la dirección del banco escogido.R

I

A

S

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

Memoria de Datos (Direccionamiento)V

L

Otra forma de direccionamiento directo es:Para asegurar que los registros (SFR Y GPR) sean accedidos en un solo ciclo de instrucción

A

D

I

M

I accedidos en un solo ciclo de instrucción, independiente del Banco apuntado por el registro BSR, Existe el ACCESS BANK, el cual esta formado por una parte del banco 0 y un segmento del

I

R

T

R p p y gbanco 15Un BIT en la instrucción especifica si la operación a utilizar se hace a través del ACCESS BANK o con l l d “ ”

U

J

I

L

el registro BSR, a ese BIT se le denomina “a” (access bit) por defecto vale 0 y apunta al ACCESS BANK

L

O

A

RR

I

A

S

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

Memoria de Datos RAM USB

Cuando el modulo USB esta habilitado, la memoria en esos bancos se usa como un buffer USBUSB.Esta memoria es compartida entre el núcleo del micro y el módulo USB, permitiendo lamicro y el módulo USB, permitiendo la transferencia de datos entre los dos.El banco 4 de memoria RAM, se utiliza para el

j d l USB d t ód l tmanejo del USB, cuando este módulo esta activo, y no puede ser usado para otros propósitos en este tiempo.p p p

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

Memoria de Datos (Registros FSR)Memoria de Datos (Registros FSR) 18F452V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Memoria de Datos (Registros FSR)Memoria de Datos (Registros FSR) 18F452V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Memoria de Datos (RegistrosMemoria de Datos (Registros FSR) 18F4550

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

Memoria de Datos (RegistrosMemoria de Datos (Registros FSR) 18F4550

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

El registro BSRV

L

El registro BSR<3:0> contiene los 4 bits mas significativos de los 12-BITS de direcciones de la memoria RAM y se utilizan para seleccionar el banco

A

D

I

M

I memoria RAM y se utilizan para seleccionar el banco de trabajo.Los BITS BSR<7:4> se leen como ’0’s.L i t ió MOVLB tili d l

I

R

T

R

La instrucción MOVLB se utiliza para ayudar en la selección del banco.La instrucción MOVFF ignora el registro BSR, ya que

U

J

I

L g g , y qlos 12-BITS de dirección se hayan incluidos en la instrucción.Cada banco posee un tamaño de 256 bytes.

L

O

A

R Cada banco posee un tamaño de 256 bytes.R

I

A

S

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

Direccionamiento Indirecto.V

L

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

A

D

I

M

I

El registro FSR es utilizado como un puntero a una localidad de memoria que va a ser escrita o leída

I

R

T

R escrita o leída. El direccionamiento indirecto es posible utilizando el registro INDF, ya que cualquier

U

J

I

L g , y q qinstrucción que lo utilice, accede directamente a la posición de memoria apuntada por FSR

L

O

A

R apuntada por FSR.R

I

A

S

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

Direccionamiento Indirecto.V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Multiplicador HardwareV

L

El multiplicador HW que se posee es de 8 bits.

A

D

I

M

I

El resultado se almacena en dos registros PRODH y PRODL

I

R

T

R

La multiplicación de 8x8 se realiza en 1 ciclo de instrucción.

U

J

I

L

El multiplicador HW permite a este dispositivo realizar operaciones sencillas tipo DSP

L

O

A

RR

I

A

S

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

PuertosV

L

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

A

D

I

M

I operación.El registro TRIS, el cual controla la dirección de funcionamiento del puerto

I

R

T

R de funcionamiento del puerto.El registro PORT, que lee los niveles de entrada en el puerto.

U

J

I

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

L

O

A

RR

I

A

S

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

PuertosV

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Puerto AV

L

Este puerto se comporta como I/O digital y como entrada analógicaEl registro TRISA, configura este puerto como

A

D

I

M

I El registro TRISA, configura este puerto como entrada o salida.Si un pin se va a utilizar como canal analógico, previamente se debe haber configurado como

I

R

T

R p gentrada en TRISAExiste el registro LATA, que permite el acceso I/O al latch del puerto.

U

J

I

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

L

O

A

Rdigitales, se recurre al registro ADCON1

R

I

A

S

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

Puerto A (18f452)V

L

PIN Tipo Entrada Función

A

D

I

M

I po t ada u c óRA0/AN0 TTL Pin I/O ó entrada analógica 0.

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

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

I

R

T

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

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

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

U

J

I

L

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

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

L

O

A

RR

I

A

S

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

Registros asociados con PORTARegistros asociados con PORTAPuerto A (18f452)V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Puerto A (18f4550)V

L

Pin Función I/O Type

Descripción

RA0/AN0 RA0 DIG/TTL Entrada o salida digital.

AN0 ANA Canal 0 de entrada A/D y entrada del comparador C1(-). (configuracion por defecto)

A

D

I

M

I AN0 ANA Canal 0 de entrada A/D y entrada del comparador C1( ). (configuracion por defecto)

RA1/AN1 RA1 DIGTTL Entrada o salida digital.

AN1 ANA Canal 1 de entrada A/D y entrada del comparador C2(-). (configuración por defecto)

RA2/AN2/ VREF-/CVREF

RA2 DIG/TTL Entrada o salida digital.

AN2 ANA Canal 2 de entrada A/D y entrada del comparador C2(+). (configuración por defecto)

I

R

T

R AN2 ANA Canal 2 de entrada A/D y entrada del comparador C2( ). (configuración por defecto)

VREF- ANA Referencia de voltaje para el A/D y voltaje de referencia del comparador; entrada baja

CVREF ANA Referencia del voltaje de salida del comparador.

RA3/AN3/ VREF+

RA3 DIG/TTL Entrada o salida digital.

U

J

I

L

AN3 ANA Canal 3 de entrada A/D y entrada del comparador C1(+). (configuración por defecto)

VREF+ ANA Referencia de voltaje para el A/D y voltaje de referencia del comparador; entrada alta

RA4/T0CKI/ C1OUT/RCV

RA4 DIG/Schmit

Entrada o salida digital.

T0CKI Schmit Entrada de reloj del timer 0

L

O

A

RC1OUT DIG Salida del comparador 1, tiene prioridad sobre los datos en el puerto

RCV TTL Transeiver externo USB (Entrada RCV)

R

I

A

S

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

Puerto A (18f4550)V

L

Pin Función I/O Type Description

RA5/AN4/S RA5 DIG/TTL Entrada o salida digital

A

D

I

M

I RA5/AN4/SS/

HLVDIN/C2OUT

RA5 DIG/TTL Entrada o salida digital.

AN4 ANA Canal 4 de entrada A/D (Configuración por defecto).

SS TTL Entrada esclava para e modo SSP (MSSP module)

I

R

T

R SS TTL Entrada esclava para e modo SSP (MSSP module).

C2OUT DIG Salida del comparador 2.

OSC2/CLK OSC2 ANA Conexión del oscilador principal (Modo XT y HS)

U

J

I

L OSC2/CLKO/ RA6

OSC2 ANA Conexión del oscilador principal (Modo XT y HS)

CLKO DIG Salida de reloj (FOSC/4); habilitado en modo EC, ECPLL y INTCKO.

RA6 DIG/TTL Entrada y Salida Digital, únicamente disponible en modo ECIO, ECPIO y INTIO.

L

O

A

R

VREF+ ANA Voltaje de referencia del A/D y el comparador (entrada alta).

R

I

A

S

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

Puerto A (18f4550)V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Puerto B 18F452V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Puerto B 18F452V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Puerto B 18F4550V

L

Es un puerto de 8 bits, con resistencias pull up internas.

A

D

I

M

I pull up internas.Al iniciar el micro, los pines RB4:RB0 están configurados como entradas

I

R

T

R están configurados como entradas analógicas y RB7:RB5 son entradas digitales

U

J

I

L digitales.L

O

A

RR

I

A

S

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

Puerto B 18F4550Pin Functio I/O I/O Type Description

V

LPin Functio

nI/O I/O Type Description

RB0/AN12/

INT0/FLT0/

RB0 OUT/IN DIG/TTL Entrada o salida digital

AN12 IN ANA Entrada A/D canal 12

INT0 IN ST Interrupción externa 0

A

D

I

M

I 0/ SDI/SDA

INT0 IN ST Interrupción externa 0

SDI IN ST Entrada modulo SPI (Modulo MSSP).

SDA OUT/IN DIG/I2C/SMB

Salida I2C™ y Entrada I2C (Modulo MSSP)

RB1/AN10/

RB1 OUT/IN DIG/TTL Entrada o salida digital AN10 IN ANA E t d A/D l 10

I

R

T

R/

INT1/SCK/ SCL

AN10 IN ANA Entrada A/D canal 10

INT1 IN ST Interrupción externa 1

SCK OUT/IN DIG/ST Salida de reloj SPI y Entrada de reloj SPI (Modulo MSSP).

SCL OUT/IN DIG/I2C/SMB

Salida de reloj I2C y Entrada de reloj I2C (Modulo MSSP)

U

J

I

LB

RB2/AN8/ INT2/VM

O

RB2 OUT/IN DIG/TTL Entrada o salida digital

AN8 IN ANA Entrada A/D canal 8

INT2 IN ST Interrupción externa 2

VMO OUT DIG Transceiver Externo USB VMO salida de datos

L

O

A

RRB3/AN9/ CCP2/VPO

RB3 OUT/IN DIG/TTL Entrada o salida digital AN9 IN ANA Entrada A/D canal 9

CCP2 OUT/IN DIG/ST Salida de comparación y PWM y entrada de captura de CCP2VPO OUT DIG Transceiver Externo USB

R

I

A

S

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

Puerto B 18F4550V

L

Pin Function I/O I/O Type Description

A

D

I

M

I / / yp p

RB4/AN11/ KBI0/CSSPP

RB4 OUT/IN DIG/TTL Entrada o salida digital

AN11 IN ANA Entrada A/D canal 11.

KBI0 IN TTL Interrupción por cambio de estado

I

R

T

R p p

CSSPP(4) OUT DIG SPP chip select control output.

RB5/KBI1/ PGM

RB5 OUT/IN DIG/TTL Entrada o salida digital

KBI1 IN TTL Interrupción por cambio de estado

U

J

I

L p p

RB6/KBI2/ PGC

RB6 OUT/IN DIG/TTL Entrada o salida digital

KBI2 IN TTL Interrupción por cambio de estado

RB7/KBI3/ RB7 OUT/IN DIG/TTL Entrada o salida digital

L

O

A

R/ /

PGD / / g

KBI3 IN TTL Interrupcion por cambio de estado R

I

A

S

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

Puerto B 18F4550V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Puerto C 18F452V

L

A

D

I

M

I

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

entrada de relojI

R

T

R

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 CCP1

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

U

J

I

L

módulos SPI e I2C

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íncronoL

O

A

R

, gg , p

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

R

I

A

S

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

Puerto C 18F452V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Puerto C 18F4550V

L

Es un Puerto de 7 bits.El pin RC3 no está implementado

A

D

I

M

I El pin RC3 no está implementadoLos pines RC4 y RC5 no tienen TRIS asociado

I

R

T

R asociado.El pin RC3 tiene uso para USB

U

J

I

L

L

O

A

RR

I

A

S

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

Puerto C 18F4550Pin Función I/O I/O Type Descripción

V

L

RC0/T1OSO/ T13CKI

RC0 OUT/IN DIG/ST Entrada y salida digitalT1OSO OUT ANA Salida del oscilador de timer 1T13CKI IN ST Entrada de conteo del timer 1 y 3

RC1/T1OSI/ CCP2/UOE

RC1 OUT/IN DIG/ST Entrada y salida digitalT1OSI IN ANA Entrada del oscilador de timer 1

CCP2(1) OUT/IN DIG/ST Salida de CCP2 y PWM Entrada en modo captura CCP2

A

D

I

M

I CCP2(1) OUT/IN DIG/ST Salida de CCP2 y PWM. Entrada en modo captura CCP2UOE OUT DIG External USB transceiver OE output.

RC2/CCP1/ P1A

RC2 OUT/IN DIG/ST Entrada y salida digitalCCP1 OUT/IN DIG/ST Salida de ECCP1 modo compara y PWM, entrada ECCP1 modo captura

P1A(3) OUT DIG Salida ECCP1 y PWM Ensanchado, canal ARC4/D-/VM RC4 IN TTL Entrada digital

I

R

T

R RC4/D /VM RC4 IN TTL Entrada digital D- OUT XCVR USB bus differential minus line output (internal transceiver).

IN XCVR USB bus differential minus line input (internal transceiver). VM IN TTL External USB transceiver VM input.

RC5/D+/VP RC5 IN TTL Entrada digital D+ OUT XCVR USB bus differential plus line output (internal transceiver).

IN XCVR USB bus differential plus line input (internal transceiver)

U

J

I

LIN XCVR USB bus differential plus line input (internal transceiver).

VP IN TTL External USB transceiver VP input. RC6/TX/CK RC6 OUT/IN DIG/ST Entrada y salida digital

TX OUT DIG Transmisor serial asincrono (EUSART module)CK OUT/IN DIG/ST Salida Reloj serial sincrónico (EUSART module)

Entrada Reloj serial sincrónico (EUSART module)RC7/RX/DT/ RC7 OUT/IN DIG/ST E t d lid di it l

L

O

A

R RC7/RX/DT/ SDO

RC7 OUT/IN DIG/ST Entrada y salida digitalRX IN ST Recepción serial asíncrona (EUSART module).

DT OUT DIG Salida de datos del Puerto serial sincrónico (EUSART module).IN ST Entrada de datos del Puerto serial sincrónico

SDO OUT DIG SPI data output (MSSP module)

R

I

A

S

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

Puerto C 18F4550V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Puerto D 18F452V

L

A

D

I

M

I

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

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

R

T

R

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

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

U

J

I

L

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

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

O

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

R

I

A

S

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

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

Puerto D 18F452V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Puerto D 18F4550V

L

Es un puerto de 8 bitsTodos los pines del puerto D tiene

A

D

I

M

I Todos los pines del puerto D tiene entrada tipo schmit trigger.Todos los pines del puerto D poseen

I

R

T

R Todos los pines del puerto D poseen resistencia pull up.l d f d

U

J

I

L

El puerto D puede ser configurado como un puerto paralelo de

ó d 8 b d h (S )

L

O

A

R comunicación de 8 bits de ancho (SPP). R

I

A

S

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

Puerto D 18F4550Pin Function I/O I/O Type Description

RD0/SPP0

RD0 OUT/IN DIG/ST Entrada o salida digital

SPP0 DIG/ST Entrada o salida 0 del SPPOUT/IN

/

RD1/SPP1

RD1 OUT/IN

DIG/ST Entrada o salida digital

SPP1 OUT/IN DIG/ST Entrada o salida 1 del SPPRD2/SPP

2RD2 OUT/IN DIG/ST Entrada o salida digitalSPP2 OUT/IN DIG/ST Entrada o salida 2 del SPP2 SPP2 OUT/IN DIG/ST Entrada o salida 2 del SPP

RD3/SPP3

RD3 OUT/IN DIG/ST Entrada o salida digitalSPP3 OUT/IN DIG/ST Entrada o salida 3 del SPP

RD4/SPP4

RD4 OUT/IN DIG/ST Entrada o salida digitalSPP4 OUT/IN DIG/ST Entrada o salida 4 del SPP

RD5/SPP RD5 OUT/IN DIG/ST Entrada o salida digitalRD5/SPP5/P1B

RD5 OUT/IN DIG/ST Entrada o salida digitalSPP5 OUT/IN DIG/ST Entrada o salida 5 del SPP

P1B OUT DIG Salida de ECCP1 Enhanced PWM canal BRD6/SPP

6/P1C RD6 OUT/IN DIG/ST Entrada o salida digitalSPP6 OUT/IN DIG/ST Entrada o salida 6 del SPPP1C OUT DIG Salida de ECCP1 Enhanced PWM canal CP1C OUT DIG Salida de ECCP1 Enhanced PWM canal C

RD7/SPP7/P1D

RD7 OUT/IN DIG/ST Entrada o salida digitalSPP7 OUT/IN DIG/ST Entrada o salida 7 del SPPP1D OUT DIG Salida de ECCP1 Enhanced PWM canal D

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

Puerto D 18F4550

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

Puerto E 18F452V

L

A

D

I

M

I

PIN Tipo Entrada FunciónRE0/RD/AN5 TTL, Schmit Trigger

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

I

R

T

R

pparalelo esclavo BIT RD

1 = No lectura.0 = Lee PORTD si CS es 1.

RE1/WR/AN6 TTL Schmit Trigger Pin I/O Pin de control del puerto paraleloU

J

I

L

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

Pin I/O Pin de control del puerto paralelo esclavo y entrada A/D. BIT WR1 = No escritura0 = Escribe en PORTD si CS es 1

L

O

A

R

0 Escribe en PORTD si CS es 1

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 seleccionadoR

I

A

S

1 = Dispositivo no seleccionado0 = Dispositivo no seleccionado

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

Puerto E 18F452V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Registro TRISEV

L

A

D

I

M

I

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

I

R

T

R 1 Una palabra ha sido recibida y espera ser leída.0 = Ninguna palabra recibida.

U

J

I

L

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

L

O

A

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

R

I

A

S

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

Registro TRISEV

L

Bit 5 IBOV: Rebose del Buffer de entrada.1 = Ha ocurrido una escritura, cuando una palabra previa no ha sido leída (debe ser clareado por SW)

A

D

I

M

I ha sido leída. (debe ser clareado por SW)0 = No ha ocurrido un desborde

Bit 4 PSPMODE: Selección del puerto paralelo

I

R

T

R

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

U

J

I

L 0 = Modo general de I/O

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

L

O

A

Ry

1 = Entrada0 = Salida

R

I

A

S

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

Puerto E 18F4550Pin Functi I/O I/O Type Description

V

L

on

RE0/AN5/ CK1SPP

RE0 OUT/IN

DIG/ST Entrada y salida digital

AN5 IN ANA Entrada A/D canal 5

A

D

I

M

I CK1SPP

OUT DIG SPP clock 1 output (SPP enabled).

RE1/AN6/ CK2SPP

RE1 OUT/IN

DIG/ST Entrada y salida digital

AN6 IN ANA Entrada A/D canal 6

I

R

T

RCK2SPP

OUT DIG SPP clock 2 output (SPP enabled).

RE2/AN7/ OESPP

RE2 OUT/IN

DIG/ST Entrada y salida digital

AN7 IN ANA Entrada A/D canal 7.

U

J

I

LAN7 IN ANA Entrada A/D canal 7.

OESPP

OUT DIG SPP enable output (SPP enabled).

MCLR/VPP/ RE3

MCLR IN ST External Master Clear input; enabled when MCLRE Configuration bit is set.

VPP IN ANA High-voltage detection, used for ICSP™ mode entry detection. Always available

L

O

A

R regardless of pin mode.

RE3 IN ST PORTE<3> data input; enabled when MCLRE Configuration bit is clear.

R

I

A

S

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

Puerto E 18F4550V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Diagrama de pines 18F4550V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Registro ADCON1 18F4550V

L

A

D

I

M

I

bit 7-6 Sin implementar

I

R

T

R

bit 5 VCFG0: Referencia de voltaje (VREF- )1 = VREF- (AN2)0 = VSS

U

J

I

L

bit 4 VCFG0: Referencia de voltaje (VREF + )1 = VREF+ (AN3)0 = VDD

L

O

A

R 0 VDDbit 3-0 PCFG3:PCFG0: Configuración de los pines para el A/D

R

I

A

S

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

Registro ADCON1 18F452V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Registro ADCON1 18F4550V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

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

Registro CMCON 18F4550V

L

A

D

I

M

I

bit 7 C2OUT: bit de salida del comparador 2Cuando C2INV = 0:

1 = C2 VIN+ > C2 VIN-

I

R

T

R 1 = C2 VIN+ > C2 VIN0 = C2 VIN+ < C2 VINWhen

Caunado C2INV = 1:1 = C2 VIN+ < C2 VIN-0 = C2 VIN+ > C2 VINbit

U

J

I

L 0 C2 VIN+ > C2 VINbit6 C1OUT: bit de salida del comparador 1

Cuando C1INV = 0:1 = C1 VIN+ > C1 VIN-0 C1 VIN+ < C1 VINWhen

L

O

A

R 0 = C1 VIN+ < C1 VINWhenCuando C1INV = 1:

1 = C1 VIN+ < C1 VIN-0 = C1 VIN+ > C1 VINbit

R

I

A

S

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

Registro CMCON 18F4550V

L

5 C2INV: Inversión de la salida del Comparador 21 = C2 salida invertida0 = C2 salida no invertida

A

D

I

M

I 0 = C2 salida no invertidabit 4 C1INV: Inversión de la salida del Comparador 1

1 = C1 salida invertida0 C1 salida no invertida

I

R

T

R 0 = C1 salida no invertidabit 3 CIS: Comparator Input Switch bit

When CM2:CM0 = 110:

U

J

I

L

1 = C1 VIN- connects to RA3/AN3/VREF+ C2 VIN- connects to RA2/AN2/VREF-/CVREF0 = C1 VIN- connects to RA0/AN0 C2 VIN- connects to RA1/AN1

L

O

A

R RA1/AN1bit 2-0 CM2:CM0: Modo de trabajo del comparador

R

I

A

S

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

Registro CMCON 18F4550

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

Registro CMCON 18F4550

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

El registro de estadoV

L

El registro de estado se utiliza para mostrar el estado aritmético de la ALU.

A

D

I

M

I mostrar el estado aritmético de la ALU.Se recomienda utilizar solamente las instrucciones BCF BSF SWAPF MOVFF

I

R

T

R instrucciones BCF, BSF, SWAPF, MOVFF y MOVWF para cambiar el contenido del registro de estado ya que estas

U

J

I

L registro de estado, ya que estas instrucciones no alteran las banderas Z, C DC OV o N

L

O

A

R C, DC, OV, o NR

I

A

S

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

El registro de estado 18f452 y g y18F4550V

L

A

D

I

M

I

BIT 7-5 Sin implementar.

I

R

T

R pBIT 4 N: BIT Negativo, utilizado para indicar cuando un resultado de una operación

U

J

I

L paritmética fue negativo (Complemento a 2).

1 = Resultado negativo.

L

O

A

R 0 = Resultado positivo.R

I

A

S

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

El registro de estadoV

L

BIT OV: BIT de desbordamiento. Este bit es utilizado para aritmética con signo

A

D

I

M

I

(complemento a 2).1 = Desborde ocurrió

ó

I

R

T

R

0 = No ocurrió un desborde

BIT 2 Z: Bit de 01 El l d d ió i é i

U

J

I

L

1 = El resultado de una operación aritmética o lógica es 0.0 = El resultado de una operación aritmética o

L

O

A

R 0 El resultado de una operación aritmética o lógica no es 0.

R

I

A

S

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

El registro de estadoV

L

BIT 1 DC: carry del cuarto al quinto bit.Funciona con ADDWF, ADDLW, SUBLW, y SUBWF

A

D

I

M

I

1 = Hay carry del 4 al 5 bit.0 = No hay carry del 4 al 5 bit

I

R

T

R

BIT 0 C: Bit de carry.Funciona con ADDWF, ADDLW, SUBLW, y SUBWF

ó

U

J

I

L

1 = Ocurrió carry0 = No Ocurrió carry

L

O

A

RR

I

A

S

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

Registro RCON (Reset Control)V

L

A

D

I

M

I

BIT 7 IPEN: Bit que habilita la prioridad en las i t i

I

R

T

R

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

U

J

I

L 0 Prioridad en interrupciones deshabilitada. BIT 6-5 Sin implementarBIT 4 RI: Bandera de la instrucción RESET

ó

L

O

A

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

R

I

A

S

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

Registro RCON (Reset Control)V

L

BIT 3 TO: Bandera del Perro Guardián. 1 = Después de un power-up CLRWDT o

A

D

I

M

I 1 Después de un power up, CLRWDT, o SLEEP0 = A WDT reset ocurrió

I

R

T

R 0 A WDT reset ocurrió

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

U

J

I

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

L

O

A

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

R

I

A

S

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

Registro RCON (Reset Control)V

L

BIT 1 POR: Bit de estado de Power-on Reset1 = Un Power-on Reset no ha ocurrido

A

D

I

M

I

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

R t h id )

I

R

T

R

on Reset ha ocurrido)

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

U

J

I

L Reset (Bajón de voltaje)1 = Un Brown-out Reset no ha ocurrido.0 = Un Brown-out Reset ocurrió

L

O

A

R 0 Un Brown out Reset ocurrió.Debe ser colocado en 1 después de que un Brown-out Reset ha ocurrido)

R

I

A

S

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

InterrupcionesV

L

Los microcontroladores de gama alta poseen niveles de interrupción.

A

D

I

M

Ip pEl vector de alto nivel de interrupciones se halla en la posición 0x08h y el de

I

R

T

R

baja prioridad en la posición 0x18h.Una interrupción de alta prioridad,

U

J

I

L

interrumpe la ejecución de una de baja prioridad.

L

O

A

RR

I

A

S

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

InterrupcionesV

L

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

A

D

I

M

I RCONINTCON, INTCON2, INTCON3, que en general, manejan las interrupciones externas y de TIMER 0.

I

R

T

R

PIR1, PIR2, que manejan las banderas que activan las interrupciones debidas a periféricos.PIE1, PIE2, que son los registros habilitadores de las

U

J

I

L PIE1, PIE2, que son los registros habilitadores de las interrupciones de periféricosIPR1, IPR2, que activan los niveles de prioridad de las interrupciones

L

O

A

R las interrupciones.R

I

A

S

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

InterrupcionesV

L

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

Una bandera que indica que la interrupción ocurrió

A

D

I

M

I Una bandera que indica que la interrupción ocurrió. Bit habilitador de la interrupción Bit que permite asignar el nivel de prioridad de la interrupción.

I

R

T

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

U

J

I

L control, mientras las interrupciones estén habilitadas, ya que esto puede generar disparos de interrupciones aleatorios.

L

O

A

RR

I

A

S

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

Interrupciones. Registro RCONV

L

A

D

I

M

I

Bit IPEN: Bit habilitador de niveles de

I

R

T

R

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

U

J

I

L pinterrupciones. 0 = Deshabilita los niveles de prioridad de

L

O

A

Rp

las interrupciones. R

I

A

S

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

Interrupciones. Registro RCONV

L

bit 6-5 Sin implementarbit 4 RI: bit indicador de que se generó una

A

D

I

M

I q ginstrucción de RESET.

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

I

R

T

R

0 = La instrucción RESET se ejecutó

bit 3 TO: bit de rebose del Watchdog

U

J

I

L

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

L

O

A

R 0 = Ha ocurrido un rebose del WDTR

I

A

S

Page 191: La Gama Alta de los PIC(18F452)

Interrupciones. Registro RCONV

L

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

A

D

I

M

I

1 = Después del encendido o por el uso de la instrucción CLRWDT.0 P l j ió d l i t ió SLEEP

I

R

T

R0 = Por la ejecución de la instrucción SLEEP.

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

U

J

I

L

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

L

O

A

Rp q

R

I

A

S

Page 192: La Gama Alta de los PIC(18F452)

Interrupciones. Registro RCONV

L

bit 0 BOR: bit de estado de Brown-out Reset. (Disminución del nivel de voltaje)

A

D

I

M

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

I

R

T

R 0 = Ha ocurrido un Brown out Reset.Debe ser puesta en 1 después de que un Brown-out Reset ocurre.

U

J

I

L Brown out Reset ocurre.L

O

A

RR

I

A

S

Page 193: La Gama Alta de los PIC(18F452)

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

L

A

D

I

M

I

Bit 7 GIE/GIEH: Habilitador global de

I

R

T

R / ginterrupciones.

Si IPEN = 0: (Bit 7 RCON)

U

J

I

L

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

Si IPEN = 1: (Bit 7 RCON)

L

O

A

R Si IPEN = 1: (Bit 7 RCON)1 = Habilita todas las interrupciones de alta prioridad.0 = Deshabilita todas las interrupciones.

R

I

A

S

Page 194: La Gama Alta de los PIC(18F452)

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

L

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

Si IPEN 0: (Bit 7 RCON)

A

D

I

M

I Si IPEN = 0: (Bit 7 RCON)1 = Habilita todas las interrupciones de periféricos sin máscara.

I

R

T

R

0 = Deshabilita todas las interrupciones de periféricos

Si IPEN = 1: (Bit 7 RCON)

U

J

I

L Si IPEN = 1: (Bit 7 RCON)1 = Habilita todas las interrupciones de periféricos de baja prioridad.

L

O

A

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

R

I

A

S

Page 195: La Gama Alta de los PIC(18F452)

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

L

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

A

D

I

M

I 0 = Deshabilita la interrupción por rebose de TMR0.Bit 4 INT0IE: Interrupción Externa INT0

1 = Habilita la INT0

I

R

T

R

0 = Deshabilita la INT0Bit 3 RBIE: Interrupción por cambio de estado en PORTB

1 = Habilita la interrupción por cambio de estado en

U

J

I

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

L

O

A

RR

I

A

S

Page 196: La Gama Alta de los PIC(18F452)

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

L

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

1 = El TMR0 se ha rebosado (se debe borrar por SW)

A

D

I

M

I( p )

0 = TMR0 no se ha rebosado.Bit 1 INT0IF: Bandera de INT0

1 = Ha ocurrido INT0 (debe ser borrada por SW)

I

R

T

R ( p )0 = INT0 no ha ocurrido.

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

U

J

I

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.

L

O

A

RR

I

A

S

Page 197: La Gama Alta de los PIC(18F452)

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

L

A

D

I

M

I

Bit 7 RBPU: Bit habilitador de las resistencias Pull up

I

R

T

R resistencias Pull-up.1 = Todas las resistencias pull-ups deshabilitadas.0 ll h b l d

U

J

I

L

0 = Las resistencias pull-ups estan habilitadas.Bit 6 INTEDG0: Selección del flanco de la Interrupción Externa 0

L

O

A

RInterrupción Externa 0

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

R

I

A

S

Page 198: La Gama Alta de los PIC(18F452)

Las resistencias pull up se utilizan para forzar a un nivel alto una entrada de un componente lógico. Sirve por ejemplo cuando necesitas leer el estado de un interruptor o una tecla. Cuando la tecla se activa se lleva a un estado lógicoCuando la tecla se activa se lleva a un estado lógico determinado, pero cuando está abierta está "al aire" y los circuitos lógicos hacen una interpretación indeterminada. La resistencia pull up fuerza a nivel lógico alto cuando está abierta y permite que se lleve a nivel bajo al cerrarse sinabierta y permite que se lleve a nivel bajo al cerrarse sin producir un cortocircuito. También puede servir cuando se conecta una entrada a una salida de colector abierto. El pull up suple la resistencia faltante del driver de colector abiertofaltante del driver de colector abierto. Todos los pines del puerto B de los PIC tienen resistencias pull up y se activan borrando !RBPU de OPTION_REG.

Page 199: La Gama Alta de los PIC(18F452)

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

L

Bit 5 INTEDG1: Selección del flanco de la Interrupción Externa 1

A

D

I

M

I la Interrupción Externa 1 1 = Flanco de subida.0 = Flanco de bajada

I

R

T

R 0 = Flanco de bajada.

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

U

J

I

L la Interrupción Externa 2 1 = Flanco de subida0 Fl d b j d

L

O

A

R 0 = Flanco de bajada.

Bit 3 Sin Implementar

R

I

A

S

Page 200: La Gama Alta de los PIC(18F452)

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

L

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

A

D

I

M

I 1 = Alta prioridad0 = Baja prioridad

Bit 1 Sin implementar

I

R

T

R Bit 1 Sin implementarBit 0 RBIP: Bit de prioridad de la interrupción de cambios de estado en PORTB

U

J

I

L

1 = Alta prioridad.0 = Baja prioridad.

L

O

A

RR

I

A

S

Page 201: La Gama Alta de los PIC(18F452)

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

L

A

D

I

M

I

Bit 7 INT2IP: Bit de prioridad de INT2

I

R

T

R p1 = Alta prioridad.0 = Baja prioridad.

U

J

I

L

Bit 6 INT1IP: Bit de prioridad de INT1 1 = Alta prioridad.

L

O

A

R

0 = Baja prioridad. R

I

A

S

Page 202: La Gama Alta de los PIC(18F452)

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

L

Bit 5 Sin implementarBit 4 INT2IE: Bit habilitador de INT2

A

D

I

M

I Bit 4 INT2IE: Bit habilitador de INT2 1 = Habilita INT2.0 Deshabilita INT2

I

R

T

R 0 = Deshabilita INT2.

Bit 3 INT1IE: Bit habilitador de INT1U

J

I

L

1 = Habilita INT1.0 = Deshabilita INT1.

L

O

A

R

Bit 2 Sin implementarR

I

A

S

Page 203: La Gama Alta de los PIC(18F452)

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

L

Bit 1 INT2IF: Bandera que indica que ocurrió INT2

A

D

I

M

I

1 = Ha ocurrido INT2 (debe ser borrada por SW) 0 = No ha ocurrido INT2

I

R

T

R

Bit 0 INT1IF: Bandera que indica que ocurrió INT1

1 H id INT1 (d b b d SW)

U

J

I

L

1 = Ha ocurrido INT1 (debe ser borrada por SW) 0 = No ha ocurrido INT1

L

O

A

RR

I

A

S

Page 204: La Gama Alta de los PIC(18F452)

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

L

A

D

I

M

I

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

I

R

T

R

1 = Una operación de lectura o escritura ha ocurrido.(debe ser borrada por SW)0 = No ha ocurrido lectura o escritura.

U

J

I

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

L

O

A

R1 Conversión A/D completa (Debe ser borrada por SW)0 = La conversión A/D esta incompleta.

R

I

A

S

Page 205: La Gama Alta de los PIC(18F452)

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

L

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

ó

A

D

I

M

I 1 = El buffer de recepción, RCREG, esta lleno (Debe ser borrada por SW)0 = El buffer de RX del USART esta vacío.

I

R

T

R

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

U

J

I

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.

L

O

A

R 0 El buffer de TX del USART esta lleno.R

I

A

S

Page 206: La Gama Alta de los PIC(18F452)

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

L

Bit 3 SSPIF: Bandera de interrupción del puerto serial síncrono

A

D

I

M

I del puerto serial síncrono1 = Una TX/RX se ha completado (debe ser borrada por SW)

I

R

T

R p )0 = Esperando una TX o RX.

U

J

I

L

L

O

A

RR

I

A

S

Page 207: La Gama Alta de los PIC(18F452)

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

L

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

Modo Captura:

A

D

I

M

I Modo Captura:1 = Se ha producido la captura del valor de TMR1 (debe ser borrada por SW)0 = No ha ocurrido una captura de TMR1.

I

R

T

R 0 o a ocu do u a cap u a deModo Compara:

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

U

J

I

L

0 = No ha ocurrido una comparación con TMR1.Modo PWM:

No utilizado en este modo.

L

O

A

RR

I

A

S

Page 208: La Gama Alta de los PIC(18F452)

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

L

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

A

D

I

M

I 1 = Ha ocurrido una igualdad entre TMR2 y PR2 (debe ser borrada por SW)0 = No hay igualdad entre TMR2 y PR2

I

R

T

R y g yBit 0 TMR1IF: Bandera de interrupción por rebose de TMR1.

U

J

I

L

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

L

O

A

R 0 El TMR1 no se ha rebosadoR

I

A

S

Page 209: La Gama Alta de los PIC(18F452)

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

L

A

D

I

M

I

Bit 7-5 Sin implementarBit 4 EEIF B d d i t ió

I

R

T

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

1 = La operación de escritura se ha completado

U

J

I

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

L

O

A

R

no se ha iniciado.R

I

A

S

Page 210: La Gama Alta de los PIC(18F452)

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

L

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

A

D

I

M

I

1 = Ocurrió una colisión0 = No ha ocurrido una colisión.

I

R

T

R

Bit 2 LVDIF: Interrupción por detección de bajo voltaje.

1 U di ió d b j l j h id

U

J

I

L

1 = Una condición de bajo voltaje ha ocurrido0 = El voltaje del dispositivo se mantiene por encima del valor de activación de la interrupción.

L

O

A

R encima del valor de activación de la interrupción.R

I

A

S

Page 211: La Gama Alta de los PIC(18F452)

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

L

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

A

D

I

M

I 0 = El TMR3 No se ha rebosadoBit 0 CCP2IF: Bandera de interrupción del módulo CCP2

I

R

T

R

Modo Captura:1 = Una captura de TMR1 ha ocurrido.0 = No ha ocurrido captura de TMR1

U

J

I

L

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

L

O

A

RModo PWM

No usado en este modo

R

I

A

S

Page 212: La Gama Alta de los PIC(18F452)

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

L

A

D

I

M

I

Bit 7 OSCFIF: Bandera indicadora de

I

R

T

R Bit 7 OSCFIF: Bandera indicadora de fallo del oscilador.

1 = El oscilador del dispositivo falló Se ha

U

J

I

L 1 = El oscilador del dispositivo falló. Se ha realizado un cambio a INTOSC. (Debe ser borrada por software)

L

O

A

Rp )

0 = El reloj trabaja sin problemas.R

I

A

S

Page 213: La Gama Alta de los PIC(18F452)

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

L

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

1 = La entrada del comparador ha cambiado (Debe ser

A

D

I

M

I 1 = La entrada del comparador ha cambiado (Debe ser borrada por software)0 = La entrada del comparador no ha cambiado.

USBIF: USB Bit de interrupción USB

I

R

T

R USBIF: USB Bit de interrupción USB.1 = El módulo USB ha generado una interrupción0 = No hay interrupciones USB

Bit 4 EEIF B d d i t ió

U

J

I

L

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

1 = La operación de escritura se ha completado (debe ser b d SW)

L

O

A

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

R

I

A

S

Page 214: La Gama Alta de los PIC(18F452)

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

L

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

1 = Ocurrió una colisión

A

D

I

M

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

Bit 2 HLVDIF: Interrupción por detección de l b j l j

I

R

T

R

alto o bajo voltaje.1 = Una condición de bajo o alto voltaje ha ocurrido. La dirección es determinada por el bit 7

U

J

I

L p(VDIRMAG) del registro HLVDCON.0 = El voltaje del dispositivo se mantiene por encima del valor de activación de la interrupción.

L

O

A

RR

I

A

S

Page 215: La Gama Alta de los PIC(18F452)

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

L

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

A

D

I

M

I 0 = El TMR3 No se ha rebosadoBit 0 CCP2IF: Bandera de interrupción del módulo CCP2

I

R

T

R

Modo Captura:1 = Una captura de TMR1 ha ocurrido.0 = No ha ocurrido captura de TMR1

U

J

I

L

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

L

O

A

RModo PWM

No usado en este modo

R

I

A

S

Page 216: La Gama Alta de los PIC(18F452)

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

L

A

D

I

M

I

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

I

R

T

R lectura/escritura del puerto paralelo esclavo1 = Habilita la interrupción0 = Deshabilita la interrupción.

U

J

I

L p

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

L

O

A

R

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

R

I

A

S

Page 217: La Gama Alta de los PIC(18F452)

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

L

Bit 5 RCIE: Habilita la interrupción por recepción del módulo USART.

A

D

I

M

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

I

R

T

R 0 = Deshabilita la interrupción

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

U

J

I

L transmisión del módulo USART1 = Habilita la interrupción0 D h bilit l i t ió

L

O

A

R 0 = Deshabilita la interrupciónR

I

A

S

Page 218: La Gama Alta de los PIC(18F452)

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

L

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

1 = Habilita la interrupción del MSSP

A

D

I

M

I

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

1 = Habilita la interrupción del CCP1

I

R

T

R p0 = Deshabilita la interrupción

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

U

J

I

L

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

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

L

O

A

Rp p

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

R

I

A

S

Page 219: La Gama Alta de los PIC(18F452)

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

L

A

D

I

M

I

Bit 7-5 Sin implementarBit 4 EEIE: Habilita la interrupción por fin

I

R

T

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

1 = Habilitada0 Deshabilitada

U

J

I

L

0 = DeshabilitadaBit 3 BCLIE: Habilita la interrupción por colisión de datos en el BUS

L

O

A

R

1 = Habilitada0 = Deshabilitada

R

I

A

S

Page 220: La Gama Alta de los PIC(18F452)

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

L

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

1 = Habilitada

A

D

I

M

I

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

I

R

T

R

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

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

U

J

I

L

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

L

O

A

RR

I

A

S

Page 221: La Gama Alta de los PIC(18F452)

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

L

A

D

I

M

I

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

I

R

T

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

1 = Habilitado

U

J

I

L

0 = deshabilitado

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

L

O

A

R comparación1 = Habilitado0 = Deshabilitado

R

I

A

S

Page 222: La Gama Alta de los PIC(18F452)

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

L

USBIE: Bit habilitador de la interrupción USB.

A

D

I

M

I 1 = Habilitado0 = Deshabilitado

Bit 4 EEIE: Habilita la interrupción por fin de

I

R

T

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

1 = Habilitada

U

J

I

L

0 = DeshabilitadaBit 3 BCLIE: Habilita la interrupción por colisión de datos en el BUS

L

O

A

R colisión de datos en el BUS1 = Habilitada0 = Deshabilitada

R

I

A

S

Page 223: La Gama Alta de los PIC(18F452)

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

L

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

1 H bilit d

A

D

I

M

I 1 = Habilitada0 = Deshabilitada.

Bit 1 TMR3IE: Habilita la interrupción por desborde

I

R

T

R p pde TMR3.

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

U

J

I

L0 = Deshabilita la interrupción

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

L

O

A

R

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

R

I

A

S

Page 224: La Gama Alta de los PIC(18F452)

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

L

A

D

I

M

I

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

I

R

T

R del puerto paralelo esclavo1 = Alta prioridad0 = Baja prioridad

U

J

I

L 0 Baja prioridadBit 6 ADIP: Prioridad de Interrupción del conversor A/D

L

O

A

R

1 = Alta prioridad0 = Baja prioridad

R

I

A

S

Page 225: La Gama Alta de los PIC(18F452)

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

L

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

1 = Alta prioridad

A

D

I

M

I 1 = Alta prioridad0 = Baja prioridad

Bit 4 TXIP: Prioridad de Interrupción del ód l USART TX

I

R

T

R

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

U

J

I

L 0 Baja prioridadBit 3 SSPIP: Prioridad de Interrupción del puerto serial síncrono

1 Alt i id d

L

O

A

R 1 = Alta prioridad0 = Baja prioridad

R

I

A

S

Page 226: La Gama Alta de los PIC(18F452)

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

L

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

1 = Alta prioridad

A

D

I

M

I 1 = Alta prioridad0 = Baja prioridad

Bit 1 TMR2IP: Prioridad de Interrupción del TMR2

I

R

T

R p1 = Alta prioridad0 = Baja prioridad

Bit 0 TMR1IP P i id d d I t ió d l TMR1

U

J

I

L

Bit 0 TMR1IP: Prioridad de Interrupción del TMR1.1 = Alta prioridad0 = Baja prioridad

L

O

A

R0 Baja prioridad

R

I

A

S

Page 227: La Gama Alta de los PIC(18F452)

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

L

A

D

I

M

I

Bit 7-5 Sin implementarBit 4 EEIP: Prioridad de Interrupción por fin

I

R

T

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

1 = Alta prioridad0 Baja prioridad

U

J

I

L

0 = Baja prioridadBit 3 BCLIP: Prioridad de Interrupción por colisión en Bus de datos.

L

O

A

R

1 = Alta prioridad0 = Baja prioridad

R

I

A

S

Page 228: La Gama Alta de los PIC(18F452)

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

L

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

1 = Alta prioridad

A

D

I

M

I 1 = Alta prioridad0 = Baja prioridad

Bit 1 TMR3IP: Prioridad de Interrupción por b d TMR3

I

R

T

R

rebose de TMR31 = Alta prioridad0 = Baja prioridad

U

J

I

L 0 Baja prioridadBit 0 CCP2IP: Prioridad de Interrupción de módulo CCP2

1 Alt i id d

L

O

A

R 1 = Alta prioridad0 = Baja prioridad

R

I

A

S

Page 229: La Gama Alta de los PIC(18F452)

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

L

A

D

I

M

I

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

I

R

T

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

1 = Alta prioridad

U

J

I

L

0 = Baja prioridad

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

L

O

A

R comparación analógica.1 = Alta prioridad.0 = Baja prioridad.

R

I

A

S

Page 230: La Gama Alta de los PIC(18F452)

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

L

USBIP: Bit de prioridad interrupción USB.1 = Alta prioridad

A

D

I

M

I

0 = Baja prioridad

Bit 4 EEIP: Prioridad de Interrupción por fin

I

R

T

R

de escritura en EPROM/FLASH1 = Alta prioridad0 Baja prioridad

U

J

I

L

0 = Baja prioridadBit 3 BCLIP: Prioridad de Interrupción por colisión en Bus de datos.

L

O

A

R colisión en Bus de datos.1 = Alta prioridad0 = Baja prioridad

R

I

A

S

Page 231: La Gama Alta de los PIC(18F452)

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

L

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

1 Alt i id d

A

D

I

M

I 1 = Alta prioridad0 = Baja prioridad

Bit 1 TMR3IP: Prioridad de Interrupción por rebose

I

R

T

R p pde TMR3

1 = Alta prioridad0 = Baja prioridad

U

J

I

L0 = Baja prioridad

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

L

O

A

R

1 = Alta prioridad0 = Baja prioridad

R

I

A

S

Page 232: La Gama Alta de los PIC(18F452)

Temporizador Timer 0Temporizador Timer 018F452, 18F4550V

L

Las características que posee el Timer0 son las siguientes:Se puede seleccionar un modo de trabajo a 8 o 16

A

D

I

M

I Se puede seleccionar un modo de trabajo a 8 o 16 bitsSe puede leer y escribir en él.Posee un pre escalador propio de 8 bits

I

R

T

R Posee un pre escalador propio de 8 bits.Selección de fuente de reloj externa (Pin RA4 T0CKI) o interna Fosc/4Genera una interrupción cuando se desborda en

U

J

I

L Genera una interrupción cuando se desborda en modo de 8 o 16 bits.El timer 0 es controlado por el registro T0CON

L

O

A

RR

I

A

S

Page 233: La Gama Alta de los PIC(18F452)

Temporizador Timer 0 Reg T0CONTemporizador Timer 0 Reg. T0CON18F452, 18F4550V

L

A

D

I

M

I

Bit 7 TMR0ON: Bit de control ON/OFF del Timer0b l l

I

R

T

R

1 = Habilita el Timer00 = Detiene el Timer0

Bit 6 T08BIT: Bit de selección de Timer0 en modo

U

J

I

LBit 6 T08BIT: Bit de selección de Timer0 en modo 8 bits o 16 bits

1 = Timer0 en modo 8 bits

L

O

A

R

0 = Timer0 en modo 16 bitsR

I

A

S

Page 234: La Gama Alta de los PIC(18F452)

Temporizador Timer 0 Reg T0CONTemporizador Timer 0 Reg. T0CON18F452, 18F4550V

L

Bit 5 T0CS: Bit de selección de la fuente de reloj de Timer0.

1 = Transiciones en el pin T0CKI (RA4)

A

D

I

M

I 1 = Transiciones en el pin T0CKI (RA4)0 = Reloj interno de Instrucciones (FOSC/4)

Bit 4 T0SE: Bit de tipo de flanco para incremento de Timer0

I

R

T

R Timer0.1 = Incremento por flanco de bajada. 0 = Incremento por flanco de subida.

ó

U

J

I

L

Bit 3 PSA: Bit de asignación del Pre escalador1 = Pre escalador no asignado a Timer0.0 = Pre escalador asignado a Timer0.

L

O

A

RR

I

A

S

Page 235: La Gama Alta de los PIC(18F452)

Temporizador Timer 0 Reg T0CONTemporizador Timer 0 Reg. T0CON18F452, 18F4550V

L

Bit 2-0 T0PS2:T0PS0: Bits de selección del pre escalador.

A

D

I

M

I 111 = 1:256110 = 1:128101 = 1:64

I

R

T

R 101 = 1:64100 = 1:32011 = 1:16

U

J

I

L

010 = 1:8001 = 1:4000 = 1:2

L

O

A

R 000 = 1:2R

I

A

S

Page 236: La Gama Alta de los PIC(18F452)

Temporizador Timer 0p18F452, 18F4550V

L

Si no se asigna preescalador a TMRO, el registro de él se incrementa cada ciclo de reloj.

A

D

I

M

I Si el registro TMR0L es escrito, el conteo no se reanuda, hasta dos ciclos de instrucción después.Si se utilizan instrucciones como:

I

R

T

R Si se utilizan instrucciones como:clrf TMR0, movwf TMR0 ó bsf TMR0, el pre escalador es puesto a 0, aunque la asignación del pre escalador no cambia

U

J

I

L cambia.

La interrupción de TMR0, no puede sacar al procesador de un SLEEP, ya que en este caso el

L

O

A

R oscilador interno esta parado.R

I

A

S

Page 237: La Gama Alta de los PIC(18F452)

Temporizador Timer 0p18F452, 18F4550V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 238: La Gama Alta de los PIC(18F452)

Temporizador Timer 0p18F452, 18F4550V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 239: La Gama Alta de los PIC(18F452)

Temporizador Timer 0p18F452, 18F4550V

L

El registro TMR0H se actualiza solo cuando se hace una lectura de TMR0L,

A

D

I

M

I cuando se hace una lectura de TMR0L, esto con el fin de leer los 16 bits de TMR0.

I

R

T

R TMR0.La parte alta de TMR0, solo se carga en el registro TMR0H cuando se hace una

U

J

I

L el registro TMR0H cuando se hace una escritura en TMR0L, esto con el fin de transferir los 16 bits a la vez

L

O

A

R transferir los 16 bits a la vez R

I

A

S

Page 240: La Gama Alta de los PIC(18F452)

Temporizador Timer 1p18F452, 18F4550 V

L

El Timer1 es un temporizador de 16 bits posee los registros TMR1H y TMR1L.S l ió d f t d l j i t t

A

D

I

M

I Selección de fuente de reloj interna o externa.Puede conectarse un oscilador en los pines de entrada de Timer1 con el fin de tener una base de

I

R

T

R entrada de Timer1 con el fin de tener una base de tiempo precisa independiente del reloj interno.La interrupción se genera por rebose

U

J

I

L

Un evento especial del módulo CCP, lo coloca en 0L

O

A

RR

I

A

S

Page 241: La Gama Alta de los PIC(18F452)

Temporizador Timer 1p18F452, 18F4550V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 242: La Gama Alta de los PIC(18F452)

Temporizador Timer1 Reg T1CONTemporizador Timer1 Reg. T1CON18F452, 18F4550V

L

Bit 7 RD16: Modo de lectura escritura de 16-bits

A

D

I

M

I 1 = Habilita la lectura y escritura del Timer1 en una operación de 16-bits.0 = Habilita la lectura y escritura del Timer1 en

I

R

T

R ydos operaciones de 8-bits.

Cuando RD16 vale 1, la parte alta del timer 1 es transferida a TMR1H a través de un buffer

U

J

I

L

es transferida a TMR1H a través de un buffer. Esto ocurre solo cuando TMR1L es leído, así se transfieren los 16 bits al tiempo.

L

O

A

Rp

R

I

A

S

Page 243: La Gama Alta de los PIC(18F452)

Temporizador Timer1 Reg T1CONTemporizador Timer1 Reg. T1CON18F452, 18F4550V

L

Para realizar una escritura de 16 bits a el Timer 1, se carga TMR1H con el valor d d ti ió ib TMR1L

A

D

I

M

I deseado y a continuación se escribe TMR1L, en ese instante se hace la transferencia de 16 bits a la vez.

I

R

T

R

Bit 6 Sin implementarBit 5-4 T1CKPS1:T1CKPS0: Bits del pre

U

J

I

L pescalador de Timer1

11 = 1:810 1 4

L

O

A

R 10 = 1:4 01 = 1:2 00 = 1:1

R

I

A

S

Page 244: La Gama Alta de los PIC(18F452)

Temporizador Timer1 Reg T1CONTemporizador Timer1 Reg. T1CON18F452, 18F4550V

L

Bit 3 T1OSCEN: Bit habilitador del Oscilador de Timer1.

1 = Oscilador de Timer1 habilitado

A

D

I

M

I 1 = Oscilador de Timer1 habilitado0 = Oscilador de Timer1 apagado

Bit 2 T1SYNC: Sincronización de reloj

I

R

T

R Bit 2 T1SYNC: Sincronización de reloj externo con el reloj interno

Cuando TMR1CS = 1:1 N i i l ñ l d l j

U

J

I

L

1 = No sincronice la señal de reloj externa0 = Sincronice la señal de reloj externaCuando TMR1CS = 0:

L

O

A

R Cuando TMR1CS = 0:Se ignora, ya que se esta usando el reloj interno

R

I

A

S

Page 245: La Gama Alta de los PIC(18F452)

Temporizador Timer1 Reg T1CONTemporizador Timer1 Reg. T1CON18F452, 18F4550V

L

Bit 1 TMR1CS: Bit de selección de la fuente de reloj de Timer1.

A

D

I

M

I

1 = Reloj externo, entrada por RC0/T1OSO/T13CKI (cuenta cada flanco de subida)

I

R

T

R subida)0 = Reloj Interno (FOSC/4)

Bit 0 TMR1ON: Bit de encendido del Timer1

U

J

I

L Bit 0 TMR1ON: Bit de encendido del Timer11 = Habilita el conteo en Timer10 = Detiene el conteo en Timer1

L

O

A

RR

I

A

S

Page 246: La Gama Alta de los PIC(18F452)

Temporizador Timer1 OsciladorTemporizador Timer1. Oscilador18F452, 18F4550V

L

El oscilador externo para Timer1 se ubica entre los pines T1OSO y T1OSI (RC0 y RC1)

A

D

I

M

I

El oscilador de cuarzo que se conecta a estos pines no debe exceder los 200 KHz.

I

R

T

R

Los condensadores sugeridos son de 33 pF.Una alta capacitancia incrementa la

U

J

I

L

estabilidad, pero aumenta el tiempo de arranque del oscilador

L

O

A

RR

I

A

S

Page 247: La Gama Alta de los PIC(18F452)

Temporizador Timer 1p18F452, 18F4550V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 248: La Gama Alta de los PIC(18F452)

Temporizador Timer 2p18F452, 18F4550V

L

El Timer2 se caracteriza por lo siguienteUn registro TMR2 de 8 bitsU i t PR2 t l l á i

A

D

I

M

I Un registro PR2, que controla el máximo conteo de TMR2.Un pre escalador de (1:1, 1:4, 1:16)

I

R

T

R Un pre escalador de (1:1, 1:4, 1:16)Un post escalador (1:1 a 1:16)Se genera una interrupción al igualarse TMR2

PR2

U

J

I

L

con PR2.TMR2 es utilizado como base de tiempo para el control del módulo PWM

L

O

A

R el control del módulo PWMR

I

A

S

Page 249: La Gama Alta de los PIC(18F452)

Temporizador Timer 2p18F452, 18F4550V

L

El pre escalador y el post escalador son puestos a su valor mínimo, cuando:

A

D

I

M

I puestos a su valor mínimo, cuando:Se escribe en el registro TMR2.Se escribe en el registro T2CON

I

R

T

R Se escribe en el registro T2CONPor un RESETEl valor de TMR2 no se pone en 0 si

U

J

I

L El valor de TMR2 no se pone en 0 si T2CON es modificado.

L

O

A

RR

I

A

S

Page 250: La Gama Alta de los PIC(18F452)

Temporizador Timer 2p18F452, 18F4550V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 251: La Gama Alta de los PIC(18F452)

Temporizador Timer2 Reg T2CONTemporizador Timer2 Reg. T2CON18F452, 18F4550V

L

Bit 7 Sin implementarBit 6 a 3 TOUTPS3:TOUTPS0: Timer2 Post escalador

A

D

I

M

I escalador0000 = 1:1 Post escalador0001 = 1:2 Post escalador1111 = 1:16 Post escalador

I

R

T

R

Bit 2 TMR2ON: Bit de encendido1 = Timer2 encendido0 = Timer2 apagado

U

J

I

L p gBit 1 a 0 T2CKPS1:T2CKPS0: Timer2 Pre escalador

00 = Pre escalador en 101 = Pre escalador en 4

L

O

A

R1x = Pre escalador en 16

R

I

A

S

Page 252: La Gama Alta de los PIC(18F452)

Temporizador Timer2p18F452, 18F4550V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 253: La Gama Alta de los PIC(18F452)

Temporizador Timer 3V

L

El temporizador Timer3 posee las siguientes características:

A

D

I

M

I

16 – bits de tamaño, conformado por dos registros de 8 bits

I

R

T

R

Uso de oscilador externo.Interrupción por rebose del temporizador, al pasar de FFFFh a 0000h

U

J

I

L

pasar de FFFFh a 0000hSe puede borrar por un disparo del módulo CCP.

L

O

A

R CCP.R

I

A

S

Page 254: La Gama Alta de los PIC(18F452)

Temporizador Timer 3V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 255: La Gama Alta de los PIC(18F452)

Temporizador Timer 3 Reg. T3CONV

L

Bit 7 RD16: Habilita el modo de lectura escritura de 16 bits

A

D

I

M

I escritura de 16 bits1 = Habilita la lectura escritura del Timer3 en una operación de 16 bits. El TMR3H, se

I

R

T

R p ,actualiza al leer o escribir en el TMR3L0 = Habilita la lectura escritura del Timer3

U

J

I

L

en dos operaciones de 8 bits. L

O

A

RR

I

A

S

Page 256: La Gama Alta de los PIC(18F452)

Temporizador Timer 3 Reg. T3CONV

L

Bit 6-3 T3CCP2:T3CCP1:Uso del Timer3 y Timer1 para trabajar con el módulo CCPx.

A

D

I

M

I

1x = Timer3 es la fuente de reloj para el módulo CCP en modo captura y comparación.01 Ti 3 l f t d l j l

I

R

T

R

01 = Timer3 es la fuente de reloj para el módulo CCP2 y Timer1 es la fuente de reloj para el módulo CCP1

U

J

I

L para el módulo CCP100 = Timer1 es la fuente de reloj para el módulo CCP en modo captura y comparación.

L

O

A

RR

I

A

S

Page 257: La Gama Alta de los PIC(18F452)

Temporizador Timer 3 Reg. T3CONV

L

Bit 5-4 T3CKPS1:T3CKPS0: Pre escalador del Timer3

11 1 8

A

D

I

M

I 11 = 1:810 = 1:401 = 1:2

I

R

T

R

00 = 1:1

Bit 2 T3SYNC: Bit para sincronización de la fuente de reloj externa de Timer3

U

J

I

L de reloj externa de Timer3.Cuando TMR3CS = 1:

1 = No sincronice el reloj externo con el interno0 i i l l j l i

L

O

A

R 0 = sincronice el reloj externo con el interno

Cuando TMR3CS = 0:Es ignorado.

R

I

A

S

Page 258: La Gama Alta de los PIC(18F452)

Temporizador Timer 3 Reg. T3CONV

L

Bit 1 TMR3CS: Selección de la fuente de reloj de Timer3

A

D

I

M

Ij

1 = Fuente de reloj externa proveniente del oscilador de Timer1 o del pin T1CKI

I

R

T

R

0 = Fuente de reloj interna (FOSC/4)Bit 0 TMR3ON: Encendido de Timer3

U

J

I

L

1 = Habilita Timer30 = Detiene Timer3

L

O

A

RR

I

A

S

Page 259: La Gama Alta de los PIC(18F452)

Temporizador Timer3V

L

Para que el reset debido al evento de disparo del módulo CCP funcione, el

A

D

I

M

I disparo del módulo CCP funcione, el TIMER3, debe estar configurado con reloj interno o externo con

I

R

T

R reloj interno o externo con sincronización.El evento de disparo coloca en 0 el

U

J

I

L El evento de disparo coloca en 0 el timer 3 pero no genera una interrupción

L

O

A

R interrupción.R

I

A

S

Page 260: La Gama Alta de los PIC(18F452)

Temporizador Timer3V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 261: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F452)V

L

El conversor analógico digital posee una resolución de 10 bits.

A

D

I

M

I resolución de 10 bits.Controlado por los registros ADCON1 y ADCON0

I

R

T

R ADCON0.El resultado de la conversión es almacenado en los registros ADRESL y

U

J

I

L

almacenado en los registros ADRESL y ADRESH.

L

O

A

RR

I

A

S

Page 262: 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

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 263: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F452)V

L

Bit 5-3 CHS2:CHS0: Selección del canal analógico

A

D

I

M

Ig

000 = canal 0, (RA0)001 = canal 1, (RA1)

I

R

T

R

010 = canal 2, (RA2)011 = canal 3, (RA3)

U

J

I

L

100 = canal 4, (RA5)101 = canal 5, (RE0)

L

O

A

R 110 = canal 6, (RE1)111 = canal 7, (RE2)

R

I

A

S

Page 264: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F452)V

L

Bit 2 GO/DONE: Estado de la conversión A/D. Debe estar habilitado el bit ADON

ó

A

D

I

M

I 1 = Conversión A/D en progreso (Colocando este bit en 1, se inicia la conversión A/D. Se borra por HW, cuando la conversión termina.)

I

R

T

R

0 = La conversión A/D no esta en progreso.Bit 1 Sin implementar

d l ód l /

U

J

I

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

L

O

A

R 0 = El módulo A/D esta apagado y no consume corriente.

R

I

A

S

Page 265: 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

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 266: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F452)V

L

Bit 7 ADFM: Formato del resultado de la conversión A/D.

A

D

I

M

I 1 = Justificado a la derecha. Los 6 bits mas significativos del registro ADRESH son cero.0 = Justificado a la izquierda. Los 6 bits menos

I

R

T

R qsignificativos del registro ADRESL son cero.

Bit 6 ADCS2: selección del tiempo de conversión del módulo A/D trabaja en asocio

U

J

I

L

conversión del módulo A/D, trabaja en asocio con los bits ADCS1 y ADCS0 del registro ADCON0

L

O

A

RR

I

A

S

Page 267: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F452)V

L

Cuando el procesador se encuentra en modo SLEEP y se desea realizar una conversión, se debe utilizar como base de tiempo el oscilador

A

D

I

M

I debe utilizar como base de tiempo el oscilador RC del conversor A/D.El conversor analógico digital funciona por aproximaciones sucesivas

I

R

T

R aproximaciones sucesivas.Un RESET en el dispositivo, obliga a el apagado del conversor A/D y cualquier conversión en proceso es abortada

U

J

I

L proceso es abortada.Cada pin del micro controlador que se use como entrada analógica, debe ser configurado como entrada en el respectivo registro TRIS

L

O

A

R entrada en el respectivo registro TRISR

I

A

S

Page 268: La Gama Alta de los PIC(18F452)

Módulo conversión A/D (Pasos)Módulo conversión A/D (Pasos)(18F452)V

L

Los pasos para realizar una conversión A/D son los siguientes:

A

D

I

M

Ig

1. Configuración del módulo A/D.Se configuran los pines que serán entradas

I

R

T

R g p qanalógicas o digitales (ADCON1).Se selecciona el canal de entrada al

ód l A/D (ADCON0)

U

J

I

L

módulo A/D (ADCON0).Se selecciona el reloj de conversión A/D (ADCON0)

L

O

A

R (ADCON0).Se enciende el módulo A/D (ADCON0).

R

I

A

S

Page 269: La Gama Alta de los PIC(18F452)

Módulo conversión A/D (Pasos)Módulo conversión A/D (Pasos)(18F452)V

L

2. Configuración de interrupciones para el módulo A/D (opcional)

Borrar el bit ADIF en el registro PIR1

A

D

I

M

I Borrar el bit ADIF en el registro PIR1Poner en 1 el bit ADIE en el registro PIE1.Poner en 1 el bit GIE y el PEIE en el registro INTCON

I

R

T

R INTCON.3. Esperar el tiempo de adquisición en el condensador de sujeción interno.4 C l ió l d 1 l

U

J

I

L

4. Comenzar la conversión, colocando en 1 el bit GO/DONE del registro (ADCON0), este bit no se debe poner en 1 al mismo tiempo que i ió i d l ód l A/D

L

O

A

R instrucción que enciende el módulo A/D (ADON = 1)

R

I

A

S

Page 270: La Gama Alta de los PIC(18F452)

Módulo conversión A/D (Pasos)Módulo conversión A/D (Pasos)(18F452)V

L

5. Esperar que la conversión A/D concluya cuando:

El bit GO/DONE se ponga en 0 ó la interrupción del

A

D

I

M

I El bit GO/DONE se ponga en 0 ó la interrupción del conversor A/D se dé.

6. Leer el resultado en los registros ADRESH y

I

R

T

R

ADRESL y borrar el bit ADIF si es necesario.7. Para conversiones sucesivas, se deben esperar 2 TAD’s antes de que el nuevo tiempo de

U

J

I

L 2 TAD s antes de que el nuevo tiempo de 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

L

O

A

R puede ser menor a 1.6 micro segundosR

I

A

S

Page 271: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F452)V

L

Los bits ADCS0, ADCS1 y ADCS2, permiten escoger el oscilador para la conversión A/D

A

D

I

M

I

que tiene relación directa con el TAD.El TAD se obtiene así:

I

R

T

R

TAD = 1/(FOSC/n) ó TOSC * n donde TOSC = 1/FOSC. Si el valor de ADCS0 ADCS1 ADCS2 es de 101 el

U

J

I

L

Si el valor de ADCS0, ADCS1, ADCS2 es de 101, el valor del TAD será de (16 * TOSC)Si se desea trabajar con el oscilador RC interno del

L

O

A

Rj

módulo A/D, el valor del TAD será de 2 micro segundos.

R

I

A

S

Page 272: 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

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 273: 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

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 274: 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

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 275: 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

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 276: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4550)V

L

El módulo A/D de este micro consta de 13 canales analógicos. El resultado de

A

D

I

M

I 13 canales analógicos. El resultado de la conversión es de 10 bits.Cinco registros conforman este módulo

I

R

T

R Cinco registros conforman este módulo.ADRESH, ADRESL, registros de control ADCON0 ADCON1 y ADCON2

U

J

I

L

ADCON0, ADCON1 y ADCON2.L

O

A

RR

I

A

S

Page 277: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4550)V

L

A

D

I

M

I

Bit 1 GO/DONE: Bit de estado de la conversión A/D

I

R

T

R Bit 1 GO/DONE: Bit de estado de la conversión A/DCuando ADON = 1:

1 = Conversión A/D en progreso.0 = Conversor A/D desocupado

U

J

I

L0 = Conversor A/D desocupado

Bit 0 ADON: Bit habilitador de módulo A/D1 = Módulo A/D habilitado0 Mód l A/D d h bilit d

L

O

A

R 0 = Módulo A/D deshabilitadoR

I

A

S

Page 278: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4550)V

L

Bit 7-6 Sin implementarBit 5-2 CHS3:CHS0: Selección del canal analógico

0000 = Canal 0 (AN0/RA0)0001 C l 1 (AN1/RA1)

A

D

I

M

I 0001 = Canal 1 (AN1/RA1)0010 = Canal 2 (AN2/RA2)0011 = Canal 3 (AN3/RA3)0100 = Canal 4 (AN4/RA5)0101 C l 5 (AN5/RE0)

I

R

T

R0101 = Canal 5 (AN5/RE0)0110 = Canal 6 (AN6/RE1)0111 = Canal 7 (AN7/RE2)1000 = Canal 8 (AN8/RB2)1001 Canal 9 (AN9/RB3)

U

J

I

L1001 = Canal 9 (AN9/RB3)1010 = Canal 10 (AN10/RB1)1011 = Canal 11 (AN11/RB4)1100 = Canal 12 (AN12/RB0)1101 Sin implementar

L

O

A

R 1101 = Sin implementar1110 = Sin implementar 1111 = Sin implementar

R

I

A

S

Page 279: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4550)V

L

A

D

I

M

I

Bit 7-6 Sin implementar, se lee como ‘0’

I

R

T

R

Bit 5 VCFG1: Configuración de Voltaje de referencia (VREF-)1 = VREF- (AN2)0 = VSS

U

J

I

L 0 = VSSBit 4 VCFG0: Configuración de Voltaje de referencia (VREF+)

1 = VREF+ (AN3)

L

O

A

R 0 = VDDR

I

A

S

Page 280: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4550)V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 281: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4550)V

L

A

D

I

M

I

Bit 7 ADFM: Selección del formato del

I

R

T

R Bit 7 ADFM: Selección del formato del resultado del módulo A/D

1 = Justificado a la derecha

U

J

I

L 1 = Justificado a la derecha0 = Justificado a la izquierda

Bit 6 Si i l t

L

O

A

R Bit 6 Sin implementarR

I

A

S

Page 282: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4550)V

L

Bit 5-3 ACQT2:ACQT0: Bit de selección del tiempo de adquisición

A

D

I

M

I

111 = 20 TAD110 = 16 TAD

I

R

T

R

101 = 12 TAD100 = 8 TAD011 6 TAD

U

J

I

L

011 = 6 TAD010 = 4 TAD001 = 2 TAD

L

O

A

R 001 2 TAD000 = 0 TAD

R

I

A

S

Page 283: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4550)V

L

bit 2-0 ADCS2:ADCS0: Bit de selección del reloj para la conversión A/D (TAD).

A

D

I

M

I

111 = Uso del temporizador RC interno110 = FOSC/64

I

R

T

R

101 = FOSC/16100 = FOSC/4011 Uso del temporizador RC interno

U

J

I

L

011 = Uso del temporizador RC interno010 = FOSC/32001 = FOSC/8

L

O

A

R 001 FOSC/8000 = FOSC/2

R

I

A

S

Page 284: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4550)V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 285: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4550)V

L

Pasos para realizar una conversión A/D.1. Configuración del módulo A/D

A

D

I

M

I

Configurar los pines analógicos y los voltajes de referencia (ADCON1)S l i l d t d (ADCON0)

I

R

T

R

Seleccionar canal de entrada (ADCON0)Escoger el tiempo de adquisición (ADCON2)Seleccionar el tiempo de conversión TAD’s

U

J

I

L Seleccionar el tiempo de conversión TAD s (ADCON2)Habilitar el módulo A/D (ADCON0)

L

O

A

RR

I

A

S

Page 286: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4550)V

L

2. Configurar las interrupciones A/DBorrar el bit ADIFPoner en 1el bit ADIE

A

D

I

M

I Poner en 1el bit ADIEPoner en 1 el bit GIE.

3. Esperar a que transcurra el tiempo de adquisición si es necesario

I

R

T

R necesario4. Comenzar la conversión. Colocando en 1 el bit GO/DONE del (ADCON0)5 Esperar a que la conversión A/D termine

U

J

I

L5. Esperar a que la conversión A/D termine.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 b l bit ADIF i i

L

O

A

R borrar el bit ADIF, si es necesario.R

I

A

S

Page 287: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4550)V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 288: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4550)V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 289: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4550)V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 290: La Gama Alta de los PIC(18F452)

Módulo conversión A/DMódulo conversión A/D(18F4550)V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 291: La Gama Alta de los PIC(18F452)

Memoria EEPROM de datosV

L

La memoria EEPROM, no puede ser direccionada normalmente, para acceder a

A

D

I

M

I, p

ella se hace a través de unos registros especiales

I

R

T

R

EECON1 (Registro de configuración)EECON2 (Registro de configuración)

U

J

I

L

EEDATA (Registro de transferencia de datos)

( d d )

L

O

A

R EEADR (Registro de direccionamiento)R

I

A

S

Page 292: La Gama Alta de los PIC(18F452)

Memoria EEPROM de datosV

L

Los datos en la EEPROM, se sobrescriben y el tiempo de acceso de

A

D

I

M

I sobrescriben y el tiempo de acceso de escritura tiene un tiempo típico de 4 milisegundos

I

R

T

R milisegundosDebido a que el registro EEADR es de 8 bits la capacidad en EEPROM es de 256

U

J

I

L bits, la capacidad en EEPROM es de 256 bytes.

L

O

A

RR

I

A

S

Page 293: La Gama Alta de los PIC(18F452)

Memoria EEPROM de datosV

L

A

D

I

M

I

BIT 7 EEPGD: bit de selección de la memoria FLASH o

I

R

T

R

EEPROM 1 = Acceso a la memoria FLASH0 = Acceso a la memoria EEPROM.

BIT 6 CFGS A l i FLASH/EEPROM l

U

J

I

L

BIT 6 CFGS: Acceso a la memoria FLASH/EEPROM o a los registros de configuración del PIC

1 = Acceso a los registros de Configuración0 = Acceso a la memoria FLASH o EEPROM

L

O

A

R 0 = Acceso a la memoria FLASH o EEPROMR

I

A

S

Page 294: La Gama Alta de los PIC(18F452)

Memoria EEPROM de datosV

L

BIT 5 Sin implementarBIT 4 FREE: Habilitación del ciclo de borrado

A

D

I

M

I

en la memoria FLASH 1 = Borra la memoria FLASH (64 bytes) apuntada por TBLPTR en el próximo comando WR

I

R

T

R por TBLPTR en el próximo comando WR0 = Solo para escritura.

BIT 3 WRERR: Bit de Error

U

J

I

L

1 = Una operación de escritura ha sido interrumpida. 0 = Operación de escritura completa

L

O

A

R 0 = Operación de escritura completa. R

I

A

S

Page 295: La Gama Alta de los PIC(18F452)

Memoria EEPROM de datosV

L

BIT 2 WREN: Bit de habilitación de escritura enFLASH o EEPROM

1 = ciclos de escritura permitidos

A

D

I

M

Ip

0 = No permite escritura en la memoria EEPROMBIT WR: bit de control de escritura

1 = Inicializa un ciclo de escritura en EEPROM o FLASH. ó

I

R

T

R

Cuando la operación termina, el bit es borrado por HW y no se puede por software.)0 = El ciclo de escritura en EEPROM finalizó

BIT 0 RD: bit de control de lectura

U

J

I

L

BIT 0 RD: bit de control de lectura.1 = Lee la memoria EEPROM. Es borrado por HW y no por SW. Este bit no se puede poner en 1 si EEPGD = 1.)0 = No se inicia la lectura de la EEPROM

L

O

A

R 0 No se inicia la lectura de la EEPROMR

I

A

S

Page 296: La Gama Alta de los PIC(18F452)

Lectura de la memoria EEPROMLectura de la memoria EEPROM de datosV

L

Para la lectura de la memoria EEPROM, se escribe la dirección a leer en EEADR.

A

D

I

M

I se escribe la dirección a leer en EEADR. Poner en 0 el bit EEPGD (bit 7 EECON1)Poner en 0 el bit CFGS (bit 6 EECON1)

I

R

T

R Poner en 0 el bit CFGS (bit 6 EECON1)Poner en 1 el bit RD (bit 0 EECON1)

U

J

I

L

El dato leído se almacena en el registro EEDATA

L

O

A

RR

I

A

S

Page 297: La Gama Alta de los PIC(18F452)

Escritura en la memoria EEPROMEscritura en la memoria EEPROM de datosV

L

Para la Escritura en la memoria EEPROM, se escribe la dirección a acceder en el registro EEADR.

A

D

I

M

I Poner en 0 el bit EEPGD (bit 7 EECON1)Poner en 0 el bit CFGS (bit 6 EECON1)Poner en 1 el bit WREN (bit 0 EECON1) con el fin de

I

R

T

R Poner en 1 el bit WREN (bit 0 EECON1) con el fin de habilitar el acceso en modo escritura.Poner en 1 el bit WR, para comenzar la escritura.

U

J

I

L , pEl dato leído se almacena en el registro EEDATAAl finalizar la escritura en la memoria EEPROM, se

i ió l l l bi

L

O

A

R genera una interrupción, al ponerse el 1 el bit EEIF del registro PIR2

R

I

A

S

Page 298: La Gama Alta de los PIC(18F452)

Modulo CCPV

L

El módulo CCP1 y CCP2, consta de 1 registro de control CCPxCON y 2 registros de 8 bits auxiliares (CCPRxL y CCPRxH) para el manejo del módulo.

A

D

I

M

I( y ) p jLos modos de trabajo son captura, comparación y PWM.Este módulo hace uso de los temporizadores

I

R

T

R pTimer1, Timer2 y Timer3U

J

I

L

L

O

A

RR

I

A

S

Page 299: La Gama Alta de los PIC(18F452)

Modulo CCP (Registro de control)V

L

A

D

I

M

II

R

T

R

Bit 7-6 Sin implementarBit 5-4 DCxB1:DCxB0: bit 0 y 1 de el ciclo de

U

J

I

L Bit 5 4 DCxB1:DCxB0: bit 0 y 1 de el ciclo de trabajo PWM, no usado en modo captura y comparación

L

O

A

RR

I

A

S

Page 300: La Gama Alta de los PIC(18F452)

Modulo CCP (Registro de control)V

L

Bit 3-0 CCPxM3:CCPxM0: Bits de selección del modo de trabajo0000 = Modulo CCP apagado0001 = Reservado0010 = Modo compara pulso a la salida al darse la igualdad (CCPxIF se

A

D

I

M

I 0010 Modo compara, pulso a la salida al darse la igualdad (CCPxIF se coloca en 1)0011 = Reservado0100 = Moda captura, cada flanco de bajada.0101 = Modo captura, cada flanco de subida.

I

R

T

R p ,0110 = Modo captura, cada 4 flancos de subida.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)

U

J

I

L

1001 = Modo compara, coloca el pin CCP en estado alto al darse la 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

L

O

A

R 1011 = Modo compara, se genera un evento trigger al producirse la igualdad (CCPIF se coloca en 1)11xx = Modo PWM

R

I

A

S

Page 301: La Gama Alta de los PIC(18F452)

Modulo CCP (Modo de Captura)V

L

En modo de captura los registros CCPR1H:CCPR1L, capturan el valor de los 16 bits de los registros de TMR1 o TMR3, cuando un evento en el pin RC2/CCP1 ocurre.

A

D

I

M

I p /Los eventos son:

Cada flanco de bajadaCada flanco de subida

I

R

T

R Cada flanco de subidaCada 4 flancos de subidaCada 16 flancos de subida

El pin del módulo CCPP debe ser configurado como entrada

U

J

I

L El pin del módulo CCPP debe ser configurado como entradaEl 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

L

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.

R

I

A

S

Page 302: La Gama Alta de los PIC(18F452)

Modulo CCP (Modo de Captura)V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 303: La Gama Alta de los PIC(18F452)

Modulo CCP (Modo de Captura)V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 304: La Gama Alta de los PIC(18F452)

Modulo CCP (Modo Compara)V

L

En modo compara, los 16 bits de los registros CCPR1 o (CCPR2) son comparados constantemente con el valor de TMR1 o TMR3.Cuando el valor de CCPRx se hace igual al de un Timer ocurre

A

D

I

M

I Cuando el valor de CCPRx se hace igual al de un Timer, ocurre lo siguiente en los pines RC2/CCP1 o RC1/CCP2:

Se pone en estado altoSe pone en estado bajo

I

R

T

R Se pone en estado bajoCambia de estado (Alto a Bajo o Bajo a Alto)Se mantiene sin cambios

El timer 1 y 3 deben estar sincronizados con el reloj interno si

U

J

I

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 del módulo CPP se debe apagar el módulo Ya que si no se

L

O

A

R del módulo CPP, se debe apagar el módulo. Ya que si no se hace se puede generar una falsa interrupción

R

I

A

S

Page 305: La Gama Alta de los PIC(18F452)

Modulo CCP (Modo Compara)V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 306: La Gama Alta de los PIC(18F452)

Modulo CCP (Modo Compara)V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 307: La Gama Alta de los PIC(18F452)

Modulo CCP (Modo PWM)V

L

El modo PWM, posee una resolución de 10 bits.Al borrar el registro CCPxCON, la salida del módulo PWM se pone en su estado por defecto (0)

A

D

I

M

I PWM se pone en su estado por defecto (0).El registro Timer 2 es utilizado como base de tiempo para la operación de este módulo.

I

R

T

R

El pos escalador de TMR2 no se utiliza.El periodo PWM esta dado por:

Periodo PWM = [PR2 + 1] * 4* TOSC*(Pre escalador TMR2)

U

J

I

L Periodo PWM = [PR2 + 1] 4 TOSC (Pre escalador TMR2)El ciclo de trabajo o tiempo de cresta esta dado por:

Tiempo Cresta PWM = (CCPR1L:CCP1CON<5:4>)*TOSC *(Pre escalador de TMR2)

L

O

A

R *(Pre escalador de TMR2)R

I

A

S

Page 308: La Gama Alta de los PIC(18F452)

Modulo CCP (Modo PWM)V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 309: La Gama Alta de los PIC(18F452)

Modulo CCP (Modo PWM)V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 310: La Gama Alta de los PIC(18F452)

Modulo CCP (Modo PWM)V

L

Como Configurar el módulo PWMSeleccione el periodo de trabajo mediante el registro PR2

A

D

I

M

I PR2.Seleccione el tiempo de cresta de PWM mediante el registro CCPR1L y los bits 5 y 4 de CCP1CON.

I

R

T

R

Configure el pin de salida del módulo CPP como salida.Configure el preescalador de Timer2 en el registro

U

J

I

L Configure el preescalador de Timer2 en el registro T2CON.Configure el módulo CPP para modo de trabajo PWM.

L

O

A

RR

I

A

S

Page 311: La Gama Alta de los PIC(18F452)

Modulo CCP (Modo PWM)V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 312: La Gama Alta de los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USARTV

L

El módulo de comunicación serial puede ser configurado de la siguiente manera:

A

D

I

M

I ser configurado de la siguiente manera:Sistema asíncrono full duplex. Sistema sincrónico half-duplex (Maestro)

I

R

T

R Sistema sincrónico half duplex (Maestro).Sistema sincrónico half-duplex (Esclavo).

El módulo USART cuenta con dos

U

J

I

L

El módulo USART cuenta con dos registro de configuración.

R i t d t l d t i ió TXSTA

L

O

A

R Registro de control de transmisión TXSTA.Registro de control de recepción RCSTA.

R

I

A

S

Page 313: La Gama Alta de los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Registro TXSTA)V

L

A

D

I

M

I

Bit 7 CSRC: Selección de la fuente de reloj

I

R

T

R Bit 7 CSRC: Selección de la fuente de reloj. Modo Asíncrono:

No se tiene en cuenta

U

J

I

L

Modo sincrónico:1 = Modo maestro (reloj generado internamente por el BRG)

L

O

A

R 0 = Modo Esclavo (reloj de fuente externa)R

I

A

S

Page 314: La Gama Alta de los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Registro TXSTA)V

L

Bit 6 TX9: Habilitador de transmisión de 9-bit.1 = 9 bits para transmitir.0 = 8 bits para transmitir

A

D

I

M

I 0 = 8 bits para transmitir.Bit 5 TXEN: Habilitación de Transmisión

1 = Transmisión habilitada

I

R

T

R

0 = Transmisión deshabilitadaBit 4 SYNC: Selección del modo de trabajo USART

U

J

I

L USART1 = Modo sincrónico0 = Modo asíncrono

L

O

A

RR

I

A

S

Page 315: La Gama Alta de los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Registro TXSTA)V

L

Bit 3 Sin implementarBit 2 BRGH: Modo de selección de trabajo del Baud

A

D

I

M

I Rate GeneratorModo asíncrono:

1 = Alta velocidad

I

R

T

R

0 = Baja velocidad

Modo Sincrónico:No utilizado en este modo

U

J

I

L No utilizado en este modo

Bit 1 TRMT: Estado del registro de corrimiento1 = TSR vacío

L

O

A

R 0 = TSR lleno

Bit 0 TX9D: Noveno bit de datos a ser transmitido

R

I

A

S

Page 316: La Gama Alta de los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Registro RCSTA)V

L

A

D

I

M

I

Bit 7 SPEN: Habilitador de puerto serial

I

R

T

R Bit 7 SPEN: Habilitador de puerto serial1 = Puerto serial habilitado0 = Puerto serial deshabilitado

U

J

I

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

L

O

A

R 0 = Se van a recibir 8 bits.R

I

A

S

Page 317: La Gama Alta de los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Registro RCSTA)V

L

Bit 5 SREN: Habilitación de recepción simple.

A

D

I

M

I simple.Modo asíncrono:

No se tiene en cuenta

I

R

T

R No se tiene en cuenta

Modo sincrónico - Maestro:1 = Habilita una recepción simple

U

J

I

L p p0 = Deshabilita la recepción simple.

Modo sincrónico - Esclavo:

L

O

A

R

No se tiene en cuentaR

I

A

S

Page 318: La Gama Alta de los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Registro RCSTA)V

L

bit 4 CREN: Habilita la recepción continua.

A

D

I

M

I continua.Modo asíncrono:

1 = Habilita el receptor

I

R

T

R 1 Habilita el receptor0 = Deshabilita el receptor

Modo sincrónico:

U

J

I

L

1 = Habilita la recepción continua, hasta que el bit CREN se borre (CREN sobrescribe SREN)

ó

L

O

A

R 0 = Deshabilita la recepción continua.R

I

A

S

Page 319: La Gama Alta de los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Registro RCSTA)V

L

bit 3 ADDEN: Habilita la detección de direccionesModo asíncrono con noveno bit en 1 (RX9 = 1):

1 = Habilita la detección de direcciones, habilita la interrupción l l b ff d ó d 8

A

D

I

M

I y lee el buffer de recepción cuando RSR<8> se pone en 10 = Deshabilita la detección de direcciones, todos los bytes son recibidos y el noveno bit se puede usar como bit de paridad

bit 2 FERR: Bit de error de Encuadre

I

R

T

R bit 2 FERR: Bit de error de Encuadre1 = Error de encuadre0 = No hay error de encuadre

bit 1 OERR: Bit de error de desborde

U

J

I

L bit 1 OERR: Bit de error de desborde1 = Error de desborde0 = No hay error de desborde

bit 0 RX9D: Noveno bit en recepción

L

O

A

R bit 0 RX9D: Noveno bit en recepciónR

I

A

S

Page 320: La Gama Alta de los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Tasa de transferencia)V

L

Existen dos modos para calcular la tasa de transferencia de puerto serial USART. Modo alta y baja velocidad. El bit BRGH <TXSTA 2> permite escoger el modo mientras

A

D

I

M

I El bit BRGH <TXSTA 2>, permite escoger el modo, mientras que el registro SPBRG contiene la tasa de transferencia escogida. En las ecuaciones “X” es el valor de SPBRGModo asíncrono baja velocidad

I

R

T

R Modo asíncrono baja velocidad.Tasa de transferencia = FOSC/(64(X+1))

Modo asíncrono alta velocidad.Tasa de transferencia = FOSC/(16(X+1))

U

J

I

LTasa de transferencia = FOSC/(16(X+1))

Modo sincrónico baja velocidad.Tasa de transferencia = FOSC/(4(X+1))

M d i ó i lt l id d

L

O

A

R Modo sincrónico alta velocidad.No aplica

R

I

A

S

Page 321: La Gama Alta de los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Modo asíncrono)V

L

En modo asíncrono el USART utiliza el estándar de no retorno a cero NRZ.

A

D

I

M

I Se utiliza un bit de inicio, 8 o 9 bits de datos y un bit de parada. El USART transmite y recibe primero el bit menos

I

R

T

R El USART transmite y recibe primero el bit menos significativoEl TX y RX pueden funcionar independientemente,

U

J

I

L

aunque utilizan la misma tasa de transferencia. No se soporta bit de paridad por HW, aunque se puede realizar por SW

L

O

A

R puede realizar por SW.R

I

A

S

Page 322: La Gama Alta de los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Modo asíncrono TX)V

L

El registro TSR es actualizado con el valor contenido en TXREG, cuando la

A

D

I

M

I valor contenido en TXREG, cuando la transferencia de datos ha finalizado; es decir cuando el bit de parada de un

I

R

T

R decir cuando el bit de parada de un dato previo ha sido transmitido.TXTREG se actualiza por SW

U

J

I

L TXTREG se actualiza por SW. Una vez que TXREG transfiere sus datos a TSR queda vacío y se produce una

L

O

A

R a TSR, queda vacío y se produce una interrupción.

R

I

A

S

Page 323: La Gama Alta de los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Modo asíncrono TX)V

L

La bandera TXIF se pone en 1, independiente del estado de TXIE y no puede ser borrada

A

D

I

M

I

por SW. Solo se borra cuando un nuevo valor ha sido cargado en TXREG.

I

R

T

R

El bit TRMT, muestra el estado del registro de corrimiento TSR, colocándose en 1 cuando TSR esta vacío

U

J

I

L

TSR esta vacío. La bandera TXIF solo se pone en 1 cuando el bit TXEN esta en 1

L

O

A

R bit TXEN esta en 1R

I

A

S

Page 324: 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

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 325: 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

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 326: 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

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 327: 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

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 328: La Gama Alta de los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Modo asíncrono TX)V

L

Para configurar la transmisión se requiere:1. Inicializar el SPBRG para la tasa de transferencia deseada Con el bit BRGH se escoge si se desea alta o

A

D

I

M

I deseada. Con el bit BRGH se escoge si se desea alta o baja velocidad.2. Habilitar el puerto seria asíncrono colocando en 0 el bit

I

R

T

R

SYNC y poniendo en 1 el bit SPEN.3. Si se desean interrupciones colocar en 1 el bit TXIE.4 Si se desea transmisión de noveno bit colocar en 1 el

U

J

I

L 4. Si se desea transmisión de noveno bit, colocar en 1 el bit TX9. 5. Habilitar la transmisión colocando en 1 el bit TXEN el c al coloca á en 1 el bit TXIF

L

O

A

R cual colocará en 1 el bit TXIF.6. Cargar el dato a transmitir en TXREG.

R

I

A

S

Page 329: La Gama Alta de los PIC(18F452)

Modulo de Comunicación serialModulo de Comunicación serial USART (Modo asíncrono RX)V

L

Para habilitar una recepción asíncrona se requiere:1. Inicializar el SPBRG para la tasa de transferencia deseada. Con el bit BRGH se escoge si se desea alta o baja velocidad

A

D

I

M

I 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 y poniendo en 1 el bit SPEN.3 Si se desean interrupciones colocar en 1 el bit RCIE

I

R

T

R 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. 5. Habilitar la recepción colocando el bit CREN en 1.

U

J

I

L

6. La bandera RCIF se pondrá en 1 cuando la recepción se complete y se generará una interrupción si el bit RCIE fue puesto en 1.

L

O

A

R 7. Leer el dato recibido del registro RCREG.R

I

A

S

Page 330: 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

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 331: 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

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 332: La Gama Alta de los PIC(18F452)

Memoria FLASH de ProgramaV

L

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

ñ

A

D

I

M

I Posee un tamaño de 32K Bytes con capacidad para 16K InstruccionesDurante la escritura o lectura de la memoria de

I

R

T

R Durante la escritura o lectura de la memoria de programa se cesará la búsqueda de instrucciones, hasta que la operación este completa.

U

J

I

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.

L

O

A

Rcódigo no puede ser ejecutado.

R

I

A

S

Page 333: La Gama Alta de los PIC(18F452)

Memoria FLASH de ProgramaV

L

Cualquier instrucción inválida que se escriba, será ejecutada como un NOP

A

D

I

M

I escriba, será ejecutada como un NOPYa que la memoria de programa es de 16 bits de ancho y la RAM tiene 8 bits;

I

R

T

R 16 bits de ancho y la RAM tiene 8 bits; las instrucciones TBLRD (Lectura) y TBLWT (escritura) mueven datos

U

J

I

L TBLWT (escritura), mueven datos entre esas dos memorias, utilizando el registro TABLAT

L

O

A

R registro TABLAT.R

I

A

S

Page 334: La Gama Alta de los PIC(18F452)

Memoria FLASH de ProgramaV

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 335: La Gama Alta de los PIC(18F452)

Registro EECON1 y EECON2V

L

El registro EECON1 es el registro de control de acceso a memoria FLASH o

A

D

I

M

I control de acceso a memoria FLASH o EEPROM.El registro EECON2 no existe

I

R

T

R El registro EECON2 no existe físicamente, y solo se utiliza en operaciones de escritura o borrado de

U

J

I

L operaciones de escritura o borrado de la memoria.Cualquier lectura a EECON2 obtiene

L

O

A

R Cualquier lectura a EECON2, obtiene como resultado un 0.

R

I

A

S

Page 336: La Gama Alta de los PIC(18F452)

Registro EECON1 (Dir. 0FA6h )V

L

A

D

I

M

I

BIT 7 EEPGD: Bit de selección de la memoria FLASH o EEPROM

I

R

T

R memoria FLASH o EEPROM.1 = El acceso es a la memoria FLASH.0 = El acceso es a la memoria EEPROM.

U

J

I

L

BIT 6 CFGS: Acceso a memoria FLASH/EE o registros de configuración.

1 = Acceso a los registros de configuración

L

O

A

R 1 = Acceso a los registros de configuración0 = Acceso a la memoria FLASH o EEPROM.

R

I

A

S

Page 337: La Gama Alta de los PIC(18F452)

Registro EECON1 (Dir. 0FA6h )V

L

BIT 5 Sin implementar.BIT 4 FREE: bit de selección de borrado de la memoria FLASH

A

D

I

M

I memoria FLASH.1 = Borra la memoria FLASH apuntada por TBLPTR en el próximo comando WR.0 S li i ú i

I

R

T

R

0 = Se realiza escritura únicamente.BIT 3 WRERR: Error en una operación de escritura de la memoria FLASH/EEPROM

U

J

I

L esc tu a de a e o a S / O1 = Una operación de escritura fue prematuramente terminada.0 = Operación de escritura completa

L

O

A

R 0 Operación de escritura completa.R

I

A

S

Page 338: La Gama Alta de los PIC(18F452)

Registro EECON1 (Dir. 0FA6h )V

L

BIT 2 WREN: Bit de habilitación de escritura en la memoria FLASH/EEPROM.

A

D

I

M

I

1 = Permite ciclos de escritura.0 = Inhibe los ciclos de escritura.

I

R

T

R

BIT 1 WR: Bit de control de escritura1 = Inicializa el borrado/escritura de la memoria EEPROM/FLASH este bit se coloca en 0

U

J

I

L

EEPROM/FLASH, este bit se coloca en 0 nuevamente por HW. 0 = El ciclo de escritura esta completo.

L

O

A

Rp

R

I

A

S

Page 339: La Gama Alta de los PIC(18F452)

Registro EECON1 (Dir. 0FA6h )V

L

BIT 0 RD: Bit de control de lectura.1 = Inicializa la lectura de la EEPROM este

A

D

I

M

I 1 Inicializa la lectura de la EEPROM, este bit se coloca en 0 por HW. El bit RD no puede puesto en 1 cuando EEPGD = 1, lo

I

R

T

R

cual sugiere que la memoria FLASH, no puede ser leída utilizando este bit.

U

J

I

L

0 = No se inicializa la lectura de la EEPROM.

L

O

A

RR

I

A

S

Page 340: La Gama Alta de los PIC(18F452)

Registro TABLAT y TBLPTRV

L

El registro TABLAT es de 8 bits y se utiliza para almacenar datos durante la

A

D

I

M

I

transferencia de información entre la RAM y la memoria de programa.

I

R

T

R

El registro TBLPTR apunta a las direcciones de memoria de programa a acceder, apunta de a byte por vez

U

J

I

L

de a byte por vez.El registro TBLPTR, es utilizado por las instrucciones TBLRD y TBLWT; ellas pueden

L

O

A

R instrucciones TBLRD y TBLWT; ellas pueden actualizar el TBLPTR de 4 formas diferentes.

R

I

A

S

Page 341: La Gama Alta de los PIC(18F452)

Registro TBLPTRV

L

A

D

I

M

II

R

T

R

L l t d i d b t

U

J

I

L

La lectura accede a memoria cada byteLa escritura accede a memoria cada 8 Bytes

L

O

A

R El borrado se hace en paquetes de 64 Bytes. R

I

A

S

Page 342: La Gama Alta de los PIC(18F452)

Operaciones que auto modificanOperaciones que auto modifican TBLPTRV

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 343: La Gama Alta de los PIC(18F452)

Lectura de la Memoria FLASHV

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 344: La Gama Alta de los PIC(18F452)

Lectura de la Memoria FLASHV

L

Cuando se hace una lectura de memoria. Se debe Cargar TBLPTR con la dirección a leer

A

D

I

M

I

(dirección par).Cuando se ejecuta la instrucción TBLRD, se

I

R

T

R

mueve un byte de la instrucción a el registro TABLAT.El l b b j l d d d i

U

J

I

L

El que sea el byte bajo o alto, depende de si el bit menos significativo de la dirección escogida es 0

L

O

A

R escogida es 0R

I

A

S

Page 345: La Gama Alta de los PIC(18F452)

Borrado de la Memoria FLASHV

L

El TBLPTR no tiene en cuenta los 6 bits menos significativos a la hora de hacer un b d l l 16 lt l t t l

A

D

I

M

I borrado, solo los 16 mas altos, por lo tanto el borrado de la memoria FLASH, solo se hace en bloques de 64 bytes o 32 instrucciones.

I

R

T

R q yLos 16 bits mas significativos apuntan a la dirección de inicio del bloque de 64 bytes a b

U

J

I

L

borrar.El registro EECON1 controla la operación de borrado

L

O

A

R borrado.R

I

A

S

Page 346: La Gama Alta de los PIC(18F452)

Borrado de la Memoria FLASHV

L

El bit EEPGD se debe poner en 1, así como WREN también debe estar en 1

A

D

I

M

I como WREN también debe estar en 1 para habilitar la operación de escritura (Borrar es escribir FF).

I

R

T

R (Borrar es escribir FF).El bit FREE se coloca en 1 para iniciar la operación de borrado

U

J

I

L operación de borradoL

O

A

RR

I

A

S

Page 347: La Gama Alta de los PIC(18F452)

Borrado de la Memoria FLASHBorrado de la Memoria FLASH (Secuencia a utilizar)V

L

Cargar el STKPTR con la dirección de inicio a borrar (Recordar que es en paquetes de 64 b t t t l 6 bit

A

D

I

M

I bytes, por tanto los 6 bits menos significativos son 0) Poner en 1 el bit EEPGD de EECON1

I

R

T

R Poner en 1 el bit EEPGD de EECON1.Borrar el bit CFGS del registro EECON1Poner en 1 los bits WREN y FREE para

U

J

I

L Poner en 1 los bits WREN y FREE para habilitar escritura y borrado respectivamente.Deshabilitar las interrupciones.

L

O

A

RR

I

A

S

Page 348: La Gama Alta de los PIC(18F452)

Borrado de la Memoria FLASHBorrado de la Memoria FLASH (Secuencia a utilizar)V

L

Escribir 55h en el EECON2.Escribir AAh en el EECON2.

A

D

I

M

I Escribir AAh en el EECON2.Poner en 1 el bit WR. Esto comenzará el ciclo de borrado

I

R

T

R ciclo de borradoLa CPU queda parada durante el tiempo que tarde el borrado de la memoria que

U

J

I

L que tarde el borrado de la memoria que son 2 mili segundos aproximadamente. Habilitar las interrupciones.

L

O

A

RHabilitar las interrupciones.

R

I

A

S

Page 349: La Gama Alta de los PIC(18F452)

Escritura en memoria Flash.V

L

La escritura en la memoria FLASH, se realiza en paquetes de 8 bytes o 4

A

D

I

M

I realiza en paquetes de 8 bytes o 4 instrucciones.Debido a que el registro TABLAT es de

I

R

T

R Debido a que el registro TABLAT es de 1 byte, una operación de escritura en FLASH requiere el uso de 8 veces la

U

J

I

L FLASH, requiere el uso de 8 veces la instrucción TBLWT.

L

O

A

RR

I

A

S

Page 350: La Gama Alta de los PIC(18F452)

Escritura en memoria Flash.

Page 351: La Gama Alta de los PIC(18F452)

Escritura en memoria FlashEscritura en memoria Flash. (Secuencia de Programación)V

L

Secuencia de programación de la memoria FLASH.

A

D

I

M

I memoria FLASH.Almacenar el bloque de 64 bytes donde se va a modificar los datos, en la memoria

I

R

T

R ,RAM.Actualizar los valores en la RAM si es

U

J

I

L

necesario.Cargar el apuntador del programa con la

L

O

A

R

dirección a ser borrada.R

I

A

S

Page 352: La Gama Alta de los PIC(18F452)

Escritura en memoria FlashEscritura en memoria Flash. (Secuencia de Programación)V

L

Borrar el bloque de memoria FLASH.Cargar el apuntador del programa con la

A

D

I

M

I g p p gdirección de inicio a ser escrita. Escribir los primeros 8 bytes en los

I

R

T

R p yregistros de sujeción.Utilizar la instrucción (TBLWT* + o

U

J

I

L

TBLWT+*).Poner en 1 el BIT EEPGD, para apuntar a

L

O

A

R la memoria de programa.R

I

A

S

Page 353: La Gama Alta de los PIC(18F452)

Escritura en memoria FlashEscritura en memoria Flash. (Secuencia de Programación)V

L

Borrar el BIT CFGS para acceder a la memoria de programa y poner en 1 el BIT

A

D

I

M

I

WREN para habilitar la escritura.Deshabilite las interrupciones.

I

R

T

R

Escriba 55h en el registro EECON2.Escriba AAh en el registro EECON2.

U

J

I

L

Coloque en 1 el BIT WR, para comenzar el ciclo de escritura.

L

O

A

RR

I

A

S

Page 354: La Gama Alta de los PIC(18F452)

Escritura en memoria FlashEscritura en memoria Flash. (Secuencia de Programación)V

L

La CPU se detiene cerca de 2 milisegundos

A

D

I

M

I gmientras se escribeRe – habilite las interrupciones.

I

R

T

R pRepita este ciclo 7 vecesPara escribir los 64 bytes

U

J

I

L a a esc b os 6 bytesL

O

A

RR

I

A

S

Page 355: La Gama Alta de los PIC(18F452)

Escritura en memoria FlashEscritura en memoria Flash. (Secuencia de Programación)V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 356: La Gama Alta de los PIC(18F452)

Modulo USB 18F45550V

L

La familia PIC18FX455/X550 posee una interface USB de full-speed and low-

A

D

I

M

I interface USB de full speed and lowspeed.Esta diseñada para permitir la

I

R

T

R Esta diseñada para permitir la comunicación entre cualquier HOST y el microcontrolador

U

J

I

L microcontroladorL

O

A

RR

I

A

S

Page 357: La Gama Alta de los PIC(18F452)

V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 358: La Gama Alta de los PIC(18F452)

V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 359: La Gama Alta de los PIC(18F452)

V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 360: La Gama Alta de los PIC(18F452)

V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 361: La Gama Alta de los PIC(18F452)

V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S

Page 362: La Gama Alta de los PIC(18F452)

V

L

A

D

I

M

II

R

T

R

U

J

I

L

L

O

A

RR

I

A

S