You are on page 1of 2

#include "p16f877a.

inc"
;**** Definicion de variables ****
decre equ

; Pulsador para decrementar Ciclo de Trabajo EN RB0

incre equ

; Pulsador para incrementar Ciclo de Trabajo EN RB1

;**** Inicio del Programa ****


org

0x00

goto Inicio

; Aqu comienza el micro


;va a la rutina Inicio

;********vector de interrupciones******************
org
0x04
RETFIE
; **** Programa Principal
Inicio bsf
BCF

STATUS,RP0 ; Banco 1
STATUS,RP1 ; Banco 1

bsf

TRISB,incre ; Como Entrada

bsf

TRISB,decre ; Como Entrada

bcf

TRISC,2

bcf

STATUS,RP0 ; regresamos al Banco 0

movlw

b'00000110' ; Se selecciona TMR2, preescaler de 1/16.

movwf

T2CON ; configuramos el TMR2

bsf

STATUS,RP0 ; Banco 1

movlw

0XBA

movwf

PR2

bcf

STATUS,RP0 ; Banco 0

clrf CCPR1L

; RC2 como Salida.

; LO MOVEMOS AL PR2

; Ciclo de trabajo 0%

bcf

CCP1CON,CCP1X

bcf

CCP1CON,CCP1Y

bsf

CCP1CON,CCP1M3 ; Configura modulo CCP modo PWM.-

bsf

CCP1CON,CCP1M2

Bucle btfsc PORTB,decre; Testea si se quiere reducir CT.gotoDecrementa


btfsc

PORTB,incre ; Testea si se quiere aumentar CT.-

gotoIncrementa
gotoBucle
Incrementa incf

CCPR1L,1

gotoBucle
Decrementa decf

CCPR1L,1

gotoBucle
return

end

; Regresa de la subrutina.-

You might also like