Hola Jorge, gracias por tu tiempo.
Adjunto te envio el archivo niple, y el asm que me genera.
Cuando intento simularlo con el Sim2000, en lugar de temporizar 2 segundos y luego saltar a la siguiente instruccion, se queda siempre como en un bucle, dejando prendido solo un led.
Probe el programa en el protoboard, por si era problema de simulacion, pero no, efectivamente me deja prendido solo el led de rb7, cuando en realidad lo que deberia hacer es prender 2 seg el led de rb7, apagarlo 2 seg, prender 2 seg el de rb6 y apagarlo 2 seg y asi sucesivamente.
Te agradeceria que lo mires a ver cual puede ser el problema.
Muchas gracias.
Dario
Bueno, al final, te adjunto el archivo .asm aca, no se porque razon me dice que no hay espacio en el servidor para copiar los archivos, asi que no puedo enviarte el archivo niple. Pero te comento los bloques y el orden en que los coloque
1 - Configuro puerto B como salida
2 - Escribo en el puerto b el valor binario 10000000
3 - Temporizo por bucles, 3 segundos
4 - Escribo en el puerto b el valor binario 00000000
5 - Temporizo por bucles, 3 segundos
6 - Escribo en el puerto b el valor binario 01000000
7 - Temporizo por bucles, 3 segundos
8 - Escribo en el puerto b el valor binario 00000000
9 - Temporizo por bucles, 3 segundos
10- Uno la flecha de esta ultima temporizacion con el paso 2.
Saludos y mil gracias nuevamente!!!
;------------------------------------------------------------
; Código assembler generado por Niple.
; Nombre del Proyecto:
; Autor: Desarrollo Niple.
; Fecha: 26/11/2004
; PIC: 16F84
; Velocidad de reloj: 4 Mhz
; Descripcion:
;------------------------------------------------------------
LIST P=PIC16F84
;------------------------------------------------------------
; Declaración de Registros
;------------------------------------------------------------
w equ 00h
status equ 0x03
portb equ 0x06
_np_tiempo equ 0x0c
_np_tiempo1 equ 0x0e
_np_tiempo2 equ 0x0f
_np_tiempo3 equ 0x10
trisb equ 0x86
;------------------------------------------------------------
; Declaración de Bits
;------------------------------------------------------------
rp0 equ 5 ;registrer banck select bit
;------------------------------------------------------------
; Inicio
;------------------------------------------------------------
reset org 0
goto paso2
;------------------------------------------------------------
; programa principal
;------------------------------------------------------------
paso2
movlw b"00000000" ;configurar el puerto b como ssssssss
bsf status,rp0 ;cambiar a pagina 1
movwf trisb
paso3
;escribir en el puerto b
movlw b"10000000"
bcf status,rp0 ;cambiar a pagina 0
movwf portb
;temporizador 2 seg
movlw .2
call tiempo_1_255_seg
;fin del temporizador 2 seg
;escribir en el puerto b
movlw b"00000000"
movwf portb
;temporizador 2 seg
movlw .2
call tiempo_1_255_seg
;fin del temporizador 2 seg
;escribir en el puerto b
movlw b"01000000"
movwf portb
;temporizador 2 seg
movlw .2
call tiempo_1_255_seg
;fin del temporizador 2 seg
;escribir en el puerto b
movlw b"00000000"
movwf portb
goto paso3 ; cierra el ciclo
;------------------------------------------------------------
; Declaración de Subrutinas
;------------------------------------------------------------
tiempo_1_255_seg
movwf _np_tiempo
goto tiempo_1_255_seg_1
tiempo_1_255_seg_bucle2
nop
nop
nop
nop
nop
nop
nop
tiempo_1_255_seg_1
movlw .10
movwf _np_tiempo1
tiempo_1_255_seg_bucle1
nop
nop
movlw .99
movwf _np_tiempo2
tiempo_1_255_seg_bucle0
nop
nop
nop
movlw .200
movwf _np_tiempo3
tiempo_1_255_seg_bucle
nop
nop
decfsz _np_tiempo3,1
goto tiempo_1_255_seg_bucle
nop
nop
nop
decfsz _np_tiempo2,1
goto tiempo_1_255_seg_bucle0
nop
nop
nop
decfsz _np_tiempo1,1
goto tiempo_1_255_seg_bucle1
decfsz _np_tiempo,1
goto tiempo_1_255_seg_bucle2
return
End