OK. No es complicado realizar secuencias.
Mira esta otra forma de hacerlo:
Compila y ve qué sucede.
Mira esta otra forma de hacerlo:
Código:
@ Device PIC16F887 ; Microcontrolador utilizado
; Palabra de configuración:
@ Device INTRC_OSC_NOCLKOUT,WDT_OFF,PWRT_ON,LVP_OFF,FCMEN_OFF,IESO_OFF
Define OSC 4 ' Define el oscilador para una frecuencia de 4 MHz.
; Declaración de variables:
B0 Var Byte ; Variable de 8 bits para propósito general.
Leds1 Var Byte[8] ; Definir un arreglo de 8 campos
Leds2 Var Byte[8] ; Definir un arreglo de 8 campos
Inicio:
TRISA = 0 ; Puerto A como salidas
TRISB = 0 ; Puerto B como salidas
PORTA = 0 ; Puerto A en 0
PORTB = 0 ; Puerto B en 0
Leds1[1] = %10000000 ; Establecer un valor binario a los arreglos.
Leds1[2] = %01000000
Leds1[3] = %00100000
Leds1[4] = %00010000
Leds1[5] = %00001000
Leds1[6] = %00000100
Leds1[7] = %00000010
Leds1[8] = %00000001
Leds2[1] = %00000001
Leds2[2] = %00000010
Leds2[3] = %00000100
Leds2[4] = %00001000
Leds2[5] = %00010000
Leds2[6] = %00100000
Leds2[7] = %01000000
Leds2[8] = %10000000
Leds1 = 1
Leds2 = 1
Programa:
For B0 = 8 To 1 Step -1 ; Bucle de 8 ciclos (Descendente)
PORTA = Leds1[B0] ; Realizar el desplazamiento de bits del puerto A
PORTB = Leds2[B0] ; Realizar el desplazamiento de bits del puerto B
Pause 100
Next B0
For B0 = 1 To 8 ; Bucle de 8 ciclos (Ascendente)
PORTA = Leds1[B0] ; Realizar el desplazamiento de bits del puerto A
PORTB = Leds2[B0] ; Realizar el desplazamiento de bits del puerto B
Pause 100
Next B0
GoTo Programa ; Repetir el proceso.
End