TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: afisicos en 28 de Diciembre de 2007, 20:59:29
-
Buenas. Resulta que acabo de hacer funcionar el JDM y he probado un programa simple en asm que me encendia un LED. OK ese me funciona.
Ahora estoy probando a compilar en C con mikroC y tengo un programa que enciende secuencialmente los leds en los pines del puerto B.
Pero no funciona. No se enciende ninguno.
El problema no se si está en el código o en que tengo un Cristal de 20 Mhz y los condensadores son de 15pF. ¿¿¿¿Es obligatorio ponerlos de 22uF????
Si los condensadores no son el causante de que no funcione, ¿pueden decirme si es el código siguiente?
void main()
{
TRISB=0x00; //no se muy bien que es, lei que para configurar el puerto de salida.
while(1)
{
PORTB=0x00;
Delay_100ms;
PORTB= 0x01;
Delay_100ms;
PORTB= 0x04;
Delay_100ms;
PORTB= 0x08;
Delay_100ms;
PORTB= 0x10;
Delay_100ms;
PORTB= 0x20;
Delay_100ms;
PORTB= 0x40;
Delay_100ms;
PORTB= 0x80;
}
}
No pongo los includes porque se supone que MikroC lo hace solo internamente al igual que los fuses y la frecuencia de reloj, todo se define al crear proyecto.
Espero que puedan ayudarme. Soy muy novatillo
-
Segun la hoja de datos del micro, 15pF estan bien para ese cristal.
Yo buscaria por el lado del software. Si por algun motivo MKB no está tomando que usas un cristal de 20MHz en lugar de uno de 4MHz, todo ocurrirá 5 veces más rapido, y tus demoras de 0.1 segundos seran de solo 0.02, con lo que puede ocurrir que no alcances a ver los LEDs encendidos.
Saludos!
-
De acuerdo. Intentaré con un programa que deje unos segundos entre cada cambio de estado del LED a ver que pasa y ya te cuento.
Lo del motivo MKB. ¿a que te refieres?
Como puedo ver eso?
-
Lo del motivo MKB. ¿a que te refieres?
Como puedo ver eso?
Me refiero a que QUIZAS este configurado un cristal de 4 en lugar de 20. No se de donde lo puedes ver por que no conozco MKB. Pero podría ser la explicacion del problema. :)
Saludos!
-
No me sale... pero bueno, ahora estoy probando con ensamblador. Como se le dice al programa que el cristal es de 20 Mhz?
-
Hola
No me sale... pero bueno, ahora estoy probando con ensamblador. Como se le dice al programa que el cristal es de 20 Mhz?
Si lo que preguntas es sobre ensamblador , no es necesario indicar la frecuencias, solo indicas el fuse, en ese caso seria el HS.
En la hoja de especificaciones viene el tipo de oscilador.
Determinada frecuencia para LP, XT , HS.
Saludos!!
Feliz año!!
-
A vale. Gracias. Lo que no me queda claro ahora es como indicar los Fuses en asm y como realizar una función delay.
pero todo a su debido tiempo.
Feliz 2008
-
Espero te sean de ayuda
http://www.todopic.com.ar/foros/index.php?topic=12345.0
Saludos
-
cuando usas 20 MHz el micro debe recibir una tension de 5V casi exacta y estable por tanto, mejor si usas un regulador 7805 y entre los terminales de alimentacion colocas dos condensadores, uno de 100nF y uno de 10uF (es decir entre el pin 3 y 2 del regulador, o talvez en los terminales de tu fuente)
un saludo :mrgreen:
-
Gracias chavales. Ya no necesito aprender el asm del PIC, ya me funcinó la compilación en C con mikroC. Es todo un lujo.
Y el pic me va perfecto en programación y en ejecucion, con el reloj de 20Mhz y los condensadores de 15 pF.
Además ya que comprobé el pleno funcionamiento del JDM, lo pasé a circuito impreso. Si alguien necesita algún día el diseño PCB o algo no dudare en ayudar.
saludos
-
ok que bueno que hayas tenido exito, a empezar el nuevo año con pie derecho!! :-/
FELIZ año nuevo!