logger
Colapsar columna

Menu Usuario -

Hola, Visitante
avatar


Mas Activos -

nocturno
Mensajes: 1754
djfreeman
Mensajes: 271
Meta
Mensajes: 264
spiderman
Mensajes: 231
residente
Mensajes: 164

Autor Tema: Datasheet en español: PIC12F629/675 (4)  (Leído 3727 veces)

Desconectado xocas

  • Administrator
  • Colaborador MicroPIC
  • *****
  • Mensajes: 71
Datasheet en español: PIC12F629/675 (4)
« en: Mayo 01, 2009, 11:28 »
Las Interrupciones
Una interrupción es un evento que hace que el microcontrolador deje de ejecutar la tarea que está realizando para atender dicho acontecimiento y luego regrese y continúe la tarea que estaba realizando antes de que se presentara la interrupción. El PIC12F629/675 tiene 7 fuentes de interrupción:
• Interrupción externa GP2/INT
• Interrupción por desbordamiento de TMR0
• Interrupción por cambio lógico de GPIO
• Interrupción comparador
• Interrupción A/D (sólo PIC12F675)
• Interrupción por desbordamiento de TMR1
• Interrupción EEPROM Data Write

El registro de Control de Interrupción (INTCON) y el registro de Interrupción de Periférico (PIR) registran solicitudes de interrupción individuales en bits de bandera (flag bits). En el registro INTCON también se pueden habilitar bits de interrupción individual y global.

Un bit de de interrupción global, GIE (INTCON <7>) permite habilitar (si está activado)  o deshabilitar (si está desactivado) todas las interrupciones. Las interrupciones pueden ser deshabilitadas a nivel individual a través de sus correspondientes bits en el registro INTCON y registro PIE. GIE está desactivado en RESET.

El retorno desde la instrucción de interrupción, RETFIE, abandona la rutina de interrupción, así como activa el bit GIE, que rehabilita las interrupciones.

Las siguientes banderas de interrupción figuran en el registro INTCON:
• INT - pin interrupción
• GP port – interrupción por cambio
• TMR0 – interrupción por desbordamiento

Las banderas de interrupción de periférico figuran en el registro especial PIR1. Los bits de habilitación de  interrupciones correspondientes figuran en el registro especial PIE1.

Las siguientes banderas de interrupción figuran en el registro PIR:
• EEPROM Data Write interrupción
• Interrupción A/D
• Interrupción comparador
• Interrupción por desbordamiento de Timer1

Cuando una interrupción es atendida:
• GIE se desactiva para deshabilitar cualquier otra interrupción
• La dirección de retorno se coloca en la pila
• PC se carga con 0004h

Una vez en la Rutina del Servicio de Interrupción, se pueden determinar los orígenes de la interrupción sondeando los bits de la bandera de interrupción. Deben desactivarse en el software antes de rehabilitar las interrupciones para evitar interrupciones recursivas de  GP2/INT.
Para eventos de interrupción externos, como el pin INT, o interrupción por cambio en el puerto GP, la latencia de interrupción será de tres o cuatro ciclos de instrucción. La latencia exacta depende de cuando el evento de interrupción se produce (véase la figura 9-11 – pág 63). La latencia es la misma para instrucciones de uno o dos ciclos. Una vez en la Rutina del Servicio de Interrupción, se pueden determinar los orígenes de la interrupción sondeando los bits de la bandera de interrupción. Deben desactivarse en el software antes de rehabilitar las interrupciones para evitar varias solicitudes de interrupción.

Notas:
1 - los bits de la bandera de interrupción están establecidos, independientemente del estado de su correspondiente máscara de bit o el bit GIE.
2 - Cuando se ejecuta una instrucción que borra el bit GIE, las interrupciones que estén pendientes de ejecución en el próximo ciclo se ignoran. Las interrupciones que se omitieron siguen pendientes para ser atendidas cuando el bit GIE se establezca de nuevo.

GP2/INT INTERRUPT
La Interrupción externa en el pin GP2/INT se activa por flanco (edge-triggered); ya sea por flanco ascendente (rising) si el bit INTEDG  (OPTION <6>) está a 1, o flanco descendente (falling), si el bit INTEDG está a 0. Cuando un flanco válido aparece en el pin GP2/INT, se establece el bit INTF (INTCON <1>). Se puede deshabilitar esta interrupción si ponemos a 0 el bit de control INTE (INTCON <4>). El bit INTF debe desactivarse por software en la Rutina del Servicio de Interrupción antes de rehabilitar esta interrupción. La interrupción de GP2/INT puede despertar al procesador del modo SLEEP si el bit INTE fue previamente establecido para entrar en este modo. El estado del bit GIE decide si el procesador salta al vector de interrupción siguiente al despertar o no. Se verán más adelante los detalles sobre el modo SLEEP. Consultar la figura 9-13 para conocer el tiempo de 'wake-up' (despertar) del modo SLEEP tras una interrupción de GP2/INT.
Nota: Los Registros ANSEL(9Fh) y CMCON(19h) se deben inicializar para configurar los canales analógicos como entradas digitales. Los pines configurados como entradas analógicas se leerán como 0.

TMR0 INTERRUPT
Un desbordamiento del registro TMR0 (FFh → 00 h) activará el bit T0IF (INTCON <2>). La interrupción puede habilitarse o deshabilitarse activando o limpiando el bit T0IE (INTCON <5>).

GPIO INTERRUPT
Un cambio de entrada en GPIO activa el bit GPIF (INTCON <0>). La interrupción puede habilitarse o deshabilitarse activando o limpiando el bit GPIE (INTCON <3>). Además los pines individuales pueden ser configurados mediante el registro IOC.
Nota: si un cambio en el pin I/O debería ocurrir cuando la operación de lectura está siendo ejecutada (inicio del Q2 cycle), entonces la bandera de interrupción GPIF podría no activarse.

COMPARATOR INTERRUPT
Se verá cuando se trate el Módulo Comparador.

A/D CONVERTER INTERRUPT
Después de una conversión es completa, se activa el indicador ADIF (PIR <6>). La interrupción puede habilitarse o deshabilitarse activando o limpiando el bit ADIE (PIE <6>). Se tratará con más detalle en el Módulo A/D..

Registros implicados en las Interrupciones. Se verán con más detalle posteriormente:


Ver las figuras 9-10 y 9-11 del datasheet.
« última modificación: Mayo 21, 2009, 17:23 por xocas »

Desconectado xocas

  • Administrator
  • Colaborador MicroPIC
  • *****
  • Mensajes: 71
Re: Datasheet en español: PIC12F629/675 (4)
« Respuesta #1 en: Mayo 01, 2009, 11:33 »
Guardar contexto durante las Interrupciones
Durante una interrupción, sólo el valor que devuelve PC se guarda en la pila. Normalmente, los usuarios quieren guardar registros clave durante una interrupción, por ejemplo, el registro W y el registro STATUS. Esto debe aplicarse en el software. En el ejemplo 9-2 se almacena y restaura el registro STATUS y el registro W. El registro de usuario, STATUS_TEMP, debe definirse en ambos Bancos y se deben definir así mismo los desplazamientos desde la dirección base del Banco (por ejemplo, W_TEMP se define en 0x20 en el Banco 0 y también debe definirse en 0xA0 en el Banco 1). El registro de usuario, STATUS_TEMP, debe definirse en el Banco 0. El ejemplo 9-2:
• Almacena el registro W
• Almacena el registro STATUS en el Banco 0
• Ejecuta el código ISR
• Restaura el registro STATUS (y el bit de selección de Banco)
• Restaura el registro W




Watchdog Timer (WDT)
Es un oscilador RC interno, que no requiere componentes externos. Este oscilador RC es independiente del oscilador RC externo del pin CLKIN y de INTOSC, lo que significa que se ejecutará el WDT incluso si se ha detenido el reloj en los pines OSC1 y OSC2 del dispositivo (por ejemplo, mediante la ejecución de una instrucción SLEEP). Su función es evitar bloqueos del PIC (que haya entrado en un bucle sin fin o que por malfuncionamiento se haya quedado bloqueado, por ejemplo) y ejecutar un RESET para la vuelta a un funcionamiento normal del mismo.
En un funcionamiento normal, si el tiempo WDT expira se genera un RESET en el dispositivo. Si está en modo SLEEP, al expirar WDT el dispositivo se despierta y continúa con el funcionamiento normal. El WDT puede desactivarse permanentemente poniendo a '0' el bit de configuración WDTE (Registro Configuration Word)).

Período WDT
WDT tiene un período de tiempo de espera nominal de 18ms, (sin prescaler). Los períodos de tiempo de espera varían con la temperatura, VDD y las variaciones de proceso de parte a parte (ver especificaciones DC). Si se desean períodos de tiempo de espera más largos, un prescaler con un ratio de división de hasta 1:128 se puede asignar a WDT bajo control del software escribiendo en 'OPTION Register' . Por lo tanto, el período de tiempo de espera máximo que puede alcanzarse es de 2,3 segundos.
Para poder eliminar un eventual bloqueo del PIC durante la ejecución del programa principal, se inserta en él una instrucción especial, la cual pone a cero en intervalos regulares el WDT, no permitiéndole llegar al final de su temporización.
Las instrucciones CLRWDT y SLEEP desactivan el WDT y el prescaler, si están asignadas a WDT y evitan que se alcance el final de la temporización y se genere un RESET.
El bit /TO en el registro STATUS se deshabilitará si WDT expira.
 
Consideraciones sobre la programación de WDT
Debería tenerse en cuenta que en la peor de las condiciones (es decir, VDD = mínima, temperatura = Max., máximo. WDT prescaler) pueden pasar varios segundos antes de que el tiempo de WDT expire.





Power-Down Mode (SLEEP)
El Power-Down Mode o SLEEP Mode, es un estado particular de funcionamiento del PIC, utilizado para reducir el consumo de corriente en los momentos que no realiza ninguna tarea o está a la espera de un suceso externo. Al ejecutar una instrucción SLEEP se entra en Power-Down Mode.
Si está habilitado el Watchdog Timer:
• el WDT se limpiará pero se mantiene corriendo
• el bit /PD en el registro STATUS se desactiva
• el bit /TO se activa
• el controlador del oscilador se desconecta
• los puertos I/O mantienen el estado que tenían antes de que se ejecutara SLEEP (conducción alto, bajo, o alta-impedancia).
Para un menor consumo en este modo, todos los pines I/O deberían estar ya sea a VDD, o VSS, sin circuitería externa que consuma corriente de los pines I/O, y los Comparadores y CVREF deberían estar deshabilitados. Los pines I/O que estén en estado de alta-impedancia deben ser llevados a un nivel alto o bajo externamente para evitar cambios en la corriente causados por entradas flotantes. La entrada de T0CKI debería igualmente estar en VDD o VSS para un menor consumo de corriente. Debería considerarse el uso de resistencias pull-ups internas en GPIO.
El pin /MCLR debe estar a un nivel lógico alto (VIHMC).
Nota: Se debe tener en cuenta que un RESET generado por WDT no lleva a /MCLR a un estado bajo
Wake-up from SLEEP (Despertar del Modo SLEEP)
El dispositivo puede despertar del modo SLEEP por alguno de los siguientes eventos:
- entrada de RESET externo en pin /MCLR
- Watchdog Timer Wake-up (si se habilitó WDT)
- Interrupción en pin GP2/INT, interrupción por cambio de estado GPIO, o interrupción de un periférico.

El primer evento provocará un RESET del dispositivo. Los dos siguientes se consideran una continuación de la ejecución del programa. Los bits /TO y /PD del registro STATUS pueden utilizarse para determinar la causa del RESET. El bit /PD, que está habilitado en un funcionamiento normal, se borra cuando se invoca el modo SLEEP. El bit /TO  está desactivado si ocurrió un WDT Wake-up.

Cuando se está ejecutando la instrucción SLEEP, la siguiente instrucción (PC + 1) es pre-fetched. Para que el dispositivo se despierte a través de un evento de interrupción, el bit de habilitar interrupción correspondiente debe activarse. Wake-up es independiente del estado del bit GIE. Si el bit GIE está deshabilitado, el dispositivo continúa la ejecución en la instrucción siguiente a la instrucción SLEEP. Si el bit GIE está habilitado, el dispositivo ejecuta la instrucción después de la instrucción SLEEP, después salta a la dirección de interrupción (0004h). En los casos donde la ejecución de la siguiente instrucción de SLEEP no es deseable, el usuario debería poner un NOP después de la instrucción SLEEP.
El WDT se borra cuando el dispositivo se despierta del modo SLEEP, independientemente de la fuente del 'despertar'.

Nota: si las interrupciones globales están deshabilitadas (GIE está deshabilitado), pero cualquier fuente de interrupción tiene su bit de interrupción habilitado y los correspondientes bits de la bandera de interrupción activados, el dispositivo se despertará inmediatamente del modo SLEEP. La instrucción SLEEP se ejecuta completamente.



« última modificación: Mayo 01, 2009, 12:58 por xocas »

Desconectado xocas

  • Administrator
  • Colaborador MicroPIC
  • *****
  • Mensajes: 71
Re: Datasheet en español: PIC12F629/675 (4)
« Respuesta #2 en: Mayo 01, 2009, 11:39 »
ORGANIZACIÓN DE LA MEMORIA

Memoria de Programa
El PIC12F629/675 tiene un contador de programa de 13 bits capaz de direccionar un espacio de memoria de programa de 8 Kx14. Sólo el primer 1 Kx14 (0000h - 03FFh) para los dispositivos de PIC12F629/675 está físicamente implementado. Acceder a una ubicación por encima de estos límites causará una vuelta (wrap around) al primer 1 Kx14. El vector de RESET está en 0000h y el vector de Interrupción en 0004h.



Memoria de Datos
La memoria de datos (véase la figura 2-2 del datasheet) se divide en dos bancos, que contienen los registros de Propósito General y los registros de Función Especial. Los registros de Función Especial se encuentran en las 32 primeras posiciones de cada banco. Las posiciones 20h-5Fh son para los registros de Propósito General, implementados como RAM estática, y se asignan a través de ambos bancos. El resto de la RAM no está implementada y devuelve ‘ 0 ’ cuando se lee. RP0 (STATUS <5>) es el bit de selección del Banco.
• RP0 = 0, se selecciona Banco 0
• RP0 = 1, se selecciona Banco 1

Nota: los bits de STATUS <7:6>, IRP y RP1, están reservados y se deberían mantener siempre a '0'

Archivo del Registro de Propósito General
Está organizado como 64x8 en el PIC12F629/675. Cada registro es accedido, ya sea directa o indirectamente, a través del Archivo de Selección de Registro (File Select Register – FSR). Véase la sección 2.4 del datasheet.

Registros de Función Especial
Son registros utilizados por la CPU y funciones periféricas para controlar la operación deseada del dispositivo (véase tabla 2-1 en el datasheet). Estos registros son RAM estático. Los registros especiales pueden clasificarse en dos grupos: núcleo y periférico. Los registros de la función especial asociados con el 'núcleo' se describen en esta sección. Aquellos relativos al funcionamiento de las características de los periféricos se describen en su sección correspondiente.


Registro STATUS
El registro STATUS contiene:
• el estado aritmético de la ALU (Unidad Aritmético Lógica)
• el estado de RESET
• los bits de selección de Banco para la memoria de datos (SRAM)

El registro STATUS puede ser el destino para cualquier instrucción, como cualquier otro registro. Si el registro STATUS es el destino de una instrucción que afecta a los bits Z, DC o  C, entonces la escritura a estos tres bits es deshabilitada. Estos bits son activados o borrados de acuerdo a la lógica del dispositivo. Además, los bits /TO y /PD no son de escritura. Por lo tanto, el resultado de una instrucción con el registro STATUS como destino puede ser diferente a lo que se pretende.
Por ejemplo, con CLRF STATUS se borrarán los tres bits superiores y se activa el bit Z. Esto deja al registro de STATUS como 000u u1uu (donde u = sin cambios (unchanged)).
Se recomienda, por lo tanto, que sólo instrucciones BCF, BSF, SWAPF y MOVWF se utilicen para modificar el registro STATUS, porque estas instrucciones no afectan a los bits de STATUS. Para conocer otras instrucciones que no afectan a bits del registro STATUS, consulta  'Instruction Set Summary'.

Notas:
1: los bits IRP y RP1 (STATUS <7:6>) no son utilizados por el PIC12F629/675 y deben mantenerse a 0. No se recomienda el uso de estos bits, ya que esto puede afectar la compatibilidad con productos futuros.
2: Los bits C y DC funcionan como 'Borrow y Digit Borrow out bit', respectivamente, en las restas. Consulta las instrucciones SUBLW y SUBWF para ejemplos.


bit 7: IRP: este bit está reservado y debería mantenerse a 0
bit 6: RP1: este bit está reservado y debería mantenerse a 0
bit 5: RP0: bit de Selección de Banco (usado para direccionamiento directo)
  0 = Banco 0 (00h - 7Fh)
  1 = Banco 1 (80h - FFh)
bit 4: /TO: bit Time-out
  1 = Después del encendido (power-up), o una instrucción CLRWDT o SLEEP
  0 = Sucedió un WDT time-out
bit 3: /PD: bit Power-down
  1 = Después de power-up o una instrucción CLRWDT
  0 = Por ejecutarse una instrucción SLEEP
bit 2: Z: bit Zero
  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ógica es diferente de 0
bit 1: DC: bit Digit carry/borrow (Dígito de acarreo). En instrucciones ADDWF, ADDLW, SUBLW, SUBWF
  1 = Un acarreo del 4º bit menos significativo (bit 3) ha sucedido
  0 = No ha habido acarreo
  Para '/borrow', la polaridad está invertida
bit 0: C: bit Carry/borrow (Acarreo). En instrucciones ADDWF, ADDLW, SUBLW, SUBWF
  1 = Un acarreo del bit más significativo ha sucedido
  0 = No ha habido acarreo
Nota: para '/borrow', la polaridad está invertida. Una resta se ejecuta sumando el complemento a 2 del segundo operando. En instrucciones de rotación (RRF, RLF) este bit se carga ya sea con el bit de mayor o menor peso del registro de origen.
Nota: 'borrow' = 'tomar prestado', en un sentido de resta

« última modificación: Mayo 01, 2009, 12:59 por xocas »

Desconectado xocas

  • Administrator
  • Colaborador MicroPIC
  • *****
  • Mensajes: 71
Re: Datasheet en español: PIC12F629/675 (4)
« Respuesta #3 en: Mayo 01, 2009, 11:40 »
Registro OPTION
Es un registro de lectura/escritura con varios bits de control para configurar:
• TMR0/WDT prescaler
• Interrupción externa en GP2/INT
• TMR0
• Resistencias pull-up en GPIO


bit 7 /GPPU: Bit de habilitación de GPIO Pull-up
  1 = Pull-ups deshabilitadas
  0 = Pull-ups habilitadas
bit 6 INTEDG: Bit de selección de interrupción por flanco
  1 = Interrupción por flanco ascendente (rising edge) en pin GP2/INT
  0 = Interrupción por flanco descendente (falling edge) en pin GP2/INT
bit 5 T0CS: TMR0 Bit de selección de origen de reloj
  1 = Transición en pin GP2/T0CKI
  0 = Ciclo de instrucción interna (CLKOUT)
bit 4 T0SE: TMR0 Bit de selección de origen del flanco
  1 = Se incrementa en una transición alto-a-bajo en pin GP2/T0CKI
  0 = Se incrementa en una transición bajo-a-alto en pin GP2/T0CKI
bit 3 PSA: Bit de asignación del prescaler
  1 = Prescaler está asignado al WDT
  0 = Prescaler está asignado al módulo TIMER0
bit 2-0 PS2:PS0: Bits de selección Ratio-Prescaler


Nota: para lograr una asignación de prescaler 1:1 para TMR0, asignar el prescaler al WDT estableciendo el bit PSA a ‘1’ (OPTION <3>). Véase la sección prescaler en el Módulo Timer0.


Registro INTCON
Es un registro de lectura/escritura, que contiene los diversos bits de bandera para el desbordamiento del registro TMR0, cambio de estado del puerto GPIO y las interrupciones externas del pin GP2/INT.
Nota: los bits de la bandera de interrupción se establecen cuando se produce una condición de interrupción, independientemente del estado de su correspondiente bit de habilitación o del bit de habilitación global, GIE (INTCON <7>). El usuario debe asegurarse de que los bits de las correspondientes banderas de interrupción estén a 0 antes de habilitar una interrupción.


bit 7 GIE: bit de habilitación de las Interrupciones Globales
  1 = habilita interrupciones
  0 = deshabilita todas las interrupciones
bit 6 PEIE: bit de habilitación de las Interrupciones de Periféricos
  1 = habilita las interrupciones
  0 = deshabilita las interrupciones
bit 5 TOIE: bit de Interrupción por Desbordamiento de TMR0
  1 = habilita la interrupción de TMR0
  0 = deshabilita la interrupción de TMR0
bit 4 INTE: bit de habilitación de la Interrupción Externa de GP2/INT
  1 = habilita la interrupción de GP2/INT
  0 = deshabilita la interrupción de GP2/INT
bit 3 GPIE: bit de Interrupción por Cambio de Estado en GPIO (1)
  1 = habilita la interrupción por cambio de estado
  0 = deshabilita la interrupción
bit 2 T0IF: bit de bandera de Interrupción por Desbordamiento de TMR0 (2)
  1 = hubo desbordamiento de TMR0 (debe limpiarse vía software)
  0 = no hubo desbordamiento
bit 1 INTF: bit de bandera de Interrupción Externa en GP2/INT
  1 = ocurrió una interrupción externa en GP2/INT (debe limpiarse vía software)
  0 = no hubo interrupción externa en GP2/INT
bit 0 GPIF: bit de bandera de Interrupción por cambio de estado del Puerto
  1 = cuando alguno de los pines GP5:GP0 ha cambiado de estado (debe limpiarse vía software)
  0 = no hubo cambio de estado en GP5:GP0

Notas:
(1) el Registro IOC debe estar igualmente habilitado para habilitar la interrupción por cambio de estado.
(2) el bit T0IF se activa cuando TIMER0 se desborda. TIMER0 no cambia en un RESET y se debería inicializar antes limpiando el bit T0IF.

« última modificación: Mayo 01, 2009, 12:59 por xocas »

Desconectado xocas

  • Administrator
  • Colaborador MicroPIC
  • *****
  • Mensajes: 71
Re: Datasheet en español: PIC12F629/675 (4)
« Respuesta #4 en: Mayo 01, 2009, 11:43 »
Registro PIE1
Este registro contiene los bits que habilitan las interrupciones.
Nota: para habilitar cualquier interrupción periférica debe establecerse el bit PEIE (INTCON <6>).


bit 7 EEIE: bit de habilitación de Escritura EE Completada
  1 = habilita la interrupción
  0 = deshabilita la interrupción
bit 6 ADIE: bit de habilitación de Interrupción del Convertidor A/D (12F675 solamente)
  1 = habilita la interrupción A/D
  0 = deshabilita la interrupción A/D
bit 5-4 Sin implementar, se leen como 0
bit 3 CMIE: bit de habilitación de Interrupción del Comparador
  1 = habilita la interrupción del Comparador
  0 = deshabilita la interrupción del Comparador
bit 2-1 Sin implementar, se leen como 0
bit 0 TMR1IE: bit de habilitación Desbordamiento TMR1
  1 = habilita Desbordamiento TMR1
  0 = deshabilita Desbordamiento TMR1


Registro PIR1
Este registro contiene los bits de bandera de interrupción.
Nota: los bits de la bandera de interrupción se establecen cuando se produce una condición de interrupción, independientemente del estado de su correspondiente bit de habilitación o del bit de habilitación global, GIE (INTCON <7>). El usuario debe asegurarse de que los bits de las correspondientes banderas de interrupción estén a 0 antes de habilitar una interrupción.


bit 7 EEIF: bit de bandera de Interrupción de la Operación de Escritura EEPROM
  1 = operación de escritura completada (debe limpiarse vía software)
  0 = la operación de escritura no ha terminado o no ha dado comienzo
bit 6 ADIF: bit de bandera de Interrupción del Convertidor A/D (12F675 solamente)
  1 = la conversión se ha completado (debe limpiarse vía software)
  0 = la conversión no ha terminado
bit 5-4 Sin implementar, se leen como 0
bit 3 TMR1IF: bit de bandera de Interrupción Desbordamiento TMR1
  1 = registro TMR1 ha desbordado (debe limpiarse vía software)
  0 = no hubo desbordamiento de TMR1


Registro PCON
El registro Power Control (PCON) contiene los bits de bandera que nos permiten diferenciar entre:
• Power-on Reset (POR)
• Brown-out Detect (BOD)
• Watchdog Timer Reset (WDT)
• MCLR Reset Externo


bit 7-2 Sin implementar, se leen como 0
bit 1 /POR: bit de Estado Power-on Reset
  1 = no ocurrió un Power-on Reset
  0 = hubo un Power-on Reset (debe ser activado vía software después de que ocurra)
bit 0 /BOD: bit de Estado Brown-out Detect
  1 = no ocurrió un Brown-out Detect
  0 = hubo un Brown-out Detect (debe ser activado vía software después de que ocurra)


Registro OSCCAL
Es usado para calibrar el Oscilador Interno de 4Mhz. Tiene 6 bits para ajustar la frecuencia hacia arriba o hacia abajo para lograr eses 4Mhz.


bit 7-2 CAL5:CAL0: 6 bits de Calibración del Oscilador
  111111 = máxima frecuencia
  100000 = media frecuencia
  000000 = mínima frecuencia
bit 1-0 Sin implementar, se leen como 0

« última modificación: Mayo 01, 2009, 12:59 por xocas »