Moto 6809

Vous aimerez peut-être aussi

Vous êtes sur la page 1sur 46

COMPTE RENDU :

INFORMATIQUE INDUSTRIELLE :

REALISE PAR : ENCADRE PAR :


 SMAHANE ETTADLI M.KHATORY
 KAWTAR FELKI
TP. D’INFORMATIQUE INDUSTRIEL :

I .HISTORIQUE :

Le 6809 de Motorola fut au départ produit en versions 1 MHz et 2 MHz,


mais des versions plus rapides furent produites par la suite. Il est considéré
comme le « précurseur spirituel » de la famille des 68000 de Motorola, bien que
la conception du 68000 ETAIT déjà commencée au moment où le 6809 furent
commercialisés. Le 6809 étaient utilisés dans l'ordinateur biprocesseur Super
PET de Commodore. Le 68A09 était utilisé dans la console de jeux vidéo
vectorielle Vectra. Le 6809E était quant à lui présent dans l'Ordinateur Couleur
(Coco) de Tandy et dans le clone britannique du Coco, le Dragon 32/64. Il était
également au cœur de toute la série de micro-ordinateurs familiaux de Thomson
(TO7, TO7/70, TO8, TO9, TO9+, MO5 et MO6).La compagnie de
développement de logiciels Microcarte a développé le système d'exploitation
OS-9 (à ne pas confondre avec MacOs 9) sur le 6809, pour ensuite le porter vers
la série 68000.Le 6309 de Hitachi était une version améliorée du 6809 avec des
registres supplémentaires et des instructions additionnelles, incluant le
déplacement de blocs de mémoire, de nouvelles opérations de multiplication, et
une instruction de division. Motorola et Hitachi ne produisent plus de 6809 ni de
dérivés. Il faut cependant mentionner que ce fut un des plus puissants
processeurs à 8 bits d'usage général. Quelque peu en avance sur son temps, il
offrait beaucoup de caractéristiques novatrices dont plusieurs ont été copiées
dans d'autres processeurs par la suite. L’exécution de cette tâche exige une
bonne connaissance des techniques d’investigation mises en œuvre, de leur
limite et surtout une adéquation parfaite entre le pouvoir de détection de chaque
technique et les critères appliqués pour la mise en œuvre.

2
II. Partie théorique :

1. Définition du microprocesseur :

Un microprocesseur est un processeur dont tous les composants ont été


suffisamment miniaturisés pour être regroupés dans un unique boîtier.
Fonctionnellement, le processeur est la partie d'un ordinateur qui exécute les
instructions et traite les données des programmes.

2. Les Mémoires :

En informatique, la mémoire est un dispositif électronique numérique qui


sert à stocker des données.
La mémoire est un composant essentiel, présent dans tous les ordinateurs,
les consoles de jeux, les GPS et de nombreux appareils électroniques.
Les mémoires sont vendues sous forme de pièces détachées de matériel
informatique, ou de composants électroniques. Les différences entre les pièces
sont la forme, l'usage qui en est fait, la technologie utilisée, la capacité de stockage
et le rapport entre le coût et la capacité.
La technologie la plus courante utilise des semi-conducteurs parfois associés à des
composants mécaniques[réf. souhaitée]. On distingue mémoire vive, mémoire
morte et mémoire de masse.
Les capacités de mémoire et la miniaturisation de ses supports ont depuis quelques
décennies grandi au rythme de la loi de Moore, laquelle pourrait, éventuellement,
être bientôt dépassée, grâce à l'utilisation de skyrmions et d'antiskyrmions pour
stabiliser les nanosystèmes spintroniques, au profit du pouvoir de traitement des
ordinateurs.

3
3. Les Bus :

Ce sont des ensembles de 8 lignes parallèles qui assurent les transferts de


données Il existe trois grands types de bus : bus de données, bus d’adresses, bus
de contrôle.

4. Data Bus (DB) :

Le bus de données (Data Bus), sert à transporter :les instructions de la mémoire


programme ROM vers l’unité centrale (CPU: Central Procession Unit).

 les données lues ou écrites en mémoire temporaire RAM


 les données qui proviennent de l’extérieur du système, ou qui vont vers
l’extérieur par les ports d’entrée et de sortie
5. Adresse Bus (AB) :

Les principales Les circuits de mémoire RAM et ROM comportent un grand


nombre d’informations, chaque instruction ou donnée se trouvant à une certaine
adresse. C’est en pilotant le bus d’adresses (AB) que l’unité centrale

Sélectionne :
L’instruction dont elle a besoin dans la ROM.
La case de RAM à laquelle elle souhaite accéder pour lire ou
écrire une donnée.
Le périphérique auquel elle souhaite accéder pour lire une
information (port d’entrée) ou donner une commande (port de
sortie).

Les interruptions :

Le bus de contrôle comporte :

des lignes qui permettent à l’unité centrale de spécifier à la


RAM ou aux ports d’entrée et de sortie si elle veut faire une
écriture ou une lecture.
des lignes utilisées par les périphériques pour transmettre des
signaux à l’unité centrale (demande d’interruption, d’accès direct à
la mémoire…)
des lignes utilisées par l’unité centrale pour répondre aux
périphériques (acceptation d’une demande d’interruption ou
d’accès direct à la mémoire…)

6. Control Bus (CB) :

Les interruptions permettent de faire des transferts de données entre le


microprocesseur et les périphériques qui provoquent eux-mêmes les demande
d’interruption par la ligne INT (Interruptif) du bus de contrôle qui est réservée à
cet effet. L’unité centrale termine l’instruction en cours, sauvegarde le contenu
du PC dans la pile et effectue un branchement vers le sous-programme approprié
qui effectue la tâche requise par le périphérique. Lorsque le sous-programme
4
d’interruption est terminé, il faut replacer dans le PC l’adresse sauvegardée dans
la pile et l’exécution du programme principal peut alors continuer.

7. LES REGISTRES du 6809 :

Le 6809 E possède plusieurs registres utilisés pour la manipulation et le

Traitement des données. Ils sont:

 Accumulateurs 8 bits (A et B) transformables en 1 accumulateur 16 bits,


D. Ils sont utilisés pour les instructions arithmétiques et de chargement de
données 8 bits (ou 16 bits) en mémoire.
 Registres d'index X et Y, sur 16 bits. Ils sont généralement utilisés
pour contenir des adresses de données en mémoire.
 Registres pointeurs de pile U et S,U est utilisé uniquement par le
programmeur, S par le système. La pile est un emplacement ou le
microprocesseur sauvegarde le contenu de ses registres internes pendant
un certain temps. Elle fonctionne comme une pile d'assiettes, ou un
fichier séquentiel: pour obtenir le contenu d'un registre, il faut dépiler tous
les précédentes.
 Un compteur programme PC (Program Conter), sur 16 bits, pointant
toujours sur l'adresse que le microprocesseur doit exécuter.
 Registre "codes conditions", affichant en permanence l'état de ces bits. Il
Fera l'objet d'un paragraphe spécial traitant également les instructions de
branchement.
 Registre de "page mémoire" , sur 8 bits, indiquant la page de
mémoire active, et configurable par l'utilisateur.

5
8. LES MODES D'ADRESSAGE:

Le 6809, possède 59 instructions " de base". Cela peut paraître faible, mais
combinées aux différents modes d'adressage (un peu comme différentes façons
de faire comprendre une instruction au microprocesseur), elles offrent 1464
possibilités
9. Structure d'une instruction :

Elle comporte de un à 4 octets. Généralement, le premier octet indique l'action à


effectuer, les suivants précisent les opérandes ou sur quelques registres cette
action agira.

a) Adressage inhérent :

Ce mode n’est pas à proprement parler un mode d’adressage, mais tous les
fabricants le décomptent comme tel. Les instructions agissent sur les registres
internes du microprocesseur. Les instructions comportent donc un code
opérateur seul sans opérande.

b) Adressage immédiat :

Dans ce mode, l'opérande que l'instruction doit prendre en compte est situé après
le code opératoire.

Ex: LDA #$DF Chargement de A avec la valeur hexadécimal DF. (le symbole

"$" Précise que la donnée est en hexadécimal. Pour les instructions Lad (a: accu
quelconque), la valeur a charger dans l'accu doit être du même type que cet accu
(8 bits pour A, B et 16 bits pour X, Y, U, S, D).

Les instructions de stockage en mémoire (STa, a: accu du microprocesseur)


n'existent pas en adressage immédiat, car ces instructions n'agissent que sur la
mémoire. Ce mode d'adressage est utilisé pour configurer des registres
(microprocesseur ou RAM) en vue de l'appel ultérieur d'une routine de
l'ordinateur ou bien d'un sous-programme.

c) Adressage direct:

Ce mode d'adressage permet de travailler sur la mémoire. L'opérande d'une


Instruction en adressage direct ne sera constitué que d'un seul octet registre
mémoire sur lequel il faut agir. On notera que l'adressage direct sera spécifié par
le signe "<" placé devant l'opérande, dans la syntaxe assembleur.

Ex: Si le registre de page vaut $A1: l'instruction STA <$45 stockera le


contenu de l'accu A en $A145. Et de l'opérande (poids faibles, $45).
6
Ce mode présente l'avantage d'être exécuté rapidement, mais ne peut être utilisé
que lorsqu'on ne travaille pas sur des zones de mémoire trop importantes (256
octets).

10. Structures algorithmiques fondamentales :

 Organigramme : (en anglais floculation, se dit aussi ordinogramme) c’est


Un schéma synoptique qui analyse dans le détail les différentes phases du
Problème à traiter.
 Algorithgramme : C’est la transposition d’un organigramme en

tâches Simplifiées.

a) Structure linéaire ou séquentielle:

Ex : P = U. I

b) Structure itérative:

Structure itérative : boucle « jusqu’à » :

Faire quelque chose

Jusqu’à ce que < condition réalisée


7
c) Structure alternative :

Ex : Un candidat est reçu au bac si M≥10

Puissance d'un microprocesseur :


Définition :

La notion de puissance est la capacité de traiter un grand nombre d'opérations


par seconde sur de grands nombres et en grande quantité. Intrinsèquement la
puissance se joue donc sur les trois critères suivants: La longueur des mots :
données et instructions (on parle de largeur du bus des données). Le nombre
d'octets que le microprocesseur peut adresser (on parle de largeur du bus des
adresses).

La vitesse d'exécution des instructions liée à la fréquence de fonctionnement


de l'horloge de synchronisation exprimée en MHZ. L’aspect dimensionnel
renseigne assez bien de la puissance du composant.

SCHEMA FONCTIONNEL D'UN MICROPROCESSEUR :(8bits)

On distingue 3 éléments logiques principaux :

Une Unité Arithmétique et Logique (U.A.L.)

Un Accumulateur.

Des registres que l'on nomme couramment :


8
• Le Compteur d'Instructions (C.I.)

• Le Registre d'état

• Le Registre d'Instructions (R.I.)

• Le Registre d'Adresses (R.A.)

• Le Registre temporaire des données

De base, il existe 6 registres fondamentaux dans une architecture de


microprocesseur 8 bits. (Des registres supplémentaires sont ajoutés pour rendre
la vie plus facile aux programmeurs) Cet ensemble est interconnecté au travers
de différents bus.

On trouve trois types de bus :

Le bus des données (bi-directionnel)

Le bus des adresses (uni-directionnel)

Le bus de contrôle (bi-directionnel) .

Remarquer le bus interne de données qui relie tous les différents éléments du
micro-processeur.

L'Unité Arithmétique et Logique

Son rôle : Ce circuit permet de traiter et tester les données. Toute instruction qui
modifie une donnée fait toujours appel à l'UAL. L'entrée de L'UAL est
connectée au bus interne via

 p des registres "temporaires"


 p un registre particulier appelé "accumulateur".

La sortie de l'UAL est connectée uniquement à l'entrée de l'accumulateur.


Noter : Les deux entrées sont précédées par une mémoire tampon. On les appelle
encore des registres tampons ou verrou. Ces registres permettent de stocker des
octets aux entrées de l'U.A.L

9
L'UAL étant constitué d'une logique combinatoire, elle est dépourvue de moyen
propre de stockage. Ce type de registre ne peut être manipulé par
le programmeur. Il lui est totalement transparent.

L'accumulateur :

C'est le registre le plus important du microprocesseur, il sert systématiquement


lorsque le p a besoin de "manipuler" des données. La plupart des opérations
logiques et arithmétiques sur les données font appel au couple "UAL -
accumulateur" selon la procédure suivante:

Il en est de même pour les déplacements et transferts des données d'un endroit à
un autre comme : de mémoire à mémoire. De mémoire à unités d'entrée-sortie
(I/O).

Cette action se fait en deux temps : source vers Accumulateur et ensuite


Accumulateur vers destination. Les instructions supportées par un accumulateur
sont très nombreuses.

Au niveau de la programmation, il représente une grande souplesse


d'utilisation. Les autres registres ne permettent que des opérations limitées.

Certains microprocesseur, possèdent des accumulateurs de longueur double tel


D chez Motorola et HL chez Intel - dissociés en deux et généralement baptisés
individuellement A et B ou H et L respectivement.

Gros avantage présenté par un p possédant plusieurs accumulateurs : les


opérations logiques et arithmétiques se font entre accumulateurs limitant ainsi
les accès (transferts) avec l'extérieur.

10
Le Compteur d'Instructions :

Appelé encore Compteur Programme (P.C.) ou Compteur Ordinal (C.O.) Son


rôle : Pointer TOUJOURS le premier octet d'une instruction.

Commentaires : Le programme à exécuter est une succession d'instructions


ordonnées (chaque instruction pouvant prend plusieurs octets!) qui se trouve
rangé dans une zone mémoire, généralement à des adresses successives. le P.C.
"repère" le premier octet de chaque instruction du programme.

La taille du PC a une longueur de 16 bits ce qui lui permet d'adresser 65536


adresses mémoire soit 64 k octets (le champ mémoire). Notons qu'il est connecté
au bus interne des données.

A la mise sous tension, une valeur particulière est déposée sur le bus d'adresses
(Dans le cas du 6809, cette valeur est $FFFE).

Le contenu des cases mémoires ($FFFE-$FFFF) représente en général l'adresse


où se trouve le premier octet de la première instruction du programme.

Cette adresse est transmise aux circuits mémoires par l'intermédiaire du bus
d'adresse via le Registre d'Adresses. Le P.C. pointe toujours l'adresse du début
de l'instruction suivante. (A retenir, car parfois il est utile de connaître l'adresse
présente.) Il est possible de recharger le [P.C.] avec une adresse qui ne
correspond pas au déroulement séquentiel du programme. On trouve les
détournements conditionnel et inconditionnel.

11
Architecture du 6809

Le microprocesseur 6809 est un processeur 8 bits dont l'organisation interne est


orientée 16 bits. Il est fabriqué en technologie MOS canal N et se présente sous
la forme d'un boîtier DIL 40 broches. Il est mono-tension (5V). Il existe deux
versions différenciées par l'horloge. le 6809 est rythmé par une horloge interne
(f=1 MHZ, 1.5 MHZ et 2 MHZ).

Le 6809E est rythmé par une horloge externe. Ce dernier est adapté à
l’application multiprocesseur. Il présente la particularité de pouvoir être
synchronisé par une horloge extérieure. Compatibilité complète entre les 2
versions.

1eme cas : Le microprocesseur est en fonctionnement normal, il gère les bus


d'adresses et de données.

2 ème cas : le microprocesseur est en phase de reconnaissance d'interruption


pendant deux cycles. Cet état correspond à la recherche des vecteurs
d'interruption : Reset, NMI, IRQ, SW1,2 et 3.

3 ème cas : Ce signal apparaît lorsque le microprocesseur rencontre l'instruction


de synchronisation externe (niveau bas sur SYNC). Il attend alors cette
synchronisation sur une des lignes d'interruption. Les bus sont en haute
impédance pendant ce temps.

Dernier cas : Correspond à l'arrêt du microprocesseur (niveau bas sur HALT).


Le microprocesseur laisse la gestion des bus des données et des adresses à un
circuit annexe (contrôleur de DMA).
12
L'Interface MC09 :

Définition :

Le MC09 est un système didactique autonome spécialement conçu pour la


formation au fonctionnement du microprocesseur 6809 et de ses périphériques.

Circuits Périphériques de la M09 : Le MC 09 est équipé des principaux circuits


périphériques du 6809 :

 PIA 6821: boîtier d’entrées/sorties parallèles


 TIMER 6840: circuit intégrant 3 compteurs 16 bits
 ACIA 6850: boîtier d’entrées/sorties séries
 VIA 6522: ce circuit est muni de 2 ports parallèles 8 bits, 2 times 16
bits Registrent à décalage, et 4 lignes de contrôle Capacité Mémoire: Le
MC 09 est équipé de 5 supports pouvant accueillir :
 2 RAM de 2 ko
 3 EPROM de 4 ko de type 2732

Clavier et Afficheurs : Le MC 09 est équipé d’un clavier de 30 touches pour


l’écriture de programmes en langage machine. Les cases mémoires et les
opérandes sont visualisées sur 6 afficheurs réservés à cet effet. L’acquisition de
la carte d’extension référencée 008 permet d’écrire des programmes en
assembleur sur PC et de télécharger le binaire dans la mémoire vive du système.
La souplesse d’utilisation du moniteur et les nombreuses fonctions utilisables
facilitent l’apprentissage et permettent une maîtrise rapide du fonctionnement
des différents circuits de ce système. Les touches de fonctions permettent : le
calcul automatique des branchements relatifs

• la sauvegarde de programmes sur cassette

• la suppression ou l’insertion de un ou plusieurs octets dans un programme

• la pause de un ou plusieurs points d’arrêts dans un programme. Il est à


noter que les contenus des registres et mémoires peuvent être visualisés et
modifiés pendant le déroulement du mode pas à pas.

13
Extensions du 6809

Un ensemble d'extensions permettant d'accéder à l'interfaçage industriel du


microprocesseur a été réalisé par les ingénieurs de la série-électronique. Pour
utilise des circuits récents et largement diffusés dans le monde industriel.

Alimentation pour MC09 :

Descriptions:

Alimentation du microsystème MC 09 - B : Tension d’entrée 220 volts alternatif


Tension de sortie 5 volts continu.

14
Programmation des circuits PIA et VIA :

Descriptions: Cette carte a été spécialement réalisée pour l’apprentissage du


fonctionnement des circuits d’entrées sorties parallèles PIA 6821 et VIA 6522.
On y apprend comment gérer une interruption, commander une charge sous
secteur...

Une interface puissance intégrée à cette extension permet la commande d’une


charge externe pouvant nécessiter jusqu’à 40 volts sous 2 ampères. Les
nombreux exemples simples de programmation fournis avec cette extension en
facilitent la mise en œuvre :

 réalisation d’un voltmètre numérique


 traitement des données délivrées par les convertisseurs multiplexés
 initiation à la gestion d’interruptions IRQ, FIRQ, NMI
 commande d’une charge sous secteur

Cette extension particulièrement recommandée pour une initiation


progressive et une maîtrise rapide des circuits d’entrées sorties intègre :

 16 laids directement reliées aux ports A et B du PIA 6821


 1 triac pour la commande d’une charge sous secteur
 1 sortie puissance (jusqu’à 40 volts, 2 ampères)
 1 convertisseur analogique numérique à 8 entrées multiplexées.

15
11. Convertisseurs A/D et D/A 8 bits :

Descriptions: Les convertisseurs utilisés par cette extension sont directement


reliés au bus de données du microprocesseur afin d’exploiter au mieux la
rapidité de ces convertisseurs A/D et D/A.

La carte 004 étant équipée de convertisseurs analogique/numérique et


numérique/analogique, l’utilisateur pourra :

faire l’acquisition de signaux analogiques délivrés par un


capteur (température, PH, pression...) à l’aide des convertisseurs
A/D
stocker ces données en mémoire
traiter les informations recueillies

ressortir le signal analogique voulu grâce aux convertisseurs D/A de la carte


Fournie avec plusieurs exemples simples d’acquisition de données et de
génération de courbes, la carte 004 intègre :

1 convertisseur A/D 8 bits tension d’entrée (-10, +10)


1 convertisseur A/D 8 bits tension d’entrée (0, +10)
1 convertisseur D/A 8 bits tension de sortie (-10, +10)
1 convertisseur D/A 8 bits tension de sortie (0, +10)
1 filtre analogique du second ordre
1 zone à wrapper.
Programmateur d'EPROMs :

Descriptions: Par le biais de cette extension, l’élève découvrira pratiquement


comment programmer une EPROM. Il apprendra à gérer les timings des
différents signaux mis en œuvre pour la programmation d’une EPROM.

A l’aide de cette carte, l’utilisateur pourra :

• tester la virginité d’une EPROM


• enregistrer un programme en EPROM
• dupliquer une EPROM

16
12. Convertisseurs A/D et D/A 12 bits :

A l’aide de cette carte, l’utilisateur pourra apprécier:

• le fonctionnement d’un filtre à capacité commutée


• l’utilité d’un échantillonneur bloqueur dans une chaîne d’acquisition de
données
• la programmation de convertisseurs 12 bits à l’aide d’un processeur 8 bits
• les procédés de filtrage numérique
Cette extension est équipée de :

o 1 convertisseur A/D 12 bits tension d’entrée (-5, +5)


o 1 convertisseur D/A 12 bits tension de sortie (-5, +5)
o 1 échantillonneur bloqueur
o 2 filtres à capacité commutée du quatrième ordre
o 1 zone à wrapper.

Carte d'asservissement moteur :

Descriptions: Dans le cadre d’une introduction à la robotique, le recours à cette


extension offre l’occasion d’étudier les commandes de moteurs, notamment en
réalisant l’asservissement de vitesse ou de position d’un moteur pas à pas ou à
courant continu. La documentation d’accompagnement de cette carte contient le
schéma technique ainsi que quelques programmes simples d’initiation à la
commande de moteurs pas à pas ou à courant continu.

L’intérêt de cette extension est important. Outre la découverte de la commande


de moteurs, l’élève apprendra à maîtriser :

o Les circuits périphériques du MC 09


o Les drivers pour moteurs
o La gestion d’interruptions logicielles
o Les sous-programmes de gestion du clavier et des afficheurs.

17
Extension de communications :

Descriptions: Cette interface aux multiples ressources permet de relier le


microsystème MC 09 à un compatible PC. Elle est fournie avec un assembleur
6809 permettant l’écriture de programmes en mnémoniques sur PC ainsi que le
téléchargement de ces programmes dans la mémoire du MC 09. Cette carte est
un bon outil d’initiation aux protocoles de communication entre différents
systèmes.

La documentation et les logiciels fournis avec cette extension permettent :

la liaison MC 09 / compatible PC
l’écriture de programmes en
assembleur l’échange de programmes
par minitel
le dialogue direct entre 2 systèmes MC 09 .

Automate programmable :

Descriptions: Cette carte d’extension a été développée avec l’objectif de fournir


à l’étudiant une initiation pratique à la commande de processus d’automatismes.
Cette carte permet de transformer le microsystème MC 09 (B) en un automate
programmable capable de traiter les entrées TOR et d’activer les sorties relais en
fonction du programme en mémoire. L’ensemble MC09 + carte 009 constitue un
outil didactique particulièrement recommandé pour une initiation efficace et
progressive à l’utilisation et à la programmation d’automates.

18
24 entrées optocouplées TOR
8 sorties relais
1 convertisseur analogique numérique.

II.Manipulation :
Les démarches à suivre

Tout d’abord pour tester un programme à l’aide du simulateur moto6809 on


doit suivre les étapes suivantes :

- Ouvrir une nouvelle page d’écriture (éditeur MOTO6809) on cliquant


sur l’icône dans la barre menu.

-Ecrire le programme dans la page qui s’affiche on respectant tous les détailles.

-Cliquer sur l’icône confirmée dans la barre menu de la page


d’écriture pour confirmer le programme.

-Déplacer le curseur ver la barre menu et cliquer sur la fonction


puis cliquer sur Programme, Rom et Ram dans la page qui s’affiche pour vois
tous les détaille de l’évolution du programme, après cliquer sur l’icône suivante
pour mettre ces derniers en ordre, et on peut aussi suivi tout ce qui se
passe à l’intérieure du 6809 sur une page qui s’affiche dans le premier
temps appelé Architecture interne du 6809.

-Pour donner marche pas à pas à vôtres programme cliquer sur l’icône.
Pour revenir à l’étape précédente cliquer sur et pour aller directement ver le

19
cliquer sur

‡ Après l’écriture et l’exécution du programme on peut l’enregistré on cliquant


sur la fonction dans la barre menu puis on clique sur la fonction
dans la page qui s’affiche, après il s’ouvre
une page qui nous demande d’entrer le nom du fichier et l’emplacement de
l’enregistrement.

‡ Dans un autre cas pour charger un programme déjà enregistré dans le poste on

appuie sur l’icône dans la barre menu qui nous affiche une page qui
permettre le chargement du programme.

‡ Après le chargement du programme on clique sur l’icône pour


ouvrir la page ou le programme est écris, et suivant les démarches indiquées ci-
dessus on continue l’exécution de notre programme.

Après avoir suivi toutes les étapes précédentes on obtient l’écran suivant :

20
Tp .1

Partie pratique :
1. Manip 1

Observez la carte MC09 est identifiez les emplacements physiques des


Principaux composants implantés sur cette carte. On complètera pour cela

le tableau suivant :

2. Accès écriture :

Etape1 : touche RST


Etape2: touche MEM

21
Etape3 : taper 0012

Etape4: fin

3. Exploration d’une zone mémoire d’adresses contiguës (touches INC et DEC)

a)

b)

22

c) Appui sur la touche fin


4. Exploration du contenu des registres internes du processeur (touche
REG)

Manip :

Après un RESET général du processeur (touche RST), refaire la manip 5 en


notant le contenu des registres internes du processeur:

23
24
5. Saisie et exécution d’un programm

e
sur le microsystème MC09 (touche EXC)

Les étapes à suivre pour le saisi du programme dans le MC09 sont les
suivantes :

1. Cliquer sur la touche MEM

2. Saisir les codes d’opérations

3. Apres on clique sur la touche FIN

4. En suite sur la touche EXC

5. Apres saisir les quartes zéros

6. Apres EXC

7. Apres REG

8. Apres INC

Exécution a l'aide du simulateur 6809

25
26
1. Saisi de programme :

En vous servant des procédures d’accès mémoire des manips 2 et 3, saisir le


programme ci-dessus en saisissant la colonne 2 du tableau de la figure 5 dans la
colonne 1, du même tableau, comme suit :

$0000) = $86

($0001) = $00

($0002) = $1F

($0003) = $8B

($0004) = $9B

($0005) = $21

($0006) = $97

($0007) = $22

($0008) = $3F

27
2. Exécution d’un programme en mode pas à pas avec points d’arrêt (touche

BRK) :

 Points d’arrêt

 Exécution du programme en mode pas à pas

Touche EXC

Taper 0000

Puis touche EXC

Touche INC

Touche INC

Touche INC

Touche INC

28
Registres affectés

29
TP. 2

Exercice 1° :

Partie A :

Après avoir saisie le programme, il faut que le simulateur prend en compte le


programme lorsqu’on click sur , alors on obtient les résultats suivants :

L’exécution du programme pas à pas nous permet de remplir le tableau :

Commentaire :

1 : l’accumulateur A se charge avec 00.

2 : on fait le transfert du contenu de A vers le registre de

page. 3 : A prend le contenu de l’adresse $0021.


30
4: on stocke A dans l’adresse $0022 ;c'est-à-dire que le contenu de $0021 va être
le même que celui de $0022.

5 : fin du programme.

Maintenant on va charger les octets mémoire $21 et $22 par $10 et $20 comme
suit :

 Touche « fin »
 Touche « mem »
 Taper « 0021 »
 Taper « 10 »
 Taper « inc »
 Taper « 20 »

Puis on exécute le programme :

 Touche « fin »
 Touche « exc »
 Taper « 0000 » ensuite toucher « exc »

L’exécution d’un programme en mode pas a pas :

D’abord en fait un point d’arrêt au niveau d la 1ère instruction

 Touche « fin »
 Touche « brk »
 Touche « exc »
 Taper « 0000 »
 Touche « fin »

On vient de mettre un point d’arret a l’adresse $0000 (debut de programme)

L’exécution en mode pas a pas :

 Touche « exc. »
 Tap Touche « Inc. » jusqu'à la in du programme
 Insertion ou suppression d’instructions dans un programme
existant (touche ins) :
 Insertion d’instruction :
31
 Par exemple dans le 1er exercice on veut insérer l’instruction LDA $20
dans l’adresse $0004,
 On fait comme suit :
 Touche « fin »
 Touche « ins »
 Taper « 0000 » puis « exc. »
 Taper « 0008 » puis « exc. »
 Taper « 0004 » puis « exc. »
 Taper le nombre d’octets qu’occupe l’instruction en mémoire.
 Touche « exc. »
 Taper le code opération de l’instruction LDA et appuyer sur « inc »
 Taper le code opérande de l’instruction LDA
Touche « fin »
 Insertion d’instruction :
 Pour supprimer une instruction on fait comme suit :
 Touche « fin »
 Touche « ins»
 0000 puis « exc. »
 000A puis « exc. »
 0001 puis « exc. »
 FF
 Touche « exc. »
 Touche « fin »er 0000 puis touche « exc. »

L’instruction utilisée :

32
Partie B :

De même pour le deuxième programme le simulateur donne les résultats


suivants :

Explication du programme :

Dans un premier temps et après la confirmation du programme (avant de le


mettre en marche) on voit quelque changement eu niveau de la Ram et au niveau
de la Rom :

Au niveau de la Ram : on a une pré affectation des valeurs 60, 40,


successivement dans les cases mémoires dont les adresses sont ($0020),
($0001),

‡ Au niveau de la Rom : on a une affectation des codes opération et des codes


opérandes aux adresses selon leurs ordres.

33
L’exécution du programme pas à pas nous permet de remplir le tableau :

commentaires :

1*2 : Dans un premier temps on a pré affecter les données :60 et 40 au cases
mémoires dont les adresses sont successivement : $0020 et $0021 .

3 : le premier pas de l’exécution permet de placer le contenu de la case mémoire


dont l’adresse est $0020 dans l’accumulateur B.

4 : l’instruction suivante permet de soustrait du contenu de l’accumulateur B le


contenu de l’adresse $0021.

L’octet du poids fort se trouve dans le registre de page DP=00.

5 : cette instruction permet de stocker le contenu de B dans la cellule


mémoire dont l’adresse est $0022.

L’octet du poids fort se trouve dans le registre de page DP=00.

6 : la pseudo-instruction END permet de signaler à MOTO6809 que plus aucune


instruction assembleur ne suivra.

34
Exercice 2° :

Apres saisie du programme on obtient les résultats suivants :

Organigramme :

Commentaires :

Au début on charge dans l’accumulateur A une valeur qui est soit supérieur soit
inférieur a 0A.

Dans le cas ou $xx=07 (0A est supérieur a la valeur chargé dans A) la condition
est vrai alors le programme exécute la première action « action alors », il 35
additionne au contenu de l’accumulateur A la valeur $02 et il effectue un
branchement sans condition.

Dans le deuxième cas ou $xx=0A ou bien $xx=0B (0A inférieur ou égale à la


valeur chargé dans l’accumulateur A) le programme exécute « l’action Sinon ».

Exercice 3° :

EXPLICATION DU PU PROGRAMME :

Dans un premier temps et après la confirmation du programme (avant de le


mettre en marche) on voit quelque changement eu niveau de la Ram et au niveau
de la Rom :

‡ Au niveau de la Ram : on a une pré affectation des valeurs 10,11, 12,13,


successivement dans les cases mémoires dont les adresses sont ($0050), ($0070)

‡ Au niveau de la Rom : on a une affectation des codes opération et des codes


opérandes aux adresses selon leurs ordres.

36
Les Instructions Utilisées :

‡ L’exécution du programme et faite suivant plusieurs étapes :

Etape 1 : chargement de la valeur $0050 dans le registre X.

Etape 2 : chargement de la valeur $0070 dans le registre U.

Etape 3 : chargement da la valeur $16 dans l’accumulateur B.

Etape 4 : chargement de l’accumulateur A avec le contenu d’adresse chargée


dans le registre X, (charger A avec la valeur d’adresse $0050 dans X). Puis
Incrémentation par 1 le contenu du registre X, (X $0051)

Etape 5 : stockage de la valeur de A dans la case mémoire dont l’adresse est


chargée dans le registre U, (stocker la valeur de l’accumulateur A dans la case
mémoire d’adresse charger dans la registre U). Puis Incrémentation par 1 le
contenu de registre U, (U $0071).

Etape 6 : décrémentation de B par 1 , et puisque B #0 le programme va être


rebouclé.

Etape 7 : chargement de A avec la valeur d’adresse chargé dans X ($0051). Puis


l’incrémentation par 1 le contenu de X, (X $0052).

Etape 8 : stockage de A dans la case mémoire dont l’adresse est chargée dans le
registre U ($0071), (stocker la valeur de l’accumulateur A dans la case mémoire
d’adresse charger dans la registre U). Puis Incrémentation par 1 le contenu de
registre U, (U $0072).
37
Etape 9 : décrémentation de B par 1, et puisque B #0 le programme va être
rebouclé.

Etape 10 : Et ainsi de suite jusqu’à ce que B=0

Explication de l’algorithme

Dans l’algorithme qu’ont vient de réalisé on a utilisé la boucle répéter les


actions qui sont bien détaillés dans le paragraphe explication du programme
jusqu'à avoir B=00.

Autrement dit la boucle se répétera tant que la condition (B=00) est fausse et
une fois elle est vrai la boucle s’arrêtera.

Explication de l’organigramme :

La réalisation de l’organigramme est basée sur les instructions du


programme, on peu dire que l’organigramme est une traduction symbolique du

38
B
programme. Pour le réaliser on va utiliser les symboles indiqués dans le
paragraphe ci-dessus concernant l’organigramme.

Exercice 4° :

L’algorithme qui permet de calculer la division entière de deux nombres entière,


par la méthode des soustractions successives est le suivant :

Algorithme:

($0000) <10

($0001) < 03

Début:

B< ($0000)

X< ($0001)

A<0

Tant que B > X

B< B-X

A<A+1

FINTANTQUE

FIN
Après l’exécution du programme dans le logiciel moto 6809 on
A ceux-ci :

39
Conclusion :
L’évolution des microprocesseurs est l’une des plus fascinantes épopées
technique de la fin de ce siècle. Elle a permis la création d’appareils
complètement imposables il y a seulement cinquante ans. L’évolution technique
sur laquelle s’appuie cette fantastique évolution dure depuis trente ans et n’est
pas prés de s’arrête, ce qui nous laisse penser que l’avenir nous réserve encore
bien des surprises. La complexité et la puissance de traitement des
microprocesseurs qui vont apparaître durant la prochaine décennie devraient
dépasser tout ce que nous pouvons imaginer. L’influence sur la société d’une
telle évolution technique est énorme, bien qu’elle ne soit pas toujours
directement perçue. Pour s’en rendre compte, il suffit de se retourner et de
regarder ne serait-ce que trente ans arrière.

Finalement, nous voudrions, remercier Mr. Khatory pour toutes ses


Explications, ses conseils et son soin sur notre bonne formation.

40

Vous aimerez peut-être aussi