Te envío un ejemplo muy gráfico y fácil de comprobar, con esto quizás puedas comenzar en este mundillo de forma fácil.
El código es el siguiente:
"********************************************
"* AUTOR: Ricardo Gamboa *
"* FECHA: 29/04/2001 *
"* VERSION:1.02 *
"********************************************
"
"********************************************
"* DESCRIPCION:una barra de led se ilumina *
"* a un lado y otro constantemente. *
"* *
"********************************************
"********************************************
"* MICROCONTROLADOR: 16F84A *
"* Estado ultima compilacion: Funciona *
"********************************************
"**************************************************
"* REVISIONES *
"* REV 1.01 Cambio la pausa a 125 milisegundos *
"* REV 1.02 Ahora la pausa es variable con espera *
"**************************************************
"
"
" La conexion de los Led con el microcontrolador Pic debe ser:
" D.LED PIC
" D0 PortB.0
" D1 PortB.1
" D2 PortB.2
" D3 PortB.3
" D4 PortB.4
" D5 PortB.5
" D6 PortB.6
" D7 PortB.7
" DEFINICIONES **********************
DEFINE OSC 4 "Defino la frecuencia del oscilador a 4Mhz
" Fin DEFINICIONES*******************
" VARIABLES ****************
led VAR BYTE
i VAR BYTE
espera VAR BYTE
" FIN DE VARIABLES ********
TRISB=%00000000 "Ajusto el PORT B como salida
espera=1 "inicializo la variable espera a 1
While 1
led=%00000001
GoSub izquierda
GoSub derecha
espera=espera+1
IF espera>=255 Then espera=1
Wend
izquierda:
For i=1 TO 7
PORTB=led "Escribo en PORT B
Pause espera "Pausa de 125 milisegundos
led=led<<1 "Desplazo el 1 hacia la izquierda
Next i
Return
derecha:
For i=1 TO 7
PORTB=led "Escribo en PORT B
Pause espera "Pausa de 125 milisegundos
led=led>>1 "Desplazo el 1 hacia la izquierda
Next i
Return
Saludos
Ricky