Вы находитесь на странице: 1из 61

OSCILADOR

El modulo oscilador tiene una amplia variedad de fuentes de reloj y caractersticas de seleccin que permiten
su uso en una amplia gama de aplicaciones al tiempo que maximiza el rendimiento y minimiza el consumo de
energa.

CONTROL DEL OSCILADOR

Los registros OSCCON, OSCCON2 y OSCTUNE (Registro 3-1 al Registro 3-3) controlan varios aspectos del
funcionamiento del reloj del dispositivo, tanto en el modo de funcionamiento completo como en los modos de
administracin de energa.

Seleccin del reloj del sistema principal (SCS)


Apagado del Circuito del Oscilador Primario (PRISD)
Activacin del oscilador secundario (SOSCGO)
Multiplicador de frecuencia de reloj primario (PLLEN)
Bits de seleccin de frecuencia interna (IRCF, INTSRC)
Bits de estado del reloj (OSTS, HFIOFS, LFIOFS, SOSCRUN, PLLRDY)
Seleccin de la gestin de energa (IDLEN)

RELOJ INTERNOS

El mdulo oscilador tiene dos osciladores interno independientes que se pueden configurar o seleccionar como
fuente de reloj del sistema:

El HFINTOSC (Oscilador interno de alta frecuencia) esta calibrado de fbrica y opera a 16 MHz. La
frecuencia del HFINTOSC puede ser ajustada por el usuario mediante un software utilizando el registro
OSCTUNE.
El INTRC (Oscilador interno de baja frecuencia) esta calibrado en fbrica y funciona a 31.25 kHz. El
INTRC no puede ser ajustado por el usuario, pero est diseado para ser estable sobre temperatura y
voltaje.

REGISTRO OSCTUNE

El oscilador interno de alta frecuencia (HFINTOSC) esta calibrado de fbrica, pero puede ser ajustado en
software escribiendo en los bits TUN <6:0> del registro OSCTUNE.
RESET

Existen diferentes tipos de RESET

Reinicio de encendido (POR)


Reinicio MCLR durante el funcionamiento normal.
Temporizador Watchdog (WDT) Reset (durante la ejecucin)
Restablecimiento programable (BOR)
Instruccin RESET
Reposicin completa de la pila
Restablecimiento de flujo insuficiente de la pila.

REGISTRO RCON

Los eventos Reset de dispositivos se rastrean a travs del registro RCON. Los cinco bits inferiores del registro
indican que se ha producido un evento Reset especifico. En la mayora de los casos, estos bits slo pueden ser
borrados por el evento y deben ser configurados por la aplicacin despus del evento.

ORGANIZACIN DE LA MEMORIA

Hay tres tipos de memoria:

Memoria de programa.
RAM de datos.
EEPROM de datos.
MEMORIA DE PROGRAMA

La memoria de programa es legible, escribible y borrable durante el funcionamiento normal sobre los rangos
VDD especificados. Una lectura de la memoria de programa se ejecuta un byte a la vez. Una escritura en la
memoria del programa se ejecuta en bloques de 64 bytes a la vez. La memoria de programa se borra en bloques
de 64 bytes a la vez.

REGISTROS DE CONTROL

Varios registros de control se utilizan conjuntamente con las instrucciones TBLRD y TBLWT. Estos incluyen:

EECON1
EECON2
TABLAT
TBLPTR

El registro EECON1 es el registro de control para accesos de memoria. El registro EECON2 no es un registro fsico;
se utiliza exclusivamente en las secuencias de escritura y borrado de memoria. Leer EECON2 leer todos los "0".

El bit de control EEPGD determina si el acceso ser un acceso de memoria de programa o datos EEPROM. Cuando
EEPGD est libre, cualquier operacin subsiguiente operar en la memoria EEPROM de datos. Cuando se
configura EEPGD, cualquier operacin subsiguiente funcionar en la memoria del programa.

El bit de control CFGS determina si el acceso ser para los registros de Configuracin / Calibracin o para
programar la memoria EEPROM de memoria / datos. Cuando CFGS est ajustado, las operaciones posteriores
funcionarn en los registros de configuracin independientemente de EEPGD.

El bit FREE permite la operacin de borrado de la memoria del programa. Cuando se establece FREE, se inicia
una operacin de borrado en el siguiente comando WR. Cuando LIBRE est claro, slo las escrituras estn
habilitadas. El bit WREN, cuando se establece, permitir una operacin de escritura. El bit WREN est claro en el
encendido.

El bit WRERR se configura por hardware cuando el bit WR se establece y se borra cuando el temporizador interno
de programacin expira y la operacin de escritura es completa.

MEMORIA DATA EEPROM

La EEPROM de datos es una matriz de memoria voltil, separada de la RAM de datos y la memoria de programa,
que se utiliza para el almacenamiento a largo plazo de datos de programa. No se asigna directamente en el archivo
de registro ni espacio de memoria de programa, sino que es dirigido indirectamente a travs de los Registros de
Funciones Especiales (SFRs). La EEPROM es legible y puede escribirse durante el funcionamiento normal en el
intervalo VDD especificado.
Cuatro Registros de Funciones Especiales (SFRs) son lo que se utilizan para leer y escribir en la EEPROM de
datos, as como en la memoria de programa. Son:

EECON1
EECON2
EEDATA
EEADR
La EEPROM de datos permite leer y escribir bytes. Cuando se interconecta con el bloque de memoria de datos,
EEDATA contiene los datos de 8 bits para lectura/escritura, y el registro EEADR mantiene la direccin de la
ubicacin EEPROM a la que accede.
La memoria de datos de la EEPROM est clasificada para la mxima resistencia al ciclo de borrado/escritura. Una
escritura de bytes borra automticamente la ubicacin y escribe los nuevos datos (borra antes de escribir). El
tiempo de escritura es controlado por un temporizados en el chip, que variara con el voltaje y la temperatura.
REGISTRO EEADR
El registro EEADR se utiliza para dirigir la EEPROM de datos para operaciones de lectura y escritura. El intervalo
de 8 bits del registro puede dirigirse a un intervalo de memoria de 256 bytes.
REGISTROS EECON1 Y EECON2
El acceso a los datos EEPROM est controlado por dos registros: EECON1 y EECON2. Estos son los mismos
registros que controlan el acceso a la memoria de programa y se utilizan de manera similar para EEPROM de
datos.
El registro EECON1 (registro 8-1) es el registro de control para acceso a datos y memoria de programa. El bit de
control EEPGD determina si el acceso ser al programa o a la memoria EEPROM de datos. Cuando el bit EEPGD
est libre, las operaciones accedern a la memoria EEPROM de datos. Cuando se ajusta el bit EEPGD, se accede
a la memoria del programa.
El bit de control, CFGS, determina si el acceso ser a los registros de configuracin o para el programar la memoria
de EEPROM de memoria/datos. Cuando se configura el bit CFGS, las operaciones posteriores acceden a los
registros de configuracin. Cuando el bit CFGS est libre, el bit EEPGD selecciona el flash del programa o la
memoria EEPROM de datos.
El bit WREN, cuando se establece, permitir una operacin de escritura.
Al encender, el bit WREN est libre.
El bit WRERR se configura por hardware cuando el bit WR se establece y se borra cuando el temporizador interno
de programacin expira y la operacin de escritura es completa.
El bit de control WR inicia las operaciones de escritura. El bit puede ser ajustado, pero no borrado por el software.
Solo se borra por hardware al finalizar la operacin de escritura.
Los bits de control, RD y WR, inician operaciones de lectura y borrado/escritura, respectivamente. Estos bits se
establecen mediante el firmware y se borran por hardware al final de la operacin.
El bit RD no se puede establecer al acceder a la memoria del programa. La memoria del programa se lee utilizando
las instrucciones de lectura de la tabla de la seccin 7.1.
Lectura de la memoria EEPROM de datos.
Para leer una ubicacin de memoria de datos, el usuario debe escribir la direccin en el registro EEADR, borrar el
bit de control EEPGD del registro EECON1 y luego ajustar el bit de control, RD. Los datos estn disponibles en
el siguiente ciclo de instruccin; por lo tanto, el registro EEDATA puede ser ledo por la siguiente instruccin.
EEDATA mantendr este valor hasta otra operacin de lectura, o hasta que sea escrita por el usuario. El proceso
bsico se muestra en el ejemplo siguiente:

Escribir en la memoria EEPROM de datos.


Para escribir una ubicacin de datos EEPROM, la direccin debe escribirse primero en el registro EEADR y los
datos escritos en el registro EEDATA. La secuencia en el ejemplo siguiente debe seguirse para iniciar el ciclo de
escritura:
INTERRUPCIONES

Los PICs tienen mltiples fuentes de interrupcin y una caracterstica de prioridad de interrupcin que permite
asignar a la mayora de las fuentes de interrupcin un nivel de prioridad alta o baja (INT0 no tiene un bit de
prioridad, es siempre una alta prioridad). El vector de interrupcin de alta prioridad est en 0008h y el vector de
interrupcin de baja prioridad est en 0018h. un evento de interrupcin de alta prioridad interrumpir una
interrupcin de baja prioridad que puede estar en curso. Hay 13 registro usados para controlar la operacin de
interrupcin. Estos registros son:

INTCON, INTCON2, INTCON3


PIR1, PIR2, PIR3
PIE1, PIE2, PIE3
IPR1, IPR2M IPR3
RCON

PRIODIDAD DE INTERRUPCION

La caracterstica de prioridad de interrupcin se habilita ajustando el bit IPEN del registro RCON. Cuando la
prioridad de interrupcin esta activada, los bits de habilitacin de interrupcin globales GIE/ GIEH y PEIE/GIEL
del modo de compatibilidad se remplazan poro la alta prioridad GIEH y la interrupcin global de GIEL de baja
prioridad. Cuando se establece, el bit GIEH del registro INTCON permite todas las interrupciones que tiene su
registro IPRx asociado o el bit de prioridad de registro INTCONx establecido (alta prioridad). Cuando se borra, el
bit GIEH inhabilita todas las fuentes de interrupcin, incluidas las seleccionadas como de baja prioridad.

Cuando se borra, el bit GIEL del registro INTCON desactiva solamente las interrupciones que tienen su bit de
prioridad asociado borrado (baja prioridad). Cuando se establece, el bit GIEL habilita las fuentes de baja prioridad
cuando tambin se establece el bit GIEH.

Cuando el indicador de interrupcin, el bit de habilitacin y el bit de habilitacin global (GIE) apropiados estn
todos configurados, la interrupcin se direccionar inmediatamente a la direccin 008h para alta prioridad, o
0018h para baja prioridad, dependiendo del nivel del bit de prioridad de la fuente de interrupcin. Las
interrupciones individuales se pueden desactivar a travs de sus bits de habilitacin de interrupcin
correspondientes.

Registro INTCON

Los registros INTCON son registros legibles y escriturables, que contienen varios bits de habilitacin, prioridad y
bandera.

Registro PIR

Los registros PIR contienen los bits de indicador individuales para las interrupciones perifricas. Debido al
nmero de fuentes de interrupcin perifricas, hay tres registros de solicitud de interrupcin perifrica (PIR1,
PIR2, PIR3).

Registro PIE

Los registros PIE contienen los bits de habilitacin individuales para las interrupciones perifricas. Debido al
nmero de fuentes de interrupcin perifricas, hay tres registros de habilitacin de interrupcin perifrica (PIE1,
PIE2 Y PIE3). Cuando IPEN=0, el bit PEIE/GIEL debe configurarse para permitir cualquiera de estas interrupciones
perifricas.

Registros IPR

Los registros IPR contienen los bits de prioridad individuales para las interrupciones perifricas. Debido al nmero
de fuentes de interrupcin perifricas, hay tres registros de prioridad de interrupcin perifrica (IPR1, IPR2 e
IPR3). El uso de los bits de prioridad requiere que se establezca el bit de habilitacin de prioridad de interrupcin
(IPEN).
PUERTOS I/O

Dependiendo del dispositivo seleccionado y de las funciones activadas, hay hasta cinco puertos disponibles.
Todos los pines de los puertos I/O se multiplexan con una o ms funciones alternativas desde las funciones
perifricas del dispositivo. En general, cuando un perifrico est habilitado, ese pin no puede usarse como un
pin I/O de uso general. Cada puerto tiene cinco registros para su funcionamiento. Estos registros son:

Registro TRIS (registro de direccin de datos)


Registro PORT (lee los niveles en los pines del dispositivo)
Registro LAT (pestillo de salida)
Registro ANSEL (control de entrada analgica)
Registro SLRCON (control de velocidad de desplazamiento de puertos)

El Data Latch (registro LAT) es til para las operaciones de lectura-modificacin- escritura en el valor que los pines
I/O estn manejando.

REGISTRO PORTA

PORTA es un puerto bidireccional de 8 bits de ancho. El registro de direccin de datos correspondiente es TRISA.
La configuracin de un bit TRISA (=1) hara que el pin PORTA correspondiente sea una entrada (es decir, desactive
el controlador de salida). El borrado de un bit TRISA (=0) har que el pin PORTA correspondiente salga (es decir,
habilite el controlador de salida y coloque el contenido del pestillo de salida en el pin seleccionado).
Al leer el registro PORTA se lee el estado de los pines, mientras que escribir en l, escribir en el pestillo PORT.
El registro Data Latch (LATA) tambin se asigna a la memoria.
Las operaciones de lectura, modificacin y escritura en el registro LATA leen y escriben el valor de salida
bloqueado para PORTA.
El pin RA4 se multiplexa con la entrada del reloj del mdulo Timer0 y una de las salidas del comparador para
convertirse en el pin RA4/TOCKI/C1OUT. Los pines RA6 y RA7 se multiplexan con los pines del oscilador principal;
se habilitan como oscilador o pines I/O mediante la seleccin del oscilador principal en el registro de
configuracin. Cuando no se usan como pines de puerto, RA6 y RA7 y sus bits TRIS y LAT asociados se leen como
0.
REGISTRO PORTB

PORTB es un puerto bidireccional de 8 bits de ancho. El registro de direccin de datos correspondiente es TRISB.
La configuracin de un bit TRISB (=1) har que el pin PORTB corresponda una entrada (es decir, deshabilite el
controlador de salida). El borrado de un bit TRISB (=0) har que el pin PORTB corresponda una salida (es decir,
habilite el controlador de salida y coloque el contenido del pestillo de salida en el pin seleccionado). El registro
de registro de datos (LATB) tambin se asigna a la memoria. Las operaciones de lectura, modificacin y escritura
en el registro LATB lean y escriben el valor de salida bloqueado para PORTB.
Registro PORTC

PORTC es un puerto bidireccional de 8 bits de ancho. El registro de direccin de datos correspondiente es TRISC.
La configuracin de un bit TRISC (= 1) har que la clavija PORTC correspondiente sea una entrada (es decir,
deshabilite el controlador de salida). El borrado de un bit TRISC (= 0) har que el pin correspondiente del PORTC
sea una salida (es decir, active el controlador de salida y coloque el contenido del pestillo de salida en el pasador
seleccionado).

El registro de registro de datos (LATC) tambin se asigna a memoria. Las operaciones de lectura-modificacin-
escritura en el registro LATC leen y escriben el valor de salida bloqueado para PORTC.
Registro PORTD

PORTD es un puerto bidireccional de 8 bits de ancho. El registro de direccin de datos correspondiente es TRISD.
La configuracin de un bit TRISD (= 1) har que el PIN PORTD correspondiente se introduzca (es decir, desactive
el controlador de salida). El borrado de un bit TRISD (= 0) har que el pin PORTD correspondiente sea una salida
(es decir, active el controlador de salida y coloque el contenido del pestillo de salida en el pasador seleccionado).

El registro Data Latch (LATD) tambin est mapeado en memoria. Las operaciones de lectura-modificacin-
escritura en el registro LATD leen y escriben el valor de salida bloqueado para PORTD.
Registro PORTE
MODULO TIMER0

El mdulo TIMER0 incorpora las siguientes caractersticas:

Operacin seleccionable por software como temporizador o contador en ambos modos de 8 bits o 16
bits.
Registros legibles y escritura.
Fuente de reloj seleccionable (interna o externa).
Seleccin de borde para el reloj externo.
Interrupcin en el desbordamiento.

El registro T0CON controla todos los aspectos del funcionamiento del mdulo incluyendo la seleccin de
preescalas. Es legible y se puede escribir.
Operacin Timer0

Timer0 puede funcionar como un temporizador o un contador, el modo se selecciona con el bit TOCS del registro
T0CON. En el modo Timer (TOCS=0), el mdulo incrementa cada reloj por defecto a menos que se seleccione un
valor prescalar diferente. El incremento de Timer0 se inhibe durante dos ciclos de instrucciones despus de una
escritura de registro TMR0.

El modo contador se selecciona ajustando el bit TOCS (=1). En este modo, Timer0 se incrementa en cada borde
ascendente o descendente del pasador RA4/T0CKI.

Prescaler

Un contador de 8 bits est disponible como pre-escalador para el mdulo Timer0. El pre-escalador no es
directamente legible o escribible; su valor es fijado por los bits PSA y T0PS <2:0> del registro T0CON que
determinan la asignacin del pre-escalar y la proporcin pre-escalar.
MODULO TIMER 1/3 CON CONTROL DE PUERTA

El mdulo Timer 1/3 es un temporizador/contado de 16 bits con las siguientes caractersticas:

Fuente de reloj interna o externa programable.


Prescaler de 2 bits
Circuito oscilador secundario de 32 kHz
Interrupcin en el desbordamiento.
Activador de eventos especiales (con CCP/ECCP)
Polaridad de fuente de puerta seleccionable
Estado del valor de puerta
Interrupcin de evento de puerta

Funcionamiento de Timer 1/3

El mdulo Timer 1/3 es un contador de incremento de 16 bits al que se accede a travs del par de registros
TMRxH: TMRxL.
Las escrituras a TMRxH o TMRxL actualizan directamente el contador.
Cuando se utiliza con una fuente de reloj interno, el mdulo es un temporizador e incrementa en cada ciclo de
instruccin. Cuando se utiliza con una fuente de reloj externa, el mdulo se puede utilizar como un temporizador
o contador y se incrementa en cada borde seleccionado de la fuente externa. Timer 1/3 se habilita configurando
los bits TMRxON y TMRxGE en los registros TxCON y TxGCON, respectivamente.

Seleccin de fuente de reloj

Los bits TMRxCS <1:0> y SOSCEN del registro TxCON se utilizan para seleccionar la fuente de reloj para Timer 1/3.
El circuito dedicado del oscilador secundario se puede utilizar como fuente de reloj para Timer1 y Timer3,
simultneamente. Cualquiera de los bits SOSCEN habilitara el circuito del oscilador secundario y lo seleccionara
como la fuente de reloj para este temporizador en particular.

Fuente de reloj interno

Cuando se selecciona la fuente de reloj interno, el par de registros TMRxH:TMRxL se incrementara en mltiplos
de FOSC, segn lo determine el prescaler Timer 1/3.
Cuando se selecciona la fuente de reloj interno FOSC, el valor de registro Timer 1/3 aumentara cuatro veces cada
ciclo de reloj de instruccin.

Fuente de reloj externo

Cuando se selecciona la fuente de reloj externo, el mdulo Timer 1/3 puede funcionar como temporizador o
contador.
Cuando est habilitado para contar, Timer 1/3 se incrementa en el flanco ascendente de la entrada del reloj
externo del pin TxCKI. Esta fuente de reloj externo puede sincronizarse con el reloj del sistema del
microcontrolador o puede ejecutarse asincrnicamente.

Timer 1/3 prescaler

Timer 1/3 tiene cuatro opciones de prescaler que permiten 1,2,4 u 8 divisiones de la entrada de reloj. Los bits
TxCKPS del registro TxCON controlan el contador de prescales. El contador de prescales no es directamente
legible o escribible; sin embargo, el contado de prescaler se borra en una escritura a TMRxH o TMRxL.

Oscilador secundario
Un circuito secundario dedicado de baja potencia de 32.768 kHz esta integrado entre los pines SOSCI (entrada)
y SOSCO (salida del amplificador). Este circuito interno se debe utilizar en combinacin con una salida externa
de 32.768 kHz.
El circuito del oscilador se habilita ajustando el bit SOSCEN del registro TxCON, el bit SOSCGO del registro
OSCCON2 o seleccionando el oscilador secundario como reloj del sistema ajustando SCS<1:0>=01 en el registro
OSCCON. El oscilador continuara funcionando durante el modo Sleep.

TIMER 1/3 INTERRUPT

El par de registros Timer1/3 (TMRcH:TMRxL) aumenta a FFFFh y se desplaza hasta 0000h. Cuando Timerr 1/3 se
desplaza, se establece el bit indicador de interrupcin Timer 1/3 del registro PIR1/2. Para habilitar la interrupcin
en el rollover, debe configurar estos bits:

Bit TMRxON del registro TxCON.


Bits TMRxIE de los registros PIE1 o PIE2
Bit PEIE/GIEL del registro INTCON
Bit GIE/GIEH del registro INTCON

La interrupcin se borra borrando el bit TMRxIF en la rutina de servicio de interrupcin.

Funcionamiento del temporizador 1/3 durante sleep

Timer 1/3 solo puede funcionar durante la suspensin cuando se configura en el modo de contador asncrono.
En este modo, se puede usar una fuente externa de cristal o reloj para incrementar el contador. Para configurar
el temporizador para activar el dispositivo:

El bit TMRxON del registro TxCON debe ajustarse


El bit TMRxIE del regsitro PIE1/2 debe ajustarse
El bit PEIE / GIEL del registro INTCON debe ajustarse
El bit TxSYNC del registro TxCON debe ajustarse
Los bits TMRxCS del registro TxCON deben configurarse
El bit SOSCEN del registro TxCON debe ser configurado
TIMER2 MODULE

El mdulo Timer2 incorpora las siguientes caractersticas:

Registros de temporizador y de periodo de 8 bits (TMR2 y PR2, respectivamente).


Leer y escribir
Prescaler software programable (1:1, 1:4, 1:16)
Postcaler programable por software (1:1 a 1:16)
Uso opcional como reloj de desplazamiento para mdulo MSSP

OPERACIN TIMER2

La entrada de reloj al mdulo Timer2 es el reloj de instruccin del sistema (FOSC/4). TMR2 se incrementa desde
00h en cada borde de reloj. Un contador/prescaler de 4 bits en la entrada de reloj permite la entrada directa,
dividir por 4 y dividir por 16 opciones prescale.
Estas opciones son seleccionadas por lo bits de control del prescaler, T2CKPS <1:0> del registro T2CON. El valor
de TMR2 se compara con el registro de periodo, PR2, en cada ciclo de reloj. Cuando los dos valores coinciden, el
comparador genera una seal de coincidencia como salida del temporizador. Esta seal tambin restablece el
valor de TMR2 a 00h en el siguiente ciclo e impulsa la salida.
Los registros TMR2 y PR2 son tanto de lectura directa como de escritura. El registro TMR2 se borra en cualquier
dispositivo Reset, mientras que el registro PR2 se inicializa en FFh. Los contadores de prescaler y Postcaler se
borran en los siguientes eventos:

Una escritura en el registro TMR2


Una escritura en el registro T2CON
Reinicio de encendido
Restablecimiento de apagado(BOR)
Reinicio de MCLR
Temporizador watchdog (WDT) Reset.
Reinicio de desbordamiento de pila

INTERRUPCION TIMER2

Timer2 tambin puede generar una interrupcin de dispositivo opcional. La seal de salida Timer2 proporciona
la entrada para el contador de 4 bits/post escalador. Este contador genera el indicador de interrupcin de
coincidencia de TMR2 que est bloqueado en TMR2IF del registro PIR1. La interrupcin se habilita ajustando el
bit TMR2 de habilitacin de interrupcin de coincidencia, TMR2IE del registro PIE1.
MODULOS CAPTURA/COMPARAR

El mdulo Captura/Comparar/PWM es un perifrico que permite al usuario programar y controlar diferentes


eventos y generar seales de modulacin de ancho de pulso (PWM). En el modo Captura, el perifrico permite
la temporizacin de la duracin de un evento. El modo de comparacin permite al usuario activar un evento
externo cuando haya transcurrido una cantidad predeterminada de tiempo. El modo PWM puede generar
seales moduladas de ancho de pulso de frecuencia y ciclo de trabajo variables.
Esta familia de dispositivos contiene un mdulo Enchanced Capture/Compare/PWM (ECCP1) y un mdulo
estndar de Captura/compare/ PWM (CCP2).

MODO DE CAPTURA

La funcin de modo de captura descrita en esta seccin es idntica para todos los mdulos CCP y ECCP
disponibles en esta familia de dispositivos.
El modo de captura utiliza los recursos de Timer de 16 bits, Timer1 y Timer3. Los recursos del temporizador para
cada funcin de captura CCP son independientes y se seleccionan usando el registro CCPTMRS.
Cuando se produce un evento en el pin CCPx, el par de registros CCPRxH: CCPRxL de 16 bits captura y almacena
el valor de 16 bits del par de registros TMRxH: TMRxL, respectivamente. Un evento se define como uno de los
siguientes y est configurado por los bits CCPxM <3:0> de registro CCPxCON:

Cada borde desdendente


Cada borde ascendente
Cada cuarto flanco ascendente
Cada 16 flanco ascendente

MODO DE COMPARACION

La funcin de modo de comparacin descrita en esta seccin es idntica para todos los modulos CCP y ECCP
disponibles en esta familia de dispositivos.

El modo de comparacin utiliza los recursos de Timer de 16 bits, Timer1 y timer3. El valor de 16 bits del par de
registros CCPRxH: CCPRxL se compara constantemente con el valor de 16 bits del par de registros TMRxH: TMRxL.
Cuando se produce una coincidencia, puede ocurrir uno de los siguientes eventos:

Conmutar la salida CCPx


Ajustar la salida CCPx
Generar un desencadenador de eventos especiales
Generar una interrupcin de software

La accin en el pin se basa en el valor de los bits de control CCPxM <3:0> del registro CCPxCON. Al mismo tiempo,
se establece el bit de indicador de interrupcin CCPxIF.
PMW OVERVIEW

La modulacin de ancho de pulso (PMW Pulse-Wigth Modulation) es un esquema que proporciona energa a una
carga conmutando rpidamente entre los estos totalmente encendido y completamente apagado. La seal PWM
se asemeja a una onda cuadrada donde la parte alta de la seal se considera el estado encendido y la parte baja
de la seal se considera el estado apagado. La parte alta, tambin conocida como la anchura de impulso, puede
variar en el tiempo y se define en pasos. Un mayor nmero de pasos aplicados, que alarga la anchura de pulso,
tambin suministra ms potencia a la carga. Bajar el nmero de pasos aplicados, que acorta el ancho de pulso,
suministra menos energa. El periodo PWM se define como la duracin de un ciclo completo o la cantidad total
de tiempo de conexin y desconexin combinados.
La resolucin PWM define el nmero mximo de pasos que pueden estar presentes en un nico periodo PWM.
Una resolucin ms alta permite un control ms preciso del tiempo de ancho de pulso y, a su vez, la potencia
que se aplica a la carga.

El termino ciclo de trabajo describe la proporcin del tiempo de conexin al tiempo de apagado y se expresa en
porcentajes, donde 0% est apagado y el 100% est completamente encendido. Un ciclo de trabajo ms bajo
corresponde a menor potencia aplicada y un mayor ciclo de trabajo corresponde a ms potencia aplicada.

OPERACIN PWM ESTANDAR

La funcin PWM estndar descrita en esta seccin est disponible e idntica para los mdulo CCP y ECCP.
El mdulo PWM estndar genera una seal de modulacin de ancho de pulso (PWM) en el pin CCPx con hasta
10 bits de resolucin. El periodo, ciclo de trabajo y resolucin se controlan mediante los siguientes registros:

Registro PR2
Registro T2CON
Registro CCPRxL
Registro CCPxCON

PERIODO PWM

El periodo PWM se especifica mediante el registro PR2 del temporizador2 de 8 bits. El periodo PWM se puede
calcular utilizando la siguiente formula:

Cuando TMR2 es igual a PR2, los siguientes eventos ocurren en el siguiente ciclo de inc

CICLO DE SERVICIO PWM

El ciclo de trabajo PWM se especifica escribiendo un valor de 10 bits en varios registros: registro CCPRxL y DCxB
<1:0> bits del registro CCPxCON. El CCPRxL contiene los ocho MSbs y los bits DCxB <1:0> del registro CCPxCON
se pueden escribir en cualquier momento. El valor del ciclo de trabjo no se bloque en CCPRxH hasta despus de
que se complete el periodo (es decir, se produce una coincidencia entre los registros PR2 y TMR2). Mientras se
utiliza el PWM, el registro CCPRxH es de solo lectura

RESOLUCION PWM
La resolucin determina el nmero de ciclos de servicio disponibles para un periodo dado. Por ejemplo, una
resolucin de 10 bits resultara en 1024 ciclos de trabajo discretos mientras que una resolucin de 8 bits resultara
en 256 ciclos de trabajo discretos. La resolucin mxima PWM es de 10 bits cuando PR2 es 255. La resolucin es
una funcin del valor del registro PR2 como se muestra en la siguiente ecuacin:
PWM (MODO MEJORADO)

La funcin PWM mejorada descrita en esta seccin esta disponibles para el mdulo ECCCP1 del CCP.

El modo PWM mejorado genera una seal de modulacin de ancho de pulso (PWM) en hasta cuatro pines de
salida diferentes con hasta 10 bits de resolucin. El periodo, ciclo de trabajo y resolucin se controlan mediante
los siguientes registros:

Registro PR2
Registro T2CON
Registro CCPRxL
Registro CCPxCON

Los mdulos ECCP tienen los siguientes registros PWM adicionales que controlan los modos de Auto-restart,
dead-band delay y pwm steering:

Registro ECCPxAS
Registro PSTRxCON
Registro PWMxCON
COMUNICACIN ASINCRONA

El mdulo EUSART (Enhanced Universal Synchronous Asynchronous Receiver Transmitter) es un perifrico de


comunicaciones serie de E / S. Contiene todos los generadores de reloj, registros de desplazamiento y memorias
intermedias de datos necesarios para realizar una transferencia de datos en serie de entrada o salida
independientemente de la ejecucin del programa del dispositivo. El EUSART, tambin conocido como Serial
Communications Interface (SCI), puede configurarse como un sistema asncrono dplex completo o un sistema
sncrono semidplex. El modo Full-Duplex es til para comunicaciones con sistemas perifricos, como terminales
CRT y computadoras personales. El modo sncrono semidplex est destinado a comunicaciones con dispositivos
perifricos, como circuitos integrados A/D o D/A, EEPROM serie u otros microcontroladores. Estos dispositivos
tpicamente no tienen relojes internos para la generacin de velocidad en baudios y requieren la seal de reloj
externa proporcionada por un dispositivo sncrono maestro.

El mdulo EUSART incluye las siguientes capacidades:

Transmisin y recepcin asncronas full-duplex


Buffer de entrada de dos caracteres
Buffer de salida de un carcter
Longitud de caracteres de 8 bits o 9 bits programables
Deteccin de direcciones en modo de 9 bits
Deteccin de errores de saturacin del bfer de entrada
Deteccin de error de trama de caracteres recibida
Maestro sncrono semidplex
Esclavo sncrono semidplex
Reloj programable y polaridad de datos
RELOJ DE CONVERSION

La fuente del reloj de conversin es seleccionable por software a travs de los bits ADCS del regitro ADCON2

Hay 7 opciones de reloj posibles:

FOSC/2
FOSC/4
FOSC/8
FOSC/16
FOSC/32
FOSC/64
FRC
El tiempo para completar una conversin de bits se define como TAD. Una conversin completa de 10 bits
requiere 11 periodos TAD como se muestra en la figura.

Para una conversin correcta, se debe cumplir la especificacin TAD apropiada. La siguiente tabla da ejemplos
de selecciones de reloj ADC adecuadas:

INTERRUPCIONES
El mdulo ADC permite la posibilidad de generar una interrupcin al finalizar una conversin de analgico a
digital. La habilitacin de interrupcin ADC es el bit ADIE en el registro PIE1 y la prioridad de interrupcin es el
bit ADIP en el registro IPR1. El indicador de interrupcin ADC es el bit ADIF en el registro PIR1. El bit ADIF debe
ser borrado por el software.

FORMATO DE RESULTADOS
El resultado de conversin A/D de 10 bits se puede suministrar en dos formatos, justificados a la izquierda o
justificados a la derecha. El bit ADFM del registro ADCON2 controla el formato de salida.

OPERACIN ADC
Comenzando una conversin
Para habilitar el mdulo ADC, el bit ADON del registro ADCON0 debe establecerse en un 1. El ajuste del bit
GO/DONE del registro ADCON0 a un 1 dependiendo de los bits ACQT del registro ADCON2, inicia inmediatamente
la conversin de analgico a digital o inicia un retardo de adquisicin.
MODULO COMPARADOR
Los comparadores se utilizan para conectar circuitos analgicos a un circuito digital comparando dos tensiones
analgicas y proporcionando una indicacin digital de sus magnitudes relativas.
Los comparadores son bloques de construccin de seales mixtas muy tiles porque proporcionan funcionalidad
analgica independiente de la ejecucin del programa. El mdulo comparador analgico incluye las siguientes
caractersticas:
Control de comparador independiente
Seleccin de entrada programable
La salida del comparador est disponible internamente / externamente
Polaridad de salida programable
Interrupcin en el cambio
Despertar del sueo
Optimizacin de velocidad / potencia programable
Apagado de PWM
Referencia de tensin programable y fija

CONTROL DEL COMPARADOR


Cada comparador tiene un control separado y registro de configuracin: CM1CON0 para el comparador C1 y
CM2CON0 para el comparador C2. Adems, el Comparador C2 tiene un segundo registro de control, CM2CON1,
para controlar la interaccin con Timer1 y la lectura simultnea de ambas salidas de comparador.
Los registros CM1CON0 y CM2CON0 contienen los bits de control y de estado para lo siguiente:
Habilitar
Seleccin de entrada
Seleccin de referencia
Seleccin de salida
Polaridad de salida
Seleccin de velocidad
MODULO DE CONVERTIDOR DIGITAL A ANALOGICO (DAC)
El convertidor digital-analgico suministra una referencia de voltaje variable, radiomtrica con la fuente de
entrada, con 32 niveles de salida seleccionables. La entrada del DAC se puede conectar a:
Pasadores VREF externos
Tensin de alimentacin VDD
FVR (Referencia de tensin fija)
La salida del DAC puede configurarse para suministrar una tensin de referencia a lo siguiente:
Entrada positiva del comparador
Canal de entrada ADC
Pin DACOUT

El convertidor digital a analgico (DAC) se puede habilitar estableciendo el bit DACEN del registro VREFCON1.
EXAMEN 1ER PARCIAL

1. Para el PIC 18f45k50, Cul es el tamao en bytes de la memoria de programa y cuantas instrucciones
de una palabra en ensamblador se pueden escribir?

R. 32 768 bytes de memoria de programa, hasta 16 384 instrucciones de una palabra

2. Con cuntos canales analgicos cuenta el PIC 18f45k50 y cul es la resolucin del convertidor A/D?

R. El convertidor analgico cuenta con 25 canales analgicos y tiene una resolucin de 10 bit.
3. Cul es la funcin de los registros ANSELB y ADRESH/ADRESL?

R. El convertidor genera un resultado binario de 10 bits mediante sucesivas aproximaciones y almacena el


resultado de la conversin en los registros de resultados ADC (ADRESL y ADRESH).
Los registros ANSELA, ANSELB, ANSELC, ANSELD y ANSELE proporcionan un control individual de los bferes de
entrada digital en los pines que comparten funciones analgicas. (seleccionar registro analgico)

4. En el siguiente diagrama indique cuales son los pines de los canales digitales, las tierras y alimentacin.

5. Indique 3 funciones que desempea el registro EECON1

R.
Es el registro de control para acceso a datos y memoria de programa.
En ese registro se puede seleccionar si se desea acceder a la memoria de programa o a la EEPROM
de datos con el bit EEPGD.
Se utiliza para leer y escribir en la memoria EEPROM de datos, as como en la memoria del programa.

6. Mencione dos de los registros que se utilizan para configurar el temporizador TMR0

R.

El registro T0CON (Registro 12-1) controla todos los aspectos del funcionamiento del
mdulo, incluyendo la seleccin de prescalas.

7. Mencione cuatro diferentes interrupciones con que cuenta el PIC 18f45k50 (que generen un salto del
programa a la direccin 0x08 o 0x18).
Externa por alto
Externa por bajo
Externa por timer

8. Cul es la frecuencia mnima a la que puede trabajar el PIC 18f45k50 si utiliza el oscilador interno?
9. Cul es el tamao de la memoria de datos SRAM en bytes y el nmero de nivel de pila (STACK)??

R. El tamao de la memoria de datos SRAM es de 2048 bytes y el nmero de nivel de pila es 31.

Los registros OSCCON, OSCCON2 y OSCTUNE (Registro 3-1 al Registro 3-3) controlan varios aspectos del
funcionamiento del reloj del dispositivo, tanto en el modo de funcionamiento completo como en los modos de
administracin de energa.
Seleccin del reloj del sistema principal (SCS)
Apagado del Circuito del Oscilador Primario (PRISD)
Activacin del oscilador secundario (SOSCGO)
Multiplicador de frecuencia de reloj primario (PLLEN)
Bits de seleccin de frecuencia interna (IRCF, INTSRC)
Los bits de estado del reloj (OSTS, HFIOFS, LFIOFS,
SOSCRUN, PLLRDY)
Seleccin de la gestin de energa (IDLEN)

Вам также может понравиться