Ayuda con soft de matiz led

Hola a todos soy nuevo o novato con el basic y necesito hacer rotar el contenido de la variable aux y no puedo, no doy con la tecla de como hacerlo con este soft yo me cree otro que si me funciona pero la variable la cargo con decimales y uso el registro como barrido y las columnas como llenado, lo opuesto a este soft. Desde ya gracias a los que puedan aportar algo.

DEVICE 18F452 'the pic controler'
XTAL=4 'FRECUENCIA DE TRABAJO'
ALL_DIGITAL = TRUE 'todos los puertos en digital mode'


'CONFIGURO PUERTOS'
'CONFIG PORTB'
TRISB.0=0
TRISB.1=0
TRISB.2=0
TRISB.3=0
TRISB.4=0
TRISB.5=0
TRISB.6=0
TRISB.7=0
'CONFIG PORTD'
TRISD.0=0
TRISD.1=0
TRISD.2=0
TRISD.3=0
TRISD.4=0
TRISD.5=0
TRISD.6=0
TRISD.7=0
'CONFIG PORTC'
TRISC.0=0
TRISC.1=0
TRISC.2=0
TRISC.3=0
TRISC.4=0
TRISC.5=0
TRISC.6=0
TRISC.7=0
'CONFIG PORTA'
TRISA.0=0
TRISA.1=0
TRISA.2=1
TRISA.3=1
TRISA.4=1
TRISA.5=0
'CONFIG PORTE'
TRISE.0=1
TRISE.1=1
TRISE.2=1
'simbolos de identificacion de los puertos en el soft'
SYMBOL DATA1=PORTA.0
SYMBOL CLOCK=PORTA.1
symbol f1=portb.0
symbol f2=portb.1
symbol f3=portb.2
symbol f4=portb.3
symbol f5=portb.4
symbol f6=portb.5
symbol f7=portb.6
symbol f8=portb.7
symbol fA1=portd.0
symbol fA2=portd.1
symbol fA3=portd.2
symbol fA4=portd.3
symbol fA5=portd.4
symbol fA6=portd.5
symbol fA7=portd.6
symbol fA8=portd.7
symbol fB1=portc.0
symbol fB2=portc.1
symbol fB3=portc.2
symbol fB4=portc.3
symbol fB5=portc.4
symbol fB6=portc.5
symbol fB7=portc.6
symbol fB8=portc.7
symbol IN = PORTE
SYMBOL IN2 = PORTA.2
SYMBOL MODE=PORTA.3
SYMBOL LED = PORTA.5

'Dimensiones de variables '
dim aux as dword
dim col as byte
dim time as byte
'======================'

'////////////'
'----------'
time = 2
clock = 0
data1 = 0


'--------------------------------------------------------------------------'

' for make the number in big 15 '


LOOPA:

aux = %000000000000000000011111
Gosub escribo
aux = %111111111111111100000000
Gosub escribo
aux = %111111000000000000000000
Gosub escribo
f1=1
pause time
f1=0

aux = %000000000000000000011111
Gosub escribo
aux = %111111111111111100000000
Gosub escribo
aux = %111111100000000000000000
Gosub escribo
f2=1
pause time
f2=0
'
aux = %000000000000000000011111
Gosub escribo
aux = %111111111111111100000000
Gosub escribo
aux = %111111110000000000000000
Gosub escribo
f3=1
pause time
f3=0

'
aux = %000000000000000000011111
Gosub escribo
aux = %111111111111111100000000
Gosub escribo
aux = %111111111000000000000000
Gosub escribo
f4=1
pause time
f4=0

'
aux = %000000000000000000000000
Gosub escribo
aux = %000000000001111100000000
Gosub escribo
aux = %111111111100000000000000
Gosub escribo
f5=1
pause time
f5=0

'
aux = %000000000000000000000000
Gosub escribo
aux = %000000000001111100000000
Gosub escribo
aux = %111111111110000000000000
Gosub escribo
f6=1
pause time
f6=0

'
aux = %000000000000000000000000
Gosub escribo
aux = %000000000001111100000000
Gosub escribo
aux = %111110000000000000000000
Gosub escribo
f7=1
pause time
f7=0

aux = %000000000000000000000000
Gosub escribo
aux = %000000000001111100000000
Gosub escribo
aux = %111110000000000000000000
Gosub escribo
f8=1
pause time
f8=0



'STAGE 2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'

aux = %000000000000000000000001
Gosub escribo
aux = %111111111111111100000000
Gosub escribo
aux = %111110000000000000000000
Gosub escribo
fA1=1
pause time
fA1=0

aux = %000000000000000000000111
Gosub escribo
aux = %111111111111111100000000
Gosub escribo
aux = %111110000000000000000000
Gosub escribo
fA2=1
pause time
fA2=0
'
aux = %000000000000000000001111
Gosub escribo
aux = %111111111111111100000000
Gosub escribo
aux = %111110000000000000000000
Gosub escribo
fA3=1
pause time
fA3=0

'
aux = %000000000000000000011111
Gosub escribo
aux = %111111111111111100000000
Gosub escribo
aux = %111110000000000000000000
Gosub escribo
fA4=1
pause time
fA4=0

'
aux = %000000000000000000011111
Gosub escribo
aux = %111111111111111100000000
Gosub escribo
aux = %111110000000000000000000
Gosub escribo
fA5=1
pause time
fA5=0

'
aux = %000000000000000000111111
Gosub escribo
aux = %000000000000000000000000
Gosub escribo
aux = %111110000000000000000000
Gosub escribo
fA6=1
pause time
fA6=0

'
aux = %000000000000000001111110
Gosub escribo
aux = %000000000000000000000000
Gosub escribo
aux = %111110000000000000000000
Gosub escribo
fA7=1
pause time
fA7=0

aux = %000000000000000001111110
Gosub escribo
aux = %000000000000000000000000
Gosub escribo
aux = %111110000000000000000000
Gosub escribo
fA8=1
pause time
fA8=0


'STAGE 3//////////////////////////////////////////////////////////'



aux = %000000000000000001111100
Gosub escribo
aux = %000000000001111100000000
Gosub escribo
aux = %111110000000000000000000
Gosub escribo
fB1=1
pause time
fB1=0

aux = %000000000000000001111100
Gosub escribo
aux = %000000000011111100000000
Gosub escribo
aux = %111110000000000000000000
Gosub escribo
fB2=1
pause time
fB2=0
'
aux = %000000000000000000111110
Gosub escribo
aux = %000000000111111100000000
Gosub escribo
aux = %111110000000000000000000
Gosub escribo
fB3=1
pause time
fB3=0

'
aux = %000000000000000000111111
Gosub escribo
aux = %111111111111111000000000
Gosub escribo
aux = %111110000000000000000000
Gosub escribo
fB4=1
pause time
fB4=0

'
aux = %000000000000000000011111
Gosub escribo
aux = %111111111111110000000000
Gosub escribo
aux = %111110000000000000000000
Gosub escribo
fB5=1
pause time
fB5=0

'
aux = %000000000000000000001111
Gosub escribo
aux = %111111111111110000000000
Gosub escribo
aux = %111110000000000000000000
Gosub escribo
fB6=1
pause time
fB6=0

'
aux = %000000000000000000000111
Gosub escribo
aux = %111111111111100000000000
Gosub escribo
aux = %111110000000000000000000
Gosub escribo
fB7=1
pause time
fB7=0

aux = %000000000000000000000000
Gosub escribo
aux = %111111111111000000000000
Gosub escribo
aux = %111110000000000000000000
Gosub escribo
fB8=1
pause time
fB8=0


GOTO LOOPA
End
'
'Subrutina que llena el registro
escribo:


For col = 1 To 24

If aux.23= 0 Then

data1 = 0
pauseUS 2
clock = 0
pauseUS 2
clock = 1
pauseUS 2
Else

data1 = 1
pauseUS 2
clock = 0
pauseUS 2
clock = 1
pauseUS 2

ENDIF

aux = aux << 1
Next col

Return

Ver el archivo adjunto IMG_0142 (2).rar >>Imagen adjunta de la matriz <<
 
Última edición:
ThomasEzequiel

Seria interesante que aclararas con que versión de "Basic" estas trabajando, ya que cada versión suele tener nombres distintos para el comando que te esta faltando.

Además, es mejor que agregues el código en un archivo adjunto o dentro de "Tag's de Código" para que no resulte incomoda la vista de la página.

Saludos, JuanKa.-
 
ThomasEzequiel

Debi buscar un poco debido a que hace un tiempo investigue este tema de las "Matrices de Led's" y lo tenia en la Notebook.

He llegado a la conclusión que estas mezclando el Basic desde donde copiaste la parte basica del programa y el Basic que tu estas acostumbrado a usar dado que el "Proton Basic Pro" NO utiliza muchas de las instrucciones que tienes en tu programa "matriz led24x70.bas" y que son ESPECIFICAS de otro Entorno de Desarrollo Integrado (IDE) en Basic.

Te digo que has cometido el error al modificar una instrucción dentro de la Subrutina "escribo:" pero dado que yo uso otro Basic no tengo la respuesta para que lo corrijas, eso deberas investigarlo tu por que asi lograras aprender.

Saludos, JuanKa.-

P.D.: por de pronto prueba de leer el Tutorial que se encuentra en este thread: https://www.forosdeelectronica.com/f24/tutorial-manejo-proton-ide-27932/
 
Última edición:
PROTON+ Compiler Version 2.0 . Esta es la version que uso, el soft funciona bien el punto es que el numero no este estatico sino hacerlo rotar por la matiz. Eso no lo he podido lograr con este soft. Desde ya gracias por las respuestas.
 
Atrás
Arriba