Vous êtes sur la page 1sur 26

LOGO

ETABLISSEMENT

Compte Rendu
Informatique Industrielle

REALISER PAR : ALMARZOUKI AMINE G.I.M S3


BBASSIDI Oussama 2022/2023

➢ Encadrer Par :
• MR. KHATORY
2

I. Généralité sur le microprocesseur :

1. Définition du microprocesseur :

• Un microprocesseur est un circuit intégré logique piloté par une série


d’instructions programmables et capable d’organiser des transferts
d’informations entre mémoires et périphériques d’un système ainsi que de
réaliser des opérations arithmétiques et logiques. Son rôle : Ce circuit remplit
deux fonctions essentielles : le traitement des données. On parle d'unité de
traitement. Cette fonction est dédiée à l'U.A.L. Elle concerne la manipulation
des données sous formes de transfert, opérations arithmétiques, opérations
logiques Le contrôle du système Cette fonction se traduit par des opérations de
décodage et d'exécution des ordres exprimés sous forme d'instruction

2. Fonctionnement du Microprocesseur :

• Organise l’enchaînement des tâches précisées dans la mémoire du


Programme :
❖ Par une exploitation séquentielle des instructions situées aux
Adresses successives de la mémoire.
❖ Avec, éventuellement, des ruptures de séquence en fonction des sauts
programmées.
• Rythme et synchronise l’exécution de ces tâches.
• Analyse le contenu du programme, sélectionne, gère et commande les
Circuits nécessaires à l’exécution de chaque tâche.
• Prend en compte les informations extérieures au système.
3

3. Architecture du microprocesseur :

• Les Mémoires : Cette série de commandes ou d’instructions constitue le


programme qu’on stocke dans une mémoire permanente appelée ROM (Read-
only Memory). Pendant l’exécution du programme, le microprocesseur dispose
d’une mémoire temporaire nommée RAM (Random-access Memory) qui permet
de stocker certaines informations utilisées lors de l’exécution du programme. On
utilise le plus souvent l’EPROM (Erasable & Programmable ROM) qui présente
L’avantage de pouvoir être effacée une fois écrite.

• 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.

• Les Interruptions : 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 (Interrupt) 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 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.

• Les Registres : Le 6809 E possède plusieurs registres


utilisés pour la manipulation et le traitement des données. Ils sont :

❖ 2 accumulateurs 8 bits (A et B) transformables en 1 accumulateur 16 bits.


Ils sont utilisés pour les instructions arithmétiques et de chargement de
données 8 bits (ou 16 bits) en mémoire.
❖ 2 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
❖ 2 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 Counter), sur 16 bits, pointant
toujours sur l'adresse que le microprocesseur doit exécuter.
❖ 1 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.
❖ 1 registre de "page mémoire", sur 8 bits, indiquant la page de mémoire
active, et configurable par l'utilisateur.
4

4. Les MODes D’ADRessAGes :

- 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.

• Structure d'une instruction : Elle comporte d’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.

• 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.

• Adressage immédiat : Dans ce mode, l'opérande que l'instruction doit


prendre en compte est situé après le code opératoire. 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.

• 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.

II. Microsystème MC09 :

1. Définition de MC09 :

- Le MC 09 est un système didactique autonome spécialement conçu pour la formation


au fonctionnement du microprocesseur 6809 et de ses périphériques :
5

2. Circuits Périphériques de la MC09 :

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 timers 16
bits registrent à décalage, et 4 lignes de contrôle

3. Description Fonctionnel :

- Cette carte permet de connecter votre micro-ordinateur à un périphérique nécessitant


une commande logique de type tout ou rien.
La carte se compose d'un double port parallèle de 8 bits, simple PIA 6821.
Grâce au PIA, l'utilisateur dispose de 4 lignes de contrôle et de 16 lignes
d'entrée/sortie. Ces lignes sont programmables individuellement en entrée ou
sortie ceci permettant d'interfacer votre ordinateur soit pour des acquisitions
d'informations logiques, soit pour la commande de dispositifs externes.
Les lignes de contrôle sont programmables en interruption par des
changements d'état. L'ordinateur peut ainsi être averti d'événements aléatoires
sans perdre de temps en scrutation d'attente. Une zone de wrapping disponible
sur la carte permet de modifier les caractéristiques standards d'un des deux
port (port B). Cette option permet de "buffériser" en puissance (transistor ou
relais) une sortie TTL ou d'isoler optiquement une entrée.
6

4. ARCHITECTURE DE LA MC09 :

➢ Capacite mémoire : Le MC 09 est équipé de 5 supports pouvant accueillir :


❖ 2 RAM de 2 ko
❖ 3 EP ROM 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 d’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.

➢ Extension de 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 :

❖ Tension d’entrée 220 volts alternatif


❖ Tension de sortie 5 volts continu
7

MC09 ALIMENTATION POUR


MC09

III. Partie Pratique :

But de manipulation : Durant ce TP on va essayer de se


familiariser avec le fonctionnement du microsystème MC09 et le logiciel
MOTO6809
8

Manipulation 1 :

A)
Composant Emplacemen Adresses sur le Capacit
t Zi (1 ≤ i ≤ 20) MC09 é
mémoir
de à e
EPROM système Z6 E000 FFFF 1FF
2732dans la quelle F
réside
le programme du
moniteurMC09
EPROM 2732 extensions Z7 C000 DFF 1FF
utilisateur F F
EPROM 2732extention Z8 A000 BFF 1FF
F F
PIA6821 système Z2 8000 8003 0003
(afficheurs et clavier)

VIA 6522 utilisateur Z3 8400 840F 000F


TIMER6840 utilisateur Z4 8800 8807 0007
ACIA6850 utilisateur Z5 8C00 8C01 0001
PIA6821système Z1 9000 9FFF 0FF
(afficheur et clavier) 1 F
RAM utilisateur Z9 0000 0F5F 0F5F
90 octets réservés au Z1 0F60 0FFF 009F
moniteur MC09 0
Processeur 6809 Z1
Clavier 30 touches

Deux connecteurs 50 N
points chacun
Alimentation -5v

Borne de masse 0v

B) Initialisation du système MC09 :

M C 0 9
9

MANIPULATION 2 : Accès en lecture

Commentairee de Commentaire
Action l’action Affichage de
L’affichage

Touche Initialisation Nous sommes


système MC09 sous contrôle
RST M C 0 9 dumoniteur
MC09

Ad
(abréviation
Demande d’adresse) : le
Touche d‘accès à la A d moniteur
mémoire MC09attend
MEM la saisiede
l’adresse
mémoire à
laquelle on
veutaccéder

Le moniteur
affiche le
contenu xy de
Touche Saisie de l’adresse
0 0 1 0 F F l’octet
à laquelle on va
0010 accéder mémoire
d’adresse
$0010 :
($0010)= $xy

Retour sous
Fin de tache M C 0 9 contrôle du
Touche moniteur
système
FIN MC09
10

MANIPULATION 3 : Accès en lecture

Commentairee Commentaire de
Action de Affichage L’affichage
l’action

Initialisation Nous sommes


Touche système MC09 sous contrôle du
M C 0 9 moniteur MC09
RST

Ad (abréviation
d’adresse) : le
Demande moniteur MC09
Touche d‘accès à la A d attend la saisie
mémoire de l’adresse
mémoire à
MEM laquelle on veut
accéder

Le moniteur
affiche le
contenu xy de
Taper Saisie de
F F l’octet mémoire
l’adresse à 0 0 1 2
0012 laquelle on va d’adresse
accéder
$0010 :
($0012)= $xy

Modification du ($0012)=$17
Taper contenue de 0 0 1 2 1 7
l’octet mémoire
17 d’adresse $0012

Touche
Retour sous
Fin de tache M C 0 9 contrôle du
Fin moniteur
système MC09
11

Manipulation 4 :

• La touche INC (DEC) vous permettent de voir les


contenus mémoire desadresses suivantes (précédents).
Vous pouvez, après chaque appui sur INC (DEC),
modifier le contenu mémoire (sur les deux afficheurs de
droite) de l’adresse affichée (sur les quatre afficheurs de
gauche).
Manipulation 5 :
Commentairede
Commentaire
Action affichage l’affichage
de l’action

M C 0 9 Nous sommessous
Initialisation contrôledu moniteur
Touche système MC09
RST MC09

Demande
d‘accès aux x y C C Visualisation du
Touche registres registre CC (cc)
REG internes $b8
du processeur

On passe au U V A Visualisation de
Touche registre suivant l’accumulateur
INC
A=$uv

On passe au F F b Visualisation de
Touche registre suivant l’accumulateur
INC
B

On passe au 0 0 d p Visualisation de
Touche registre suivant l’accumulateur
INC
D p

On passe au 0 0 0 0 x Visualisation de
Touche registre suivant l’accumulateur
INC
x
12

➢ Cette manipulation nous permet d’avoir visualiser les contenus des accumulateurs
en utilisant la commande INC

Registre interne Contenu du registre interne


CC 68
A AA
B FF
D AAFF
DP 00
X 0000
Y 0000
U 0000
PC 0008
S 0FFC

➢ Soit le Programme suivant :

Colonne Colonne 2 Colonne 3


1
$0000 86 00 LDA #$00
$0002 1F 8B TFR A, DP
$0004 9B 21 ADDA $21
$0006 97 22 STA $22
$0008 3F SWI

1. Les contenus des colonnes 1 et 2 :

• Colonne 1 : adresse

• Colonne 2 : Code machine


13

Manipulation 6 :

Code
Adresse affichage
Machine

0 0 0 0 8 6
$86
$0000

0 0 0 1 0 0
$0001
$00

0 0 0 2 1 F
$0002
$1F

0 0 0 3 8 b
$0003
$8B

0 0 0 4 9 b
$0004
$9B

0 0 0 5 2 1
$0005
$21

$0006 0 0 0 6 9 7
$97

$0007 0 0 0 7 2 2
$22
14

0 0 0 8 3 F
$0008
$3F

Manipulation 7 :

1. On change les octets mémoire $21 et $22 respectivement par $10 et $20.
2.
Commentaire
Commentaire de
Action de l’action Affichage
l’affichage

Touche Le programme Nous sommes


FIN en mode initial M C 0 9 sous contrôle
du moniteur
MC09

Touche Demande Ad (abréviation


EXC d‘exécution du a d d’adresse) :
programme en attend la saisie
mémoire de l’adresse
mémoire du
début du
programme

Touche Saisie de Retour au


0000 et l’adresse de 0 0 0 0 A D moniteur après
appuyer début du
ensuite sur programme exécution totale
la touche saisi) et du programme
M C 0 9
EXC demande de
on exécution.

Les résultats de l’exécution du programme :

-Contenu du registre A : (A) = 10

-Contenu de l’octet mémoire d’adresse $0021 ($0021) = 10


-Contenu de l’octet mémoire d’adresse $0022 ($0022) = 10
➢ Le programme a rempli son rôle.
➢ Touche FIN pour revenir sous contrôle du moniteur MC09.
15

La saisie du Programme au La vérification par MCO9


Niveau du logicielle
MOTO6809

TP N 2 :
1. Initiation au logiciel MOTO6809 et la maquette MC09 :

- 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 en respectant tous les détails.
• Cliquer sur l’icône confirmée dans la barre menue 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 exécuter notre programme pas à pas on cliquer sur l’icône exécuter . Après l’écriture
et l’exécution du programme on peut l’enregistrer en cliquant sur la fonction dans la barre
16

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 en exécute notre programme.

1)
Code machine
Adresse Code Adressage Commentaire
Code Code
mnémonique
opération opérande

le premier pas de
l’exécution
permet de charger
FC00 86 23 LDA Immédiat
la valeur 23 dans
#$23
cet accumulateur
A=23.
le deuxième pas
permet
ADDA d’additionner la
FC02 8B 31 Immédiat
#$31 valeur a
l’accumulateur
A : A=23+31=54
la pseudo-
instruction END
permet de signaler
à MOTO6809 que
FC04 3F --- END ---
plus aucune
instruction
assembleur ne
suivra.

Au début l’accumulateur A=00, Apres l’exécution du programme au niveau du logicielle MOTO6809


on obtient :
17

Apres la saisie dans MC09 on obtient les mêmes résultats :

2)
18

Code machine
Adresse Code Adressage Commentaire
Code Code
mnémoniq
opératio opérand
ue
n e
Dans un premier
0030 --- 11 ;$0030 DB $11 --- temps on a
préaffecter les
données : 11 et 12 au
cases mémoires dont
0031 --- 12 ;$0031 DB $12 --- les adresses
sont successivement :
$0030 et $0031
le premier pas de
l’exécution permet de
placer le contenu de
LDA #$00
FC00 86 00 Immédiat la case mémoire dans
l’accumulateur
A.

on fait le transfert du
Inhérent
FC02 1F 8B TFR A,DP contenu de A vers le
(implicite)
registre de page
le Deuxième pas de
l’exécution permet de
placer le contenu de
FC04 D6 30 LDB $30 Direct la case mémoire dont
l’adresse est $0030
dans l’accumulateur
B.
l’instruction suivante
permet de soustrait
du contenu de
l’accumulateur B le
contenu de l’adresse
FC06 D0 31 SUBB $31 Direct $0031.
L’octet du poids fort
se trouve dans le
registre de page
DP=00.

cette instruction
permet de stocker le
contenu de B dans la
cellule mémoire dont
FC08 F7 00/33 STB $0033 Etendu l’adresse est $0033.
L’octet du poids fort
se trouve dans le
registre de page
DP=00.
19

la pseudo-instruction
END permet de
FC0B 3F ….. …… END signaler à
MOTO6809 que plus
aucune instruction
assembleur ne suivra

Apres la saisie du programme au niveau du logiciel on obtient :

Apres la saisie du programme au niveau de la maquette on obtient les mêmes résultats :


20

3) Soit le programme :

LDB #$xx

Si :

CMPB#0C
BHS SINON

ALORS :

ADDB#$02
BRA FINSI

SINON :

ADDB#$01

FINSI :

END

ORGANIGRAMME :

B = $10/07

B > $0C NON


B=B+$02

OUI

B= B+$01
END
21

Commentaire :

Premièrement on charge dans l’accumulateur B la valeur donne si la valeur donne est


supérieur a B B= B+01 sinon B=B+02.

Apres la saisie du programme au niveau du logicielle et la maquette on obtient :

➢ B=$10
22

➢ B=$07

TP 3 : PROGRAMATION PIA « pas à pas »

P.I.A : vient de Peripheral-Interface Adapter (Adaptateur d’Interface de périphérique). Le PIA 6821


est un dispositif programmable qui permet de réaliser la liaison parallèle entrele 6809 et ses
périphériques. Il communique au microprocesseur par l’intermédiaire du bus de données, du bus
d’adresse et du bus de contrôle. Il communique avec les périphériques par deux ports 8
bidirectionnels et quatre lignes de contrôle qui assurent la synchronisation des transferts
23

Pour avoir exécuter le programme pas a pas au niveau du MC09 il fallait suivre la démarche
suivante :

➢ On commence par mettre un point d’arrêt :

Action Commentaire
de l’action
Touche fin
Le programme
en mode initial

Touche BRK Demande de


mise d’un point
d’arrêt dans le
programme en
mémoire

Touche EXC Exécuter le


programme

Taper 0000 Adresse à


laquelle on veut
mettre un point
d’arrêt

Touche
Le programme
en mode initial
Fin
24

➢ Exécution du Programme en mode Pas a PAS :

Action Commentair
ede l’action
Touche Exécuter le
EXC programme

Touche l’adresse a la
0000 puis quelle on est
touche mettre en P.A
EXC
Touche On passe au
INC registre suivant

Touche On passe au
INC registre suivant

Touche On passe au
INC registre suivant

Touche
INC Fin du
programme

Application :

La saisie du programme sur le logicielle MOTO6809 et La maquette MC09 :

INIT_PortA :
CLR $8001
LDA #$FF
STA $8000
STA $8001
DEBUT :
LDA #$F0
STA $8000
LDA #$0F
STA $8000
END
25

Instruction Définition
CLR Mise à zéro de la case mémoire.
LDA Chargement de A avec le contenu mémoire.
STA Stockage de A dans la cellule mémoire.

Apres la saisie sur le logicielle on obtient :

Code machine
équivalent

On utilisant l’équivalent du programme affiché au niveau de la fenêtre ROM du logicielle


MOTO6809 on saisie le programme sur MC09 et on obtient :

Exécution PAS A
PAS
26

Conclusion :
• Durant ce T.P on a essayer de maitriser un peu le fonctionnement d’un
microprocesseur qui est l’un des composants les plus utile dans le monde
industrielle et on a aussi obtenue des nouveaux informations a propos d’un
microsystème MC09 ou on a essayer de se familiariser avec son
fonctionnement on effectuant de nombreux opérations on plus on a utiliser le
logiciel MOTO6809 qui est un logicielle très intéressant ou on a trouvé une
manière de vérification des résultats obtenues par la maquette MC09

Vous aimerez peut-être aussi