Menu English Ukrainian Russe Accueil

Bibliothèque technique gratuite pour les amateurs et les professionnels Bibliothèque technique gratuite


ENCYCLOPÉDIE DE LA RADIOÉLECTRONIQUE ET DU GÉNIE ÉLECTRIQUE
Bibliothèque gratuite / Schémas des appareils radio-électroniques et électriques

Initialisation de segments de mémoire supplémentaires dans les programmes pour microcontrôleurs de la famille MCS-51. Encyclopédie de l'électronique radio et de l'électrotechnique

Bibliothèque technique gratuite

Encyclopédie de l'électronique radio et de l'électrotechnique / microcontrôleurs

Commentaires sur l'article Commentaires sur l'article

Les microcontrôleurs modernes disposent d'une mémoire de données non volatile (EEPROM) intégrée, dans laquelle des informations doivent parfois être saisies avant que l'appareil ne commence à fonctionner. L'image (firmware) de cette mémoire doit être formée lors du développement du programme. Cela peut être fait, par exemple, des assembleurs pour les microcontrôleurs des familles PICmicro et AVR. Ils donnent au programmeur la possibilité d'organiser un segment de mémoire supplémentaire et d'y définir les données initiales pour l'écriture dans l'EEPROM.

Les assembleurs pour microcontrôleurs avec le cœur MSC-51 vous permettent également de diviser la mémoire en plusieurs parties, mais seulement dans l'une d'entre elles - le segment de code exécutable - l'initialisation est possible. Dans tous les autres, il n'est permis de réserver des cellules de mémoire et d'y écrire des données que pendant l'exécution du programme. La sortie de la situation peut être la réception, qui est décrite ci-dessous. Son essence est l'utilisation de l'assemblage conditionnel, à la suite duquel l'initialisation du segment de code se produit de différentes manières, en fonction des conditions de traduction. Les fichiers HEX résultants peuvent être utilisés pour programmer non seulement l'EEPROM interne du microcontrôleur, mais également des puces de mémoire externes.

Des segments supplémentaires créés artificiellement (n'importe quel nombre d'entre eux est autorisé) sont placés dans le texte du programme avant le segment de code réel. Les étiquettes définies dans l'un d'entre eux seront connues dans tout ce qui suit, y compris le segment de code réel. Mais les liens dans la direction opposée ne sont pas autorisés. Il n'y a aucune restriction sur le type et l'emplacement physique de la mémoire supplémentaire.

Un exemple de programme avec deux segments initialisés supplémentaires, appelés classiquement EEPROM et FLASH, est présenté dans le tableau. 1. Après l'avoir enregistré dans le fichier example.asm, nous utiliserons l'assembleur ASEM-51, qui peut être "téléchargé" gratuitement sur .

Tout d'abord, lancez l'assembleur en ligne de commande

asem exemple.asm eeprom.hex/define:EEPROM

En traitant les premières lignes du texte du programme, il placera les étiquettes idEeprom, ptrWord et prtBufE dans sa table de symboles, et les données spécifiées par les directives DB et DW dans le fichier de sortie eeprom.hex (tableau 2). La longueur du segment sera alors vérifiée. Si la valeur du compteur de programme dépasse la taille EEPROM physiquement existante (dans ce cas - 640 cellules), un message d'erreur s'affichera. Si le volume du segment est manifestement faible, la vérification peut être exclue. Des contrôles similaires peuvent être envisagés sur d'autres segments.

Initialisation de segments de mémoire supplémentaires dans les programmes pour microcontrôleurs de la famille MCS-51
(cliquez pour agrandir)

Ensuite, l'assembleur rencontrera la directive IFNDEF EEPROM. Puisqu'un symbole portant ce nom est défini sur la ligne de commande (paramètre /define:EEPROM), toutes les lignes suivantes du programme, jusqu'à la directive ENDIF, seront ignorées et la traduction s'arrêtera là.

Exécuter la retransmission du même programme depuis la ligne de commande

asem exemple.asm flash.hex/define:FLASH

Il ne diffère du précédent que par la définition du symbole FLASH au lieu d'EEPROM. La première étape de traduction se déroulera exactement comme décrit ci-dessus et les données du segment EEPROM seront écrites dans le fichier de sortie. Cependant, la directive IFNDEF EEPROM n'interrompra pas le processus cette fois, et la directive suivante ORG 0 réinitialisera le compteur de programme. L'assembleur commencera à écrire les données destinées au segment FLASH dans le fichier de sortie à partir de l'adresse zéro. La diffusion sera interrompue par la directive IFNDEF FLASH. La forme finale du fichier flash.hex est indiquée dans le tableau. 3.

Nous définissons la traduction du vrai segment du code exécutable par la commande

asem exemple.asm

Tout d'abord, des segments supplémentaires seront recompilés et toutes les étiquettes qui y sont définies seront entrées dans la table des symboles de l'assembleur, ce qui leur permettra d'être référencés à partir du segment de code. La directive ORG 0 au tout début de celle-ci réinitialisera à nouveau le compteur de programme. La diffusion se poursuivra comme d'habitude. Dans le fichier example.hex résultant (tableau 4), le code exécutable du programme commence à partir de la quatrième ligne, étant après les lignes identiques à celles contenues dans les fichiers HEX précédents.

La présence d'informations redondantes n'interfère généralement pas avec le chargement correct du code dans les zones mémoire appropriées du microcontrôleur. Dans le tampon du programme qui contrôle la programmation, les données correctes, lorsque les adresses correspondent, "déplacent" celles précédemment saisies. Et seulement si le nouveau segment est plus court que le précédent, sa "queue" sera stockée dans le tampon. Pour cette raison, il est souhaitable de décrire les segments du programme dans l'ordre croissant de leur longueur.

Certains programmeurs n'ont pas de tampon intermédiaire ou contrôlent strictement les données d'entrée, ne permettant pas les chevauchements d'adresses. Dans le premier cas, la programmation sera incorrecte, dans le second cas, elle ne démarrera pas du tout tant que les "erreurs" ne seront pas éliminées.

Vous pouvez supprimer manuellement les lignes supplémentaires d'un fichier HEX à l'aide de n'importe quel éditeur de texte. Vous pouvez également le faire automatiquement en exécutant deux commandes à la suite :

exemple hex2bin.hex exemple bin2hex.bin

Le premier créera une image binaire des données contenues dans le fichier example.hex et la placera dans le fichier example.bin. Le second effectuera la transformation inverse et créera un nouveau fichier example.hex sans fioritures. Les programmes nécessaires peuvent être "téléchargés" aux adresses Et .

Auteur : S. Chekunov, Izhevsk

Voir d'autres articles section microcontrôleurs.

Lire et écrire utile commentaires sur cet article.

<< Retour

Dernières nouvelles de la science et de la technologie, nouvelle électronique :

Machine pour éclaircir les fleurs dans les jardins 02.05.2024

Dans l'agriculture moderne, les progrès technologiques se développent visant à accroître l'efficacité des processus d'entretien des plantes. La machine innovante d'éclaircissage des fleurs Florix a été présentée en Italie, conçue pour optimiser la phase de récolte. Cet outil est équipé de bras mobiles, lui permettant de s'adapter facilement aux besoins du jardin. L'opérateur peut régler la vitesse des fils fins en les contrôlant depuis la cabine du tracteur à l'aide d'un joystick. Cette approche augmente considérablement l'efficacité du processus d'éclaircissage des fleurs, offrant la possibilité d'un ajustement individuel aux conditions spécifiques du jardin, ainsi qu'à la variété et au type de fruits qui y sont cultivés. Après avoir testé la machine Florix pendant deux ans sur différents types de fruits, les résultats ont été très encourageants. Des agriculteurs comme Filiberto Montanari, qui utilise une machine Florix depuis plusieurs années, ont signalé une réduction significative du temps et du travail nécessaires pour éclaircir les fleurs. ...>>

Microscope infrarouge avancé 02.05.2024

Les microscopes jouent un rôle important dans la recherche scientifique, car ils permettent aux scientifiques d’explorer des structures et des processus invisibles à l’œil nu. Cependant, diverses méthodes de microscopie ont leurs limites, parmi lesquelles la limitation de la résolution lors de l’utilisation de la gamme infrarouge. Mais les dernières réalisations des chercheurs japonais de l'Université de Tokyo ouvrent de nouvelles perspectives pour l'étude du micromonde. Des scientifiques de l'Université de Tokyo ont dévoilé un nouveau microscope qui va révolutionner les capacités de la microscopie infrarouge. Cet instrument avancé vous permet de voir les structures internes des bactéries vivantes avec une clarté étonnante à l’échelle nanométrique. En général, les microscopes à infrarouge moyen sont limités par leur faible résolution, mais le dernier développement des chercheurs japonais surmonte ces limitations. Selon les scientifiques, le microscope développé permet de créer des images avec une résolution allant jusqu'à 120 nanomètres, soit 30 fois supérieure à la résolution des microscopes traditionnels. ...>>

Piège à air pour insectes 01.05.2024

L'agriculture est l'un des secteurs clés de l'économie et la lutte antiparasitaire fait partie intégrante de ce processus. Une équipe de scientifiques du Conseil indien de recherche agricole et de l'Institut central de recherche sur la pomme de terre (ICAR-CPRI), à Shimla, a mis au point une solution innovante à ce problème : un piège à air pour insectes alimenté par le vent. Cet appareil comble les lacunes des méthodes traditionnelles de lutte antiparasitaire en fournissant des données en temps réel sur la population d'insectes. Le piège est entièrement alimenté par l’énergie éolienne, ce qui en fait une solution respectueuse de l’environnement qui ne nécessite aucune énergie. Sa conception unique permet la surveillance des insectes nuisibles et utiles, fournissant ainsi un aperçu complet de la population dans n'importe quelle zone agricole. "En évaluant les ravageurs cibles au bon moment, nous pouvons prendre les mesures nécessaires pour lutter à la fois contre les ravageurs et les maladies", explique Kapil. ...>>

Nouvelles aléatoires de l'Archive

Le système Ford Wrong Way Alert vous avertira de la sortie dans la voie venant en sens inverse 13.08.2018

Ford continue d'introduire des systèmes avancés conçus pour améliorer la sécurité routière. Le prochain développement était un complexe appelé Wrong Way Alert.

Le nouveau système avertit du départ de la voie destinée au trafic venant en sens inverse. Les accidents liés au départ de l'automobile sur la voie inverse, s'achèvent particulièrement souvent par les blessés graves ou la mort des personnes. Environ un accident de la circulation routière (ATR) sur quatre avec une issue fatale est associé à la circulation dans la voie venant en sens inverse.

Wrong Way Alert s'appuie sur la technologie de reconnaissance des panneaux routiers, qui est déjà utilisée sur les véhicules Ford : une caméra spéciale derrière le pare-brise reconnaît les panneaux de signalisation importants le long du parcours et les transmet au tableau de bord ou à l'affichage tête haute. De plus, le complexe Wrong Way Alert prend en compte les informations sur l'emplacement de la voiture fournies par le système de navigation embarqué.

Si un conducteur passe entre deux panneaux d'interdiction de voyager sur une route d'accès à l'autoroute, le système Wrong Way Alert émet un bip et affiche un panneau d'interdiction de voyager sur le tableau de bord, ainsi qu'un message texte vous invitant à vérifier le bon sens de déplacement.

Le système Wrong Way Alert a fait ses débuts sur la nouvelle génération de Ford Focus.

Autres nouvelles intéressantes :

▪ Les balances intelligentes déterminent la vitesse de propagation de l'onde de pouls

▪ Alliage superélastique qui maintient la rigidité à haute température

▪ Télévision atomique

▪ Supercondensateur en argile réfractaire

▪ Lecteur audiophile Walkman NW-A105

Fil d'actualité de la science et de la technologie, nouvelle électronique

 

Matériaux intéressants de la bibliothèque technique gratuite :

▪ » du site Internet de Radio Contrôle. Sélection d'articles

▪ Article de micromécanique. Histoire de l'invention et de la production

▪ article Qui est l'auteur du microscope ? Réponse détaillée

▪ article Caméraman principal du département technique. Description de l'emploi

▪ article Une antenne efficace pour cinq bandes. Encyclopédie de l'électronique radio et de l'électrotechnique

▪ article Amplificateurs de puissance à transistors pour les bandes 144 et 430 MHz. Encyclopédie de l'électronique radio et de l'électrotechnique

Laissez votre commentaire sur cet article :

Nom:


E-mail (facultatif) :


commenter:





Toutes les langues de cette page

Page principale | bibliothèque | Articles | Plan du site | Avis sur le site

www.diagramme.com.ua

www.diagramme.com.ua
2000-2024