Como viste en el post que pusiste lo mismo
http://www.todopic.com.ar/foros/index.php?topic=22077.msg363581#msg363581
Se suelen aportar ideas/soluciones ante problemas pero nadie se va a poner a hacer el programa.
Para el PIC vas a necesitar un programador, mas algunos componentes externos. Si ya tenes todo y tenes un PIC deberias de empezar a leerte su datasheet (en ingles). Su arquitectura, como funciona, direccionamientos etc, al menos para tener una nocion minima del microcontrolador. Tambien te tenes que decidir por un software, Microchip ofrece MPLAB X con XC8 para programarlo en C, algunos usan una extension para el MPLAB que se llama CSS ( tambien en C ) pero cambian algunas cosas.
De todas formas vas a necesitar saber un minimo de programación, si programas en C tenes que aprender C tambien, cada lenguaje es distinto ( assembler ASM seria lo mas complejo por que requiere que entiendas el micro y cada registro del mismo), aunque sea lo mas basico.
Tutoriales hay muchisimos por internet, de lo que busques, timers, interrupciones, uart, etc, etc. Sobre drivers para manejar mas corriente. Tambien sobre lenguajes de programacion.
Con esto quiero decir que te va a costar o puede que lo hagas rapidamente a lo que prentendes hacer, pero todo va a ir que tanto queres que haga tu micro.
Por ejemplo tu programa asi como lo pedis podria hacerse asi:
Prendo LED1
Demora
Apago LED1
Demora
Prendo LED1
Demora
Apago LED1
Demora
// Repito para LED2
Eso te llevaria unas 10 lineas de codigo sin la parte de la configuracion de las salidas/entradas en C, podes probarlo con un led y si queres agregarle mas leds tendrias que ver como lo conmutas, si usas un transistor o un integrado. Que la fuente logre darle la corriente a esos leds, etc.
En resumen lo mas importante:
No lo veas como que nadie quiera ayudarte, es que ya hay tanta informacion en internet y en español (incluso en el foro) que no tiene sentido volver a repetir todo aca, si a medida que vas leyendo algun tutorial y vas teniendo dudas o tenes una pregunta concreta podes preguntarla, que te va a ser respondida siempre y cuando alguno tenga la respuesta.
O si ahora ya tenes una pregunta que sea de una respuesta simple y no lleve paginas y paginas de texto como seria explicar programacion y cada uno de los modulos ( o el funcionamiento del PIC ) podes hacerlo sin ningun problema.
while(1) {
PORTB = 0x01;
__delay_ms(20); //Suponiendo que son 20 mS
PORTB = 0x02;
__delay_ms(20);
PORTB = 0x04;
__delay_ms(20);
PORTB = 0x08;
__delay_ms(20);
PORTB = 0x10;
__delay_ms(20);
PORTB = 0x20;
__delay_ms(20);
PORTB = 0x40;
__delay_ms(20);
PORTB = 0x80;
__delay_ms(20);
}; Declaracion de los registros de 8 bits para contar las vueltas
cblock
d1
d2
d1_2
endc
; A hacer matematicas para contar los ciclos, esto es para un cristal de 4Mhz
Delay
;499994 cycles
movlw 0x03
movwf d1
movlw 0x18
movwf d2
movlw 0x02
movwf d1_2
Delay_0
decfsz d1, f
goto $+2
decfsz d2, f
goto $+2
decfsz d1_2, f
goto Delay_0
;2 cycles
goto $+1
;4 cycles (including call)
returnHola Pucara, ya que esta interesado y dice que no es dificil, porque no comiensa a programar un LED? y luego o programa con un Delay, eso es lo primero que aprendemos todos programador.
o quiere que te hagamos los paso del programa? ;-)
los primero ante de iniciarte a programar micro, es saber que lenguaje quiere programar y paralelo saber arquitetura del micro que tenga a mano para asi experimentar con el.
Asi que da lo primero paso como hemos comenzado nosotros.
Saludos
Como dice stk500 primero aprender a prender un led, que parece simple. Pero detras de eso hay muchas configuraciones del PIC a hacer tales como:
-Fuses
-Configuracion de los Perifericos ( Puertos, interrupciones, etc, etc, etc )
Creo que como todo primero es un led, y la demaroa com dijo stk500, ahora si pensas usar tu micro para algo mas ya tenes que pensar que las demoras el micro esta haciendo nada ( ejecutando una instruccion que no hace nada - NOP ), y si quiseras agregarle algo ya tendrias que comenzar con interrupciones. Lo que complica mas las cosas si quisieras meterte de lleno en hacer led+interrupciones+aprender lo basico.
Con respecto a las tiras de leds dependen como se manejan las mismas, si tenes que enviar un dato en forma serial para el mismo o si funcionan como con un led comun, esta mas que claro que primero deberias comenzar con un led simple,
Como dije, cuando tengas algun problema, seguro que alguien va a responder.
EDIT:
Vi que respondiste aca:
http://www.todopic.com.ar/foros/index.php?topic=22077.msg363752;topicseen#msg363752
Ese programa es igual al que te pase yo en pseudocodigo, nomas que esta en ASM, y te va a ser mucho mas complejo aprenderlo pero vas a entender mucho mas el micro.
En C el mismo programa te quedaria algo asi:Código: [Seleccionar]while(1) {
PORTB = 0x01;
__delay_ms(20); //Suponiendo que son 20 mS
PORTB = 0x02;
__delay_ms(20);
PORTB = 0x04;
__delay_ms(20);
PORTB = 0x08;
__delay_ms(20);
PORTB = 0x10;
__delay_ms(20);
PORTB = 0x20;
__delay_ms(20);
PORTB = 0x40;
__delay_ms(20);
PORTB = 0x80;
__delay_ms(20);
}
El codigo del delay ya esta hecho, mientras que en ASM lo vas a tener que hacer, y hacerlo seria algo como esto:Código: [Seleccionar]; Declaracion de los registros de 8 bits para contar las vueltas
cblock
d1
d2
d1_2
endc
; A hacer matematicas para contar los ciclos, esto es para un cristal de 4Mhz
Delay
;499994 cycles
movlw 0x03
movwf d1
movlw 0x18
movwf d2
movlw 0x02
movwf d1_2
Delay_0
decfsz d1, f
goto $+2
decfsz d2, f
goto $+2
decfsz d1_2, f
goto Delay_0
;2 cycles
goto $+1
;4 cycles (including call)
return
Y cambiarle el tiempo no es nada facil al menos no como se hace en C xD
Hola Pucara, ya que esta interesado y dice que no es dificil, porque no comiensa a programar un LED? y luego o programa con un Delay, eso es lo primero que aprendemos todos programador.
o quiere que te hagamos los paso del programa? ;-)
los primero ante de iniciarte a programar micro, es saber que lenguaje quiere programar y paralelo saber arquitetura del micro que tenga a mano para asi experimentar con el.
Asi que da lo primero paso como hemos comenzado nosotros.
Saludos
Uff me pasaste!!
con un NE555 claro que lo puede hacer y regular los detellos, un NE555 y un Transistor te resuelve el problema sin tener que programa un micro .
Saludos