hola a todos. de ante mano gracias a aquellos q den su opinion.
mi problema es que estoy haciendo un contador temporizador con TMR0 en un PIC16F84 y el programa MPLAB al momento de ejecutar el programa el no me da errores en MPLAB ya que este no me chequea la logica con la que estoy trabajando lo compilo hago todo para crear el archivo .hex para despues cargarlo al montaje que esta hecho en el proteus el problema esta en que se supone que debe hacer el conteo descendiente de 8 a 0 en 8 segundos es decir cada 1 segundo debe dar un cambio pero no lo hace al momento que graba el primer valor que es el 8 se va a cero a una velocidad demasiado alta porq noc estoy trabajando con una frecuencia de 1Mhz ya los calculos de cuantas veces tiene el TMR0 que hacer el desbordamiento para que cuente un segundo lo he hecho demas de veces por lo que creo q el error esta en la logica aki esta el programa que estoy tratando de que me de.
estoy usando un display de anodo comun. me explicare de que se quiere: al momento de que el pic recibe un pulso que viene por la entrada en este caso RA0 se debe encender el led al mismo tiempo se activa el conteo regresivo que va de 1 en 1 segundo y que el display iniciara en 8 despues de llegar a 0 se apaga todo el display y el led.
noce porque despues del primer valor se va a cero tan rapido creo es algo que me vino a la cabeza que habria que crearle subrutinas en las que despues de grabar el primer valor valla a ellas y se quede esperando que pase un segundo y siga el conteo regresivo pero noc si es eso o algo que este mal en la logica agradesco cualque ayuda que se pueda prestas.
LIST P=16F84
#INCLUDE "P16F84.INC"
AUX1 EQU 0C
AUX2 EQU 1C
ORG 0
GOTO INICIO
ORG 04
GOTO INT
ORG 5
INICIO BSF STATUS, RP0
MOVLW b'00000001'
MOVWF TRISA
CLRF TRISB
MOVLW b'00000111'
MOVWF 81
BCF STATUS, RP0
MOVLW b'01111111'
MOVWF PORTB
CLRF PORTA
CLRF PORTB
CLRF AUX1
CLRF AUX2
Ciclo BTFSS PORTA, 0
GOTO CICLO
CONFIGURA
MOVLW b'10100000'
MOVWF INTCON
MOVLW D'217'
MOVWF TMR0
MOVLW D'25'
MOVWF AUX2
MOVLW D'8'
MOVWF AUX1
BSF PORTA, 1
MOVLW B'00110000'
MOVWF PORTB
CICLO1
GOTO CICLO1
INT DECFSZ AUX2
GOTO RTT
MOVF AUX1, W
SUBLW D'0'
BTFSC STATUS, Z
GOTO PON0
MOVF AUX1, W
SUBLW D'1'
BTFSC STATUS, Z
GOTO PON1
MOVF AUX1, W
SUBLW D'2'
BTFSC STATUS, Z
GOTO PON2
MOVF AUX1, W
SUBLW D'3'
BTFSC STATUS, Z
GOTO PON3
MOVF AUX1, W
SUBLW D'4'
BTFSC STATUS, Z
GOTO PON4
MOVF AUX1, W
SUBLW D'5'
BTFSC STATUS, Z
GOTO PON5
MOVF AUX1, W
SUBLW D'6'
BTFSC STATUS, Z
GOTO PON6
MOVF AUX1, W
SUBLW D'7'
BTFSC STATUS, Z
GOTO PON7
MOVF AUX1, W
SUBLW D'8'
BTFSC STATUS, Z
GOTO PON8
PON0 MOVLW B'01000000'
MOVWF PORTB
CLRF INTCON
CLRF PORTA
GOTO CICLO
PON1 MOVLW B'01110011'
MOVWF PORTB
GOTO RC
PON2 MOVLW B'00001001'
MOVWF PORTB
GOTO RC
PON3 MOVLW B'00100001'
MOVWF PORTB
GOTO RC
PON4 MOVLW B'00110010'
MOVWF PORTB
GOTO RC
PON5 MOVLW B'00100100'
MOVWF PORTB
GOTO RC
PON6 MOVLW B'00000100'
MOVWF PORTB
GOTO RC
PON7 MOVLW B'01110001'
MOVWF PORTB
GOTO RC
PON8 MOVLW B'00000000'
MOVWF PORTB
GOTO RC
RTT MOVLW D'217'
MOVWF TMR0
GOTO FIN
RC MOVLW D'217'
MOVWF TMR0
MOVLW D'25'
MOVWF AUX2
DECF AUX1
FIN
RETFIE
end