Escolar Documentos
Profissional Documentos
Cultura Documentos
#INCLUDE <P16F84A.INC>
__CONFIG _CP_OFF & _PWRTE_OFF & _WDT_OFF & _XT_OSC
inicio
bsf STATUS,5 ;elige el banco 1 pone a 1 RP0
movlw b'00000000' ;configura portB como salida
movwf TRISB
movlw b'00011000' ;configura portA como salida
movwf TRISA
bcf STATUS,RP0 ;elige el banco 0
CLRF PORTB
CLRF PORTA
bsf PORTA,0
bsf PORTA,1
borrar_conta
clrf conta
movf conta,w
movwf PORTB
call retardo500ms
pulsadores
btfss PORTA,4
goto conta_incre
btfss PORTA,3
goto conta_decre
goto pulsadores
conta_incre
incf conta
movf conta,w
xorlw 0AH
btfsc STATUS,Z
goto borrar_conta
movf conta,w
movwf PORTB
call retardo500ms
goto pulsadores
conta_decre
movf conta,w ;carga el valor de conta a w
xorlw 00H ;identifica si conta es cero si w?0 z=0 si w=0 z=1
btfss STATUS,2 ;salta si z=1 sino lee la sgte linea
goto decre_conta ;z=0 resultado de xor ?0
movlw 09H ;carga el valor 9 a w
movwf conta ;valor 9 a conta si este es 0
movf conta,w ;carga conta a w
movwf PORTB ;mueve el valor de conta a w para ver en diplay
call retardo500ms
goto pulsadores
decre_conta
decf conta
movf conta,w
movwf PORTB
call retardo500ms
goto pulsadores
retardo100ms
movlw .180
movwf REG1
cargarREG2
movlw .185
movwf REG2
decre1
decfsz REG2
goto decre1
decfsz REG1
goto cargarREG2
return
retardo500ms
movlw 05h
movwf REG3
decreREG3
call retardo100ms
decfsz REG3
goto decreREG3
return
END