Hola a todos,
estoy haciendo un simple contador hasta diez, y no me funciona, lo hago con MPLAB, y lo simulo en el simulador de MPLAB, y funciona bien, pero en proteus no me funciona.
En cuanto le meto un impulso me activa una salida, y yo quiero que no se active hasta que llegue a diez.
Aqui os paso el programa:
LIST P=16F84
#INCLUDE <P16F84.INC>
;============= MAPA DE MEMORIA===================
STATUS EQU 0X03
TRISA EQU 0X85
TRISB EQU 0X86
PTOA EQU 0X05
PTOB EQU 0X06
CONTA EQU 0X1C
REG1 EQU 0X0C
REG2 EQU 0X0D
REG3 EQU 0X0E
Z EQU 0X02
;=============CONFIGURACION DE LOS PUERTOS=================
RESET ORG 0X00
GOTO INICIO
INICIO BSF STATUS,5 ;PASAMOS AL BANCO 1
MOVLW 0H
MOVWF TRISA ;PUERTO A SALIDAS
MOVLW 0FFH
MOVWF TRISB ;PUERTO B ENTRADAS
BCF STATUS,5
CLRF PTOA
CLRF PTOB
CLRF CONTA
BCF STATUS,C
;======================PROGRAMA===================================
COMO BTFSC PTOB,1 ;COMPRUEBO PULSADOR
GOTO COMO
CALL TIEMPO
BTFSC PTOB,1
GOTO COMO
INCF CONTA,1
MOVF CONTA,W
XORLW 0AH
BTFSC STATUS,Z
BSF PTOA,1
GOTO COMO
GOTO INICIO
RETURN
;==================RETARDO====================
TIEMPO MOVLW 0AH
MOVWF REG1
MOVLW 05H
MOVWF REG2
MOVLW 02H
MOVWF REG3
ESPERA DECFSZ REG3
GOTO ESPERA
ESPERA1 DECFSZ REG2
GOTO ESPERA1
ESPERA2 DECFSZ REG1
GOTO ESPERA2
RETURN
END