Vous êtes sur la page 1sur 10

Université Sidi Mohamed Ben Abdellah

Ecole Nationale des Sciences Appliquées


FES

Compte rendu du TP n°1


Familiarisation et prise en main du kit MC 09-B

Filière : GMSA 1
Année universitaire : 2016-2017

Réalisé par : Encadré par :


JAI MANSOURI Nabil M. Elbdouri Abdelali
OUINSOU Egill

YOUSSOUFI ALAOUI Rachid


Présentation du TP :
Ce TP consiste en une prise en main du microsystème MC 09-B et du jeu d’instruction du
microprocesseur MOTOROLA 6809.
Ainsi, ce TP a traité les points suivants :
 présentation du kit MC 09-B.
 procédure d’écriture du code et d’exécution sur le kit MC 09-B.
 Quelques exemples simples d’application.

Spécification du Kit MC 09-B :

1- Le matériel MC09-B :
le système MC 09-B fait suite au système MC 09 développé autour du microprocesseur 6809 de
MOTOROLA. il reprend dans son architecture les principales caractéristiques (matériel et logiciel)
qui ont fait le succès du MC 09.
Cette carte est équipée de :
 Un microprocesseur 6809.
 une mémoire EPROM moniteur de 8Ko.
 Deux supports pour mémoire EPROM de 8ko.
 Une mémoire RAM de 16Ko.
 Une interface parallèle de PIA 6821.
 Une interface multifonction VIA 6522.
 Une interface série ACIA 6850.
 Une interface TIMER 6840.
 Une interface parallèle système PIA 6821 (gestion clavier et afficheurs)
 Un clavier de 32 touches (hexa + fonctions).
 Un afficheur de 6 digits à 7 segments.
 Une ligne série RS232.
 Une prise pour liaison minitel.
 Une prise pour liaison cassette.
 Deux connecteurs de 50points chacun.
La carte nécessite une alimentation externe de + 5 volts, 2 Ampères.
Pour cela, on a relié le +5V de l’alimentation à l’entrée +5V du MC 09-B,
ensuite, on a relié la masse de l’alimentation à l’entré 0V du MC 09-B.
Dans ce TP, on a eu l’occasion du travailler sur le kit MC 09-B.

2 Le logiciel OPTIMA 09 :
C’est un logiciel intégré (genre TURBO) comportant :
 Un éditeur plein page.
 Un assembleur symbolique.
 Un débugger symbolique.
Le logiciel doit être implanté sur un ordinateur PC ou compatible auquel on connecte la carte
MC 09-B à travers la ligne série (COM1 ouCOM2).
I-Manipulation:
1-Utilisation du clavier

Le clavier est constitué de 30 touches.

16 touches (0 à F) constituent le clavier hexadécimal pour la saisie d’un programme à travers son
code machine.

14 touches constituent le clavier de Fonctions.

RST : Réinitialisation du système

MEM : Visualisation du contenu de la mémoire

INC : Incrémenter champs d’adresse d’une unité

DEC : Décrémenter les champs d’adresse d’une unité

OFS : Calcul d’offset

INS : Touche d’insertion

EXC : Exécution du programme

NMI : Envoi d’une interruption au processeur

ECR : Ecriture

BRK : Insertion de points d’arrêt

LEC : Lecture

PRG : Programme

REG : Exploration des contenues des registres internes du processeur

FIN : Fin d’une tache demandée au Kit MC 09-B

-On Branche l’alimentation de la carte, On Fait un Reset.

Pour Observer Le contenu des Registres On tape REG Puis INC ou DEC.

Registre Contenu
CC 7F
U AFFF
Y CC60
X 0A4A
A FF
B FF
DP FF
PC 8C17
S 3F0B

 Pour accéder à l’adresse $1000 de la mémoire On tape MEM puis 1000, On écrit par
exemple $11 à cette adresse. Puis on incrémente jusqu'à l’adresse $1002 et on écrit $48 puis
on termine Fin puis RESET.

Soit Au Clavier : MEM,1,0,0,0,1,1,INC,INC,4,8,FIN,RESET.

II-Saisie et exécution d’un programme sur le kit MC 09-B


1-Ecriture et exécution du programme sur le microprocesseur 6809 :

Le processeur 6809 est un processeur 8bits, un programme, écrit en langage assembleur est stocké en
mémoire sous forme d’une suite d’octets représentant le code machine ou le code objet de ce
programme. Chaque octet est identifié en mémoire par une adresse codée sur 16 bits. Soit le
programme :

Code Machine Langage Assembleur


0000 86 00 LDA #$00
0002 B7 20 00 STA $2000
0008 3F SWI

 On initialise la carte en appuyant sur la touche « RST » du clavier.


 Apres l’initialisation, on verra s’afficher « M C 0 9 »
 On appuie sur la touche « MEM » du clavier, pour accéder à la mémoire.
 Le système nous demande la première adresse du programme.
 On appuie 4 fois sur la touche 0 :

AFFICHEUR
0 0 0 0 X Y
- on introduit le code correspondant à l’instruction « LDA » : 86

AFFICHEUR
0 0 0 0 8 6
- On incrémente l’adresse, en appuyant sur la touche « INC »

AFFICHEUR
0 0 0 1 X Y
- On introduit la valeur qu’on veut stocker dans l’accumulateur A : 00

AFFICHEUR
0 0 0 1 0 0
- On incrémente l’adresse et on introduit B7

AFFICHEUR
0 0 0 2 B 7
- On incrémente l’adresse et on introduit la valeur 20 :

AFFICHEUR
0 0 0 3 2 0

- On incrémente l’adresse et on introduit la valeur 00 :

AFFICHEUR
0 0 0 4 0 0

- On incrémente l’adresse et on introduit la valeur 3F :

AFFICHEUR
0 0 0 5 3 F
-A la fin de la saisie du code, on appuie sur la touche FIN du clavier puis, sur la touche EXC
et on tape 4 fois la touche 0 pour indiquer que le programme démarre de l’adresse $0000.

Explication :

Qu’on a spécifié le nombre d’octet, le système nous a réservé deux cases mémoire vides à partir de
l’adresse d’insertion « 0004 », cela signifie qu’on a décalé le reste du code par 2 octets.

-la fonction réalisée par ce programme est le chargement de l’accumulateur A avec la valeur $00 et le
stockage de cette valeur dans la case d’adresse $2000.

-CLR A est équivalente à :*LDA #$00

*STA $2000

2- Utilisation du logiciel Optima :


1-Edition d’un programme:
Une ligne source est constituée au maximum de 4 champs séparés entre eux par un ou
plusieurs espaces qui seront ignorés par l’assembleur. Ces espaces, généralement une
tabulation, servent de délimiteurs des différents champs. L’Assembleur détermine la nature de
l’instruction en fonction des champs qu’il reconnait grâce aux espaces.
Question 1 : on additionne le contenu de la mémoire 1000 à celle de la mémoire 1001 et
mettre le résultat dans la case mémoire 1003.L’état de la retenue (carry) est en 1002

----------------------------------------------------------------------------------------------------------
6809 Program
---------------------------------------------------------------------------------------------------------
ORG $0000
CLR $1002
LDA $1000
ADDA $1001 ; Additionner le contenu de l’adresse $1001 à A
STA $1003
BCC fin ; si c=0, tu passes à l’étiquette fin
INC $1002
fin: SWI

Code Machine Langage Assembleur


0000 7F 10 02 CLR $1002
0003 86 10 00 LDA $1000
0006 BB 10 01 ADDA $1001
0009 B7 10 03
STA $1003
000C 24 03
000E 7C 10 02 BCC fin
001B 3F INC $1002
fin SWI

APPLICATION
RESULTAT

----------------------------------------------------------------------------------------------------------

2-utilisation de l’adressage indexé :

----------------------------------------------------------------------------------------------------------
6809 Program
Transfert d’une zone mémoire vers une autre :
Transférer 16 octets de la mémoire $0120 à $012F vers la mémoire $0170 à $017F, sans inverser
l’ordre des octets de la mémoire source.

----------------------------------------------------------------------------------------------------------------

DEBUT ORG $0000


LDB #16; charger B par la valeur 16
LDX #$0120; charger X par l’adresse 0120
LDY #$0180 ; charger Y par l’dresse 0180
loop : LDA, X+ ; charger A par le contenu de l’adresse qui contient X et
incrémenter X
STA, Y+
DEC B
BNE loop : si not equal, revient à loop
SWI

APPLICATION

RESULTAT
Refaire le même travail que précédemment, mais en inversait l’ordre des octets de la mémoire source.

6809 Program

DEBUT ORG $0000


LDB #16; charger B par la valeur $16
LDX #$1020; charger X par l’adresse 0120
LDY #$0180 ; charger Y par l’dresse 0180
loop : LDA, X+ ; charger A par le contenu de l’adresse qui contient X et incrémenter X
STA, -Y
DEC B
BNE loop : si not equal, revient à ETIQ
SWI

APPLICATION
RESULTAT

Vous aimerez peut-être aussi