Menú English Ukrainian Ruso Inicio

Biblioteca técnica gratuita para aficionados y profesionales. biblioteca técnica gratuita


ENCICLOPEDIA DE RADIOELECTRÓNICA E INGENIERÍA ELÉCTRICA
biblioteca gratis / Esquemas de dispositivos radioelectrónicos y eléctricos.

Inicialización de segmentos de memoria adicionales en programas para microcontroladores de la familia MCS-51. Enciclopedia de radioelectrónica e ingeniería eléctrica.

biblioteca técnica gratuita

Enciclopedia de radioelectrónica e ingeniería eléctrica. / Microcontroladores

Comentarios sobre el artículo Comentarios sobre el artículo

Los microcontroladores modernos tienen una memoria de datos no volátil (EEPROM) incorporada, en la que a veces es necesario ingresar información antes de que el dispositivo comience a funcionar. La imagen (firmware) de esta memoria debe generarse al desarrollar el programa. Esto lo pueden hacer, por ejemplo, ensambladores de microcontroladores de las familias PICmicro y AVR. Le dan al programador la oportunidad de organizar un segmento de memoria adicional y configurar en él los datos iniciales para escribir en EEPROM.

Los ensambladores para microcontroladores con núcleo MSC-51 también permiten dividir la memoria en varias partes, pero sólo en una de ellas, el segmento de código ejecutable, es posible la inicialización. En todos los demás, es posible reservar celdas de memoria y escribir datos en ellas solo durante la ejecución del programa. Una salida a la situación puede ser la técnica que se describe a continuación. Su esencia es el uso del ensamblaje condicional, como resultado de lo cual la inicialización de un segmento de código se produce de manera diferente, dependiendo de las condiciones de traducción. Los archivos HEX resultantes se pueden utilizar para programar no sólo la EEPROM interna del microcontrolador, sino también los chips de memoria externos.

Los segmentos adicionales creados artificialmente (se acepta cualquier número de ellos) se colocan en el texto del programa antes del segmento de código real. Las etiquetas definidas en uno de ellos serán conocidas en todos los siguientes, incluido el segmento de código real. Pero no se permiten enlaces en dirección opuesta. No existen restricciones sobre el tipo y la ubicación física de la memoria adicional.

En la tabla se muestra un ejemplo de un programa con dos segmentos inicializados adicionales, convencionalmente llamados EEPROM y FLASH. 1. Una vez guardado en el archivo ejemplo.asm, usaremos el ensamblador ASEM-51, que se puede “descargar” de forma gratuita en .

En primer lugar, ejecutemos el ensamblador en la línea de comandos.

asem ejemplo.asm eeprom.hex/define:EEPROM

Al procesar las primeras líneas del texto del programa, colocará las etiquetas idEeprom, ptrWord y prtBufE en su tabla de símbolos, y los datos especificados por las directivas DB y DW en el archivo de salida eeprom.hex (Tabla 2). A continuación se comprobará la longitud del segmento. Si el valor del contador del programa excede la capacidad EEPROM físicamente existente (en este caso, 640 celdas), se mostrará un mensaje de error. Si el tamaño del segmento es obviamente pequeño, se puede omitir la verificación. Se pueden proporcionar controles similares en otros segmentos.

Inicialización de segmentos de memoria adicionales en programas para microcontroladores de la familia MCS-51
(haga clic para agrandar)

A continuación, el ensamblador encontrará la directiva IFNDEF EEPROM. Dado que un símbolo con este nombre está definido en la línea de comando (parámetro /define:EEPROM), todas las líneas posteriores del programa, hasta la directiva ENDIF, serán ignoradas y la traducción terminará allí.

Ejecutar la retransmisión del mismo programa desde la línea de comandos

asem ejemplo.asm flash.hex/define:FLASH

Se diferencia del anterior únicamente por definir el símbolo FLASH en lugar de EEPROM. La primera etapa de traducción se llevará a cabo exactamente como se describe anteriormente y los datos del segmento EEPROM se escribirán en el archivo de salida. Sin embargo, la directiva IFNDEF EEPROM no interrumpirá el proceso esta vez y la siguiente directiva ORG 0 restablecerá el contador del programa. El ensamblador comenzará a escribir datos destinados al segmento FLASH en el archivo de salida desde la dirección cero. La transmisión será interrumpida por la directiva IFNDEF FLASH. La forma final del archivo flash.hex se muestra en la tabla. 3.

Establecemos la traducción del segmento verdadero del código ejecutable mediante el comando

asem ejemplo.asm

En primer lugar, los segmentos adicionales se traducirán nuevamente y todas las etiquetas definidas en ellos se ingresarán en la tabla de símbolos del ensamblador, lo que permitirá hacer referencia a ellos desde el segmento de código. La directiva ORG 0 al principio restablecerá una vez más el contador del programa a cero. Luego la transmisión continuará como de costumbre. En el archivo resultante example.hex (Tabla 4), el código del programa ejecutable comienza en la cuarta línea, ubicada después de las líneas idénticas a las contenidas en los archivos HEX anteriores.

La presencia de información innecesaria generalmente no interfiere con la carga correcta del código en las áreas de memoria apropiadas del microcontrolador. En el buffer del programa que controla la programación, los datos correctos, cuando las direcciones coinciden, “desplazan” los ingresados ​​previamente. Y sólo si el nuevo segmento es más corto que el anterior, su “cola” se almacenará en el búfer. Por este motivo, es aconsejable describir los segmentos de un programa en orden creciente según su longitud.

Algunos programadores no tienen un búfer intermedio ni controlan estrictamente los datos de entrada, evitando la superposición de direcciones. En el primer caso, la programación será incorrecta, en el segundo, no se iniciará en absoluto hasta que se eliminen los "errores".

Puede eliminar líneas adicionales de un archivo HEX manualmente usando cualquier editor de texto. Puedes hacer esto automáticamente ejecutando dos comandos seguidos:

hex2bin ejemplo.hex bin2hex ejemplo.bin

El primero creará una imagen binaria de los datos contenidos en el archivo example.hex y la colocará en el archivo example.bin. El segundo realizará la conversión inversa y creará un nuevo archivo example.hex sin lujos. Los programas necesarios se pueden “descargar” desde: Y .

Autor: S. Chekunov, Izhevsk

Ver otros artículos sección Microcontroladores.

Lee y escribe útil comentarios sobre este artículo.

<< Volver

Últimas noticias de ciencia y tecnología, nueva electrónica:

Cuero artificial para emulación táctil. 15.04.2024

En un mundo tecnológico moderno donde la distancia se está volviendo cada vez más común, mantener la conexión y la sensación de cercanía es importante. Los recientes avances en piel artificial realizados por científicos alemanes de la Universidad del Sarre representan una nueva era en las interacciones virtuales. Investigadores alemanes de la Universidad del Sarre han desarrollado películas ultrafinas que pueden transmitir la sensación del tacto a distancia. Esta tecnología de punta brinda nuevas oportunidades de comunicación virtual, especialmente para quienes se encuentran lejos de sus seres queridos. Las películas ultrafinas desarrolladas por los investigadores, de sólo 50 micrómetros de espesor, pueden integrarse en textiles y usarse como una segunda piel. Estas películas actúan como sensores que reconocen señales táctiles de mamá o papá, y como actuadores que transmiten estos movimientos al bebé. El toque de los padres sobre la tela activa sensores que reaccionan a la presión y deforman la película ultrafina. Este ... >>

Arena para gatos Petgugu Global 15.04.2024

Cuidar a las mascotas a menudo puede ser un desafío, especialmente cuando se trata de mantener limpia la casa. Se ha presentado una nueva e interesante solución de la startup Petgugu Global, que facilitará la vida a los dueños de gatos y les ayudará a mantener su hogar perfectamente limpio y ordenado. La startup Petgugu Global ha presentado un inodoro para gatos único que puede eliminar las heces automáticamente, manteniendo su hogar limpio y fresco. Este innovador dispositivo está equipado con varios sensores inteligentes que monitorean la actividad del baño de su mascota y se activan para limpiar automáticamente después de su uso. El dispositivo se conecta al sistema de alcantarillado y garantiza una eliminación eficiente de los residuos sin necesidad de intervención del propietario. Además, el inodoro tiene una gran capacidad de almacenamiento, lo que lo hace ideal para hogares con varios gatos. El arenero para gatos Petgugu está diseñado para usarse con arena soluble en agua y ofrece una gama de arena adicional ... >>

El atractivo de los hombres cariñosos. 14.04.2024

El estereotipo de que las mujeres prefieren a los "chicos malos" está muy extendido desde hace mucho tiempo. Sin embargo, una investigación reciente realizada por científicos británicos de la Universidad de Monash ofrece una nueva perspectiva sobre este tema. Observaron cómo respondieron las mujeres a la responsabilidad emocional y la voluntad de los hombres de ayudar a los demás. Los hallazgos del estudio podrían cambiar nuestra comprensión de lo que hace que los hombres sean atractivos para las mujeres. Un estudio realizado por científicos de la Universidad de Monash arroja nuevos hallazgos sobre el atractivo de los hombres para las mujeres. En el experimento, a las mujeres se les mostraron fotografías de hombres con breves historias sobre su comportamiento en diversas situaciones, incluida su reacción ante un encuentro con un vagabundo. Algunos de los hombres ignoraron al vagabundo, mientras que otros lo ayudaron, como comprarle comida. Un estudio encontró que los hombres que mostraban empatía y amabilidad eran más atractivos para las mujeres en comparación con los hombres que mostraban empatía y amabilidad. ... >>

Noticias aleatorias del Archivo

Ruido vs Ruido 07.03.2007

Hace aproximadamente medio siglo, los ingenieros de la compañía estadounidense "RCA" propusieron una forma original de lidiar con el ruido: generar exactamente el mismo sonido, pero en antifase, y las ondas de sonido se anulan entre sí (la llamada amortiguación activa). ).

Solo en nuestro tiempo fue posible implementar esta idea, ya que en los años 50 del siglo pasado no había electrónica que pudiera hacer frente a una tarea difícil. Una de las villas construidas en Milán (Italia), a tan solo 500 metros del aeropuerto local, está protegida del ruido de los aviones por una “red” de micrófonos y altavoces.

El rugido de los motores captado por los micrófonos es traducido en antifase por la computadora y emitido por los parlantes. Como resultado, se crea una zona relativamente tranquila con dimensiones de 5 por 5 por 10 metros, donde el ruido se reduce entre 5 y 10 decibelios.

Otras noticias interesantes:

▪ Acer competirá con Asustek en el mercado de portátiles económicos

▪ pastillas antiradina

▪ Un simple adaptador convertirá los auriculares ordinarios en inteligentes

▪ Navaja de zafiro

▪ Nuevos diodos Schottky de VISHAY

Feed de noticias de ciencia y tecnología, nueva electrónica

 

Materiales interesantes de la Biblioteca Técnica Libre:

▪ sección del sitio Apuntes de conferencias, hojas de trucos. Selección de artículos

▪ artículo Economía mundial. Cuna

▪ Artículo ¿Cuántas estrellas se pueden ver en el cielo? Respuesta detallada

▪ artículo Operario dedicado al mantenimiento de instalaciones de electrovacío para aluminizar espejos planos. Instrucción estándar sobre protección laboral

▪ artículo Gabinete de tinta. recetas simples y consejos

▪ artículo Convertidor Trinistor, 12-24/60 voltios 2 amperios. Enciclopedia de radioelectrónica e ingeniería eléctrica.

Deja tu comentario en este artículo:

Nombre:


Email opcional):


comentar:





Todos los idiomas de esta página

Hogar | Biblioteca | Artículos | Mapa del sitio | Revisiones del sitio

www.diagrama.com.ua

www.diagrama.com.ua
2000 - 2024