Home
LE SYSTÈME DE DÉVELOPPEMENT
Contents
1. EQU Une donn e peut tre pr d finie par EQU Nom_de symbole EQU expression par exemple Valeur EQU 41H puis mov A valeur Le contenu de la case d adresse 41H est charg dans l accumulateur mov valeur chargerait dans A le nombre 41H lui m me adressage imm diat SET La directive SET est tr s semblable EQU mais un SET peut faire appel un SET d fini pr alablement ce qui est interdit avec EQU Valeur SET 45 Valeur SET Valeur 5 Mov A Valeur Charge 9 dans A BIT La directive BIT permet de nommer un bit particulier dans un octet alarme BIT CTRL O Bit 0 de l octet CTRL Voyant BIT 60H le bit est d sign par son adresse absolue processeur bool en lampe BIT 24H 7 adresse absolue et position pr cis e DATA La directive DATA assigne une adresse dans la RAM interne une donn e dont le nom est pr cis Nom de donn e DATA 40H Le contenu de la case 40H de la RAM interne s appelle Nom _ de donn e XDATA M me fonction mais il s agit d une adresse externe INITIALISATION Il est facile d initialiser des cases m moire ou les r server DS La directive DS Defini Space r serve un espace dans la m moire Le symbole indique la position courante du pointeur Soit ORG 0 Debut MOV P1 55H Place DS 8 sjmp debut DS 4 Mov A 0 sjmp place 3 End le code machine cr est debut 0000 7590 55 MOV P1 55 place 0003 lt 8 cases r serv es 000B 80 F3 SJMP DEBUT OD F3 00
2. Il est possible de poser des drapeaux d arr t de l ex cution du programme ils peuvent tre pos s Sur un code Pour cela se placer dans la fen tre de code dans le champ des drapeaux de contr le et taper H L ex cution s arr tera alors juste avant l ex cution de d instruction consid r e Sur une variable Trois drapeaux sont alors possibles H halte lorsque le programme acc de cette variable en lecture ou criture W Halte en criture R Halte en lecture Remarque La simulation de l ex cution tant lente les boucles de retard peuvent durer un temps excessif modifier en cons quence les compteurs de boucle MODIFICATION DES ENTREES DES PORTS PENDANT LA SIMULATION Le Microcontroleur 8051 La modification des entr es des ports permet en particulier de simuler les interruptions externes Pour cela s lectionner le port consid r Pi en appuyant sur CTRL MAJ Fi le port s lectionn est affich sur la bande sup rieure de l cran Modifier le bit N j du port s lectionn en frappant CTRL Fj Exemple Reprenons le programme d crit plus haut Les variables importantes sont le contenu de P1 affichage de P3 qui re oit l action ext rieure RO le compteur et R1 le compteur de boucles de retard Pla ons les dans la fen tre SEL pour cela cette fen tre est s lectionn e puis on active la premi re variable mise en surbrillance et presse la touche Une peti
3. cuter les instructions charg es dans cette derni re Le syst me complet est donc form de Un micro ordinateur avec L assembleur et outils associ s pour cr er les octets du programme un logiciel de gestion de la carte RAM ROM et un syst me de liaison PC carte La carte RAM ROM et sa nappe termin e par le connecteur au brochage de la PROM Ce syst me permet tr s rapidement de charger un morceau de programme tester puis de revenir l assembleur pour modification si n cessaire Le microcontroleur qui tourne est celui de la Micro ordinateur PC 8086 80486 Carte RAM ROM Carte 8031 ASSEMBLEUR A51 OHS51 Gestion liaison Syst me commander SYSTEME de DEVELOPPEMENT carte finale la seule diff rence tient dans le temps d acc s de la carte RAM ROM mais il est rare que des difficult s surviennent cause de cela du moins pour des CPU ne tournant pas trop vite Entr e au clavier du fichier source XXX A51 Modification du fichier source correction Examen de ce fichier par TYPE ou EDIT Fichier des octets SZ RAMROMSE Transfert vers la carte RAM ROM V Carte RAM ROM V Test de fonctionnement EMPLOI DES LOGICIELS SUCCESSIFS pour un test Utilisation des versions Piggy Back L utilisation d un mulateur de PROM n est possible que si le microcontroleur poss de une ROM externe qui malheureusement neutralise au moins 2 ports Pour test
4. pas compte des r actions de l environnement avec lequel il est reli temps de r ponse des dispositifs par exemple Le test peut tre effectu de diverses fa ons La m thode qui consiste graver les octets dans une PROM placer cette PROM sur son socle lancer le programme et si cela ne marche pas rechercher les erreurs puis recommencer n est pas viable Elle est laborieuse et d autre part les PROM ne supportent pas tr s bien quoiqu en disent les documentations constructeur des effacements multiples 1 Emploi d un simulateur de programme C est un programme annexe qui est capable de simuler le d roulement du programme sous test L ex cution peut tre effectu e compl tement ou pas pas A chaque tape le contenu de tous les registres internes du CPU est affich Il est m me possible de simuler les v nements ext rieurs tels que la d tection du signal sur un port Bien s r la vitesse d ex cution est tr s faible par rapport la vitesse r elle et il est prudent de modifier la dur e des boucles de retard pour r aliser une ex cution en un temps raisonnable La soci t RAISONANCE s est sp cialis e dans la diffusion de tels outils La version mise ici disposition est une version ducation de SIMIS 51 d emploi libre mais limit e un programme de moins de 1K octets Un mode d emploi simplifi est donn dans les pages suivantes Un tel simulateur de programme permet de corriger un gran
5. Le Microcontroleur 8051 000D lt 4 cases r serv es 0011 E5 00 MOV A 0 0013 80F1 SJMP PLACE 3 le pointeur prend la valeur 15 F1 06 DB Cette directive Defini Byte permet d initialiser des cases m moire programme Un label d signant la position est optionnel Soit entrer un tableau de 8 valeurs repr sentant le code ASCII d un mot ORG 10 DB TRAVAIL est quivalent DB T R A VL AUTS L End Correspond au code machine suivant 0010 54 52 41 56 41 49 4C TRAVAIL 0017 DW Defini Word Initialise simultan ment 2 cases m moires dans la m moire programme Ces 2 cases contiennent un mot de 16 bits La syntaxe est label DW expression expression expression l expression doit pouvoir constituer des mots nombre de 4 digits hexa chaine de 1 ou 2 caract res DW Travail n est pas admis DW 7 1245H AB donne la suite d octets 00 07 12 45 41 42 USING Permet de choisir la banque de registres R exploit es par l instruction suivante utilisant Arx qui est consid r e comme une adresse m moire I n y pas de changement de banque active celle ci est d finie par les bits 3 et 4 de PSW Exemple USING 2 MOV RO A Charge dans A le contenu de RO de la banque active 0 par d faut PUSH ARO Sauve dans la pile le contenu du registre RO de la banque 2 Adresse 10H A51 est un logiciel puissant c est un macro assembleur permettant de d finir et d utiliser des macro instructions Pour plus de
6. d tails se reporter la documentation constructeur 2 Utilisation et exploitation des r sultats L appel de l assembleur se fait en tapant A51 suivi du nom du fichier source pr alablement cr avec EDIT Consid rons le fichier suivant qui va nous servir d exemple cr avec le nom B DEFIL ORG 0 mov RO 0 debut mov a R0O mov P1 A inc RO mov R1 3 retri mov R2 255 Le Microcontroleur 8051 retr2 mov R3 255 retr3 DJNZ R3 Retr3 Dinz R2 Retr2 Dinz R1 Retri sjmp DEBUT end remarquer que l on a utilis indiff remment minuscules et majuscules Sortir de l diteur et appeler A51 B DEFIL l ordinateur travaille puis affiche MS DOS MCS 51 MACRO ASSEMBLER A51 V3 94 ASSEMBLY COMPLETE NO ERRORS FOUND C A51 Si des erreurs se sont produites leur nombre est affich Leur nature sera connue en lisant le r sultat de l assemblage Pour cela revenir dans EDIT par EDIT B DEFIL LST On obtient A51 MACRO ASSEMBLER B DEFIL MS DOC MACRO ASSEMBLER A51 V3 94 OBJECT MODULE PLACED IN B DEFIL OBJ ASSEMBLER INVOKED BY A51 B DEFIL LOC OBJ LINE SOURCE 0000 1 org 0 0000 7800 2 mov RO 0 0002 E8 3 debut mov A RO 0003 F590 4 mov P1 A 0005 O8 5 inc RO 0006 7903 6 mov R1 3 0008 7AFF 7 retri mov R2 255 000A 7BFF 8 retr2 mov R3 255 000C DBFE 9 retr3 DJNZ R3 Retr3 000E DAFA 10 Djnz R2 Retr2 0010 D9F6 11 Djnz R1 Retri 0012 80EE 12 sjmp DEBUT 13 end A51MACRO ASSEMBLER B DEFIL SYMBOL TABLE LISTING NAM
7. de E Microcontroleur 8051 83C451 CONFIGURATION Taille du Code 1kB 83C552 Taille de XDATA 850652 Application en OFFSET XDATA 83C851 pressant on ouvre Allocation XDATA une seconde fen tre Oscil Ext 12 000 Mhz EXECUTION CONFIG Application permettant de choisir Environmt PC le microprocesseur la EXplore Int Lin SIMULATEUR DEBUGGER taille du oda limit e OPTOROM pouria ramie gu 8091 1K pour la version Version 4 42 Taper pr sente du logiciel la Sauve MAP51 CFG lt ENTER gt pour l aide en ligne taille de la RAM lt ESPACE gt pour continuer ext rieure sa position Version limit e dans le champ Raisonance S A memoire et la fr quence de l oscillateur Lorsque la ligne Microcontroleur est s lectionn e la touche 1 ouvre une troisi me fen tre permettant de choisir le CPU 8051 80C51 8052 83451 83552 83652 83851 Il faut noter qu il n y a pas de diff rence ici entre les versions ROM et ROMLESS A l installation du logiciel il est possible de choisir la langue Fran ais ou Anglais ainsi que le fournisseur PHILIPS SIEMENS ou INTEL ce qui donne acc s aux diff rents mod les propos s par ces fabriquants Configuration Fichiers D veloppement Syst me DOS Le Microcontroleur 8051 Lorsque la configuration compl te est d finie fig ci contre on ferme les fen tres par ESC et l on active par la cl Fichiers sur la ligne inf rieure de l cran CHARGEMENT D UN FICHIER En frappant on ouvre
8. de l cran QUITTER LE PROGRAMME Se placer dans le menu principal et taper S puis Q Remarque Ce logiciel bien que tr s pratique n est pas indispensable si l on dispose d une bonne carte RAM ROM il est possible de faire tourner le programme par morceaux de plus en plus gros en pla ant de ci de l des test de fonctionnement affichage sur des leds par exemple D s que le programme ne fonctionne plus il suffit de revenir l tape ant rieure et de suivre pas pas ce que l on vient d ajouter Le Microcontroleur 8051 BIBLIOGRAPHIE Les ouvrages traitant du 8051 sont tr s nombreux je citerai seulement Microcontroleurs 8051 et 8052 Bernard Odant DUNOD Tech Sur Internet www abcelectronique com fournit une liste impressionnante de sites consacr s au 8051 en particulier de nombreux cours donn s dans les IUT ou universit s Je ne citerai personne pour ne vexer personne vous de choisir Le 8051 est un microprocesseur remarquable qui malgr son age garde encore tout son int r t que l apparition des mod les flash int gr e confirme encore plus Mais il est vrai que sa mise en uvre n cessite un mat riel relativement lourd et co teux de plus par la taille de son bo tier il conduit des circuits imprim s assez grands dont la construction n cessite une certaine ma trise Il est certain que la famille PIC de Microchip pour l amateur dont l quipement lectronique est limit est d acc s plus ais c es
9. est elle qui est active au chargement FENETRE DE CODE Elle comprend 5 champs qui sont de gauche droite L adresse de l instruction Le code hexad cimal de l instruction une tiquette Label ventuelle des drapeaux Flag de contr le le mn monique de l instruction Le passage d un champ l autre s effectue avec la touche de tabulation Les d placements dans la fen tre se font avec les touches fl ches gt 4 gt HOME et END Les d placements lointains sont obtenus par CTRL PG UP pour acc der la premi re ligne de code CTRL PG DN pour acc der la derni re ligne du code A Num ro de ligne pour acc der une ligne de num ro donn Initialement les champs sont charg s partir du fichier comme on peut le voir sur la figure Les labels qui xistaient dans le fichier source ne figurent plus en effet le chargement est effectu partir du seul fichier HEX qui ne contient que les codes machine t gt gt 0 P1 PC 0000 XDAT 0000 E BLEE E ETIE EE SALE E E SE E 74 Se a a a Le Microcontroleur 8051 75BOFF MOV P3 FF 00 00 00 00 00 00 00 00 7801 MOV RO 01 E8 MOV A R0 F590 MOV P1 A DATA 00 E5BO MOV A P3 F4 CPL A 00 00 00 00 00 00 00 00 60FB JZ 0008 08 INC RO 7903 MOV R1 03 BIT D9FE DJNZ R1 0010 80F1 SJMP 0005 DO 00 00 00 00 00 00 00 FF FF FF REG lt PO PDF gt 80 FF FF FF 07 00 00 00 FF FF FF 00 FF ACC 00 R0 00 R2 00 R4 00 R6 00 R0 00 SEL 00 D B 00 R1 00
10. E TYPE VALUE ATTRIBUTES Debut CADDR 0002H P1 D ADDR 0090H RETR CADDR 0008H RETR CADDR 000AH RETR CADDR 000CH gt gt gt gt y gt eue E EE 71 SN a a Le Microcontroleur 8051 REGISTER BANK S USED 0 ASSEMBLY COMPLETE NO ERRORS FOUND Le fichier B DEFIL OBJ cr n est pas listable car ce n est pas un fichier texte il doit tre transform par OHS51 Le processus se continue donc en sortant d EDIT et en tapant OHS51 B DEFIL OBJ l ordinateur travaille et r pond A51 gt 0HS51 B DEFIL OBJ MS DOS MCS 51 OBJECT TO HEX AND SYMBOL FILE CONVERTER V1 1 GENERATING PURE INTEL HEXFILE B DEFIL HEX C gt Ce fichier est de nouveau un fichier texte lisible par EDIT ou TYPE 100000007800E8F5900879037AFF7BFFDBFEDAFAE7 04001000D9F680EEAF 00000001FF Ce fichier pr sente la suite des octets du programme et sera exploit par le logiciel de transfert On remarquera les qui commencent chaque ligne Suit un nombre de 2 chiffres representant le nombre de codes sur la ligne un mot de 4 caract res indiquant partir de quelle case m moire se situent ces codes 2 chiffres identifiant le type de codes 00 le plus souvent les codes la suite les uns des autres un nombre de controle Checksum tel que Somme des codes cheksum 0 modulo 100H Exemple la premi re ligne pr cedente 10 0000 00 7800E8 DAFA E7 Adresse Type 16 codes Hexa CheckSum De RS Se E E Le Microcontroleur 8051 SIMULAT
11. EUR DE 8031 SIMICE 51 Ce logiciel permet de simuler le fonctionnement des microcontroleurs de la famille 8051 Les programmes tester peuvent tre ex cut s en surveillant tout moment le contenu des registres internes c est donc un outil particuli rement pr cieux lors de la mise au point de programmes complexes Version d valuation sur www raisonance fr Les commandes se pr sentent sous forme de menus d roulants un menu se quitte par la commande ESC A tout moment on peut consulter une aide en tapant CTRL ESC LANCEMENT DU PROGRAMME et CONFIGURATION Le programme tant pr alablement charg sur le disque dur il suffit d appeler SIMIS Appara t un cran quadrill avec en gros caract res le nom du logiciel SIMIS 51 et une ligne clignottante indiquant qu il s agit d une version limit e On acc de la premi re page de menu en pressant la barre d espacement Appara t en bas de l cran 4 clefs Configuration Fichiers D veloppement Syst me DOS dont la premi re est affich e en blanc sur fond noir Presser Entr e une fen tre CONFIGURATION s ouvre dans laquelle la ligne Application est s lectionn e La ligne en dessous accessible par la touche permet de choisir un cran monochrome ou couleurs grace 3 fen tres succ ssives s ouvrant en frappant 2 fois 4 Le choix des options tant effectu on revient au menu 8051 initial en fermant les 80C51 fen tres par ESC A 8052 partir
12. L le plus souvent cit On peut trouver sur Internet diverses versions de l assembleur 8051 tournant souvent sous DOS sous Windows pour les plus r centes Certaines sont gratuites par exemple ASM51 de MetalLink ou des versions d valuation limit es Une version d valuation limit e des codes de moins de 4kO est disponible sue le site de Raisonance cela suffit le plus souvent pour la plus part des applications courantes Le logiciel propos ici est A51 de Keil de structure tr s voisine il est d crit plus loin On consultera aussi le site d Atmel voir plus loin A partir du fichier source l assembleur construit 2 fichiers xxx OBJ en langage machine et xxx LST fichier texte reprenant la liste des instructions du fichier source auxquelles sont ajout es les num ros des cases m moire les codes machine et toutes les informations sur le d roulement de l assemblage C est dans ce fichier en particulier que sont indiqu es les erreurs qui peuvent survenir A51 est accompagn d un programme compl mentaire qui transforme le fichier OBJ en un fichier xxx HEX qui contient en clair la liste des octets constituant le programme La figure ci contre illustre la chronologie des op rations Entr e au clavier du fichier source XXX A51 Examen de ce fichier par TYPE ou EDIT Fichier des octets Sur Internet www keil com Le Microcontroleur 8051 www metaice com ASM51 ASM51 htm Metal Link ww
13. Le Microcontroleur 8051 LE SYST ME DE D VELOPPEMENT Pour utiliser un microcontroleur dans un syst me plusieurs tapes sont n cessaires 1 Le choix du CPU et la configuration de la carte Ils sont d termin s par le nombre de ports n cessaires les fonctions r aliser et la vitesse souhait e 2 L criture du logiciel aboutissant une liste d octets qui devront tre implant s dans la ROM Programme 3 Le test de ce logiciel dans des conditions aussi proches que possible de la r alit dans laquelle travaillera le microcontroleur 4 La gravure d finitive de la PROM qui sera implant e sur la carte finale Passons en revue ces diverses tapes L tape 1 est essentiellement un probl me d lectronique qui ne peut tre d taill que sur un exemple L criture du programme L ASSEMBLEUR L Assembleur est un logiciel implant dans un ordinateur qui exploite un fichier texte le programme source pour cr er un programme objet en langage machine partir duquel est enfin construite la liste des octets Le programme source crit en assembleur est un fichier texte qui doit tre entr dans la m moire de l ordinateur gr ce un diteur de texte quelconque Il est possible d utiliser l diteur du Turbo Pascal celui du DOS 6 ou tout autre logiciel quivalent g n rant des fichiers ASCII De nombreux fournisseurs commercialisent des programmes assembleurs plus ou moins puissants ASM51 est l assembleur d INTE
14. R3 00 R5 00 R7 00 R1 00 DPTR PSW 00 SP 07 THLO 0000 THL1 0000 P1 FF 00 00 00 00 00 00 0000 1MARQ BLOC 3 EXECUTION 5MENU BLOC 2 EFF MARQAVUE TRACE 6COPIE8DESASSE Les codes peuvent tre modifi s En se pla ant dans le champ des codes et en tapant le nouveau code en hexad cimal la place du pr c dent En se pla ant dans le champ des instructions et en tapant le mn monique de la nouvelle instruction L assemblage de la ligne est r alis apr s avoir press la touche Dans ce cas la longueur de la nouvelle instruction doit tre gale ou plus courte que la pr c dente sinon le code de l adresse suivante est perdu FENETRE XDAT Cette fen tre permet la visualisation et la modification du contenu de la RAM externe Accessible par les instructions MOVX Au d part ce sont les 8 premi res cases d adresses 0000 0007 qui sont visualis es Le d placement dans cette fen tre XDAT ainsi que dans les suivantes DATA BIT et REG se fait avec les touches gt et pour un changement d adresse d une unit Tet pour un changement d adresse de 8 unit s adresse pour une adresse quelconque La variable active est affich e en surintensit son adresse est indiqu e droite au dessus de la fen tre FENETRE DATA Le Microcontroleur 8051 Le contenu des 128 premiers octets de la RAM interne sont accessibles dans cette fen tre FENETRE BIT Elle donne acc s aux 256 bits adressables de la RAM intern
15. d nombre d erreurs mais il reste n cessaire de tester le programme dans son environnement r el c est le r le des mulateurs On trouvera un produit quivalent sur le site d Atmel 2 L mulateur de PROM Il n est utilisable qu avec un microcontroleur ROM ext rieure ROMLESS L EMULATEUR de PROM est une carte comprenant une m moire RAM de m me capacit que la PROM simuler accessible de deux cot s L un de ces acc s est utilis par le microordinateur via une liaison s rie ou parall le l autre ne poss dant qu une commande de lecture est associ e un connecteur ayant la configuration du socle de la PROM simuler Cet mulateur est parfois appel carte RAM ROM Il est commercialis par de nombreux fournisseurs consulter par exemple lextronic www lextronic fr des sch mas ont t publi s dans Elektor Le connecteur c t ROM est enfich sur le support de la ROM sur la carte CPU La liaison avec un PC peut tre s rie ou parall le Dans ce dernier cas l utilisation de la prise d imprimante est commode et vite l implantation d une carte sp cifique dans la machine Le programme assembleur r sident dans l ordinateur a permis de cr er la suite d octets constituant le programme Via le c ble et avec l aide d un logiciel ad hoc ces octets sont Le Microcontroleur 8051 transf r s dans la carte RAM ROM l adresse convenable Le CPU voit la carte RAM ROM comme une ROM programme et peut donc ex
16. e FENETRE REG Le contenu des 128 octets du SFR est accessible par cette fen tre Adresses de 80 FF FENETRE SEL Elle permet d afficher la valeur de 8 variables s lectionn es par l utilisateur et dont la surveillance est int ressante pour le programme test Le d placement dans la fen tre de s lection se fait avec les touches et lt avec la touche Fi pour s lectionner la variable N de la fen tre Le choix de la variable est obtenu en pressant et le programme demande alors le type de variable C code X donn e de la RAM externe D data de la RAM interne B bits adressables ou R registre du SFR Il faut ensuite pr ciser l adresse de la variable dans le SFR R les noms tels que P1 DPTR sont accept s MODIFICATION D UNE VARIABLE Il s effectue en l activant affichage en sur intensit et en tapant la nouvelle valeur Le contenu des registres principaux est affich en permanence sous la fen tre de code EXECUTION DU PROGRAMME L ex cution du programme d marre en appuyant sur CTRL ESPACE elle est stopp e en appuyant sur ESPACE Il est possible de r aliser une ex cution pas pas en appuyant sur ALT ESPACE Le menu ex cution est accessible partir de la fen tre de code avec F3 le RESET est notamment obtenu partir de ce menu La modification du compteur programme s obtient avec le menu POSITION accessible depuis la fen tre de code avec F9 DRAPEAUX DE HALTE
17. er un programme tournant dans une version ROM ou PROM un mulateur de CPU paragraphe suivant est n cessaire pour les m mes raisons que plus haut les effacements successifs de la REPROM d un 8751 ne sont en pratique pas possibles Il existe cependant une alternative qui est l utilisation d un bo tier PIGGY BACK Il s agit d un microcontroleur classique avec ses bornes normales qui n a pas Le Microcontroleur 8051 de ROM interne mais dont le bo tier poss de en plus des 40 broches un support de composants de 24 ou 28 broches sur lequel on peut enficher une ROM ext rieure L utilisation d un tel bo tier est tr s simple le programme est charg dans l mulateur de ROM qui est connect sur le support suppl mentaire Lorsque la mise au point est termin e une PROM prend la place de l mulateur Apr s un test final le bo tier piggy back surmont de sa PROM programme est chang avec un vrai bo tier muni d une PROM interne 8051 ou 8751 Le seul inconv nient du syst me est son co t Une version Piggy back n existe que pour un petit nombre de CPU et n est disponible mais co teuse 300 600 F 1999 que chez un tr s petit nombre de fournisseurs en particulier MHS II faut noter que bien que co teux un tel bo tier est ind finiment r utilisable et malgr tout bien moins cher qu un v ritable mulateur de CPU ce type de circuit est sans doute maintenant introuvable La solution actuelle est de fai
18. il comprend au maximum 31 caract res il est suivi de 2 points Les mots r serv s de l assembleur sont interdits Un blanc n est pas ensuite necessaire Expl Debut mov P1 55H sjmp debut end lt Un END final est n cessaire Ce programme charge ind finiment 55H dans le port 1 Les donn es peuvent tre introduites en d cimal mov 65 en Hexad cimal mov A 41H un nombre Hexa doit toujours commencer par un chiffre mov B 0FFH et non FFH en binaire mov 1000001B ou m me en octal mov A 1010 ou 101q mais 65 est le code ASCII de la lettre A d ou une autre notation mov A A Le logiciel propose un certain nombre de DIRECTIVES nous ne citerons que les principales ORG Pour indiquer partir de quelle adresse doit tre implant le logiciel on utilise sur la ere ligne la commande ORG Par d faut le programme commence en 0 Par expl ORG 0 Inutile por un d but z ro Debut mov R1 123 sjmp debut end La directive ORG peut tre utilis e plusieurs fois dans le programme pour effectuer un saut de s quence dans la m moire org 0 debut mov a 55H mov P1 8AH org 20H sjmp debut end fournira apr s assemblage les codes suivants Adresse Codes Mn monique 0000 74 55 mov a 55H 0002 75 90 8A mov P1 8AH eee 3 Fe a ie m a Le Microcontroleur 8051 END Un END termine obligatoirement le programme Il y un seul END toutes les instructions situ es apr s un premier END sont ignor es
19. re appel des circuits dont la prom interne est une flash C est le cas du composant AT89C51 d Atmel voir plus loin 3 L mulateur de CPU C est le nec plus ultra des syst mes de d veloppement Il s agit d un syst me complexe pilot par un microprocesseur le plus rapide possible muni d un connecteur identique aux broches du CPU mul qu il est capable de simuler compl tement la vitesse r elle L mulateur ex cute les instructions implant es dans la ROM mais permet aussi examiner tout moment le contenu des registres internes gr ce des points d arr ts programm s Il s agit d un mat riel cher minimum 1000 Euros et fragile Si la vitesse d ex cution n est pas primordiale il est possible de r aliser avec un 80451 qui poss de de nombreux ports une version lente En effet les 4 premiers ports peuvent simuler les ports du 8751 tandis qu une ROM contenant le programme est pilot e par les 2 ports suppl mentaires P4 et P5 Un tel montage t d crit r cemment dans une revue d lectronique ELEKTOR Le Microcontroleur 8051 l ASSEMBLEUR A51 Cet assembleur est commercialis par Keil 1 Une version d valuation est disponible sur www keil com 1 La Syntaxe Chaque ligne a la structure suivante Label 8051_Mn monique Op rande Op rande Op rande Commentaires Les l ments entre sont optionnels Le Label tiquette en fran ais doit commencer par une lettre
20. successivement deux fen tres ACCES AUX FICHIERS puis FORMAT S lectionner Charge un programme dans la premi re puis HEX dans la seconde une nouvelle pression sur 1 fait appara tre Nom du fichier sur la ligne inf rieure de l cran Entrer ce nom avec l extension HEX par exemple TESTSMS HEX Si n cessaire pr ciser le chemin d acc s Si le fichier est pr sent une nouvelle fen tre s ouvre au centre de l cran indiquant que le chargement a bien t effectu Appuyer 2 fois sur 41 pour revenir au menu puis ESC pour effacer la fen tre ACCES AUX FICHIERS Avec la touche on bascule alors sur la cl D veloppement puis 1 Nous supposerons titre d exemple que le programme suivant t cod sous forme de fichier HEX gr ce A51 puis OHS51 ou des logiciels quivalents MOV P3 0FFH FF dans P3 MOV RO 01 Valeur initiale de RO BOUCLE MOV A R0O MOV P1 A Affichage de RO dans P1 LECTUR MOV A P3 CPL A Si P3 FF cela donne 0 JZ LECTUR Si P3 FF boucle de lecture de P3 INC RO Si P3 n est pas 0 RO est incr ment MOV R1 03 Dur e de la boucle DELAI DJNZ R1 DELAI Boucle de retard SJMP BOUCLE et retour a l affichage de RO END DEVELOPPEMENT L cran se pr sente sous la forme de diff rentes fen tres Une seule d entre elles est active son cadre est affich en surbrillance Figure suivante On passe de l une l autre avec les touches PAGET et PAGE La plus grande est la fen tre de codes c
21. t ce qui a fait son succ s
22. te fen tre SEGMENT C X D B R s ouvre Pour placer P1 on r pond R car P1 est un registre du SFR puis le nom de la variable P1 P3 est plac de la m me fa on en seconde position RO et R1 sont des cases de la RAM interne DATA il faut pr ciser leur adresses 00 et 01 car le programme n accepte pas leurs noms RO et R1 On revient alors dans la fen tre de codes et pour un premier test on lance le programme en ex cution pas pas apr s avoir par s curit effectu un RESET g n ral en pressant F3 puis RESET g n ral Le tableau suivant pr sente les contenus successifs de ACC Accumulateur au d but de la ligne en dessous de la fen tre de codes P1 P3 RO R1 dans la fen tre SEL Le passage d une ligne l autre s obtient par ALT ESPACE Il faut bien noter que le contenu des registres indiqu sur une ligne est le r sultat de l x cution des lignes pr c dentes Instruction en surbrillance ACC P1 P3 RO R1 Commentaires MOV P3 FF 00 FF FF 00 00 Etatinitial MOV RO 01 00 FF FF 00 00 P3 FF MOV A RO 00 FF FF 01 00 RO t charg MOV P1 A 01 FF FF 01 00 ACC re oit RO MOV A P3 01 01 FF 01 00 Affichage de A dans P1 CPL A FF 01 FF 01 00 ACC pris la valeur de P3 soit FF JZ 0008 00 01 FF 01 00 ACC t compl ment MOV A P3 00 01 FF 01 00 ACC tant nul le saut a t effectu CPL A FF 01 FF 01 00 JZ 0008 00 01 FF 01 00 P3 valant toujours FF le saut va s effectuer de nouveau pour l vi
23. ter il faut modifier un bit de P3 pour cela on s lectionne le port P3 par CTRL Maj F3 puis CTRL F7 pour mettre z ro le bit 7 de P3 par exemple Noter la 00 01 7F 01 00 modification de P3 MOV A P3 00 0i 7F 01 00 Le saut lieu quand m me car la modification de P3 na pas t enregistr e dans A CPLA 7F 01 7F 01i 00 JZ 0008 80 01 7F 01 00 ACC contient le compl ment de P3 INC RO 80 01 7F 01 00 Le saut n a pas eu lieu MOV R1 03 80 01 7F 02 00 Incr mentation de RO DJNZ R1 0010 80 01 7F 02 03 Chargement de R1 DJNZ R1 0010 80 01 7F 02 02 D cr mentation de R1 DJNZ R1 0010 80 01 7F 02 0 D cr mentation de R1 SJMP 0005 80 01 7F 02 00 R1 ayant atteint 0 pas de saut MOV A RO 80 01 7F 02 00 Saut en d but pour affichage de la 77 nouvelle valeur de RO et examen de P3 etc Le Microcontroleur 8051 Revenons l tat initial par RESET F3 et lan ons maintenant une ex cution normale par CTRL ESPACE En haut de l cran le compteur d instructions t d fille rapidement sans qu une modification de P1 n apparaisse car pour le moment P3 FF Sans arr ter le d roulement modifions l un des bits de P3 par CTRL MAJ F3 puis CRTL F1 modification du bit 1 de F3 On observe alors la fen tre SEL le d filement de P1 et RO Pour arr ter ce d filement il suffit de revenir l tat initial de P3 par CTRL F1 il nest pas n cessaire de faire CTRL MAJ F3 car le port 3 est d ja s lectionn ce qui est indiqu en haut
24. w atmel com dyn product www raisonance fr t l charger d mo outils gratuits Le mot cl 8051 sur Google donne acc s des centaines de sites consacr s ce circuit Utilisation d un compilateur en langage volu L assembleur est un outil puissant mais sp cifique chaque type de CPU et qui demande un apprentissage assez long On trouve maintenant dans le commerce ou sur le web des compilateurs C qui convertissent directement un programme crit en C standard en une suite d octets pour le 8051 Voir PACIFIC EXE en freeware L emploi de cet outil n cessite cependant une connaissance minimale de la structure du CPU Le 8051 ne dispose pas d un cran et clavier et des instructions telles que printf ou scanf doivent tre adapt es de plus si l criture de programmes complexes faisant appel par exemple de nombreuses boucles conditionnelles if then else ou des calculs arithm tiques est grandement facilit e assembleur reste l outil le plus efficace pour la gestion de fils sur les ports Un programme crit en C conduit toujours un code machine plus long que celui qui ex cute la m me t che mais crit en assembleur Les test du programme Un programme crit directement en assembleur ou en C puis compil ne fonctionne que tr s rarement du premier coup Il peut contenir des erreurs non d celables lors de l assemblage par exemple le chargement d une case m moire la place d une autre et ne tient
Download Pdf Manuals
Related Search
Related Contents
Gecko Pro Sleeve 15 DVM-60 MODE D`EMPLOI MC2plus manual (english, german) Kensington Contour Balance Notebook Case Istruzioni d`uso per il termoventilatore Stylies - Migros Muvit MUSCP0201 screen protector Copyright © All rights reserved.
Failed to retrieve file