Vous êtes sur la page 1sur 4

HARD

BTS IRIS

TD
Programmation du PIA
Objectif : Dterminer partir du schma structurel les diffrentes adresses ncessaires la programmation du PIA 6821. Dtermination de ladresse de la zone programme Dtermination de ladresse des registres du PIA. Ecriture du programme en langage assembleur.

Cahier des charges : On souhaite raliser un chenillard sur les diodes cbles sur le port B.

Prsentation du PIA : Schma fonctionnel

Lyce Jules Ferry

TD_decod_prog

HARD Les registres internes :

BTS IRIS

Bit 2 in each Control Register CRA-2 and CRB-2 determines selection of either a Peripheral Register or the corresponding Data Direction register, when the proper register select signals are applied to RS0 and RS1. A '1' in bit 2 position selects the Peripheral register and a '0' in the bit 2 position selects the Data Direction register. Dcodage des adresses : Le PIA 6821 dispose de 3 entres de slection : CS0 = A2 CS1 = A3 /CS2 = /PIA RS0 = A0 et RS1 = A1

1)- Etude de RAM1 : 1-1)- Dterminer la plage dadresse de RAM1 Adresse dbut = Adresse fin =

2)- Etude du PIA 6821 : 2-1)- Dterminer la plage dadresse pour laquelle /CS_DEC3 = 0. Adresse dbut = Adresse fin =

2-2)- Dterminer la plage dadresse pour laquelle /PIA = 0. Adresse dbut = Adresse fin =

2-3)- Existe-t-il des plages images ? si oui, combien ?

Lyce Jules Ferry

TD_decod_prog

HARD 2-4)- Dterminer ladresse des registres internes du PIA : Peripheral register A : (ORA) = Data direction register A : (DDRA) = Control register A : (CRA) = Peripheral register B : (ORB) = Data direction register B : (DDRB) = Control register B : (CRB) =

BTS IRIS

3)- Programmation du chenillard : On considre que nous avons 8 diodes DEL connectes sur le port B. Lallumage des diodes est provoqu par un tat 1 sur le bit qui convient du registre ORB. Le registre DDRB permet dindiquer le sens de fonctionnement du port. Chacun des bits peuvent tre programm individuellement. 0 le bit fonctionne en sortie, 1 le bit fonctionne en entre. Le CRB est le registre de contrle permet daccder soit au registre ORB soit au registre DDRB. 3-1)- Etablir un algorithme permettent linitialisation du PIA :

3-2)- Etablir un algorithme permettant de faire clignoter toutes les diodes du port B :

3-3)- Ecrire le programme complet en langage assembleur : Le programme est implant ladresse de dbut de RAM1.

Lyce Jules Ferry

TD_decod_prog

ROM2 A0 A1 A2 A3 A4 A[0..23] 10 11 12 13 14 /CSROM1 15 Dec6 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 8 1 2 3 4 74HC138 6 4 5 G2BY 0 Y1 A Y2 B Y3 C Y4 Y5 G1 Y 6 G2AY 7 Dec4 G2BY 0 Y1 A Y2 B Y3 C Y4 Y5 G1 Y 6 G2AY 7 A13 1 A14 2 A15 3 A16 6 6 4 5 74HC138 15 /CSROM2 14 13 12 11 /CS_DEC3A 10 9 /CSRAM1 7 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A17 10 9 8 7 6 5 4 3 25 24 21 23 2 22 27 20 26 /CSRAM1
HI

A0 A1 A2 A3 A4 CS 16 8 VCC1 VEE

D0 D1 D2 D3 D4 D5 D6 D7

1 2 3 4 5 6 7 9

D0 D1 D2 D3 D4 D5 D6 D7

A21 9 5 A18 A19 A20 A22 A23 3 15 14 13 12 11 10 9 7 VAL0

D[0..7]

RAM1 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 OE WE CS1 CS2 2063 D0 D1 D2 D3 D4 D5 D6 D7 11 12 13 15 16 17 18 19

D0 D1 D2 D3 D4 D5 D6 D7

D0 D1 D2 D3 D4 D5 D6 D7

/CS_DEC3A

HARD

A4 A5

DEC5A 1 4 G Y0 5 /PIA Y1 6 2 Y2 7 3 Y3 74HC139 A B

Lyce Jules Ferry

TD_decod_prog

BTS IRIS