Systèmes Microprogrammés
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 1
Plan
PORTA et TRISA
PORTB et TRISB
Applications
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 2
1
11/04/2020
PORTA et TRISA
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 3
PORTA et TRISA
Block diagramme des E/S RA3-RA0 Configuration en entrée
1
0
1
0
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 4
2
11/04/2020
PORTA et TRISA
Configuration en sortie et écriture d’un 0 Configuration en sortie et écriture d’un 1
0 1
0 1
1 1 0 0
0 1
1 0
0 0
1 1
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 5
PORTA et TRISA
• Exemple :
1-Donner les mots binaires qu’on doit mettre dans TRISA pour :
Configurer PORTA en sortie (TRISA=---00000)
Configurer PORTA en entrée (TRISA=---11111)
Configurer RA0 et RA1 en entrée et le reste en sortie (TRISA=---00011)
2- Pour ce dernier cas, écrire la partie du programme qui permet de:
Se placer sur la banque 1
Placer la valeur de configuration, 00000011=0x03, dans TRISA
Revenir sur la banque 0
Écrire 0, 1 et 1 respectivement sur les broches RA4,RA3 et RA2
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 6
3
11/04/2020
PORTA et TRISA
• Corrigé
1-Donner les mots binaires qu’on doit mettre dans TRISA pour:
Configurer PORTA en sortie (TRISA=---00000)
Configurer PORTA en entrée (TRISA=---11111)
Configurer RA0 et RA1 en entrée et le reste en sortie (TRISA=---00011)
2-
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 7
PORTA et TRISA
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 8
4
11/04/2020
PORTA et TRISA
• Exemple
1-Donner un exemple de valeur à mettre dans le registre OPTION_REG pour que
la broche RA4 soit une E/S normale ?
2- Écrire la partie du programme qui permet de:
Se placer sur la banque 1
Placer la valeur choisie dans OPTION_REG
Placer une valeur de votre choix dans TRISA pour configurer RA4 en sortie
Revenir sur la banque 0
Écrire 1 sur la broche RA4
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 9
PORTA et TRISA
• Corrigé :
1-Donner un exemple de valeur à mettre dans le registre OPTION_REG pour que
la broche RA4 soit une E/S normale ? L’important c’est de mettre TOCS=0 donc on
peut choisir OPTION_REG=0x00
2- Écrire la partie du programme qui permet de:
Se placer sur la banque 1
Placer la valeur choisie dans OPTION_REG
Placer une valeur de votre choix dans TRISA pour configurer RA4 en sortie
Revenir sur la banque 0
Écrire 1 sur la broche RA4
5
11/04/2020
PORTA et TRISA
• RA4 est une E/S à drain ouvert
• Si on veut l'utiliser comme sortie (pour allumer une LED par exemple), il ne faut
pas oublier de mettre une résistance externe vers Vdd
• Le schéma ci-dessus illustre le principe d'une sortie drain ouvert (ou collecteur
ouvert) :
• si RA4 est positionnée à 0, l'interrupteur est fermé, la sortie est reliée à la masse
• Si RA4 est placée à 1, l'interrupteur est ouvert, la sortie est déconnectée d'où la
nécessite de la résistance externe pour amener le courant de l'alimentation vers la
LED
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 11
PORTB et TRISB
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 12
6
11/04/2020
PORTB et TRISB
• Exemple
1-Donner un exemple de valeur à mettre dans le registre OPTION_REG pour
utiliser des faibles résistances de tirage RBUP, pour le port B ?
2- Écrire la partie du programme qui permet de:
Se placer sur la banque 1
Placer la valeur choisie dans OPTION_REG
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 13
PORTB et TRISB
• Corrigé
1-Donner un exemple de valeur à mettre dans le registre OPTION_REG pour
utiliser des faibles résistances de tirage RBUP, pour le port B ? L’important c’est de
mettre à 0 le bit RBPU. La valeur 0x00 peut être convenable
2- Écrire la partie du programme qui permet de:
Se placer sur la banque 1
Placer la valeur choisie dans OPTION_REG
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 14
7
11/04/2020
Applications
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 15
Applications
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 16
8
11/04/2020
Applications
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 17
Applications
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 18
9
11/04/2020
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 19
Applications
RST+GMA(S6)-ENSA-KENITRA
RST(S6)-ENSA -KENITRA 20
10