TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: maggy en 14 de Mayo de 2008, 22:01:06
-
Hola amigos:
Saludos, Fijense que me tiene un poco loco esto del tema de los pics, existen tantas opciones que no se por donde empezar.
Pero como no solo se trata de pedir, les voy a acontar que es lo que tengo
Quiero empezar con el Pic 16F648A, y no por pura gana, si no que un amigo me regalo un lote de éstos aprox 40.
Dispongo de mi laptop, que solo tiene puerto paralelo, no serial
Soy regularmente bueno programando en lenguajes de alto nivel como Pascal, Basic y C un poco
El problema que tengo es que de Assembler nada de nada, y además no me gusta :lol: :lol:
otro problema que tengo es que la mayoría de cargadores solo usan el puerto serial
ahora tengo pensado hacer el de Pablin que creo que funciona, además existe el inconveniente de que los programas
que se consiguen como el mpasn, niple, mplab, no tienen en sus librerías a dichoso pic, no se si será muy nuevo o qué
Tengo tanta información que me encuentro aturdido y no quiero hacer las cosas mal, no se que me recomiendan los expertos en ésto
Saludos.
-
Hola maggy. Los pic se programan también en C, más precisamente en CCS. Hay un foro dedicado al lenguage C para microcontroladores, pasá por ahí que hay mucha información.
Con respecto al Mplab, descarga la últia versión del programa que lo tiene. La página de microchips es www.microchips.com
Con respecto al programador, fíjate que soporte al pic que tienes. Una cosa importante, es que debes grabar los pic de a uno.
Cuéntanos como te fué.
-
Hola Maggy:
Mira este link (http://www.freewebs.com/veguepic/programadores.htm) yo arme el pablin y el pp2, el pablin lo use poco pues me arme el pp2 y hasta ahora me basta y sobra.
Con respecto al programa prueba con la version demo del Pic Basic Pro, es la que yo vengo usando, pero no esta de mas que aprendas asembler.
Para comenzar hay varios ejemplos en los distintos lenguajes de programacion, empieza con lo mas sencillo como prender un led, ya nos contaras tus avances.
Saludos
-
Otra posibilidad es que te montes el programador GTP Lite (del que encontrarás información en el foro de programadores) que funciona por puerto paralelo y con fuente de alimentación externa, y que recurras a winpic800 (que es gratuito) como software de programación y que además admite tu PIC.
-
Gracias amigos por responderme tan rápido es increible la calidad de ayuda que Uds. prestan.
Les cuento que tengo el mplab en mi pc creo que es la version 5.61 y como quemador tengo el IC-prog 1.05d que si me acepta el micro éste, también
tengo el Micro code estudio Demo pero no tiene este pic y ademas en la opción de puertos solo me aparece com 1 y com3.
Además con tanto programa que me recomiendan creo que más me confundo, sé de su buena intención pero me gustaría trabajar con lo que tengo,
cabe aclarar que no necesito programar grandes cantidades ni me interesan grandes velocidades además no tengo inconveniente en trabajar con cargadores
que usen fuente externa. Solo necesito programar uno que otro pic por hobby.
Por la red anda un manual del PBP en castellano pero solo habla de los comandos del lenguaje,
he intentado hacer algo con el mplab con assembler, creo el programa y el que me genera con extensión *.asm lo llamo desde el ic-prog pero no se si lo
estoy haciendo bien, me confunde esto de las extensiones .asm y .hex .
Yo se que es algo elemental lo que estoy preguntando pero cada vez que miro un ajemplo en la web, que hay muchos, o usan otro programa, u otro cargador u
otro micro, entonces me frustro un poco.
Saludos
-
El archivo ASM es el que contiene el código fuente, es decir, el pic NO lo entenderá.
El archivo HEX contiene el código máquina, es decir, el que debes programar en el pic con el ic-prog.
-
Ok osea que hago el programa en el mplab, este crea un ASM un HEX un ERR y no se que otros, lo guardo,
de ahi me paso al ICPROG, y desde ahí llamo al que tiene extencion ASM del mplab,
es entonces cuando le digo que micro tengo y con que puerto/grabador lo haré (desde icprog),
No se si estoy en lo correcto
Saludos
-
No maggy, el archivo que tienes que abrir con icprog es el que tiene la extensión HEX; NO el ASM.
El ASM es un simple archivo de texto que contiene el programa tal y como tú lo has escrito, y que no es entendible para el PIC. Por eso MPLab lo compila convirtiéndolo en HEX, que es leguaje máquina.
-
Ya voy entendiendo, gracias
lo que me confunde tambien son los botones de Asm y Hex del icprog
Perdon que pregunte tanto, pero no hay un buen manual del icprog en la red, o almenos no lo he hallado.
-
La utilización del icprog es muy facil. Sigue los sigientes pasos y no tendrás problemas:
1- Una vez que tienes el programa en tu PC lo ejecutas
2- Si es la primera vez que lo inicias se te habre una ventana para su configuración con respecto al hardware que tienes, si ya lo has configurado y deseas volver hacerlo, preciona F3. Una vez que ya lo tienes configurado en forma correcta, no es necesario volver hacerlo.
3- En la parte superior derecha, elige el pic correspondiente.
4- Vas al menú archivo y luego habrir archivo hex, se habre una ventana de navegación y deberás localizar el archivo a grabar al pic, que como te han dicho, es el archivo con la extención .hex que generó el mplab u otro programa para tal fin.
5- Cuando lo hagas, en la ventana central, se cargará el archivo hex en formato ASCII. No importa, no es necesario entenderlo.
6- Si no has configurado la palabra de configuración en el programa, lo puedes hacer desde aquí, en la parte derecha de la ventana del icprog.
7- Si no tienes conectado la placa programadora a la PC, es buen momento de hacerlo. Como medida de seguridad, núnca colocar o sacar el pic del zócalo con la fuente encendida. Si tu programador no utiliza fuente externa, deberás colocar y remover el pic desconectado de la PC.
8- En la barra de herramienta, hay unos dibujos o íconos, si te paras con el cursor del mouse arriba de ellos te dirá que hacen. Para grabar el PIC, selecciona la opción grabar. Si quieres leer, la opción leer. También hay una opción de verificación y otra para el borrado. Cada vez que grabes un pic, no es necesario borrarlo previamente. Utiliza esta opción cuando allas grabado un pic con la opcion de protección del código o cuando el pic falle en la grabación.
Listo tu PIC está grabado. Cualquier duda, no dudes en consultar
-
Muchas gracias Leon Pic, creo que más fácil no me la pudiste poner, agradezco tu información,
manos a la obra, ésta noche hago el circuito del cargador y probaré.
Solo otra preguntita, cada vez que hago un cambio o abro el programa me aparece
"Privileged instruction " no se si es algo malo o es normal, de todas formas probaré y cuento.
Gracias :-/ :-/
-
Yo también empezé con el Icprog. Cuando hayas programado un poco con el Icprog, compáralo con el WinPic800 y verás como no hay color ... adios al Icprog.
-
"Privileged instruction " no se si es algo malo o es normal, de todas formas probaré y cuento.
¡Qué raro! A mi núnca me apareció ese cartel. ¿Podrías subir una imagen de esa ventana?
-
¿Qué sistema operativo usas en tu equipo maggy? Lee esto: http://www.freelists.org/archives/telescoperos/08-2007/msg00315.html
Entiendo que quieras apañarte con el software que tienes, pero piensa que quizás no sea el más apropiado. Mi consejo es que aceptes el consejo que se te ha dado de usar WinPIC800 como software de programación (es gratuitio): te ahorrarás muchos problemas.
-
Ya estuvo, Leon Pic, gracias a la ayuda de jfmteos2 le quite el error, y era que no tenia el driver instalado
para que funcionara con Win XP, ahora no mas problemas, en el transcurso del día pruebo quemar el pic,
esque en el taller nos quedamos sin tecnicos y yo ando con mucho trabajo.
Saludos.
-
Hola amigos, les cuento que ya monte mi placa grabadora, ya hice mi primer programa en el mplab y ya lo logre exportar
al ic-prog, pero ahora tengo un nuevo problema :x :x, cada vez que intento grabar me da error direccion 0000h, he leido
que puede ser debido a problemas de alimentación, opciones para grabar, etc. he movido y trasteado casi todo el bendito ic-prog
y nada, derrepente me logra grabar, pero cuando lo quiero grabar de nuevo, ya no.
Sospecho del tipo de micro, ya que con todos me hace lo mismo, ya que hasta ahora todos los ejemplos y librerias que se colocan
en el programa las hecho con el LIST PIC64F84 ya que cuando de doy F648 me dá error, espero comprar uno mañana domingo
en un comercial cerca de aca, probaré y os cuento
Saludos.
-
Suerte maggy. Yo también empecé con el IC-Prog y me encontraba múltiples veces con el error 0000h, unas veces grababa y otras no, sin encontrar la causa.
Mi solución fue montar el GTP Lite y cambiarme a WinPIC800. Mi vida como programador cambió para mejor. Adiós a los problemas y grabaciones mucho más rápidas.
-
Hola amigos; fijate jfmateos2 que ya logre que me grabara perfectamente, el problema era el dichoso grabador, que como es para grabar micros de 8 pines y memorias, entonces las señales D y CK le entraban por varios pines simultáneamente, pero como yo no pienso grabar memorias y pics peques entonces hice un nuevo quemador solo en +V, GND, MCLEAR y D y CK, me quedo mas sencillo y graba de 10. Pero...
Ahora quito el bendito pic y lo coloco en su circuito y nada, ya probe grabarlo de mil formas y todavía no hace nada, creo que el problema está en el programa porque como dije antes todavía le pongo al programa pic 16f84A, ya que si le pongo el verdadero número me da un monton de errores
-
Saludos maggy!
Te felicito por tus progresos con los pics... y por esforzarte en resolver los problemas que se te han presentado. Eso es excelente, pero recuerda que también es excelente aceptar los consejos y sugerencias de los demás... y sobre todo los que te dan gente de tan alto nivel como los moderadores y demás expertos del foro. Viejo, hazles caso!
Por ejemplo, he visto que en varias oportunidades se te ha recomendado un software que es mejor que el icprog que usas.. por qué no lo pruebas?
Probablemente te ahorres mucho tiempo que puedes dedicar a otros aspectos de tu aprendizaje con los pics, no te parece?
Bueno sólo es una sugerencia, espero que tomes una buena decisión.
Nuevamente felicitaciones y sigue adelante!
Nos leemos! :mrgreen:
-
...ya que hasta ahora todos los ejemplos y librerias que se colocan
en el programa las hecho con el LIST PIC64F84 ya que cuando de doy F648 me dá error...
Estos pic no existen ni el 64f84 64f648
Presumo que intentaste poner 16f84 y 16f648. Voy a tomar estos micros e intentar entender tu problema. El programa que descargaste de internet está echo para un pic 16f84 y tu lo quieres grabar en un pic16f648. Y lo único que has modificado es el list 16f84 por el list 16f648
Si lo programas en assembler, estás haciendo las cosas mal. Para migrar el programa de un pic a otro, no solo debes cambiar el list, si no que tienes que modificar el programa según lo requiera el nuevo pic. Para hacer esto, tienes que tener los datasheet de cada pic y ver que cambia en cada uno.
Por ejemplo, hay puertos que hay que ajustar un registro para que funcione como TTL y no analógico. Hay registro que pueden cambiar de banco de memoria o no se acceden en todos, hay micro que poseen solo dos banco de memoria y otros 4, etc.
-
Gracia amigos:
por interesarse en este tema. Les tengo buenas noticias :-/ :-/
ya logre que funcionara el programa del ejemplo 2, el de encender y apagar un led por 0.5 segs.
que creen: era la versión del mplab, yo tenía la versión 2.5 creo, que fue un disco que me dieron a un curso que fui
a mexico en el 2002, :mrgreen: :mrgreen: ahora van por la 8.0 :lol: :lol: algo desactualizado no.
Bueno en fin, hice el programa, traté de entenderlo, me puse a trastear el mplab hasta que me genero un *.hex
cerreé el programa, me pase al ic´prog, con mi nuevo super cargador :D :D, lo halé lo grabé y lo probé, y
sorpresa, :-/ :-/ el led empezó a parpadear.
Gracias amigos por su colaboración y ayuda, no se que hubiera sido sin sus sugerencias, creo que todavía estuviera
haciendo proyectos con el famoso y viejo 555 :D :D
Lo único malo de este pic es que no hay suficientes ejemplos, creo que empecé con un micro no muy popular :( :(
bueno me puliré más en esto del assembler.
Saludos
-
Pues felicitaciones maggy! :-/
El prender y apagar un led creo que ha sido el primer programa de todos... y qué alegría cuando funciona! :D
Pero ahora es que viene lo bueno, ya verás cómo te vas a divertir!
Ok nos leemos! :mrgreen:
-
Hola que tal amigos: ya metido un poco en esto de los pics, pregunto: puedo extraer el *.hex hecho en algun otro programa que no sea el mplab, C por ejemplo y cargarselo a mi pic, es que ahora ando como niño con juguete nuevo. :D :D
Saludos :-/
-
Si maggy. Pero necesitas el compilador correcto.
Si lo que quieres es programar en C (CCS), necesitaras el compilador PCW (no es gratuito) si quieres programar en Basic, necesitaras compilador Basic (no me acuerdo el nombre :mrgreen: , que tampoco es gratuito) En ambos hay versiones gratuitos pero con limitaciones.
Los compiladores, lo que hacen, es del lenguaje que tu escribes, pasarlo a código de máquinas (.hex). El mplab se puede trabajar en CCS, pero tiene el compilador muy limitado, entonces si tiene el compilador PCW puedes anexarlo al MPLAB, mira mis videotutoriales que explico como hacerlo. Videotutoriales (http://www.todopic.com.ar/foros/index.php?topic=19177.0)
-
OK:
Gracias LEon Pic, les hecharé un vistazo
Saludos
-
Hola amigos, les cuento que ya monte mi placa grabadora, ya hice mi primer programa en el mplab y ya lo logre exportar
al ic-prog, pero ahora tengo un nuevo problema :x :x, cada vez que intento grabar me da error direccion 0000h, he leido
que puede ser debido a problemas de alimentación, opciones para grabar, etc. he movido y trasteado casi todo el bendito ic-prog
y nada, derrepente me logra grabar, pero cuando lo quiero grabar de nuevo, ya no.
Sospecho del tipo de micro, ya que con todos me hace lo mismo, ya que hasta ahora todos los ejemplos y librerias que se colocan
en el programa las hecho con el LIST PIC64F84 ya que cuando de doy F648 me dá error, espero comprar uno mañana domingo
en un comercial cerca de aca, probaré y os cuento
Saludos.