Iniciando la Programación PIC

13

He estado buscando hacer una programación PIC, pero a diferencia de algunos de los otros microcontroladores disponibles, la gran cantidad de chips diferentes disponibles me ha causado cierta confusión. También parece que algunos de los chips sugeridos en algunos sitios como buenas opciones para las personas que comienzan con la programación PIC pueden haber sido reemplazados (o puede que me esté confundiendo aún más).

Entonces mi pregunta se reduce a tres partes:

  • ¿Cuál sería un buen chip PIC para comenzar?

  • Estoy bastante contento con el ensamblador o algún otro idioma, entonces, ¿qué IDE / idiomas sugeriría para Linux?

  • ¿Qué recomendaría en términos de obtener el código en el chip, a través de una conexión USB desde una computadora portátil Linux (PicKit 2 era una posibilidad) y qué configuración de circuito / placa necesitaré para hacer esto?

Editar: Después de una larga discusión con Kortuk (ver comentarios a continuación) sobre los méritos de varios bits del kit, he decidido comenzar con el Kit de inicio PicKit2. Esto viene con un chip PIC16F690 instalado.

Amós
fuente

Respuestas:

7

Estoy de acuerdo con los PIC18, pero para alguien que recién comienza puede ser un poco intenso. Actualmente enseño el desarrollo de PIC a ingenieros eléctricos de nivel superior e incluso dentro de las mismas clases su rango de antecedentes puede ser asombroso.

Actualmente enseño a las personas con el compilador CCS PIC-C pero cuesta dinero. Es increíblemente simple y fue elegido ya que la mayoría de nuestros estudiantes solo han trabajado en un entorno de laboratorio con ensamblaje básico o programación x86.

Tengo la sensación de que un PIC16 muy simple puede encajar mejor, pero dependerá de sus antecedentes. El PIC16F688 es un PIC muy simple que usamos para nuestro primer proyecto para calentar a las personas.

Kortuk
fuente
1
Tengo un título de honor de primera clase en informática que incluyó mucha programación (C ++ principalmente, un poco de VB6, un ensamblador). También tengo una licenciatura en matemáticas y enseño matemáticas a niños de secundaria. Puedo y hago programas en una variedad de lenguajes (aunque no en C) y estoy investigando varias cosas nuevas, incluido jugar con microcontroladores.
Amós
1
El 16F88 es una elección perfecta. Hay un millón de PIC diferentes por ahí, y creo que unos 50,000 de ellos son buenos para comenzar. La programación de microcontroladores a menudo tiene problemas para las personas a las que he ayudado con experiencia en CS porque no tomaron muchas clases sobre electricidad, algo que desearía que agregaran a los programas de grado. Sin embargo, no creo que la programación sea un desafío en absoluto, pero probablemente no sería una mala elección obtener una placa de desarrollo. Esto se vería afectado por su rango de precios. microchipdirect.com/ProductSearch.aspx?Keywords=DV164120
Kortuk
1
Creo que el último enlace que publiqué podría ser una buena opción, le dará un tablero ya conectado para trabajar por 50 dólares (-25% si tiene un correo electrónico .edu) y luego tiene un programador que puede usar para cualquier otra ficha que consigas. Espero escuchar cómo van tus proyectos.
Kortuk
1
Si obtiene el DM164120-1, le sugiero que use el PIC que viene con él. Estoy justo en el medio de ayudar a alguien con un proyecto que necesitan para impartir clase mañana o buscaría más, pero en cada lugar donde encuentro su tabla no puedo encontrar su esquema. Puedo decirle que según el pin-out del PIC16F631 no es compatible con un PIC16F88. Los pines de alimentación y programación no se alinearán. Si compra una placa de desarrollo, solo use el PIC que viene con ella, será significativamente más feliz.
Kortuk
2
Sí, has investigado bien. Mi ayuda puede haber sido un poco equivocada. Si desea mojarse los pies, una placa de desarrollo es una forma de evitar lidiar con el hardware de construir un PIC antes de que esté listo. Si sigue este camino, sugeriría usar el PIC que viene con el tablero y determinar su próxima opción de PIC después de que esté listo para construir sus propios tableros. Si desea su propia imagen desde el principio, compre un programador, la imagen y todo lo que necesite para ejecutar la imagen desde el principio. Puede ahorrar dinero y usar una placa de pruebas.
Kortuk
4

Para el PIC, hay un compilador de código abierto llamado JAL (Just Another Language)

Al igual que otros lenguajes de programación, permite la posibilidad de utilizar bibliotecas de hardware para simplificar en gran medida el proceso de conectar su PIC elegido a otro hardware. El software también le permitirá compilar y cargar programas a través de su PIC2 (o un clon de este programador)

JAL es un lenguaje basado en Pascal y es software libre (siempre es bueno si recién estás comenzando)

JAL Wiki Entry

En cuanto a los libros, "Vale la pena echarle un vistazo a" Microcontroladores PIC, 50 proyectos para principiantes y expertos "Por Bert Van Dam como introducción a JAL

Hasta ahora he usado solo el chip 16F877A de PIC, aparentemente un buen chip para principiantes. Bastante barato y muchos puertos disponibles.

Justblair
fuente
Saludos, voy a echar un vistazo. ¿JAL usa un IDE específico, hay uno disponible para Linux?
Amós
1
Sí, tiene uno llamado JAL Edit, lo mantendrá en el lado de la codificación y tiene las herramientas típicas que tiende a encontrar en jal.sunish.net/jaledit
Justblair
Desafortunadamente, eso es solo para Windows, parece haber uno para Linux llamado PicShell, la versión beta actual está en: linux.softpedia.com/get/Text-Editing-Processing/IDEs/…
Amos
2

Para ver el chip en la serie 18F, casi tan barato como el 16F, muchas más agallas. 18F2550 es un buen chip e incluye USB, hay otros en la misma serie. Eche un vistazo a las tablas de selección de microchips en su sitio web.

IDE gratuito de microchip, incluido C, que debe usar sobre el ensamblador en mi humilde opinión. No estoy seguro de si el microchip IDE se ejecuta en Linux, pero puede.

PicKit puede ser bueno para la programación, puede querer grabar un gestor de arranque la primera vez y luego cargarlo a través de usb. El Bitwacker (google it) es una buena configuración para usar o copiar.

Hay un montón de foros y otros sitios, solo google. Un problema con el PIC es que hay tantos lenguajes y ninguno es el mismo (incluso dentro de los compiladores de c) Si puede escribir una buena pregunta, pregunte en piclist.com, pero primero haga su tarea. Los foros no son el mejor lugar para aprender, busque sitios de tutoriales para eso (de nuevo, el sitio de Bitwacher es bueno, también google "Embedded Adventures", el chico ha hecho mucho en C (pero no el microchip)

russ_hensel
fuente
He marcado Embedded Adventures para cuando tengo una o dos horas para matar, y eché un vistazo al Bitwacker para referencia futura. Salud.
Amós
1

La placa Dwengo se basa en el PIC18F4550, también tienen un clon PICkit2 de bajo costo y algunos tutoriales muy buenos para comenzar: http://www.dwengo.org/tutorials

Wim
fuente
Interesante. No serías el mismo Wim, que también forma parte del equipo Dwengo, ¿verdad?
Amos el
Sí, el mismo ;-)
Wim
1

Para referencias a algunas cosas, he hecho una pequeña programación con el PIC usando Pik Kit 2 Pickit 1, recomendaría los 100 proyectos de microcontroladores para el genio malvado, también tengo algunas publicaciones de blog que tratan sobre tales cosas

http://blog.onaclovtech.com/2010/01/interrupts.html

http://blog.onaclovtech.com/2010/01/analog-inputs.html

http://blog.onaclovtech.com/2010/02/pic-16f913-quick-reference-guide.html

http://blog.onaclovtech.com/2010/02/pic-16f913.html

Planeo publicar una actualización SPI, así como cuando descubra cómo manejar el tráfico del bus CAN usando algunos chips de microchip, también tendré actualizaciones.

Gracias,

onaclov

onaclov2000
fuente
Parece interesante, echaré un vistazo más de cerca a tus cosas cuando tenga un minuto.
Amós
Yo tal vez simplemente no saben dónde buscar todo el tiempo, pero siento como en comparación con avr y Arduino, prácticamente no hay tutoriales sobre PIC y me gusta mucho para cambiar eso ....
onaclov2000
1

Si desea utilizar PIC, consideraría seriamente la serie PIC24 de imágenes de 16 bits o la muy similar dsPIC33. Son más rápidos, más potentes, en muchos sentidos más fáciles de programar y no cuestan más que los más básicos de 8 bits. Los de gama baja también están disponibles en paquetes de zócalo DIP compatibles con la placa de pruebas.

Sin embargo, es mucho más difícil encontrar ejemplos en Internet, pero por lo que puedo ver, esa es la principal desventaja.

John Burton
fuente