TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: navaismo en 25 de Octubre de 2005, 20:37:00
-

k hay compañeros del foro otra vez mas aki preguntando, esta vez la duda es mas para afinar el uso del picbasic.
BUeno el hecho es k kontrolo un motor a pasos de 4 lineas y lo hago por el puerto C de un 877 la manera mas facil k uso desde hace tiempo es mandar un pulso y apagarlo y lo k hago es lo siguiente
high portc.0
pause 50
low portc.0
pause 50
high portc.1
pause 50
low portc.1
pause 50
high portc.2
pause 50
low portc.2
pause 50
high portc.3
pause 50
low portc.3
pause 50
en general asi lo hago o ahora trate de minimizarlo con un FOR NEXT
y probe con el puerto b y si jalo y es asi el codigo
for i=0 to 3
high i
pause 50
low i
pause 50
next
for i=3 to 0 step -1
high i
pause 50
low i
pause 50
next
para un sentido y para otro, trabaja bien pork la "i " se ajusta al PORTB
trate para cualquier otro puerto y aun no encuentro la sintaxis dentro del for
es decir como escribo por ejemplo para el portc
trate high portc. y no me dejo
tambien portc y tampoco y mas aun el portc[.i] y menos alguna idea o solo lo podre hacer en el portb
no quiero usar el portb pork ahi kiero meter un teclado matricial por aquello de los pull-ups
-
Hola:
pues efectivamente no puedes hacer eso... pero puedes sustituirlo por un vector y asignar cada secuencia a un indece y luego asignar al puerto el valor coreespondiente del subindice del vector:
Algo asi:
vec var byte [10]
i var byte
vec[0]=%00000001
vec[1]=%00000010
-
-
-
-
loop:
for i=0 to 10
-
-
-
portc=vec[ i ]
-
-
-
next i
goto loop
end
Algo como eso... o tambien utilizando la funcion LOOKUP....
Suerte....!
-
Que tal amigos!
Mira navaismo la otra forma como lo podrias solucionar es seteando el lazo for next asi, por ejemplo:
for x=8 to 15
high x
pause 50
low x
pause 50
next x
Y asi podras trabajar con el puerto C completo !
Reviza en el manual de pic basic pro, para mayor informacion sino aqui estamos a la orden
Saludos!
-
otra facilisima
i var byte
m var byte
for i=0 to 20
"m=2*i
"no se en caso que se prenda uno consecutivamente
portc=i
pause 50
portc=0
next i
el factor 2*i lo puse pues derepente quieres que vaya prendiendo un led por vez en forma que avanze tipo auto fantastico puestodavia no le meto la mano al motor paso a paso hay una y mil formas claro trata de no usar mucho el low high pues aunque apetesca gasta mucho codigo
-
Hola:
Pues para comandar motores de pasos....
Tambien podrias hacerlo asi
loop:
PORTC=%01010101
pause 50
PORTC=%01010110
pause 50
goto loop
Con las secuencias correspondientes y el numero de veces que sea necesario para mover el motor.... yo lo he hecho con vectores como en el ejemplo de arriba para comandar motores PAP....
Lo hacia dentro de un bucle repeat - until... hasta una condicion deseada....
-
hombre pues muchas gracias a todos empezare con la primera sugerencia y pues lamento dar tanta lata pero no se a quien mas recurrir por aqui es muy dificl k programen en picbasic pro, todos me dicen k es para personas tontas como yo k no sabemos el assembler y k picbasic genera mas codigo y cosas asi. Asi que esa el la razon por la cual los molesto mucho espero ya no dar tanta lata
-
Hola:
Compañero no es que des lata como tu dices... es bueno lo que tu haces... ademas no estas exigiendo las cosas... sino tu pones tus dudas... por ejemplo el codigo primero y pides ayuda en como lo podrias optimizar.... lo que cuenta es que lo intentes por tu cuenta y asi te vas adiestrando... y a los que te han dicho eso del PBP no les hagas caso eso demuestra que tienen envidia..! 
Suerte...!
-
Mira amigo, yo aprendi assembler, luego pase al PBP y hice cosas que en assembler no soñaria hacer, ahora estoy con el C.
Cada uno tiene lo suyo, en lo que hace a optimizacion el orden es assembler, C, PBP.
A rapidez de aprendizaje PBP, C, Asm.
A funcionalidad alli es donde todos pueden hacerlo y pesa mucho la capacidad del programador para hacerlo, lo que si es cierto es que PBP es el que mas te ayudara a desarrollar rapido, cuando se trate de comunicaciones y manejo de perifericos el mejor sin duda es C, pero este no tiene funciones del PBP que son muy interesantes, como POT, y otros que no recuerdo.
Nadie es mas que Tu si no lo permites, y eso no tiene nada que ver con tus conocimientos o capacidades, esas dos cosas se desarrollan en la vida, o hay alguno de los criticos que nacio sabiendo o con mas capacidad intelectual que tu??