Autor Tema: Soy nuevo....................  (Leído 7202 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado TXUSTOPO

  • PIC10
  • *
  • Mensajes: 25
Soy nuevo....................
« en: 15 de Mayo de 2004, 09:39:00 »
Hola a tod@s, soy estudiante de electrónica e informática. tengo 18 años para 19 y me quiero poner a trabajar en una empresa de diselo de circuitos electrónicos en la cual práctican con todo tipo de micros y realizan pruebas de esquemas electrónicos. El problema es que me exigen como requisito saber CAD ( que lo sé por que hice un curso en su día ), sobre diseño de PCB ( que también sé ) pero el problema es que me piden que sepa programar algunos micros..... Se programar el 8051 ya que aprendí en clase a programarlo y demás. Pero me an dicho en la empresa que debería saber programar PICS y algo de ATMELS aunque este último no es necesario.
Me han dicho que podría empezar por el PIC 16f84, después 16f87x, etc. Pues bién ahora mismo estoy haciendo las prácticas en otra empresa de informática y la otra empresa me ha dicho que si de aquí a dos meses o así sabía programar pues que les diese un toque.

Me gustaría que algun@ de las personas que hay por aquí me alludase a programar PICS, no me refiero a todo, todo......... sólo que me explique las cosas fundamentales que hay que saber.....
Me he bajado datashets pero como están en Inglés.............
Tengo varios programas para programar PICS.
Si alguién me pudiese alludar o me pasase apuntes, manuales, etc...... o si me pudiese enviar un libro sobre PICS que estuviese bastante bien......le pagaría el libro y los portes.

La verdad es que sería mi trabajo ideal el estar en esa empresa y con 18 años........ya me contarás el triunfo y mi satisfacción.......
Muchas Gracias.......Salu2

Desconectado CDT_Gonzalo

  • PIC12
  • **
  • Mensajes: 93
RE: Soy nuevo....................
« Respuesta #1 en: 15 de Mayo de 2004, 12:38:00 »
Hola

Bueno, si ya programaste algun micro supongo que tendras una idea básica de ASM (assembler), lo doy por supuesto...te comento mas o menos mi visión "grafica" de lo que es un PIC...para mi un PIC es un integrado, del cual vos podes decidir en que momento obtenes estado alto/bajo segun tus entradas (sean digitales o analogicas) o segun un determinado paso de tiempo, esto es lo que hace al medio exterior, vos cuando ejecutes un proceso en un PIC, vas a querer o sacarlo por algun pin (sea para mostrar esa informacion en un LCD, en un display 7 segmentos o en un LED), o bien guardar la Info en la memoria EEPROM, y despues los puertos configurados como entradas, que es o un estado alto o un estado bajo...luego, internamente el PIC tiene, a mi entender, muchas caracteristicas útiles, como pueden ser sus TIMERS, su memoria EEPROM (depende el tipo de PIC), entre 25 y 35 funciones (en los PIC gama enana [8 patas] y gama media [18 patas]) de control escritas en Assembler...

Si estas acostumbrado a escribir programas en Assembler para Controladores, creo, desde lo poco que se, que no vas a tener mucho problema, porque tengo entendido que todos tienen mas o menos las mismas funciones, lo que vas a tener que aprender es a hacer algoritmos (por ejemplo, como hacer una suma de varios numeros y cosas por el estilo)...

Pero si lo que queres es escribir programas útiles, buenos y rapidos, creo yo que la mejor opcion, es que aprendas a codear en PCW C, es un compilador que transforma código de C (para controladores, no es que vas a poder copiar el fuente de un programa de PC ni nada por el estilo) en HEX (HEX es Assembler "pasado a numeros", todas las funciones de ASSEMBLER tienen un numero identificatorio, ademas de los argumentos, entonces se transforman en Words (numeros de determinada cantidad de Bytes, dependiendo el PIC, que le permiten interpretar los datos y ejecutar las acciones correspondientes). Te recomiendo que te pegues una vuelta por la seccion del foro que habla sobre lenguajes C y empiezes a leer, agarres ejemplos y vayas compilando cosas y aprendiendo, y si tenes una base de C, vas a ver que es muy simple...ya que todas las caracteristicas del PIC (me atrevo a decir que todas no estoy seguro) tienen su funcion y es, por lo general, muy simple utilizarla....entonces una vez que tengas el dato que necesitas, podes procesarlo a gusto y sacarlo por un PIN, almacenarlo, dejarlo en la memoria RAM para utilizarlo despues, etc.

Eso es lo que hace a Soft, despues, lo que es Hard, tenes que tener en cuenta lo siguiente: estos dispositivos funcionan por Pulsos de tiempo (o de Reloj), esto quiere decir, que para procesar una funcion (de Assembler) necesitan determinados pulsos de Reloj (4 en el caso de los PICs Gama enana y Media), entonces vas a necesitar un Cristal (XT es la sigla) el cual le brinde esos pulsos al controlador (verifica en la hoja de datos a que corresponde cada PIN)...lo que tenes que tener en cuenta, es que hay algunos PICs que traen un Oscilador Interno (como ser el 16F628, me encanta ese PIC!, es muy útil y puede resultar mas barato que el 16F84, ademas de tener muchas mas funciones y memoria, tanto de Codigo [memoria en la que se graba el programa], de Programa [memoria RAM] y de Datos [memoria EEPROM])...

Espero haber sido de ayuda, te recomiendo que consigas a alguien que se ponga a leer con vos la Hoja de Datos (aunque OJO, si vas a trabajar en esto, tené en cuenta que las Hojas de Datos son fundamentales, y que las vas a utilizar mucho, por lo tanto te recomiendo un curso, aunque sea básico, de Ingles), y como experiencia personal, (tal vez mi consejo sea malo :P pero es lo que yo hago) no te leas toda, absolutamente TODA la hoja de datos, ya que hay muchas cosas que tal vez no vayas a utilizar, te recomiendo que leas la primer hoja donde te dice todas las caracteristicas que tiene el PIC, y despues si alguna te llama la atencion, indagar sobre ella en Internet (Google, o el Foro).

Un saludo y mucha suerte con tu trabajo!

Desconectado TXUSTOPO

  • PIC10
  • *
  • Mensajes: 25
RE: Soy nuevo....................
« Respuesta #2 en: 15 de Mayo de 2004, 14:33:00 »
Muchas gracias por contestar CDT_Gonzalo, me has aclarado algunas cosillas. Si he programado en Assembler. La verdad es que inglés inglés nose...... pero me defiendo. Los datashets me los leo...... pero busco a alguien que me allude a empezar desde el principio, como si fuese un profe. Seguiré ñeyendo y comiendome el coco para aprender. bueno lo del curro es un poco por enchufe pero si no se lo que tengo que saber.......ni enchufe ni nada, a la calle.
Bueno muchas gracias...... Estoy aprendiendo primero con el 16f84 y ya avanzaré. Si tienes algún ejemplo facilito por ahí que me puedas explicar con tus palabras y demás te lo agradecería mucho un saludo y gracias de nuevo.

Desconectado CDT_Gonzalo

  • PIC12
  • **
  • Mensajes: 93
RE: Soy nuevo....................
« Respuesta #3 en: 15 de Mayo de 2004, 15:23:00 »
Escrito originalmente por TXUSTOPO
Muchas gracias por contestar CDT_Gonzalo, me has aclarado algunas cosillas. Si he programado en Assembler. La verdad es que inglés inglés nose...... pero me defiendo. Los datashets me los leo...... pero busco a alguien que me allude a empezar desde el principio, como si fuese un profe. Seguiré ñeyendo y comiendome el coco para aprender. bueno lo del curro es un poco por enchufe pero si no se lo que tengo que saber.......ni enchufe ni nada, a la calle.
Bueno muchas gracias...... Estoy aprendiendo primero con el 16f84 y ya avanzaré. Si tienes algún ejemplo facilito por ahí que me puedas explicar con tus palabras y demás te lo agradecería mucho un saludo y gracias de nuevo.


en que vas a programar, C o ASM?

Desconectado TXUSTOPO

  • PIC10
  • *
  • Mensajes: 25
RE: Soy nuevo....................
« Respuesta #4 en: 16 de Mayo de 2004, 18:41:00 »
Voy a programar en ASM por que como quiera aprender también a programar en C pues para que quiero más. Supongo yo que será más fácil programar en ASM que en C no?

Desconectado CDT_Gonzalo

  • PIC12
  • **
  • Mensajes: 93
RE: Soy nuevo....................
« Respuesta #5 en: 16 de Mayo de 2004, 23:21:00 »
Escrito originalmente por TXUSTOPO
Voy a programar en ASM por que como quiera aprender también a programar en C pues para que quiero más. Supongo yo que será más fácil programar en ASM que en C no?


si lo que queres hacer es empezar..lo mejor es C, es mucho mas simple, porque se encarga de generar el codigo en ASM de lo que escribiste en C. ASM es un lenguaje de bajo nivel, por lo tanto es mucho mas complejo, si lo que queres hacer es empezar, te recomiendo que empieces con un lenguaje de un nivel mas alto, como lo es C, y que leas las sentencias que genera en ASM, y que veas ejemplos de ASM para saber q hace cada funcion.

En TodoPIC hay muchos samples de ASM, y en el foro de C van a saber darte un buen ejemplo como para empezar, luego voy a buscarte algo a ver si encuentro, algo bien simple pero que te explique mas o menos

Saludos!

Desconectado pocher

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: Soy nuevo....................
« Respuesta #6 en: 17 de Mayo de 2004, 02:14:00 »
Convendría que empezaras por asm  y un PIC como 16F84 o 16F628 y una vez conozcas (haciendo programas y más programas) los bits y registros del PIC elegido entonces yo personalmente te recomiendo que te pases a un lenguaje de alto nivel (pbpro, pbplus o C).

Un saludo

Desconectado TXUSTOPO

  • PIC10
  • *
  • Mensajes: 25
RE: Soy nuevo....................
« Respuesta #7 en: 17 de Mayo de 2004, 04:39:00 »
x CDT_Gonzalo
Creo yo que debería de empezar por ASM ya que he programado otros en ASM. Es que programar en C lo veo un poco complicado aunque pienso aprender en cuanto sepa programar PICS y demás.
Te agradecería mucho que me mandases los archivos esos.

x pocher
gracias por contestar, de momento programaré en ASM hasta que sepa en condiciones, luego ya me pasaré a otro lenguaje más complicado para mí.

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Soy nuevo....................
« Respuesta #8 en: 17 de Mayo de 2004, 10:21:00 »
Será al reves... Empiezas por el ASM, que es el mas complicado, y una vez que ya entiendas lo dificil, te pasarás a la opción de desarrollar en el menor tiempo posible con un lenguaje de alto nivel como dice pocher...

Desconectado TXUSTOPO

  • PIC10
  • *
  • Mensajes: 25
RE: Soy nuevo....................
« Respuesta #9 en: 17 de Mayo de 2004, 17:14:00 »
Abago, cada cuál pues sreera que un método de programación es más dificil que otra. Yo como de C, visual basic, delphi.....etc no he visto nada pues me es más complicado que programar en ASM que ya he programado algo.... Sin embargo para el que haya programado en C o VB, etc pues le será más fácil que programar en ASM

Desconectado CDT_Gonzalo

  • PIC12
  • **
  • Mensajes: 93
RE: Soy nuevo....................
« Respuesta #10 en: 18 de Mayo de 2004, 21:19:00 »
queda a consideracion de cada uno...si lo que el necesita es aprender rapido(como dijo), para mi le conviene aprender C, es mi idea

aunque creo que es cierto lo que dice Pocher, pero bueno, queda a consideracion de cada uno

Saludos

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Soy nuevo....................
« Respuesta #11 en: 18 de Mayo de 2004, 22:23:00 »
La unica diferencia entre al asm y lenguajes de alto nivel, es la cantidad de lineas que tendrás que escribir para hacer que algo funcione!!!
por ejemplo, para encender un led de alguno de los puertos del pic, da igual el asm o el PBP o el C...
Pero para mandar una trama por el puerto serie, creo que será mucho mas facil hacerlo en alto nivel... por comodidad...
Una sola linea, y zas!!! funcionando

Pero he de decirte, que si tienes una buena base en asm, no tendrás problemas para adaptarte rápidamente a otros lenguajes para el pic...

Ahora solo te queda estudiar un poquito y a funcionar!

Desconectado khasistos

  • PIC18
  • ****
  • Mensajes: 493
RE: Soy nuevo....................
« Respuesta #12 en: 19 de Mayo de 2004, 07:32:00 »
HOLA:
Lo mio es otra opinion mas por favor no lo tomen como debate,pero si ya tiene sus conocimientos en asm que es fundamental,lo mas logico seria que empiezes a ver algo en PicBasicPlus. ami muy modesto entender es el que tiene instrucciones mas cercanas a las reglas mnemonicas es decir instruccines que se acercan mas a las de entendimiento logico ,if then goto ,gosub, son mas directas y especificas sin tantos signos o modificadores de comandos como el C . a su vez puede trabajar con variables de 32 bits directas y operaciones de punto flotante con una sola instruccion cosa bastante complicada en otros lenguajes y como en todos los lenguajes lo que necesites insertar en asm lo puedes hacer .En fin creo que lo mejor es que te heches un vistazo a los manuales de C y de PicBasicPLus.por mi parte si me das un correo te subo el manual del PLUS son 2,7 mg asi lo ves y sacas tus conclusiones trae ejemplos practicos incluidos.
Cualquier cosa me avisas y aclaro es MI OPINION PERSONAL no es para generar debate cual es el mejor en cada uno encontraras  defensores y detractores.
Saludos
khasistos

Desconectado maxpmt1

  • PIC10
  • *
  • Mensajes: 15
RE: Soy nuevo....................
« Respuesta #13 en: 19 de Mayo de 2004, 07:43:00 »
Hola, te puse un manual muy bueno en español ( a mi me sirvio mucho) y un simulador que explica muy bien el funcionamiento del pic ( es en Ingles pero es facil de entender), checa en esta pagina http://es.f2.pg.briefcase.yahoo.com/miarroba2000
Login = miarroba2000
Password = varios
Tengo mucha informacion y programas recopilados de la red sobre el tema, si te interesan nesecito un lugar donde subirlos son como 500 Megas.

Desconectado ELSuit

  • PIC10
  • *
  • Mensajes: 15
RE: Soy nuevo....................
« Respuesta #14 en: 19 de Mayo de 2004, 08:28:00 »
si aceptais mi mas humilde opinion, es que empiece en asm, ya que claro y a la vista está que antes ha tocado algo.

y en concreto, yo me bajaria un simulador de pic, bastante simple pero con un alto potencial para la enseñanza desde 0, como es el picsim. ponlo en algun buscador como el Google, y te saldrán los links seguro.

una vez ahi, configuras el micro, la señal de reloj, y nada a programar, empieza moviendo datos de un registro a otro, y pasando por el acumulador, haz bucles, y luego configura los puertos, sabiendo hacer eso, el resto de cosas ya van llegando solas....

eso si si aceptas un consejo y espero que el resto del personal este deacuerdo, hay unas paginas en especial, que siempre viene bien, tener impresas, e incluso traducidas si kieres, y son las que te indica los puertos(el patillaje, o las conexiones, como kieras llamarlo) y los 4 o 5 folios donde se explican y detallan un poco las instrucciones del 16f84, ya que a pesar de estar en inglés, son bastante sencillas, por ejemplo el "movf d,b" mueve un registro, la d es la direccion del registro, y la b, es un bit, que si escribes un 1, guarda en registro y 0, en el acumulador, o algo asi, la verdad es que depende de cada instruccion si pones 1 o 0, en el lugar de la b, significa una cosa u otra, yo creo que asi deberias empezar, no se que os parece al resto...


un saludito para todo el personal...