Programa donde se muestra el funcionamiento y configuración de Timer0, y se demuestra el funcionamiento con led.
;**********************************************************************
; Timer0 *
;**********************************************************************
; Requiere archivos: P16F690.INC
;
;**********************************************************************
; Notas:
; Ejercicio para instrucciones para uso de Timer0 *
;**********************************************************************
#include <p16F690.inc>
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)
cblock 0x20
Display
endc
org 0
Inicio:
bsf STATUS,RP0
movlw b'00000111' ; Configura Timer0.
; --0----- T0CS = 0, Reloj interno
; ---0---- T0SE = 0, Incremento por flanco de subida
; ----0--- PSA = 0, Prescaler a Tomer0
; -----111 Prescaler 1/256
movwf OPTION_REG
clrf TRISC ; Todo PORTC será salida
clrf Display ; Display comienza en cero
bcf STATUS,RP0
Principal:
btfss INTCON,T0IF ; Espera hasta que el Timer0 desborde
goto Principal
bcf INTCON,T0IF ; La bandera debe ser puesta a cero por software
incf Display,f ; Incrementa Display
movf Display,w ; Envía a los LEDs
movwf PORTC
goto Principal
end ;Fin del programa
descargar programa: https://mega.co.nz/#!cwVxBCzA!90_dSlCUWYgQI4KBjcmpKP4mVmDboFboaQpbJWCuLsU (https://mega.co.nz/#!cwVxBCzA!90_dSlCUWYgQI4KBjcmpKP4mVmDboFboaQpbJWCuLsU)