Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Interrupciones
Las interrupciones sirven para ejecutar programas alternos al principal en tanto que la activación
de este segundo programa alterno surge de dos opciones
Para el curso de microelectrónica se sugiere comenzar con las interrupciones internas, para esto
se emplean tres registros, TIMER0, OPTION e INTCON.
TIMER0. Cuenta ciclos, este registro se incrementa en uno al ejecutarse un ciclo de reloj,
recordando los ciclos de reloj se relacionan con el tiempo de ejecución, a partir del uso de la
frecuencia:
MOVLW 0X03
MOVWF PORTB
MOVLW 0X04
ADDWF PORTB,1
Según lo dicho anteriormente, cada una de estas instrucciones consume un ciclo por lo que este
segmento de programa en general consume 4 µs, ya que son 4 instrucciones de un ciclo cada una,
lo anterior explica la relación en cuanto a tiempo frecuencia para la ejecución de un programa.
Algunas de las instrucciones consumen dos ciclos, como es el caso de las instrucciones CALL y
GOTO. Algunas otras tienen la indicación 1(2) lo cual significa que son instrucciones condicionadas
a un evento como el BTFSS O DECFSZ que dependiendo del resultado ejecutaran o no un salto,
para el caso que ejecute el salte serán dos ciclos (2µs), y para el caso en que no salte solo se
ejecuta un ciclo (1µs).
MOVLW 0X03
;timer0 = 220
MOVWF PORTB
; Timer0 = 221
MOVLW 0X04
; TIMER0 = 222
David Roque Bolaños 2
Interrupciones
ADDWF PORTB,1
; TIMER0 = 223
GOTO NEXT
…
…
…
NEXT ; TIMER0 = 225 Al ejecutar el GOTO increment en dos
INCF PORTB,1
TIMER0 = 225
El T0CS habilita como fuente para contar los ciclos el reloj interno (4MHz), se cambia a 0,
El PSA sirve para asignar el preescalador al TIMER0, por default se encuentra asignado al
WDT.
Por último los bits 2-0 se configuran para determinar una escala de conteo según la
combinación de estos bits,
David Roque Bolaños 3
Interrupciones
Según la relación se establece el conteo, por ejemplo, si la relación es 1:4 el Timer se incrementa
una vez cada 4 ciclos, si la relación es 1:64, se incrementa una vez cada 64 ciclos.
NOTA, el OPTION por default tiene todos sus bits en uno, y por el contrario el INTCON por default
tiene sus bits en cero.
David Roque Bolaños 4
Interrupciones
; declaración de registros
STATUS EQU 0X03
…