Académique Documents
Professionnel Documents
Culture Documents
Objectif du TP :
Port A :
o DDRA et ORA se trouvent tous les deux à l’adresse $ 8000
o CRA est à l’adresse $8001
Port B :
o DDRA et ORA se trouvent tous les deux à l’adresse $8002
o CRA est à l’adresse $8003
Les ports A et B sont identiques. Dans ce qui suit. On parlera de port X sachant que
cela peut désigner aussi bien le port A que le port B.
Contenu du registre de commande CRX
1
Pour déclarer un bit du port X en sortie (en entrée), il faut mettre un 1 (un 0) dans
le bit de même rang du registre DDRX.
Contenu du registre de sortie ORX
Première partie :
Programmation du PIA 6821
EXERCICE 1 :
PROG_1
Adresse Code machine Etiquette Code mnémonique Mode Nbr. Commentaire
2
EXERCICE 2 :
DELAI
Adress Code machine Etiquett Code mnémonique Mode Nbr. Commentair
Sortie
EXERCICE 3
PROG_2
Adress Code machine Etiquette Code mnémonique Mode Nbr. Commentaire
programme
3
$0019 3F SWI inherent 1 Fin du programme
EXERCICE 4 :
PROG_3
Adress Code machine Etiquette Code mnémonique Mode Nbr. Commentaire
programme
EXERCICE 5 :
4
PROG 4
Adress Code machine Etiquette Code mnémonique Mode Nbr. Commentaire
programme
EXERCICE 6 :
On propose un programme PROG 5 qui permet de de réaliser un chenillard sur les
8 diodes rouges du port B.
PROG_5
Adress Code machine Etiquette Code mnémonique Mode Nbr. Commentaire
5
programme
programme
LOOP si Z = 1
Second partie
Etude des niveaux de priorité des trois interruptions matérielles IRQ,
FIRQ, et NMI,
Le but de cette second partie consiste à mettre en œuvre les trois interruptions
matérielles IRQ, FIRQ, et NMI du processeur 6809 et de compare ensuite leurs niveaux de
priorité.
◙ un programme d’interruption IRQ, FIRQ, et NMI possède une vecteur d’interruption qui
est une adresse 16 bits stockée en mémoire dans deux octets. Pour le MC09, ces adresses sont
réparties en mémoire comme suit :
La validation ou non d’une interruptions doit se terminer par l’instruction masquable se fait
au niveau du registre d’état CC (bit I pour IRQ bit F pour FIRQ :
o Si I (F) = 0 alors l’interruption IRQ (FIRQ) est validée.
o Si I (F) = 1 alors l’interruption IRQ (FIRQ) est masquée.
Travail à faire :
6
EXERCICE 1:
EXERCICE 2:
programme
EXERCICE 3:
7
Adress Code machine Etiquette Code mnémonique Mode Nbr. Commentaire
programme
EXERCICE 4:
8
$0111 B7 80 02 TOTO STA $8002 étendu 3 ORB ← $0F
programme
EXERCICE 4:
PORGRAMME PRINCIPALE
Adress Code machine Etiquette Code mnémonique Mode Nbr. Commentaire
FIRQ $0200
$0009 BF 0F 66 - STX $0F66 Etendu 3
FIRQ
9
programme
programme
LOOP si Z = 1
Interruption NMI
L’interruption NMI est une interruption non masquable. Elle possède, sur le
clavier de la carte MC09, une touche qu’il suffit d’appuyer pour provoquer cette
interruption.
Interruption IRQ et FIRQ :
Les interruptions IRQ et FIRQ possède sont des interruptions masquables par
programme. Leur provocation comme suit :
o Interruption IRQ//
Comme elle est active au niveau bas, un fil relié à la masse de la carte
MC09 permet d’activer cette interruption en touchant avec ce fil la
broche IRQ (broche N° 3) sur le processeur 6809.
o Interruption FIRQ //
Comme elle est active au niveau bas, un fil relié à la masse de la carte
MC09 permet d’activer cette interruption en touchant avec ce fil la
Broche FIRQ (broche N° 4) sur le processeur 6809.
CONCLUSION :
Pour le teste qui permet de classer, par ordre de priorité croissante, les
trois interruptions IRQ, FIRQ, et NMI nous arrivons pas à le faire à cause
d’une mal programmation De la carte MC09.
10