Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
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.
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
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
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.
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:
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:
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:
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
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 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.
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.
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.
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 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.
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:
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:
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:
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
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:
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:
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.
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
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
La fuente del reloj de conversin es seleccionable por software a travs de los bits ADCS del regitro ADCON2
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
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?
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?
4. En el siguiente diagrama indique cuales son los pines de los canales digitales, las tierras y alimentacin.
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)