Hola a todo soi nuevo y me gustaria que me
ayudaran con sierto problemita que tengo al crear
un programa para un 16f84A
bueno el programa consiste en lo siguiente
se desea que mediante un 7447 conectado
a un display 7 segmentos anodo comun
mi programa .asm debe realizar lo siguiente:
cuente de modo regresivo desde 5 hasta a 0
pero cuando llegue a 0 debe volver nuevamente
a 5 y asi sucesivamente con retardo de 1 o 2 segundos
me gustaria que me ayudaran ya que soi novato
en esto de los pic.
buno aqui les dejo lo que a construido hasta el momento
para que puedan ver si tiene algun error o mejorarlo
---------------------------------------------------------------------------
include p16f84a.INC
__CONFIG 0X3FF9
PDel0 EQU 0X0C
PDel1 EQU 0X0D
ORG 000
CONFIGURACION
BSF STATUS,5
CLRF TRISB
BCF STATUS,5
XX MOVLW 0X05
MOVWF PORTB
CALL DEMORA
YY DECFSZ PORTB
CALL DEMORA
BTFSC PORTB,YY
GOTO XX
GOTO YY
DEMORA movlw .154 ; 1 set numero de repeticion (B)
movwf PDel0 ; 1 |
PLoop1 movlw .243 ; 1 set numero de repeticion (A)
movwf PDel1 ; 1 |
PLoop2 clrwdt ; 1 clear watchdog
PDelL1 goto PDelL2 ; 2 ciclos delay
PDelL2 goto PDelL3 ; 2 ciclos delay
PDelL3
decfsz PDel1, 1 ; 1 + (1) es el tiempo 0 ? (A)
goto PLoop2 ; 2 no, loop
decfsz PDel0, 1 ; 1 + (1) es el tiempo 0 ? (B)
goto PLoop1 ; 2 no, loop
PDelL4 goto PDelL5 ; 2 ciclos delay
PDelL5 clrwdt ; 1 ciclo delay
return ; 2+2 Fin.
END
------------------------------------------------------------------------------
de ante mano gracias