Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 1
LE BOÎTIER 8155256 OCTETS DE RAM
3 PORTS PARALLÈLES
1 TIMER
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 2
LE BOÎTIER 8155
FIGURE PAGE 93
256 OCTETS DE RAM
8
8
6
PORT A (8 LIGNES)PORT B (8 LIGNES)PORT C (6 LIGNES)
TIMER 14 BITS
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 3
LE BOÎTIER 8155 : INTERFACE AVEC LE 8085
8155
CS
LE 8155 EST CONÇU POUR ÊTRE INTERFACÉ AVEC UN DATA BUS MULTIPLEXÉ.
LE SIGNAL ALE PERMET DE DÉMULTIPLEXER LE DATA BUS
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 4
T1
PCL
PCH
RAPPEL : AU PREMIER COUP D'HORLOGE T1 DE CHAQUE CYCLE MACHINE (LECTURE OU ÉCRITURE) :
- LE 8085 ENVOIE L'ADRESSE 16 BITS DE LA CASE MÉMOIRE OU DU BOÎTIER D'ENTRÉES SORTIES.
- ALE EST ACTIVÉ.
T1T1
LE BOÎTIER 8155 : INTERFACE AVEC LE 8085
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 5
LE BOÎTIER 8155 : INTERFACE AVEC LE 8085
8155
CE
LE 8155 RECOIT LE SIGNAL IO/M : LES PORTS ET LE TIMER SERONT ACCESSIBLES AVEC LES INSTRUCTIONS IN ET OUT.
SIGNAL RD POUR LA LECTURE ET SIGNAL WR POUR L'ÉCRITURE
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 6
LE BOÎTIER 8155 : INTERFACE AVEC LE 8085
8155
CE
L'ENTRÉE RESET EST RELIÉE À LA SORTIE RESET OUT DU 8085.
RESET ACTIF => TOUS LES PORTS EN ENTRÉE ET ARRÊT DU TIMER.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 7
LE BOÎTIER 8155 : INTERFACE AVEC LE 8085
8155
CE
L'ENTRÉE CE EST RELIÉE À UNE SORTIE DU DÉCODEUR D'ADRESSES
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 8
LE BOÎTIER 8155 : INTERFACE AVEC LE 8085
FIGURE 7-2 (PAGE 95)
CE (8155)
À CHAQUE FLAN DESCENDANT DE ALE LE 8155 :
- ÉCHANTILLONNE SON ENTRÉE CE.- ÉCHANTILLONNE SON ENTRÉE IO/M.- LATCHE L'ADRESSE BASSE AD0-AD7.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 9
LE BOÎTIER 8155 : INTERFACE AVEC LE 8085
CE (8155)
SI SUR UN FLAN DESCENDANT DE ALE L' ENTRÉE CE N'EST PAS ACTIVE LE 8155 SAIT QUE CE CYCLE MACHINE NE LE CONCERNE PAS : IL RECONSIDÉRERA LE PROBLÈME
AU PROCHAIN FLAN DESCENDANT DE ALE.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 10
LE BOÎTIER 8155 : INTERFACE AVEC LE 8085
CE (8155)
SI SUR UN FLAN DESCENDANT DE ALE L' ENTRÉE CE EST ACTIVE LE 8155 SAIT QUE CE CYCLE MACHINE LE CONCERNE. AVEC LE SIGNAL IO/M IL SAIT SI LE 8085 VEUT COMMUNIQUER AVEC LA MÉMOIRE OU UN PORT D'ENTRÉE-SORTIE. LA CASE MÉMOIRE (OU LE PORT) A UNE ADRESSE COMPRISE ENTRE 00 ET FF.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 11
LE BOÎTIER 8155 : INTERFACE AVEC LE 8085 SUR LA MAQUETTE SDK85
Date: December 7, 1999 Sheet of
Size Document Number REV
A
RST-IN 36
X1 1
X2 2
SID 5
TRAP 6
RST 5.5 9
RST 6.5 8
RST 7.5 7
INTR 10
INTA 11
S0 29
S1 33
HOLD 39
READY 35
AD012
AD1 13
AD2 14
AD3 15
AD4 16
AD5 17
AD6 18
AD7 19
A8 21
A9 22
A10 23
A1124
A12 25
A13 26
A14 27
A15 28
ALE 30
WR 31
RD32
IO/M 34
RST-OUT 3
CLKO37
SOD 4
HLDA 38
8085
AD0 12
AD1 13
AD2 14
AD3 15
AD4 16
AD5 17
AD6 18
AD7 19
CE 8
ALE 11
WR 10
RD 9
IO/M 7
RESET 4
TIN 3 T
OUT
6
PA021
PA1 22
PA2 23
PA3 24
PA4 25
PA5 26
PA6 27
PA7 28
PB0 29
PB1 30
PB231
PB3 32
PB4 33
PB5 34
PB6 35
PB7 36
PC0 37
PC138
PC2 39
PC3 1
PC4 2
PC5 5
8155#1
A11A12A13A14A15
A 1
B 2
C 3
G1 6
G2A 4
G2B 5
Y0 15
Y1 14
Y213
Y3 12
Y4 11
Y5 10
Y6 9
Y7 7
DECODEUR D'ADRESSES
A14A15
A11A12A13
+5V
SORTIE ACTIVE POUR TOUTEADRESSE : 0010 0XXX XXXX XXXX
FIGURE III-1 (PAGE TP III-1)
SORTIE 4 DU DÉCODEUR
L'ENTRÉE CE DU 8155#1 EST RELIÉE À LA SORTIE 4 DU DÉCODEUR D'ADRESSES.
CETTE SORTIE EST ACTIVE POUR TOUTES LES ADRESSES 0010 0XXX XXXX XXXX.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 12
ADRESSES DES 256 OCTETS DE RAM DU BOÎTIER 8155#1
00
256 OCTETS
0102
FEFF
0010 0XXX 0000 00000010 0XXX 0000 00010010 0XXX 0000 0010
0010 0XXX 1111 11100010 0XXX 1111 1111
LA CASE MÉMOIRE 00 DE CE BOÎTIER A 8 ADRESSES POSSIBLES :
2000H 2100H 2200H 2300H 2400H 2500H 2600H 2700H
NATURELLEMENT, ON N'EN RETIENDRA QU'UNE :
=> LES 256 OCTETS DE LA RAM DU 8155#1 CORRESPONDENT AUX ADRESSES 2000H À 20FFH.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 13
LE BOÎTIER 8155#2
Date: December 7, 1999 Sheet of
Size Document Number REV
A
RST-IN 36
X1 1
X2 2
SID 5
TRAP 6
RST 5.5 9
RST 6.5 8
RST 7.5 7
INTR 10
INTA 11
S0 29
S1 33
HOLD 39
READY 35
AD012
AD1 13
AD2 14
AD3 15
AD4 16
AD5 17
AD6 18
AD7 19
A8 21
A9 22
A10 23
A1124
A12 25
A13 26
A14 27
A15 28
ALE 30
WR 31
RD32
IO/M 34
RST-OUT 3
CLKO37
SOD 4
HLDA 38
8085
AD0 12
AD1 13
AD2 14
AD3 15
AD4 16
AD5 17
AD6 18
AD7 19
CE 8
ALE 11
WR 10
RD 9
IO/M 7
RESET 4
TIN 3 T
OUT
6
PA021
PA1 22
PA2 23
PA3 24
PA4 25
PA5 26
PA6 27
PA7 28
PB0 29
PB1 30
PB231
PB3 32
PB4 33
PB5 34
PB6 35
PB7 36
PC0 37
PC138
PC2 39
PC3 1
PC4 2
PC5 5
8155#1
A11A12A13A14A15
A 1
B 2
C 3
G1 6
G2A 4
G2B 5
Y0 15
Y1 14
Y213
Y3 12
Y4 11
Y5 10
Y6 9
Y7 7
DECODEUR D'ADRESSES
A14A15
A11A12A13
+5V
SORTIE ACTIVE POUR TOUTEADRESSE : 0010 0XXX XXXX XXXX
FIGURE III-2 (PAGE TP III-1)
SORTIE 5 DU DÉCODEUR
L'ENTRÉE CE DU 8155#2 EST RELIÉE À LA SORTIE 5 DU DÉCODEUR D'ADRESSES.
CETTE SORTIE EST ACTIVE POUR TOUTES LES ADRESSES 0010 1XXX XXXX XXXX.
2
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 14
ADRESSES DES 256 OCTETS DE RAM DU BOÎTIER 8155#2
00
256 OCTETS
0102
FEFF
0010 1XXX 0000 00000010 1XXX 0000 00010010 1XXX 0000 0010
0010 1XXX 1111 11100010 1XXX 1111 1111
LA CASE MÉMOIRE 00 DE CE BOÎTIER A 8 ADRESSES POSSIBLES :
2800H 2900H 2A00H 2B00H 2C00H 2D00H 2E00H 2F00H
NATURELLEMENT, ON N'EN RETIENDRA QU'UNE :
=> LES 256 OCTETS DE LA RAM DU 8155#2 CORRESPONDENT AUX ADRESSES 2800H À 28FFH.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 15
LE BOÎTIER 8155 : REGISTRES POUR LES ENTRÉES SORTIES
FIGURE 7-1 (PAGE 94)
LE REGISTRE DE COMMANDE ET LE REGISTRE D'ÉTAT ONT LA MÊME ADRESSE.
ÉCRITURE => REGISTRE DE COMMANDE LECTURE => REGISTRE D'ÉTAT
UN REGISTRE POUR CHACUN DES 3 PORTS PARALLÈLES : PA, PB ET PC.
DEUX REGISTRES POUR LE TIMER 14 BITS : TIMMSB ET TIMLSB.
ON N'A DONC BESOIN QUE DE 6 ADRESSES.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 16
ADRESSES DES REGISTRES POUR LES ENTRÉES SORTIES
SUR CHAQUE FLAN DESCENDANT DE ALE LE 8155 LATCHE UNE ADRESSE 8 BITS.
POUR LES ENTRÉES SORTIES, IL NE S'INTÉRESSE QU'AUX 3 BITS DE POIDS FAIBLE.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 17
ADRESSES DES REGISTRES POUR LES ENTRÉES SORTIES
APPLICATION À LA MAQUETTE SDK85 POUR LE 8155#1
LES ENTRÉES SORTIES NE SONT ACCESSIBLES QUE PAR LES INSTRUCTIONS IN ET OUT.
AU 3ème COUP D'HORLOGE LE 8085 ENVOIE LA MÊME VALEUR POUR LES PARTIES BASSE ET HAUTE DE L'ADRESSE.
POUR QUE LE 8155#1 SOIT SÉLECTÉ, CETTE ADRESSE DOIT ÊTRE :
0010 0XXX 0010 0XXX
REGISTRE DE COMMANDE ET ÉTAT => 0010 0000 (20H)
PORT A => 0010 0001 (21H)
PORT B => 0010 0010 (22H)
PORT C => 0010 0011 (23H)
TIMLSB => 0010 0100 (24H)
TIMMSB => 0010 0101 (25H)
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 18
ADRESSES DES REGISTRES POUR LES ENTRÉES SORTIES
APPLICATION À LA MAQUETTE SDK85 POUR LE 8155#2
LES ENTRÉES SORTIES NE SONT ACCESSIBLES QUE PAR LES INSTRUCTIONS IN ET OUT.
AU 3ème CYCLE MACHINE LE 8085 ENVOIE LA MÊME VALEUR POUR LES PARTIES BASSE ET HAUTE DE L'ADRESSE.
POUR QUE LE 8155#2 SOIT SÉLECTÉ, CETTE ADRESSE DOIT ÊTRE :
0010 1XXX 0010 1XXX
REGISTRE DE COMMANDE ET ÉTAT => 0010 1000 (28H)
PORT A => 0010 1001 (29H)
PORT B => 0010 1010 (2AH)
PORT C => 0010 1011 (2BH)
TIMLSB => 0010 1100 (2CH)
TIMMSB => 0010 1101 (2DH)
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 19
CNT55 equ 28H
STAT55 equ 28H
PA equ 29H
PB equ 2AH
PC equ 2BH
TIMLSB equ 2CH
TIMMSB equ 2Dh
cseg…….…….mvi a,00001100bout CNT55mvi a,55hout PC…….…….
poll: in PAani 01jz poll…………
wait: in STAT55ani 40hjnz wait……
ENTRÉES SORTIES : PROGRAMMATION EN ASSEMBLEUR
8155#2
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 20
LE BOÎTIER 8155 : REGISTRE DE COMMANDE
FIGURE 7-3 (PAGE 95)
- UN BIT POUR LE PORT A (IN OU OUT).
- UN BIT POUR LE PORT B (IN OU OUT).
- DEUX BITS POUR LE PORT C :
4 ALTERNATIVES
- DEUX BITS POUR MASQUER LES DEMANDES D'INTERRUPTION.
(À SUIVRE …..)
- DEUX BITS POUR LE TIMER :
4 COMMANDES.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 21
LE BOÎTIER 8155 : LE REGISTRE DE COMMANDE
LE PORT A EST UN PORT 8 BITS.
2 POSSIBILITÉS : 8 LIGNES EN SORTIE.
8 LIGNES EN ENTRÉE.
LE PORT B EST UN PORT 8 BITS.
2 POSSIBILITÉS : 8 LIGNES EN SORTIE.
8 LIGNES EN ENTRÉE.
LE PORT C EST UN PORT 6 BITS.
4 POSSIBILITÉS : 6 LIGNES EN SORTIE.
6 LIGNES EN ENTRÉE.
???
???
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 22
INTERFACE PARALLÈLE AVEC SIGNAUX DE CONTRÔLE (HANDSHAKE)
EXEMPLE D'INTERFACE PARALLÈLE : 8 DIODES LED SUR LE PORTA
mvi a,xxh
out PA ;Mise à jour de l'état des LED sur le port A
AUTRE EXEMPLE D'INTERFACE PARALLÈLE : IMPRIMANTE SUR LE PORT A
mvi a,xxh
out PA ;Envoi du caractère à imprimer.
ATTENTION !!!IL N'EST PAS POSSIBLE D'ENVOYER UN CARACTÈRE À UNE IMPRIMANTE SANS S'ASSURER AU PRÉALABLE QU'ELLE EST PRÊTE À RECEVOIR UN NOUVEAU CARACTÈRE.
UNE IMPRIMANTE DÉLIVRE UN SIGNAL BUSY. TANT QUE CE SIGNAL EST ACTIF IL NE FAUT PAS LUI ENVOYER UN CARACTÈRE.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 23
INTERFACAGE D’UNE IMPRIMANTE PARALLÈLE
IMPRIMANTE8
LES CARACTÈRES À IMPRIMER
SONT CODÉS SUR 8 BITS
BUSY ACK
LORSQUE LE SIGNAL DE SORTIE BUSY EST ACTIF L’IMPRIMANTE FAIT SAVOIR QU’ELLE N’EST PAS PRÊTE À RECEVOIR UN CARACTÈRE.
LORSQUE LE SIGNAL D’ENTRÉE ACK EST ACTIF ON FAIT SAVOIR À L’IMPRIMANTE QU’UN NOUVEAU CARACTÈRE LUI A ÉTÉ ENVOYÉ.
DATA
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 24
INTERFACAGE D’UNE IMPRIMANTE PARALLÈLE
IMPRIMANTE8
LES CARACTÈRES À IMPRIMER
SONT CODÉS SUR 8 BITS
BUSY ACK
DATA
DATA
BUSY
ACK
8
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 25
INTERFACAGE D’UNE IMPRIMANTE PARALLÈLE
IMPRIMANTE
BUSY ACK
PA
PB
PC
OUT
8155
IN
OUT
(ALT 2)
0
0
POLLING
poll: in PBani 01jnz poll ;Attendre BUSY inactif…..…..out PA ;Envoi nouvelle data
ack: in PCani 0fehout PC ;ACK=0ori 01out PC ;ACK=1jmp poll
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 26
INTERFACAGE D’UNE IMPRIMANTE PARALLÈLE
IMPRIMANTE
BUSY ACK
PA
PB
PC
OUT
8155
IN
(ALT 3) 2
INTERRUPTION
01
IEA
ENTRÉE INTERRUPTION DU MICROPROCESSEUR
UNE LIGNE DU PORT C "SURVEILLE" LE SIGNAL READY.
LORSQUE READY DEVIENT INACTIF UNE LIGNE DU PORT C EST ACTIVÉE POUR ÉMETTRE UNE DEMANDE D'INTERRUPTION.
CETTE DEMANDE D'INTERRUPTION EST MASQUABLE AU NIVEAU DU 8155.
LORSQUE LE PROGRAMME D'INTERRUPTION ÉCRIT DANS LE PORT A LE SIGNAL ACK EST AUTOMATIQUEMENT GÉNÉRÉ PAR UNE LIGNE DU PORT C.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 27
LE BOÎTIER 8155 : 4 ALTERNATIVES POUR LE PORT C
ALT 1 : 6 LIGNES EN ENTRÉE.
ALT 2 : 6 LIGNES EN SORTIE.
ALT 3 : 3 LIGNES "HANDSHAKE" + 3 LIGNES EN SORTIE.
ALT 4 : 3 LIGNES "HANDSHAKE" + 3 LIGNES "HANDSHAKE".
PAR EXEMPLE : 2 IMPRIMANTES, UNE SUR PA ET UNE SUR PB.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 28
LE BOÎTIER 8155#2 : UTILISATION DES PORTS EN TP
PA
PB
PC
IN
8155
OUT
+5V0123
45
6 INTERRUPTEURS
012
+5V
3 LED
PORT A EN ENTRÉE
PORT C EN SORTIE (ALT 2)
PORT B NON UTILISÉ
TM2 TM1 IEB IEA PC2 PC1 PB PA
0 0 X X 1 1 X 0
ALT 2 INNOP
mvi a,00001100B
out CNT55
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 29
LE BOÎTIER 8155 : STRUCTURE D'UNE LIGNE DE PORT (PA / PB)
MODE : BIT DU REGISTRE DE COMMANDE => 0 (IN) 1 (OUT)
AU RESET TOUS LES PORTS SONT EN ENTRÉE ( MODE=0).
LORSQU'UNE LIGNE EST EN ENTRÉE LA SORTIE DE OUTPUT LATCH EST À 0;
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 30
LE BOÎTIER 8155 : LIGNE DE PORT (PA / PB) EN ENTRÉE
EN ENTRÉE MODE = 0
0
0
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 31
LE BOÎTIER 8155 : LIGNE DE PORT (PA / PB) EN SORTIE
EN SORTIE MODE = 1
1
UN PORT EN SORTIE PEUT ÊTRE LU.
LORSQU'ON PROGRAMME EN SORTIE UN PORT QUI PRÉALABLEMENT ÉTAIT EN ENTRÉE TOUTES LES LIGNES DE SORTIE APPARAISSENT AU NIVEAU 0.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 32
LE BOÎTIER 8155 : TIMER
QU'EST-CE QU'UN TIMER ?
TIMERTIMER IN TIMER OUT
UN TIMER EST UN DÉCOMPTEUR HARDWARE QUI DÉCOMPTE À CHAQUE FLAN MONTANT (OU DESCENDANT) DU SIGNAL D'ENTRÉE TIMER IN.
LE TIMER DU 8155 EST UN TIMER 14 BITS QUI DÉCOMPTE À CHAQUE FLAN MONTANT DE SON SIGNAL D'ENTRÉE TIMER IN.
L'ACTIVATION DE L'ENTRÉE RESET DU 8155 ARRÊTE LE TIMER. SA VALEUR N'EST PAS MODIFIÉE.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 33
UTILISATION D'UN TIMER : EXEMPLE 1
TIMERTIMER IN TIMER OUT
DIVISION DE FRÉQUENCE
UTILISATION COURANTE ET TRÈS SIMPLE DU TIMER :
ON CHARGE LE TIMER AVEC UNE VALEUR N.
LA FRÉQUENCE DU SIGNAL DE SORTIE EST ÉGALE À LA FRÉQUENCE DU SIGNAL D'ENTRÉE DIVISÉE PAR N.
EXERCICE 5 DU CHAPITRE III : ON GÉNÈRE UN SIGNAL CARRÉ À 1 KHz À PARTIR D'UN SIGNAL CARRÉ À 3.072 MHz.
F F/N
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 34
UTILISATION D'UN TIMER : EXEMPLE 2
TIMERTIMER IN
L'ENTRÉE TIMER IN EST UN SIGNAL PÉRIODIQUE.
ON CHARGE LE TIMER AVEC UNE VALEUR INITIALE N ET ON LE DÉMARRE.
ON EXÉCUTE UNE TÂCHE.
ON ARRÊTE LE TIMER ET ON LIT SA VALEUR n.
LA DIFFÉRENCE N-n PERMET DE CONNAÎTRE LA DURÉE DE LA TÂCHE.
EXERCICE 6 DU CHAPITRE III : MESURE DE LA DURÉE D'UNE BOUCLE D'ATTENTE.
MESURE D'UN INTERVALLE DE TEMPS
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 35
UTILISATION D'UN TIMER : EXEMPLE 3
TIMERTIMER IN
ON CHARGE LE TIMER AVEC UNE VALEUR INITIALE N.
LE TIMER DÉCOMPTE CHAQUE FOIS QU'UNE PIÈCE COUPE LE FAISCEAU LUMINEUX.
SI LORSQU'ON LIT LE TIMER SA VALEUR EST n, LA DIFFÉRENCE N-n PERMET D'ACCÉDER AU NOMBRE DE PIÈCES QUI SONT PASSÉES SUR LE TAPIS ROULANT.
EMETTEUR
RÉCEPTEUR
COMPTEUR D'ÉVÉNEMENTS
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 36
LE TIMER DU 8155
TM2 TM1 IEB IEA PC2 PC1 PB PA
INTR
A
A
BF
INTE
A
INTR
B
B
BF
INTE
B
TIMERNU
2 REGISTRES
TIMLSB
TIMMSB
2 BITS DANS LE REGISTRE DE COMMANDE
1 BIT DANS LE REGISTRE D'ÉTAT
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 37
LE BOÎTIER 8155 : LES 2 REGISTRES DU TIMER
T7 T6 T5 T4 T3 T2 T1 T0TIMLSB : LES 8 BITS LSB DU TIMER
M2 M1 T13 T12 T11 T10 T9 T8TIMLSB : LES 6 BITS MSB DU TIMER
+ 2 BITS DE MODE FIGURE 7-8 (PAGE 98)
LES 2 BITS DE MODE AGISSENT UNIQUEMENT SUR LA FORME DU SIGNAL DE SORTIE.
IDÉAL POUR L'UTILISATION
EN DIVISEUR DE FRÉQUENCE.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 38
LE BOÎTIER 8155 : COMMANDE DU TIMER
TM2 TM1 IEB IEA PC2 PC1 PB PA
2 BITS DANS LE REGISTRE DE COMMANDE
FIGURE 7-3 (PAGE 95)
0 0 NOP – DO NOT AFFECT COUNTER OPERATION
0 1 STOP – NOP IF TIMER HAS NOT STARTED; STOP COUNTING IF THE TIMER IS RUNNING.
1 0 STOP AFTER TC – STOP IMMEDIATELY AFTER PRESENT TC IS REACHED. ( NOP IF TIMER HAS NOT STARTED).
1 1 START – LOAD MODE AND CNT LENGTH AND START IMMEDIATELY AFTER LOADING (IF TIMER IS NOT PRESENTELY RUNNING). IF
TIMER IS RUNNING, START THE NEW MODE AND CNT LENGTH IMMEDIATELY AFTER PRESENT TC IS REACHED.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 39
LE BOÎTIER 8155 : LE BIT "TIMER" DU REGISTRE D'ÉTAT
INTR
A
A
BF
INTE
A
INTR
B
B
BF
INTE
B
TIMERNU
1 BIT DANS LE REGISTRE D'ÉTAT
FIGURE 7-4 (PAGE 96)
TIMER INTERRUPT (THIS BIT IS LATCHED HIGH WHEN TERMINAL COUNT IS REACHED,AND IS RESET TO UPON READING OF THE C/S REGISTER AND BY HARDWARE RESET).
;Attendre la fin de comptage du timer
wait: in STAT55
ani 01000000B
jz wait
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 40
LE TIMER DU BOÎTIER 8155
Date: December 8, 1999 Sheet of
Size Document Number REV
A
DATA BUSINTERNE
012345
CNT55
01 67
01
startstop
234567
234567
WTIMLSB
012345
89101112
WTIMMSB
67
13
mode
TIMER IN
13
DECOMPTEUR 14 BITS89101112 234567 01
TIMER OUT
012345STAT55
01 67234567RTIMLSB
012345RTIMMSB
67
FIGURE PAGE TP III-7
LES REGISTRES TIMLSB ET TIMMSB :
EN FAIT, IL Y A 2 REGISTRES TIMLSB ET 2 REGISTRES TIMMSB.
EN EFFET, SELON QUE L'ON EFFECTUE UNE LECTURE OU UNE ÉCRITURE ON N'ATTEINT PAS LE MÊME REGISTRE.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 41
PREMIER EXEMPLE CONCRET D'UTILISATION DU TIMER DU 8155
TIMERTIMER IN TIMER OUT
DIVISION DE FRÉQUENCE
F F/N
EXERCICE 5 DU CHAPITRE III
L'ENTRÉE TIMER IN EST RELIÉE À LA SORTIE CLK OUT DU 8085 (3.072 MHz).
PROGRAMMER LE TIMER POUR OBTENIR UN SIGNAL À 1 KHz EN SORTIE DU TIMER.
IL FAUT DIVISER LA FRÉQUENCE DU SIGNAL D'ENTRÉE PAR 3072 ET CHOISIR LE MODE 01 (SIGNAL CARRÉ) OU LE MODE 11 (SIGNAL IMPULSIONNEL).
NB : 3072 0C00H 0000 1100 0000 0000
mvi a,00000000B
out TIMLSB ;TIMLSB=00
mvi a,01001100B ;TIMMSB=0C0H / MODE 01
out TIMMSB
mvi a,11000000B
out CNT55 ;Start Timer
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 42
PREMIER EXEMPLE CONCRET D'UTILISATION DU TIMER DU 8155
TIMER . N=3072
TIMER IN TIMER OUT
F F/N
COMMENT CA MARCHE ?
C'EST TRÈS SIMPLE :
LE TIMER DÉCOMPTE DE 2 EN 2. CHAQUE FOIS QU'IL ATTEINT UNE FIN DE COMPTAGE :
-IL INVERSE L'ÉTAT DE LA SORTIE TIMER OUT.
-IL SE RECHARGE AVEC LA VALEUR INITIALE N.
15361536
MODE 01
3071
MODE 111
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 43
SECOND EXEMPLE CONCRET D'UTILISATION DU TIMER DU 8155
TIMERTIMER IN
MESURE D'UN INTERVALLE DE TEMPS
EXERCICE 6 DU CHAPITRE IIIL'ENTRÉE TIMER IN EST RELIÉE À LA SORTIE CLK OUT DU 8085 (3.072 MHz).
MESURER À L'AIDE DU TIMER LA DURÉE EN NOMBRE DE CLK DE LA BOUCLE D'ATTENTE :
mvi l,0
loop: dcr l
jnz loop
LE PRINCIPE EST SIMPLE :
AVANT DE RENTRER DANS LA BOUCLE ON CHARGE LE TIMER AVEC LA VALEUR MAXIMUM N=3FFFH ET ON DÉMARRE LE TIMER.
À LA SORTIE DE LA BOUCLE ON ARRÊTE IMMÉDIATEMENT LE TIMER ET ON LIT SA VALEUR n.
À PARTIR DE LA DIFFÉRENCE N-n ON DOIT POUVOIR DÉTERMINER LA DURÉE DE LA BOUCLE D'ATTENTE.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 44
SECOND EXEMPLE CONCRET D'UTILISATION DU TIMER DU 8155
MESURE D'UN INTERVALLE DE TEMPS
LA RÉPONSE SERAIT ÉVIDENTE ( ΔT = N-n CLK) SI LE TIMER DÉCOMPTAIT DE 1 EN 1.
MAIS LE TIMER DÉCOMPTE DE 2 EN 2, ET CE N'EST PAS TOUT COMME LE MONTRE LA FIGURE CI-DESSOUS :
FIGURE PAGE TP III-8
CONCLUSION :
SI n EST IMPAIR IL FAUT CALCULER (N-n)/2, SOIT N/2 – n/2
Si n EST PAIR IL FAUT CALCULER N/2 + (N-n)/2, SOIT N – n/2.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 45
SECOND EXEMPLE CONCRET D'UTILISATION DU TIMER DU 8155
MESURE D'UN INTERVALLE DE TEMPS (CADEAU)
SUPPOSONS QUE LA VALEUR N EST DANS HL ET LA VALEUR n DANS DE.
- IL FAUT COMMENCER PAR DÉTERMINER SI n EST PAIR OU IMPAIR ?
- D'AUTRE PART ON SAIT QUE L'ON DEVRA DANS TOUS LES CAS CALCULER n/2.
D E0 X
D'UNE PIERRE DEUX COUPS :
EN DÉCALANT LA PAIRE DE REGISTRES DE D'UN CRAN VERS LA DROITE EN INTRODUISANT UN 0 À GAUCHE :
- ON CALCULE DE/2 SOIT n/2.
- ON DÉTERMINE SI n EST PAIR OU IMPAIR.
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 46
SECOND EXEMPLE CONCRET D'UTILISATION DU TIMER DU 8155
MESURE D'UN INTERVALLE DE TEMPS (CADEAU)
;HL=N et DE=nora a ;Carry=0
mov a,drarmov d,amov a,erarmov e,a ;DE=n/2
jnc pair
impair: ;Calcul de N/2ora a ;Carry=0
mov a,hrarmov h,a
mov a,lrarmov l,a ;HL=N/2
pair: ;Calcul de HL – DE…..…..
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 47
LE BOÎTIER 8155
VOUS AVEZ MAINTENANT PRATIQUEMENT TOUTES LES INFORMATIONS NÉCESSAIRES POUR RÉSOUDRE LA TOTALITÉ DES EXERCICES DU CHAPITRE III DU POLYCOPIÉ DE TP.
VOUS TROUVEREZ DANS LA SECTION "EXERCICES" DU POLYCOPIÉ CINQ QUESTIONS RELATIVES AU 8155.
IL EST POSSIBLE QU'UNE DE CES QUESTIONS SOIT POSÉE À L'EXAMEN.
C'EST MAINTENANT QUE VOUS DEVRIEZ VOUS INTÉRESSER À CES CINQ QUESTIONS…
Mars 2007/Rev. Mai 2007 JF VIENNE LE BOÎTIER 8155 Slide 48
LE BOÎTIER 8155256 OCTETS DE RAM
3 PORTS PARALLÈLES
1 TIMER
FIN