[ASM] Programando un PIC (Uso de Timer0)

Iniciado por kal23, Enero 24, 2014, 08:20:44 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Programa donde se muestra el funcionamiento y configuración de Timer0, y se demuestra el funcionamiento con led.

Código: asm

;**********************************************************************
;    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: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta