¿Puedo grabar el programa 8051 en atmega8?

La respuesta obvia es SÍ, pero eso es algo trivial. Debería haber preguntado “¿Qué pasaría si programara el binario de 8051 en ATmega 8?”

La respuesta a esta pregunta sería “no se puede predecir, pero ciertamente no funcionará”. La razón es que el código 8051 de ensamblaje / C se convertirá en códigos de operación binarios de 8051 y estos códigos de operación probablemente no tendrán significado para el ATmega 8 que trataría de decodificar estos códigos de operación e intentar ejecutarlos.

El escenario equivalente en la vida real sería alguien que solo sepa inglés tratando de leer libros en ruso. Algunos caracteres pueden parecer familiares, pero pueden no significar lo mismo en ambos idiomas. El texto general seguramente no tendrá sentido.

Entonces una oración en inglés:

Traducido (cortesía del Traductor de Google) al ruso.

Comprueba cuánta similitud hay entre inglés y ruso. Los dígitos?

En primer lugar, 8051 y ATmega8 son totalmente diferentes entre sí, el patrón de bits es diferente. Entonces, si graba el programa 8051 en ATmega8, no funcionará.

Como puede ver en el diagrama PIN Out anterior, incluso el pin VCC es diferente, por lo que el programa que creó para 8051 no se ejecutará en ATmega8.

Puedes, pero no funcionará. Para que funcione, debe tomar el código fuente del ensamblador del 8051 y traducirlo línea por línea en ensamblador para el AVR. Puede hacer esto, y no es difícil siempre y cuando comprenda la arquitectura de los dos procesadores lo suficientemente bien y comprenda que el AVR funciona mucho más rápido. Utiliza un reloj por instrucción en lugar de 12 relojes por instrucción para el 8051, por lo que cualquier bucle de sincronización en el código 8051 tendrá que ser ajustado.

Convertí varios diseños 8051 a AVR de esta manera en los primeros días, después de que noté que el AVR se hizo con el mismo pinout que el 8051. Pensé que tenía que haber una razón para esa coincidencia.

probablemente puedas quemarlo en el atmega pero no funcionará.

Es como darle una biblia inglesa a un marciano. Puede tomarlo, sostenerlo, mirarlo todo lo que quiera, pero probablemente no tenga ningún sentido para él.

¿Código binario? Seguro no. Su arquitectura e instrucción son bastante diferentes. Debe portar su fuente con la adecuada adaptación y compilación por un compilador atmega8

puede grabar el programa, es decir, el archivo hexadecimal, pero eso no será de utilidad ya que los recursos (es decir, temporizadores, pines de E / S, pines de interrupción) de 8051 son diferentes a los de atmega 8. Si desea portar el código escrito en 8051 a atmega 8, deberá verificar qué recursos ha utilizado el código en 8051 y escribir códigos / controladores para usar los recursos correspondientes en atmega 8. su lógica seguirá siendo la misma.

Bueno, puedes, pero el código no se ejecutará. Los dos dispositivos utilizan patrones de bits totalmente no relacionados para definir sus instrucciones.

More Interesting

¿Cuál es tu vida diaria como ingeniero integrado?

¿Por qué la programación procesal es buena para el sistema embebido?

¿Qué microcontrolador sugeriría para un principiante en sistemas integrados, siempre que conozca la codificación básica de ensamblaje en el procesador ARM7TDMI?

¿Cuáles son los mejores recursos (libros, cursos de video, etc.) para aprender la programación del Sistema Embebido? Ya conozco el desarrollo de escritorio (usando C ++ y C #).

¿Cuál es el alcance de los sistemas integrados y la robótica para un graduado en electrónica?

¿Cómo solicitar trabajos de nivel de entrada en sistemas integrados en los EE. UU.?

¿El boom de IOT creará muchos trabajos integrados?

¿Cuál es la mezcla de C y lenguaje ensamblador en un sistema embebido? ¿Cómo es útil?

¿Cuál es una buena declaración de problema para un proyecto en el dominio de sistemas integrados?

¿Por qué hay tantas restricciones en el uso de Linux para sistemas integrados?

¿Cuáles son las habilidades / conocimientos básicos necesarios para la programación integrada / sistemas / firmware?

¿Cuál es la diferencia entre la instrucción de salto y llamada en 8051?

¿Podemos comenzar un negocio después de conocer el microcontrolador AVR y ARM?

¿Qué admisión de la universidad para una maestría en Ingeniería Eléctrica e Informática debería uno aceptar: Carnegie Mellon o Georgia Tech? ¿Por qué?

¿Cómo puede la tecnología mejorar la calidad de un restaurante?