Ayuda a un principiante que quiere comenzar a codificar microcontroladores

Veo muchos chips de la compañía Atmel como AT89C2051, AT89S52, Atmega32, P89V51RD2.

Supongamos que escribo un código para Atmega32 que parpadea un LED después de 10 milisegundos. ¿Puedo usar el mismo código para AT89C2051, AT89S52, P89V51RD2 si cambio el puerto?

Entonces, si compro un programador USB ISP para Atmega32 MCU, ¿puedo usarlo para programar AT89C2051, AT89S52 también? ¿O alguien compara el chip en términos de compilador, programador, lenguaje de codificación, placa de desarrollo, etc.?

Respuestas (4)

Atmega Atmega32 y AT89S52 son compatibles con ISP. Pero necesitan un programador diferente. AT89ISP (ver aquí ) para AT89S52 y, por ejemplo, AVRISP mkII para Atmega32. Para obtener una lista de dispositivos compatibles, consulte la página del producto . El AT89C2051 no es programable por ISP en absoluto, vea nuevamente la página del producto .

El soporte de herramientas para las series megaAVR y tinyAVR es el mismo. Podrías usar AVR Studio 5 . En cuanto a los otros dispositivos que ha enumerado, no puedo decir si puede usar AVR Studio para ellos (porque nunca usé esos dispositivos).

Encontré un programador usb que se puede usar para programar cualquier avr IC (el fabricante lo exige). 1) sunrom.com/programmers-atmel-avr/avr-isp-usb-programmer 2) amateurworld.in/… ¿Es posible?
@Saheb Ghosh: nunca usé ninguno de los programadores con los que se vinculó, por lo que no puedo decir si funcionarían. Recomendaría que obtenga un programador popular cuando esté comenzando con microcontroladores. Por lo tanto, es más probable que obtenga ayuda cuando algo no funciona. No puedes esperar que nadie te ayude, cuando nadie conoce el programador que estás usando.
@Saheb Ghosh - Otro punto: ¿realmente tienes que usar el AT89C2051 o el AT89S52? Cuando recién esté comenzando, quédese con megaAVR y tinyAVR y obtenga el programador AVRISP mkII. Son ampliamente utilizados y el programador AVRISP mkII es una cosa menos de la que tiene que preocuparse cuando se enfrenta a un problema y busca el error. Esa es solo mi opinión...

Debe volver a compilar el código por tipo de controlador y frecuencia de reloj utilizada. No todos los controladores admiten las mismas capacidades de E/S, por lo que es necesario pensar un poco para que su código sea portátil entre los controladores.

Portabilidad de código: @jippie respondió bastante bien.

Entorno de desarrollo: el AVR Studio gratuito y totalmente integrado es el estándar para Windows. Una alternativa es el puerto gcc WinAVR. Los usuarios de Linux usan el puerto gcc avr-gcc, con su propia biblioteca estándar, ensamblador, objcopy, software de programación. El código no es directamente compatible entre el compilador Atmel y gcc y las bibliotecas estándar son diferentes.

Programadores: Obtenga un ISP (programador en circuito). Diseñe sus PCB-s con capacidad ISP incluso en la versión de lanzamiento. Uso un programador no oficial , lo agarré en la ferretería local por diez dólares. Desafortunadamente, hacer su propio programador requiere que tenga otro programador (para programar el chip) o que tenga un puerto serial o paralelo en su PC. Puedes buscar en Google la última opción.

Además, no he oído hablar de un programador capaz de manejar Atmel uC de 8 bits y 32 bits. Pero que se yo.

@saheb ghosh Puede considerar usar este programador , ya que puede programar chips de la serie AVR y AT89Sxx. Tan solo programador y muchas variaciones.