Ensayo

Solo disponible en BuenasTareas
  • Páginas : 10 (2378 palabras )
  • Descarga(s) : 0
  • Publicado : 16 de febrero de 2011
Leer documento completo
Vista previa del texto
Interrupción

Interrupción es una señal recibida por el procesador de un ordenador, indicando que debe "interrumpir" el curso de ejecución actual y pasar a ejecutar código específico para tratar esta situación.

Temporizador/Contador TMR0

    El temporizador/contador TMR0 es un registro de 8 bits, es decir, un particular tipo de registro cuyo contenido es incrementado con una cadenciaregular y programable directamente por el hardware del PIC. Como es de 8 bits, el máximo de la cuenta está en 255.
    El TMR0 tiene las siguientes características:
• Temporizador/Contador de 8 bits.
• Divisor de 8 bits programable por software.
• Selección de reloj interno y externo.
• Interrupción por desbordamiento.
• Selección del flanco del reloj externo.
    Esteregistro puede usarse para contar eventos externos por medio de un pin de entrada especial (modo contador) o para contar pulsos internos de reloj de frecuencia constante (modo temporizador). Además, en cualquiera de los dos modos, se puede insertar un prescaler, es decir un divisor de frecuencia programable que puede dividir por 2, 4, 8, 16, 32, 64, 128 o 256. Este divisor puede ser utilizadoalternativamente como prescaler o del TMR0 o como postscaler del Watch Dog Timer, según se lo programe.
    En la práctica, a diferencia de los otros registros, el TMR0 no mantiene inalterado el valor que tiene memorizado, sino que lo incrementa continuamente.
    Si por ejemplo escribimos en él el valor 10, después de un tiempo igual a cuatro ciclos máquina, el contenido del registro comienza a serincrementado a 11, 12, 13 y así sucesivamente con una cadencia constante y totalmente independiente de la ejecución del resto del programa.
    Una vez alcanzado el valor 255, el registro TMR0 es puesto a cero automáticamente comenzando entonces a contar desde cero y no desde el valor originalmente cargado.
    La frecuencia de conteo es directamente proporcional a la frecuencia de reloj aplicada alPIC y puede ser modificada programando adecuadamente algunos bits de configuración.
    El modo temporizador se selecciona colocando a 0 el bit T0CS del registro OPTION. En este modo, el Timer0 se incrementa con cada ciclo de instrucción (con el divisor desactivado).
    El modo contador se selecciona colocando a 1 el bit T0CS del registro OPTION. En este modo, el contador se incrementará concada flanco de subida o de bajada del pin RA4/T0CKI. El flanco se selecciona con el bit T0SE del registro OPTION.
    Se generará una interrupción cuando el registro TMR0 se desborda de FFh a 00h. Este desbordamiento se indicará el el bit T0IF del registro INTCON.
    

En la siguiente figura está representado el esquema de bloques internos del PIC que determinan el funcionamiento del registroTMR0:
[pic]
    Fosc/4 y T0CKI representan las dos posibles fuentes de señal de reloj, para el contador TMR0.
    Fosc/4 es una señal generada internamente por el PIC tomada del circuito de reloj y que es igual a la frecuencia del oscilador dividida por cuatro.
    T0CKI es una señal generada por un posible circuito externo y aplicada al pin T0CKI correspondiente al pin 3 del PIC16F84.    Los bloques T0CS y PSA son dos selectores de señal (multiplexores) en cuya salida se presenta una de las dos señales de entrada en función del valor de los bits T0CS y PSA del registro OPTION.
    El bloque PRESCALER ó Predivisor es un divisor programable cuyo función es dividir la frecuencia de conteo, interna ó externa.
|Interrupciones|
|Cuando se produce una interrupción el pic deja automáticamente lo que esté haciendo, va directo a la dirección 04h de programa y ejecuta lo que |
|encuentre a partir de allí hasta encontrarse con la instrucción RETFIE que le hará abandonar la interrupción y volver al lugar donde se encontraba antes|
|de...
tracking img