Télécharger au format pdf
Télécharger au format pdf
Vous êtes sur la page 1sur 12
Global Trade Starts Here ‘Alibaba.com Ox Lis en ligne ou télécharge. Une vraie bibliothéque accéssible directement sur ton mobile, télécharge la facilement. @x Global Trade Starts Here Alibaba.com Lis en ligne ou télécharge. Une vraie biblicthéque accéssible directement sur ton mobile, télécharge la facilement. Global Trade Starts Here Alibaba.com Lis en ligne ou télécharge. Une vraie bibliothéque accéssible directement sur ton mobile, télécharge la facilement. DUT 1 Informatique, CNAMPans ‘TP "] Microcoatréleurs, 4. Principaux modes d'adressage du 6SHC11 Dans le jeu d'instruction de chaque microcontréleur (cespect. microprocesseur) il existe plusieurs modes d’adressage pour chaque instruction. A chaque mode dadressage comrespond une facon d’accéder (ou de manipuler) & des données. ‘Nous en étudierons les principaux modes d’adressage & travers plusieurs exemples. Le tableau suivant présente quelques exemples pour chaque mod d'adressage. ‘Type de Yopérende Exemgle LDAA WTA DAA #80111 LDAA#122 LDAA+@172 LDD #SA0FF EDX #50000 Valeur (1 02 octets) AG Thb Ag Th AG 7Ah Dé AIFFR X€CO00n LDAASS9 A € MMI) Adresse bar octet Bb) STAASI2 sarc € ca) x LDAA $1000 A. € eMTCL000B)) Adresse sur2octets(I6bis) Stas s1a00 MICLA00B] € @) Digiassonens Cosette 1S) PS EDA. AS (MIG) +9) report aYakrsseconemue dmslelrpaasiox [A € OvfG0 + 10a) PCR € (PCR) Saut (1 octet en signé) par sapport| BEQ éuiquettet au Compteur de Programme BRA étquett2 [Fin de décodage d’insruction = Saut INCA AC @)t1 CLRA Aco 4.1. Mise en ceuvre des modes d’adressage sur Kit 68HC1IEVBU2 Pour toutes les questions qui suivent, il est conseillé de vous référer et de vous aider du jeu instruction du 6SHC11 fournit en annexe, ainsi que des indications doanées précédemment. Créez des fichiers textes pour vos programmes et assemblez-les, comme indiqué précédemment, enfin téléchargez-les dans le kit 68HC11EVBU? et exécutez-les en pas a pas. Pour commencer l'exécution dun programme, il faut mete le compteur de programme Gregistre PC) a Vadresse 8000p avec 12 commande RM (Register Modify) suivi du nom de registre concemé (P en l'occurrence) et appuyez sur Ia touche DUT 1 Informatique, NAM Paris TP-n"1 Microcoausdteurs RMP Saisir alors la valeur $000 puis appuyez & nouveau sur la touche Enrelancant la commande RM, on peut verifier la valeur du compteur de programme. Pour lancer l'exécution de 2 lignes du programme en mode pas & pas & pattir de la position actuelle du compteur de programme, tapez la commande suivante et appuyez sur la touche | T2 ‘Vous devez obtenir quelque chose comme ceci : or? cuRA P8001 ¥-FEFF X-FFEF A-00 5-1 Epaa #54a 28003 Y-FEEE X-FEEE anda 57: > ‘L'HyperTerminal indique le contens des registres du microcontréleur pour chaque instruction exécutée du programme. Pour la deuxiéme instruction ci-dessus, on peut observer que les valeurs suivantes + leregistre P (Compteur Ordinal) contient la valeur $003(16). « les registtes indexés ¥ et X contiennent le valeur FFFF (16), ‘+ Taccumulateur A contient la valeur 44(16) * Yaccumulateur B contient la valeur FF(16). « le registre CCR contient fa valeur 90(16). « et le registre de pile S contient la valeur 0041(16) Pour connaitre ensemble des commandes possitles avec la carte 6SHCI1, tapez la commande suivante et appuyez sur la touche ‘Vous obtiendrez ceci ASM [] Line asm/disasm, (/,-] Same a (,-] Prev addr, [+,CTLI] Next addr, [CR] Next opecde, [Sdata>] Block £111 memory, BR [-] [] up bipt table, BULK Erase EEPROM, EULKALL Ezase EEPROM and CONFIG CALL [] Call subroutine G0 [} Execute code at addr, PROCEED Continue execution, EEMOD [ []] Modify EEPROM range, LOAD, VERIFY [7] Load oz verify S-reconds DUT 1 Informatique, NAM Paris TP-n"1 Microcoausdteurs MD [ []] Menory dump, Memory Modify, (4,670, SPACE} caddr>o Compu Quit, E <22> [] Block move, OFFSET [-) 0ffse¢ for download, HU [P,¥,%,A,B,C,3] Register modify, STOPAD Trace until addr, T [] Trace n instructions, IM Transparent mode (CTLA = exit, CTLD = send brk), feria] Wait, [CTLH, DEL] Abort, [eR] Repeat last amd a) Adressage immédiat En adressage immediat, il faut impérativement faire préceder Fopérande du symbole #. > Donnez en hexadécimal la valeur que doit contenir l’accumulateur A a la fin de chacune des instructions suivantes. DAA 7A, mole §précédent une taleur donnée enhexadécimal DAA #210011100, symbole % précédent une valeur dome on binae LDAA#@217 symbole @ précédent me valeur domée ex octal DAA +100 uc symbole prévélent une vleur donne en cima LDAA# 2 code ASCII doune entre quote ‘Vérifiez sur le maquette les valeurs que vous obtenez. Pour cela. vous devrez créer un programme avec les lignes ci-dessus, lassembler et le charger dans la mémoire RAM du microcontdleur. Vous exécuterez ensuite votre programme en mode pas-a-pas 3 Taide dela commande: T1 Méme question avec F'accumulateur D. Vérifiez_ vos réponse en_exécutant_ce programme sur la maquette Donnez en hexadécimal la valeur que doit contenir 'accumulateur A a la fin de ce petit programme. Le vérifier en l'exécutant sur la maquette LDAA #533 ADDA +927 SUBA #04 a) Adressage inhérent ou implicite Lradressage est dit « inhérent » ou « implicite » lorsque I'instruction ne posséde pas @opérande. > Domnez en hexadécimal la valeur que doit contenir l'accumulateur B a la fin de ce DUT 1 Informatique, NAM Paris TP-n"1 Microcoausdteurs petit programme. Le verifier en I'exéeutant sur la maquette ciRB INCE INCE ASLB b) Adressage direct et étendu (accés disect au contenu des cases mémoire par leur adresse) > —_Donnez en hexadécimal la valeur que contiendront les accumulateurs A et D ala fin de chaque instruction. Le vérifier en exécvtant le programme sur la maguette. Indice : vous pouver utliser la commande MD pour visualiser le contenu de la mémoire a ladresse . DAA GO + inet (neste sur 9 bits) DAA $3000 tend (adieste sur 16 bis) TDD 3010 Bemarue : Il ext courant do confondre advessage étondu ot adressage immidiat (se souvenir qu'on adressage imnédiai, il faut obligatotrement utiliser le préfixe +). Les conséquences en Sont catastrophiques. Faire donc trés attention. > — Rechargez le programme précédent, puis exécutez 2 commande suivante avant dexécuter en mode pas-a-pas le programme. ‘MD30 puis taper le nombre 5S et enfin sur la touche ‘Donnez en hexadécimal la valeur que contiendront les accumulateurs A et D ala fin de chaque instruction. Le vérifier en exécutant le programme surla maquette 5, Affichage d’un chiffre sur un afficheur 7 segments Un afficheur 7 segments est connecté aux bits PA7, PAG, PAS, PA4 du Port A du kit (68HC1EVBU2 a travers un décodeur BCD 7 segments. PORTA du e8H011 DUT 1 Informatique, CNAM Paris -‘TP-n°l Microcontrdteurs 11722 Une valeur de 4 bits envoyée sur les broches PA7 2 PA4 da microcontréleur devrait provoquer son affichage en décimal sur I’affickeur 7 segments. Seulement, la broche PA7 Vest pas « configurée » initialement comme une sortie comme le sont ixitialement les broches PAS a PAS (voir schéma ci-dessous). Port A LETT PAT PAG PAS PAd PA3 PAD PAL PAG Pour programmer la broche PA7 en sortie, il faut mettre 2 leat «1» le bit DDRA7 a Fadresse 1026, a Les instructions 3 écrie sont les suivantes WDAs #80 STAA S106 PAT ensorie > Expliquez ce que font ces 2 instructions Pour envoyer maintenant une valeur sur les broches PA7 2 PA4, il suffit de l'écrire a adresse $1000 correspondant aux entrées/sorties du Port A. > Ajoutez aux deux instructions précédentes les instructions permettant d’aflicher la ‘valeur « 5» sur I'afficheur 7 segments. Faites I'essai sur la maquette : > Essayer maintenant toutes les combinaisons possibles pour PAT a PA4 et notez les valeurs affichees Indice : vous pouvez aller consulter V'annexe 2 en fin de sujet pour obtenir les différentes valeurs. 6. Affichage alterné de chiffres 6.1. Adressage relatif Soit le morceau de programme suivant BOU + Expliquez son séle (aidez-vous du jeu d'instruction pour comprendre comment fonctionne I instruction BNE). DUT 1 Informatique, NAM Paris TP-n"1 Microcoausdteurs (Que représente « BOU »i dans ce programme ? Implémenter ce programme et exécuter-le en mode pas-d-pas. Que fait ce programme (examinez le contenu du registte X) ? Déterminez le nombre total de cycles d’horloge nécessaire & son exécution. (On utilise une horloge 82 Miz. Quelle sera la durée totale de ce programme? 6.2. Afffichage alterné de 2 chiffres On veut écrire un programms qui affichera en alternance 2 chifftes différents et ce une seconde chacun. Soit le morceau de programme suivant - LDY #1000 BOUL LDX +200 BOU DEX NOP ‘NOP BNE BOU DEY BNE BOUL + Expliquez son role (Quelle sera sa durée approximative ? Eonire le programme qui fera altemer toutes les secondes I’ affichage de 2 chifires. assembler, le tester et le metire an point sur la maquette. Ne pas oublier de configures la broche PAT en sortie! Remarque * Pow réaliser une boucle « inconditionnelle » on utilise I'mstruction BRA, de la meme mantere que BNE en donrant un nom d'érquene a I'tnstruction vers laquelle on souhaite effectuer le branchement. DUT 1 Informatique, CNAM Paris TP-n°l Microcoatsdleurs 63. Autre exemple pour afficheur LCD Ecrivezle programme suivant et faite-le fonctionner. ORG $8000 LDAA #980 STAA $106 cLRA STAA $1000 ; Affichage en sortie LY #1000 IDX #200 DEX, NOP NOP BNE boa DEY BNE boul ADDA #810 CMPA #840 BNE. sie CLR STAA $1000 BRA bow © Constatation ? © Modifier ce programme pour que Iaffichage varie toutes les 0.1 seconde, + Expliquez comment on fait varier le chifite affiché et comment oa le remet 4 «0». 6.4. Adressage indexé Lvadressage indexé trouve tout son intérét lorsqu’il s'agit de manipuler des tableaux de valeurs (rangées dans des cases mémoires successives). On se sert a cet effet de registres spécifiques appelés « registres d’index », qui permettent de pointer les cases mémoire successives en modifiant, soit le contenu du registre d'index (adresse sur Taquelle on désire pointer) soit le déplacement par rapport au contenu de ce registre index (accés aléatoire 4 une case mémoire & partir de adresse de base). On peut facilement faire le paralléle entre adressage indexé et les pointeurs en langage « C » ou Vaceés aux valeurs dans un tableau. a) Visualisation sur un afficheur 7 segments des valeurs contenues dans un tableau Ecrivez le programme suivant et faite-le fonctionner. ORG $5000 #800 $1026; PaTen sortie $1000. ; Affichage “0 *TAB_CODES DUT 1 Informatique, NAM Paris TP-n"1 Microcoausdteurs bow LDAB 0X BEQ deb DX STAB $1000 LDAA 2200 LDY #1000 DEY BNE boa DECA BNE boul BRA bow? ‘TAB_CODES feb $10, $50, $50, $70, $80, $20,540, $60, $80,500 + Constatation ? Comparez les valeurs affichées avec la documentation en Annexe zi Expliquez ce que contient le registre d'index Xa chaque étape du programme ‘Vérifiez sur la maquette I'évolution des valeurs du registre d'index X et de celles de I’accumulateur B. Pour cela. il faut mettre un point d'wrét & l'aide de a commande BR du monitewr de la carte 68HCIIEVBU? et mettre d la place de l'adresse de Pinswruction LDAB 0X (@ rower). Puls taper la commande GO 8000 sutvie de la commande T. Réitérer cette procédure en tapant la commande T sutvie de la commande GO a chaque arrét du programme. Vous pourrez ainsi aisément observer le contenu des registres souhaités Pour enlever ies points d’arréts, taper la commande BR - + Modifier ce programme pour afficher d'abord les chifiies pairs, puis les chifires impairs. ‘Modifiez ce programme afin qu'il affiche les 4 bits de poids fort contenus dans les cases mémoires allant de l'adresse BS00, 2 l'acresse BS10». L’étiquette TAB_CODES ne sert plus dans ce cas. Pour tester votre programme, mettex au préalable des valeurs conmues aux adresses 3500; &B810x DUT 1 Informatique, NAM Paris TP-n"1 Microcoausdteurs 7. Annexe : tableau d’instructions du 68HC11 Tableau 1/6 step) — serererriere es bocrtore aTSeX | RIWATSD asa Y_[ = 10-6) awecany| Rost SR aT De Daegzege3|e| S5ae7| 25554 =995 el ‘envy Sag eS ae ‘emery omen aaaaey a3 3 = a ee ee x “ a Sita aS Sonat Sane chai Ra shares ITT DUT 1 Informatique, CNAM Paris Tableau 2/6 ‘TP n°l Microcoatéteurs aT PE WEUET Baer = ie Higeroe "ENG Tet BEET ea Tan [RET Baers Oey] ‘oe BRET | Banen a= PC Ta aa iis) Onur ara a SSRaeF EAS] TOT Se 3] 334 ESET ER | SEEST 33333 SATS | Fae Susana OT Br verona Ware) Bare creo Set | oars ne oe for ar Vas Ca ETT ene Teer cc Ts OvaTow Fg Capa vemoy ae ‘emoy

Vous aimerez peut-être aussi