Hola, estoy haciendo un proyecto que me está dando dolores de cabeza, y es que ya no se como ni donde esta el fallo. Necesito un contador de 0 a 99 y que cuando llegue a 99, de un impulso de salida y el circuito se bloquee para siempre (hasta su reseteo). Tbn va mostrando por donde van los pulsos en dos displays.
hice la programacion pero no se donde está el fallo, el proteus lo simula perfectamente, pero a la hora de cargarlo en la pic solo muestra dos ceros en los displays, y no "se da cuenta" de los pulsos (ya que llegar, llegan). programo con mplab y simulo con proteus.
os dejo la programacion a ver si me podeis ayudar:
en el archivo rar vienen el circuito en proteus, el .hex y el .asm
hice la programacion pero no se donde está el fallo, el proteus lo simula perfectamente, pero a la hora de cargarlo en la pic solo muestra dos ceros en los displays, y no "se da cuenta" de los pulsos (ya que llegar, llegan). programo con mplab y simulo con proteus.
os dejo la programacion a ver si me podeis ayudar:
Código:
LIST P=16F84A
#INCLUDE <P16F84A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
CBLOCK 0X0C
CONT
CONT2
CONTADOR
ENDC
ORG 0
INICIO
BSF STATUS, RP0
CLRF PORTB
BSF PORTA,4
BCF PORTA,0
BCF PORTA,1
BCF PORTA,2
BCF STATUS, RP0
CLRF CONT2
CLRF CONT
CLRF CONTADOR
CALL VISUALIZA
ARRIBA BTFSS PORTA,4
GOTO PULSO
CALL Retardo_50ms
BTFSC PORTA,4
GOTO PULSO
CALL INCREMENTO
NO_PULSO CALL VISUALIZA
BTFSC PORTA,4
GOTO NO_PULSO
PULSO CALL VISUALIZA
GOTO ARRIBA
INCREMENTO INCF CONT,F
INCF CONTADOR,F
MOVLW .99
SUBWF CONTADOR,W
BTFSC STATUS,C
GOTO ESCERO
VISUALIZA MOVF CONT,W
CALL DISPLAY
MOVWF PORTB
BCF PORTA,0
BSf PORTA,0
movf CONT2,W
CAll DISPLAY
MOVWF PORTB
BCF PORTA,1
BSF PORTA,1
RETURN
ESCERO MOVLW B'11111'
BSF PORTA,0
BSF PORTA,1
BSF PORTA,2
MOVWF PORTA
SLEEP
DISPLAY ADDWF PCL,F
RETLW 0X3F
RETLW 0X06
RETLW 0X5B
RETLW 0X4F
RETLW 0X66
RETLW 0X6D
RETLW 0X7D
RETLW 0X07
RETLW 0X7F
RETLW 0X67
CLRF CONT
incf CONT2
RETLW 0X3F
RETURN
INCLUDE "C:\Users\Scottie\Documents\RETARDOS.INC"
END
en el archivo rar vienen el circuito en proteus, el .hex y el .asm