Академический Документы
Профессиональный Документы
Культура Документы
Bit 5
Además si se quiere trabajar con la INT del Timer sew debe configurar
el registro INTCON, primero habilitanto todas las INT (Bit 7=1), y la
Int del Timer (Bit 5=1). El otro Bit de interés en este registro es el bit
2, cuando este bit se coloca en uno es porque la Int del timer; si está
habilitada ha ocurrido.
T=(256 – TMR0)*PRES*c
Donde PRES es el valor del preescalador, el cual se rige por la
siguiente tabla.
La utilización del la INT del timer es muy usad en las llamadas
multitareas, es decir, que el Uc podría realizar dos labores al mismo
tiempo.
Para explicar un poco mejor esta idea, supongase que se quiere que el
Uc este encendiendo y apagando un led a determinada frecuencia pero
cada 65.5 ms a la vez suene una alarma.
•Lo primero que se debe hacer es configurar el timer para que dure
65.5m, esto se logra con un preescalador de 256 (Bits 2-0 111) y
cargando el timer con el valor de cero.
MOVLW B’00000111’
MOVWF OPTION_REG
•Luego hay en el INTCON que habilitar las INT globales BIT7=1 y la
del timer BIT5=1
MOVLW B’10100000’
Después se carga el Timer con el valor (Cero en este caso)
CLRF TMR0
El programa que tendrá el siguiente formato.
Programa BSF PORTB,7
CALL DELAY
BCF PORTB,7
CALL DELAY
GOTO PROGRAMA
La rutina de interrupción tendrá el siguiente esquema.
INT BCF INTCON,7 ;Deshabilita las INT
CALL GUARDA ; Llama rutina de guardar W y STATUS
BTFSS INTCON,2 ; Mira si la INT es por TIMER
GOTO INT_TMR0 ; si lo es salta a INT_TMR
SAL_INT
CALL RECUPERA ;Recupera W y STATUS
BCF INTON,2 ; Limpia bandera de INT
BSF INTOCN,7 ; Vuelve a Hab las INT
RETFIE ; Sale de la INT
INT_TMR0
CALL ALARMA ;Activa la alarma o realiza la 2° tarea
GOTO SAL_INT
Cabe destacar que en sí las tareas no se realizan al mismo tiempo pero
debido a la velocidad del Uc es como si lo hicieran, ya que el retardo
de una y otra son solo microsegundo.
Sin embargo la Tarea que poseea mayor prioridad es aquella que debe
ir dentro de la rutina de INT y la otra en el programa principal.
MULT
MOVF NUM1,W
RRF NUM2,F
BTFSC STATUS,C
ADDWF ACUM2,F
BCF STATUS,C
RRF ACUM2,F
RRF ACUM1,F
DECFSZ CONTAUX
GOTO MULT
RETURN
Está rutina se puede utilizar por ejemplo: si se leen 2 numero en
forma separada de un teclado (sean 5 y 6) y se quiere representar
como un solo numero (56); entonces se debe.
•Leer el primer numero
•Multiplicarlo por 10.
•Sumarle el segundo.
EXTENDER LA CAPACIDAD DEL PIC