23
Royaume du Maroc OFFICE DE LA FORMATION PROFESSIONNELLE ET DE LA PROMOTION DU TRAVAIL MODULE 11 Introduction aux Microprocesseurs Travail Pratique Télécharger tous les modules de toutes les filières de l'OFPPT sur le site dédié à la formation professionnelle au Maroc : www.marocetude.com Pour cela visiter notre site www.marocetude.com et choisissez la rubrique : MODULES ISTA Première Année Programme de Formation des Techniciens Spécialisés en Électronique DIRECTION DE LA RECHERCHE ET INGENIERIE DE LA FORMATION Septembre 1995

AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Embed Size (px)

Citation preview

Page 1: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Royaume du Maroc

OFFICE DE LA FORMATION PROFESSIONNELLE ET DE LA PROMOTION DU TRAVAIL

MODULE 11 Introduction aux Microprocesseurs

Travail Pratique

Télécharger tous les modules de toutes les filières de l'OFPPT sur le site dédié à la formation professionnelle au Maroc : www.marocetude.com Pour cela visiter notre site www.marocetude.com et choisissez la rubrique : MODULES ISTA

Première Année

Programme de Formation des Techniciens Spécialisés en Électronique

DIRECTION DE LA RECHERCHE ET INGENIERIE DE LA FORMATION Septembre 1995

Page 2: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

INTRODUCTION AUX MICROPROCESSEURS TRAVAIL PRATIQUE

Écrire des Programmes en Assembleur

TECCART INTERNATIONAL 2000 inc. 3155, boul. Hochelaga,

Montréal, Québec (Canada)

H1W 1G4

RÉDACTION Serge Leblanc DESSINS ET CONCEPTION GRAPHIQUE Serge Leblanc RÉVISION TECHNIQUE Pierre Asselin & Christian Lépine RÉVISION LINGUISTIQUE François Gaudreau

COMMISSION DE VALIDATION

Formateurs de l'OFPPT

Les droits de reproduction et de diffusion de ce document sont cédés par Teccart International 2000 inc. à l’Office de la Formation Professionnelle et de la Promotion du Travail du Royaume du Maroc, pour sa propre utilisation au Maroc.

Mis à part l’OFPPT, toute reproduction, en tout ou en partie, par quelque procédé que ce soit, est interdite.

Mp_Tp3.Doc, imprimé à Montréal, le 23 février 2014

Page 3: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

TABLE DES MATIÈRES

3. ÉCRIRE DES PROGRAMMES EN ASSEMBLEUR 3-1

3.1 Information générale 3-1 3.1.1 Compétence visée 3-1 3.1.2 Critères particuliers de performance: 3-1 3.1.3 Durée du travail pratique: 3-1 3.1.4 Matériel nécessaire par équipe: 3-1 3.1.5 Directives: 3-1 3.1.6 Évaluation: 3-1 3.1.7 Points particuliers à surveiller: 3-1

3.2 Discussion 3-2

3.3 Logiciel de gestion 3-3 3.3.1 Édition des programmes 3-4 3.3.2 Assembleur & éditeur de liens 3-5 3.3.3 Transfert de programmes au système Mod. E6809 3-5 3.3.4 Connexion avec le Programmeur d'EPROM. 3-7

3.4 Assembleur 6809 3-8 3.4.1 Syntaxe de l’assembleur 3-8 3.4.2 Directives de l’assembleur 3-9

3.5 Montage d’un interface d’entrée/sortie 3-10 3.5.1 Vérification du dispositif de sortie 3-10 3.5.2 Schéma électrique du dispositif d’entrée/sortie 3-11

3.6 Exercices 3-12 3.6.1 Exercice #1, Compteur binaire 3-12 3.6.2 Exercice #2, Générateur de fréquence 3-15 3.6.3 Exercice #3, Lire et écrire sur le dispositif d’entrée/sortie 3-16 3.6.4 Exercice #4, Onde carré à 1 Hz 3-17 3.6.5 Exercice #5, Chenillard 3-18 3.6.6 Exercice #6, Lecture d’interrupteurs et décisions 3-19

Page 4: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

3. Écrire des Programmes en Assembleur

3.1 Information générale

3.1.1 Compétence visée • Écrire un programme opérationnel en langage assembleur.

3.1.2 Critères particuliers de performance: • Utilisation adéquate des différents modes d’adressage des instructions.

• Dépannage efficace des problèmes rencontrés dans un programme.

3.1.3 Durée du travail pratique: • La durée de ce travail pratique est de 9 heures

3.1.4 Matériel nécessaire par équipe: • Système Mod. E6809 et Logiciel de gestion. • Module d’expérimentation Z1A. • Ordinateur personnel IBM-AT • Circuits intégrés SN74244 et SN74374. • Interrupteurs de type dip switch, résistances et LED. • Pinces à dénuder et fils #22. • Oscilloscope avec deux sondes.

3.1.5 Directives: • Le travail se fait en équipe de deux stagiaires. • Le rôle des formateurs est d’aider les stagiaires à atteindre les critères particuliers

de performance.

3.1.6 Évaluation: • Ce travail pratique est formatif mais est quand même corrigé par le formateur. • Lorsque vous avez terminé vos expériences, faites vérifier le fonctionnement de

votre programme et remettez ce feuillet à votre formateur qui en fera la critique.

3.1.7 Points particuliers à surveiller: Le stagiaire doit s’appliquer à réaliser des programmes fonctionnels et structurés. La structure modulaire lui permettra de dépanner plus facilement ses programmes. De plus, ces derniers doivent être documentés afin d’en faciliter l’analyse.

Programmes en Langage Assembleur Page 3-1 OFPPT/TECCART

Page 5: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

3.2 Discussion

Dans ce travail pratique, vous aurez à vous familiariser avec le développement complet d’une solution à un problème, à l’aide d’un programme en langage assembleur.

Le système à microprocesseur E6809 est doté d'un moniteur en mémoire EPROM qui permet l'insertion de programmes directement en code machine. Cette façon d'opérer a une grande importance lorsqu'on veut enseigner aux stagiaires les principes de base du microprocesseur et que les programmes que l'on développe sont très réduits. Quand les applications sont plus complexes, il faudra écrire les programmes en langage assembleur (code mnémonique) et les transformer automatiquement (pas manuellement) en code machine.

Pour cette raison, le système à microprocesseur E6809 est équipé d'une connexion avec l'ordinateur personnel. Les phases de développement d'une application deviennent donc les suivantes:

1 - créer un ordinogramme afin de structurer la solution; 2 - écrire un programme, en langage assembleur, dans l'ordinateur personnel; 3 - transformer automatiquement le programme en code machine au moyen d'un

programme d'assemblage; 4 - générer un programme exécutable, avec mémorisation requise par le E6809, au

moyen d'un éditeur de liens; 5 - transferer un programme à la mémoire vive du système à microprocesseur E6809; 6 - exploiter un programme dans le E6809 à travers les comrnandes du moniteur; si le

prograrnme ne fonctionne pas correctement, on repart de la phase 1 en introduisant les modifications nécessaires.

Afin d'obtenir ces performances, le système à microprocesseur E6809 est équipé d'un logiciel à système d'exploitation MS-DOS, qui inclut:

• un logiciel principal de gestion; • un assembleur pour le MC6809; • un éditeur de liens pour le MC6809; • un logiciel de communication; • un programme de gestion du programmeur d'EPROM.

Les sections suivantes décrivent ces programmes de façon détaillée.

ATTENTION ! On doit ajouter un NOP, juste avant le END, à la fin de chaque programme afin que le tranfert des données s’effectue correctement.

Programmes en Langage Assembleur Page 3-2 OFPPT/TECCART

Page 6: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

3.3 Logiciel de gestion

Sur le disque de l’ordinateur personnel, localisez le répertoire du logiciel de gestion. Le nom de fichier de ce logiciel est E6809.EXE. Le logiciel de gestion est initialisé avec la commande: E6809 Retour

À ce moment-là, l’image montrée à la Figure 3-1 apparaît sur l’écran.

SOF T WAR E DE VE L OP P E M E NT T OOL S f o r E 6 8 0 9

E DI T ORP r o g r a m e d i t i n g

68 0 9 ASSE M BL E RP r o d u c e s

M a c h i n e Co d ef r o m

M n e m o n i c s

P E RSONAL

COM P UT E R

M I C R O C O M P U T E R - T R A I N E R E 68 0 9

R A M M E M ORY E P ROM M E M OR Y

E P R O MP ROGR AM M E R

1

2

3

4

SE L E CT I ONS: 1 / 2 / 3 / 4 F 1 = Q UI T

Figure 3-1

Les possibilités de fonctionnement du logiciel de gestion sont les suivantes:

1 - Édition des programmes; 2 - Assembleur + éditeur de liens; 3 - Transfert des programmes au rnicroprocesseur E6809; 4 - Gestion du programmeur d'EPROM.

Programmes en Langage Assembleur Page 3-3 OFPPT/TECCART

Page 7: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

3.3.1 Édition des programmes Après avoir sélectionné l’option #1, vous verrez à l’écran la Figure 3-2.

P r o g : p r o v a E D I T A S S E M B L E R P R O G R A M S

T h e p r o g r a ms i n Asse mb l e r l a n g u a g e c a n b e wr i t t e n wi t h a n o r ma l Wo r d P r o c e ssi n gl i k e :

; sq u a r e - wa v e wi t h D/ A c o n v . - E DI T M S- DOS E d i t P r o g r a m ORG 0 20 0 H ST AR T : L DB # $ 0 0 o u t 0 - WORD- ST AR Wo r d P r o c e ssi n g f r o m M i c r o P r o ST B $ 1 8 0 0 L DA # 1 - WORD Wo r d P r o c e ssi n g f r o m M i c r o so f t J SR $ F 8 0 0 wa i t

L DB # $ F F o u t 8 Yo u c a n q u i t t h i s p r o g r a m a n d r u n y o u r Wo r d ST B $ 1 8 0 0P r o c e sso r ( F 2 ) . L DA # 1Yo u c a n r u n t h e DOS E DI T p r o g r a m t y p i n g F 3 . J SR $ F 8 0 0 wa i t J M P ST ART l o o pYo u c a n i n se r t t h e p r o g r a m i n t h e wi n d o w o n t h er i g h t e n d o f t h e sc r e e n . E NDT h i s p r o g r a m i s st o r e d i n t h e f i l e : P R OVA. ASM

( T h e e x t e n si o n . ASM i s r e q u i r e d b y t h e a sse m -b l e r p r o g r a m) .

SE L E CT I ONS: F 2 = e x i t t o DOS F 3 = r u n E DI T F 4 = P r o g r a m n a me F 1 = Q UI T Û

Figure 3-2

On peut employer n’importe quel éditeur de texte ASCII pour l’écriture des programmes.

L’option F3 sélectionne automatiquement l’éditeur du MS-DOS qui est très approprié à cette tâche.

L’option F4 permet de changer le nom du fichier et ne doit pas être accompagné d’un extension.

Résumé des options:

• F2 = retour au MS-DOS • F3 = appel de l’éditeur du MS-DOS • F4 = pour changer le nom du fichier

Programmes en Langage Assembleur Page 3-4 OFPPT/TECCART

Page 8: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

3.3.2 Assembleur & éditeur de liens Après avoir choisi l’option #2 du menu principal du programme de gestion, vous verrez à l’écran une page vidéo comme le montre la Figure 3-3.

P r o g : p r o v a U S I N G 6 8 0 9 A S S E M B L E R

T o g e n e r a t e t h e 68 0 9 m a c h i n e c o d e f r o m Asse mb l e r L a n g u a g e , n o r ma l l y y o u h a v e t od o t wo o p e r a t i o n s:

ASSE M BL I NG: T o a sse mb l e y o u r p r o g r a m si mp l y t y p e F 3 ; T h e a sse mb l e r r e a d s t h e f i l e wi t h . ASM e x t e n si o n a n d g e n e r a t e s a . OBJ f i l e a n d a . L ST f i l e wi t h t h e l i st o f t h e p r o g r a m. Use a n y e d i t o r p r o g r a m t o l o o k a n d t o p r i n t t h e . L ST f i l e .

L I NK I NG: T o l i n k y o u r p r o g r a m si mp l y t y p e F 4 ( o r F 5) ; - F 4 p r o d u c e s a n E XE f i l e t h a t c o n b e t r a n sf e r r e d t o E 68 0 9 - F 5 p r o d u c e s a n HE X ( i n t e l ) f i l e f o r E p r o m p r o g r a mme r

F 2 = DOS F 3= Asse mb l e r F 4 = L i n k ( E XE ) F 5= L i n k ( HE X) F 6= P r o g . Na m e F 1 = QUI T Û

Figure 3-3

À partir de cette page vidéo, il est possible d’appeler directement l’assembleur et l’éditeur de liens du 6809.

L’assembleur F3 transforme le code mnémonique en code machine et génère, à partir du fichier source, deux autres fichiers dont un avec l’extension .LST pour le liste du programme assemblé et l’autre, avec l’extension .OBJ nécessaire à l’éditeur de liens.

L’éditeur de liens F4 génère le programme final .EXE. On trouve dans ce fichier tous les codes machines de notre programme; c’est le code exécutable que l’on transfert au système Mod. E6809. L’éditeur de liens se sert du fichier .OBJ généré par l’assembleur.

Par l’option F5, on appel encore l’éditeur de liens pour générer le fichier .EXE dans un format Intel compatible avec le programmeur de EPROM. Ce fichier peut être visualisé facilement sur écran puisque les codes contenus dans ce fichier sont sous la forme ASCII.

Résumé des options:

• F2 = Retour à MS-DOS • F3 = Assembler le fichier source, génère les fichiers .OBJ et .LST • F4 = Appeler l’éditeur de liens, générer le fichier pour le module E6809 • F5 = Appeler l’éditeur de liens, générer le fichier pour le programmeur • F6 = pour changer le nom du fichier

3.3.3 Transfert de programmes au système Mod. E6809 Voici l’écran qui apparaît lorsque vous sélectionnez cette option.

Programmes en Langage Assembleur Page 3-5 OFPPT/TECCART

Page 9: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

P r o g : p r o v a T R ANSF E R P R OGRAM S BE T WE E N E 68 0 9 AND I BM P E RSONAL COM P UT E R

Wi t h t h i s p r o g r a m i t i s p o ssi b l e t o t r a n sf e r p r o g r a ms b e t we e n t h e E 68 0 9 M i -c r o c o mp u t e r T r a i n e r a n d a n I BM c o m p a t i b l e P C.

COM P UT E R E 68 0 9T h e R S- 232 se r i a l i n t e r f a c e i s u se d t o c o n n e c tt h e t wo d e v i c e s. T h e c o n n e c t i o n mu st b e d o n e T XD 2 þ Ä Ä Ä Ä Ä Ä Ä þ 3 RXDa s i n d i c a t e d i n t h e f i g u r e . RXD 3 þ Ä Ä Ä Ä Ä Ä Ä þ 2 T XDNo w y o u c a n : RT S 4 þ Ä Ä Ä Ä Ä Ä Ä þ 5 CT S

GND 7 þ Ä Ä Ä Ä Ä Ä Ä þ 7 GND T R ANSF E R P R OGRAM S T OWARD T HE E 68 0 9 CT S 5 þ Ä Ä Ä Ä Ä Â Ä þ 4 R T SYo u m u st se t t h e M CZ - 8 0 f o r d a t a r e c e p t i o n wi t h DSR 6 þ Ä ¿ À Ä þ 8 DCDt h e c o mma n d : DO F C A 0 DT R 20 þ Ä Ùa n d t h e n y o u m u st se l e c t , o n t h e P C, t h e p r o -g r a m y o u wa n t t o t r a n sf e r .T h e p r o g r a m i s l o a d e d o n t h e E 68 0 9 st a r t i n g f r o m a d d r e ss : 0 2 0 0 H.

T R ANSE R P ROGRAM S F ROM E 68 0 9 T O T HE P . C.Yo u m u st se t t h e P e r so n a l Co m p u t e r f o r d a t a r e c e p t i o n sp e c i f y i n g t h e n a me o ft h e f i l e f o r d a t a . T h e n y o u mu st g i v e t h e f o l l o wi n g c o mma n d o n t h e M CZ 8 0 : DO F C C 0T h e d a t a f r o m 0 20 0 H t o 0 7 F F H a r e t r a n sf e r r e d t o t h e P . C. .

T = t r a n sm i ssi o n t o E 68 0 9 R= r e c e i v i n g f r o m E 68 0 9 F 6= P r o g . Na me F 1 = Q UI T Û

Figure 3-4

On peut transférer directement les programmes au système Mod. E6809 en connectant un câble entre le port série COM1 de l’ordinateur personnel et le port série du système Mod. E6809. Le câble connexion est fourni avec le système.

La vitesse de transmission utilisée est 9600 baud. Il faut donc régler la sélection par le cavalier J30/31 du module à cette vitesse.

On peut également transférer les données contenues dans la mémoire vive du système Mod. E6809 à un fichier de l’ordinateur personnel.

Pour transmettre un fichier du PC au système Mod. E6809, exécutez la commande DO FCA0 sur le système Mod. E6809 et ensuite appuyez sur la clé T de l’ordinateur personnel. Même si la vitesse de transmission d’un code est élevé, le transfert d’un fichier est relativement long à cause d’un délai inséré entre les codes envoyés (≈ 80ms).

Pour recevoir un fichier provenant du système Mod. E6809, appuyez sur la touche R de l’ordinateur personnel et ensuite exécutez la commande DO FCC0. Le contenu des adresses mémoires $0200 à $06FF est envoyé à l’ordinateur personnel.

Résumé des options:

• T = Transmission du fichier exécutable au système Mod. E6809. • R = Réception d’un fichier binaire provenant du système Mod. E6809. • F6 = Identifie le du fichier que l’on désire utilisé.

Programmes en Langage Assembleur Page 3-6 OFPPT/TECCART

Page 10: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

3.3.4 Connexion avec le Programmeur d'EPROM. Les programmes que l'on développe peuvent être transférés au programmeur d'EPROM pour écrire définitivement ceux-ci dans une mémoire non volatile.

Cette mémoire peut être insérée ensuite dans la fiche libre du système E6809 pour l’emploi immédiat des programmes.

On signale que les adresses de la mémoire EPROM de l’usager USER EPROM sont comprises entre $E000 et $EFFF et que les programme s doivent être prédisposés pour ces adresses avant d'être transférées.

Le programmeur d'EPROM emploie normalement le protocole HEX Intel pour le transfert des données et, par conséquent, les programmes doivent être générés par l'Éditeur de Liens en utilisant cette option.

Lorsqu'on a déjà initialisé le programme de gestion du Programmeur d'EPROM, on sélectionne l'option:

3 - Transmit;

et après on spécifie le nom du fichier à transmettre.

Programmes en Langage Assembleur Page 3-7 OFPPT/TECCART

Page 11: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

3.4 Assembleur 6809

L’assembleur est mis en marche par le programme E6809.

Si vous utilisez l’assembleur à partir de MS-DOS, il faut simplement donner la commande suivante:

A6809 NomProg.ASM NomProg.OBJ -dx; puis, pressez la touche Retour

L’assembleur traduit les mnémoniques en code machine et génère les fichiers:

• NomProg.OBJ qui est le fichier nécessaire à l’éditeur de liens; • NomProg.LST qui est la liste assemblée du programme, le listing.

3.4.1 Syntaxe de l’assembleur

Les chiffres

L’assembleur interprète par défaut les chiffres en base 10. Pour utiliser d’autres bases, il faut ajouter les suffixes suivants après le chiffre.

B binaire O octal D décimal H hexadécimal

Les chiffres hexadécimaux peuvent être marqués aussi par le préfixe $ (ex: $F800).

Caractères

Une chaîne de caractères peut être spécifiée de deux façons différentes:

chaîne de caractères; chaîne de caractères.

Commentaires

Une ligne de commentaire doit avoir un * ou un ; dans la première colonne.

Étiquettes

Les étiquettes sont sensibles aux lettres minuscules et majuscules. Elles ont une longueur de 32 caractères au maximum. Si elles se terminent avec un «:» , elles peuvent commencer à n’importe quelle colonne, sinon il faut les insérer à partir de la première colonne.

Programmes en Langage Assembleur Page 3-8 OFPPT/TECCART

Page 12: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

3.4.2 Directives de l’assembleur ASCII introduit une chaîne de caractères; Ex: ASCII chaîne

BLKB réserve un certain nombre d’octets pour y mémoriser une valeur; Ex: BLKB size, value BLKB 10,$AA

BLKL réserve un certain nombre de mots à 32 bits pour y mémoriser une valeur; Ex: BLKL size, value BLKL 5,$0011FFFF

BLKW réserve un certain nombre de mots à 16 bits pour y mémoriser une valeur; Ex: BLKW size, value BLKW 5,$FFFF

BYTE mémorise des valeurs à 8 bits dans des emplacements de mémoire contigus; Ex: BYTE 1,$FF,$00 ou: DB $0F

WORD mémorise des valeurs à 16 bits dans des emplacements de mémoire contigus; Ex: WORD $0F0F ou: DEFW $AAAA ou: DW $0000

END définit la fin du programme, cette directive doit être toujours présente. Placer également un NOP juste avant cette instruction.

ORG établit l’adresse initiale pour la transformation du programme en code machine;

EQU associe une étiquette à une valeur spécifiée. Ex: START EQU $F000

EXTERNAL spécifie que l’étiquette a été définie dans un autre programme; Ex: EXTERN LABEL1, LABEL2

LIST commence la génération d’une liste d’une section du programme;

NOLIST termine la génération d’une section de la liste du programme;

PAGE insère un saut de page dans la génération de la liste du programme;

PL établit la longueur de la page: Ex: PL 66

PW établit la largeur de la page: Ex: PW 80

Programmes en Langage Assembleur Page 3-9 OFPPT/TECCART

Page 13: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

3.5 Montage d’un interface d’entrée/sortie

Vous allez ajouter directement sur le bus de données du microprocesseur deux circuits logiques dans le but de réaliser un interface d’entrée/sortie. Le circuit SN74374 est utilisé comme port de sortie tandis que le circuit SN74244 sert de port d’entrée.

• Utilisez les plaquettes de montage disponibles avec le Module Z1A afin de réaliser le prototype de l’interface d’entrée/sortie tel que montré à la Figure 3-5.

Le dispositif de sortie est activé par le signal /C. Ce signal provient du décodeur d’adresse et répond aux adresses $2000 à $2FFF. Le microprocesseur pourra donc envoyer des données au dispositif, celui-ci devra les mémoriser de façon stable jusqu’à ce que de nouvelles données lui soient acheminées.

Le dispositif d’entrée est activé par le signal /D. Ce signal provient aussi du décodeur d’adresse et répond aux adresses $3000 à $3FFF. Le microprocesseur pourra donc lire des données logiques provenant du dispositif.

3.5.1 Vérification du dispositif de sortie Pour vérifier le fonctionnement du circuit, écrivez un programme qui envoie le code $FF sur le port de sortie pour éteindre tous les voyants. Débutez le programme à l’adresse $02A0. Le programme se termine par un retour au moniteur à l’aide d’un branchement inconditionnel à l’adresse $F000.

ADR. CODES MNÉMONIQUE

02A0

Écrivez un programme qui envoie le code $00 pour allumer tous les voyants. Débutez le programme à l’adresse $02C0. Le programme se termine par un retour au moniteur à l’aide de l’instruction.

ADR. CODES MNÉMONIQUE

02C0

Programmes en Langage Assembleur Page 3-10 OFPPT/TECCART

Page 14: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

3.5.2 Schéma électrique du dispositif d’entrée/sortie

10K

10K

10K

10K

10K

10K

10K

10K

+5v

9753

12141618

111315178642

74244IC1

1 19

20 10+5v

3478

13141718

256912151619

74374IC2

20

1 10

+5v

11

470R

470R

470R

470R

470R

470R

470R

470R

+5v

D0

D1

D2

D3

D4

D5

D6

D7

C

D

Figure 3-5

Programmes en Langage Assembleur Page 3-11 OFPPT/TECCART

Page 15: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

3.6 Exercices

Les prochains exercices utilisent le dispositif d’entrée/sortie. Les programmes à créer permettent de lire des interrupteurs branchés sur les entrées et de contrôler les voyants installés sur les sorties.

3.6.1 Exercice #1, Compteur binaire Le but de cet exercice est de se familiariser avec le développement de programme en langage assembleur. Il faudra:

• créer le programme source; • assembler le programme source; • identifier les fichiers générés par l’assemblage; • brancher le PC à la carte cible par le câble de communication série; • transférer le programme objet; • vérifier le fonctionnement du programme.

Créer le fichier source

Vous pouvez créer le fichier source avec un éditeur de texte ASCII. Le programme de gestion E6809 utilise par défaut l’éditeur de MS-DOS. Éditer le programme suivant: ******************************************************************* * fichier: COUNT.ASM * Ce programme fait un compteur binaire * sur le dispositif de sortie installé sur le module Z1A. * Le compteur est ralenti par un sous programme de délai * disponible dans la mémoire morte du système. * Quitter le programme par la touche reset. * DELAI EQU $F800 OUTPUT EQU $2000 ORG $0200 départ du programme DEBUT CLRB initialise la valeur de depart CONTINU STB OUTPUT ecriture sur le port INCB incrémente le compteur LDA #10 delai de 10 * 0.1s = 1 sec. JSR DELAI appel du sous programme JMP CONTINU boucle sans fin. NOP

• Sauvegardez votre programme et quitter l’éditeur afin de revenir au menu principal du programme de gestion.

• Sélectionnez l’option #2 du menu principal, on peut, dans ce menu, appeler l’assembleur ou l’éditeur de liens.

• Assurez-vous que le nom de votre fichier est le bon, sinon corrigez le nom du fichier par la touche F6.

• Faites l’assemblage du fichier source à l’aide de la touche F3.

Programmes en Langage Assembleur Page 3-12 OFPPT/TECCART

Page 16: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

Questions:

#1 Nommez les deux fichiers produits par l’assemblage du fichier source.

réponse: ____________________ et ____________________

#2 Lequel des deux fichiers sert à l’éditeur de liens?

réponse: ____________________

#3 Lequel des deux fichiers représente le listing du programme?

réponse: ____________________

Appel de l’éditeur de liens

On peut appeler l’éditeur de liens à partir du même menu que l’assembleur. Le module E6809 utilise le programme objet dans sa forme la plus élémentaire, c’est-à-dire, le code machine. Ce fichier exécutable est généré par l’éditeur de liens. Attention, l’éditeur de liens peut générer deux versions différentes, une compatible avec le module E6809 et l’autre, avec le programmeur de EPROM. Il faut donc choisir parmi ces deux formats celui qui convient.

Question:

#1 Quelle touche du menu Assembleur doit-on utiliser pour obtenir le fichier exécutable compatible avec le module E6809?

Réponse: ____________________

#2 Dans quelle situation avons-nous besoin du fichier dans le format intel? Réponse: ______________________________________________________________

______________________________________________________________

______________________________________________________________

Programmes en Langage Assembleur Page 3-13 OFPPT/TECCART

Page 17: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

Transfert du programme

Heureusement, on peut transférer le programme exécutable de l’ordinateur personnel au système Mod. E6809. Il faut utiliser un câble reliant le port série de l’ordinateur personnel au port série du système pour établir la communication. La procédure suivante vous permet de réaliser le transfert du programme.

1 - Branchez le câble de communication série. 2 - Choisissez l’option #3 du menu principal du programme de gestion. 3 - Assurez-vous que le nom du programme affiché dans le coin supérieur gauche de

l’écran correspond au programme que vous voulez transférer. S’il ne correspond pas, modifiez le nom du fichier avec l’option F6=Prog.Name.

4 - Placez le système Mod. E6809 en mode réception d’un fichier par la commande DO FCA0; cette commande permet l’exécution d’un programme de communication.

5 - Pressez la touche T du clavier de l’ordinateur personnel pour que celui-ci transfert vers le système E6809, le fichier exécutable. On retrouve les codes machines du programme à l’adresse $0200 dans la mémoire du système E6809.

Exécution et mise au point du programme

Faites exécuter le programme. Si le programme ne fonctionne pas, transférez à nouveau votre programme avant de tenter de dépanner le programme. Il est probable qu’un code de votre programme est été modifié et qu’il ne soit plus utilisable. Cela vous assure de travailler sur le dépistage du problème avec un programme qui n’est pas altéré. Utilisez la technique du point d’arrêt et le mode pas à pas pour localiser l’anomalie dans l’évolution des registres du microprocesseur et du même coup l’instruction fautive. Une fois que l’erreur est trouvée, modifiez le fichier source et regénérez le fichier .OBJ et .EXE; n’oubliez pas de transférer la nouvelle version du programme exécutable au système E6809.

Programmes en Langage Assembleur Page 3-14 OFPPT/TECCART

Page 18: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

3.6.2 Exercice #2, Générateur de fréquence Écrivez un programme à l’adresse $0200 qui fait un compteur de 8 bits sur les sorties du dispositif. Le programme boucle continuellement et le compteur compte le plus rapidement possible.

Écrivez votre fichier source avec l’éditeur; assemblez-le; transférez-le dans le module E6809; puis, vérifiez le fonctionnement du programme.

ÉTIQUETTE MNÉMONIQUE Opération Opérande

COMMENTAIRES

Vérifiez avec l’oscilloscope les signaux sur les sorties du dispositifs.

Questions:

#1 Sur quelle broche du dispositif de sortie trouve-t-on la fréquence la plus élevée? ________

#2 Sur quelle broche du dispositif de sortie trouve-t-on la fréquence la plus basse? _________

#3 Quel est le rapport de fréquence entre ces deux signaux? ___________

#4 Quel rapport de fréquence y a-t-il entre deux signaux consécutifs (exemple: Q2 et Q3)?

Programmes en Langage Assembleur Page 3-15 OFPPT/TECCART

Page 19: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

3.6.3 Exercice #3, Lire et écrire sur le dispositif d’entrée/sortie Écrivez un programme pour lire les interrupteurs branchés sur le circuit 74244 et transférez le code lu sur le circuit 74374. Le programme doit s’exécuter continuellement jusqu’à ce que l’on appuie par la touche Reset.

Écrivez votre fichier source avec l’éditeur; assemblez-le; transférez-le dans le module E6809; puis, vérifiez le fonctionnement du programme.

ÉTIQUETTE MNÉMONIQUE Opération Opérande

COMMENTAIRES

Programmes en Langage Assembleur Page 3-16 OFPPT/TECCART

Page 20: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

3.6.4 Exercice #4, Onde carré à 1 Hz Vous devez créer un programme qui génère sur le dispositif de sortie une onde carré à 1 hertz sur le bit 0. Les bits 1 à 7 sont maintenus à un niveau logique 0. Vous pouvez utiliser le sous-programme de délai du EPROM. Le programme débute à l’adresse $0200 et se termine par la pression de la touche reset.

Il est très probable que la première version de votre programme ne fonctionne pas, c’est normal! Avec la technique du point d’arrêt, du mode pas à pas et de la visualisation des registres, trouvez l’endroit ou le programme cafouille. Une fois le problème localisé, modifiez votre programme source (fichier.ASM) et reprennez la procédure d’assemblage et le transfert du programme objet. Lorsque le programme sera fonctionnel, transcrivez dans le tableau suivant votre programme source.

ÉTIQUETTE MNÉMONIQUE Opération Opérande

COMMENTAIRES

Demandez au formateur de vérifier votre travail.

Programmes en Langage Assembleur Page 3-17 OFPPT/TECCART

Page 21: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

3.6.5 Exercice #5, Chenillard Écrivez un programme qui produit un chenillard sur les voyants. Au départ le voyant sur le bit 7 est le seul allumé et le reste pendant 200ms puis s’éteint. Au même moment le voyant sur le bit 6 s’allume et s’éteint 200ms plus tard. Le cycle se répète en effectuant un décalage rotatif continu. Essayez de créer un programme court et simple. La solution la plus simple prend six instructions.

Rappel: Voici les instructions de décalage logique et de rotation. Une attention particulière doit être donnée au drapeau Carry, puisque celui-ci est utilisé dans les opérations de décalage.

C 7 6 5 4 3 2 1 0

C 7 6 5 4 3 2 1 0

ROL

ROR

0C 7 6 5 4 3 2 1 0

C7 6 5 4 3 2 1 00

LSL

LSR

ÉTIQUETTE MNÉMONIQUE Opération Opérande

COMMENTAIRES

Programmes en Langage Assembleur Page 3-18 OFPPT/TECCART

Page 22: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

3.6.6 Exercice #6, Lecture d’interrupteurs et décisions Écrivez un programme qui fait un compteur binaire sur le dispositif de sortie. Le programme doit lire les interrupteurs branchés sur le dispositif d’entrée et exécuter une tâche correspondante à la position des interrupteurs. Le programme doit fonctionner continuellement jusqu’à ce que l’interrupteur sur le bit 7 soit à 1. Les interrupteurs qui ne sont pas utilisés doivent être obligatoirement à 0 pour que le compteur évolue. Le compteur doit avancer à tous les 0,5 seconde.

Voici les modes de fonctionnement du programme:

bits # 7 6 5 4 3 2 1 0

effets des interrupteurs

0 0 0 0 0 0 0 0 compteur ascendant 0 0 0 0 0 0 0 1 compteur descendant 1 0 0 0 0 0 0 x arrêt du programme

Rappel:

Pour comparer deux valeurs, vous devrez utiliser l’instruction CMP, si les valeurs sont identiques le drapeau Z est mis à 1. Par contre, si les valeurs sont différentes, le drapeau Z est mis à 0.

Vous aurez besoin de quelques instructions permettant des branchements conditionnels. Par exemple, le branchement BEQ s’exécute si le drapeau Z est à 1 tandis que le branchement BNE s’exécute si le drapeau Z est à 0.

Parce que beaucoup d’instructions affectent les drapeaux, le branchement conditionnel doit suivre immédiatement l’instruction de comparaison pour que le drapeau soit valide.

Programmes en Langage Assembleur Page 3-19 OFPPT/TECCART

Page 23: AII Marocetude.com Introduction Aux Microprocesseurs MP TP3

Travail Pratique Introduciton aux Microprocesseurs

ÉTIQUETTE MNÉMONIQUE Opération Opérande

COMMENTAIRES

Programmes en Langage Assembleur Page 3-20 OFPPT/TECCART