Post on 06-Jul-2018
8/17/2019 Cour Et Tp Cpi 2015 2016
1/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 0M.GNETCHEJO
Support deCours de C.P.I
Année Académique 2015/2016Par
GNETCHEJO PATRICK JUVETP.L.E.T
INSTITUT UNIVERSITAIRE ET STRATEGIQUE DE l’ESTUAIRE
INSTITUT SUPERIEUR DE TECHNOLOGIE DE L’ESTUAIRE
8/17/2019 Cour Et Tp Cpi 2015 2016
2/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 1M.GNETCHEJO
Programme de CPI II2
CHAPITRE 0 : RAPPELS DU LANGAGE C/C++
CHAPITRE I : LES PORTS D’E/S DU PC
CHAPITRE II : INTERFACE DE COMMANDE
CHAPITRE III : LE PIA 8085 ET L’ACIA 8250
CHAPITRE IV : PROGRAMMATION D’UN GRAFCET EN C/C++
CHAPITRE V : TP SUR LA COMMANDE DES PROCESSUS- Démarrage des moteurs asynchrone- Chenillard- Feux de carrefour- Processus industriels
8/17/2019 Cour Et Tp Cpi 2015 2016
3/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 2M.GNETCHEJO
1. INTRODUCTION
Longtemps dans la commande ordinée on a utilisé seulement les cartes intégrées (cartesd’extension) pour les applications industrielles. Les cartes étaient alors connectées sur les ports (ISA (Industry Standard Architecture), PCI ( Peripheral Component Interconnect ), etSCSI(Small computer System Interface)). Avec l’expansion des moyens de communication,la commande ordinée à intégrer la domotique (applications domestiques) et l’on a commencéà utiliser les ports LPT, COM, USB pour commander les processus industriels.
2. LE PORT LPT Cette interface était à l’origine conçu pour commander les imprimantes, elle utilise la
transmission parallèle (c'est-à-dire envoie toutes les données écrites à la fois). La distancenormalisée qui sépare l’interface et le PC est d’environ 3m, mais le flux d’informationtransmis est le plus important. Au fur et à mesure des évolutions des besoins en débitdifférents types de ports parallèles sont apparus :-unidirectionnel 4 bits-bidirectionnel 8 bits-type 1 standard-type 3 (DMA d’IBM) DMA=direct memory access-EPP (port parallèle étendu)-ECP (port à capacité étendu)
2.1. Présentation du Port parallèle
Destiné à l'origine à l'imprimante du PC, le port parallèle fait l'objet de nombreusesapplications. Il est matérialisé par un connecteur DB 25 femelle et possède un nombreimportant de broches utiles pour l'émission et la réception de signaux logiques aux normesTTL (0/5V).
Il est nécessaire de bien connaître le fonctionnement du port parallèle afin de pouvoir le programmer pour de multiples utilisations (lecture de cartes à puce, pilotage de cartes
électroniques, programmation d'un microcontrôleur par le port parallèle,...).
Chapitre
1LES PORTS D’E/S DU PC
8/17/2019 Cour Et Tp Cpi 2015 2016
4/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 3M.GNETCHEJO
2.2. Brochage du port parallèle
No de broche Nom Direction Niveau de repos1 Strobe Sortie 12 Donnée d0 Sortie 03 Donnée d1 Sortie 04 Donnée d2 Sortie 05 Donnée d3 Sortie 0
6 Donnée d4 Sortie 07 Donnée d5 Sortie 08 Donnée d6 Sortie 09 Donnée d7 Sortie 010 Acknowledge Entrée 011 Busy Entrée 112 Paper end Entrée 013 Select Entrée 014 Autofeed Sortie 015 Error Entrée 116 Initialize printer Sortie 117 Select input Sortie 018 à 25 Ground -/ -/
-strobe : cette ligne est active à l’état bas, elle » indique à l’imprimante que les données sont présentes et qu’il faut les prendre-D0 à D7 :c’est le bus de données, on ne peut qu’écrire sur ce port a moins d’avoir un port parallèle étendu (ECP ou EPP) ou les données sont en entrées/sorties-acknowledge (ack) :l’imprimante met à « 0 »cette ligne pour indiquer à l’ordinateur qu’elle
a bien reçu les données émises.-Busy : cette ligne est mise à « 0 » par l’imprimante lorsque son buffer de réception est plein-paper end (PE) : cette ligne passe au niveau haut lorsqu’il n’y a plus de papier dansl’imprimante-Select : au niveau haut elle indique que l’imprimante a été sélectionnée-Autofeed : lorsque ce signal est à l’état 1 l’imprimante effectue un saut de ligne à chaquecaractère reçu
-Error : à l’état bas elle indique que l’imprimante a détecté une erreur-Initialize printer (INT) : cette broche permet à l’ordinateur d’initialiser la commande
8/17/2019 Cour Et Tp Cpi 2015 2016
5/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 4M.GNETCHEJO
-Select input : elle permet à l’ordinateur de mettre l’ordinateur hors ligne-Ground : c’est la masse de l’ordinateur
2.3. Présentation logicielIl est très facile de programmer cette interface, le port LPT comporte seulement 3 registres ;-registre de commande (sortie)-registre d’état (entrée)-registre de données (sortie) (E/S pour EPP et ECP)------------------------ Adresse Adresse AdressePort parallèle Données Etat Commande1 378 (hexa) 379 (hexa) 37A (hexa)2 278 (hexa) 279 (hexa) 27A (hexa)3 3BC (hexa) 3BD (hexa) 3BE (hexa)
2.3.1. Registre de données
Bits 7 6 5 4 3 2 1 0 Nom D7 D6 D5 D4 D3 D2 D1 D0Broches 9 8 7 6 5 4 3 2
Le nombre qu’on peut écrire sur le registre de données va de 0 à 255.On écrit dans le programme en décimal mais la machine convertit en binaire avant d’envoyer la donnée au
port. Pour 8 bits, Nous avons 256 combinaisons.Exemple : donner l’état de chaque bit pour l’envoie de la commande 100 au registre dedonnéesSolution (100)10 = (64)16 = (01100100)2
0 1 1 0 0 1 0 0D7 D6 D5 D4 D3 D2 D1 D0
2.3.2. Registre d’étatPour LPT registre d’état 379 (hexa)
Bit 7 6 5 4 3 2 1 0 Nom Busy Ack Pe Select Error * * *Broches
* indique les bits indéfinis, le programmeur n’a pas accès à ce dernier
2.3.3. Registre de commandePour LP¨T registre de commande 37A (hexa)
8/17/2019 Cour Et Tp Cpi 2015 2016
6/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 5M.GNETCHEJO
Bit 7 6 5 4 3 2 1 0 Nom * * * * input Init p autofeed strobe
Le port LPT est compatible au TTL standard Niveau logique « 1 » : 5v Niveau logique « 0 » : 0v
2.3.4. Programmation du port LPT
Ecrire sur le port de données : en COutportb (0x378, valeur) ; avec 0 ≤ valeur ≤ 255En C++
Outp (0x378, valeur) ;Lire sur le port d’état : en CValeur = inportb (0x379) ; // retourne la valeur du portEn C++Valeur = inp (0x379) ;
3. LES PORTS COM
Ils ont été conçus originellement pour relier l’ordinateur au réseau téléphonique ou à unmodem. Cependant, les souris et les claviers utilisent également une transmission série avec pour avantage une transmission sur une distance plus longue.
3.1. Hardware
3.2. Brochage
Broche E/S Désignation Fonction1 Entrée Dcd (data carrier detect) Détection de porteuse2 Entrée Rd (receiver data) Réception de données3 Sortie Td (transmit data) Emission de données4 Sortie Dtr (data terminal ready) Ordinateur prêt5 / Gnd (ground) Masse
6 Entrée Dsr (data set ready) Modem prêt7 Sortie Rts (requiest to send) Demande d’émission8 Entrée Cts (clear to send) Prêt pour transmettre
8/17/2019 Cour Et Tp Cpi 2015 2016
7/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 6M.GNETCHEJO
9 Entrée Ri (ring indicator) Indicateur de sonnerie
3.3. Technologie
La technologie du port COM est celle de la norme RS232
-état haut : 12v-état bas :-12v-résistance d’entrée : 10Kohms-courant de sortie max : 10mALes sorties du port COM sont protégées contre les courts-circuits, mais leur programmationest un peu plus fastidieuse que celle des LPT
3.4. SoftwareLe port série du PC utilise l’UART 8250 (universal asynchronous receiver and transmiter),l’uart contient 10 registres qui commandent les entrées/sorties du port série.
4. LE PORT USB Le câble se compose de 4 fils et il comporte un connecteur mâle de type A à une extrémité(connexion vers l'hôte) et un autre connecteur mâle de type A ou B à l'autre extrémité
(connexion vers l'appareil). Un blindage est fortement recommandé pour une utilisation à 12Mbits/s ou plus. La longueur maximale est de 5 mètres
8/17/2019 Cour Et Tp Cpi 2015 2016
8/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 7M.GNETCHEJO
1. INTRODUCTION L’ordinateur sur ses différents ports, ne propose que des niveaux de tension compatibles TTL(5V et 0V).Dans le cas des ports LPT(line printer)ou encore 12V et -12V dans le cas des portsCOM(computer output machine ).ces niveaux de tension sont très faible pour alimenter des processus industriels fonctionnant sous 220V ou 380V.il faut donc concevoir des interfaces decommande ou encore les interfaces de puissance. Ces dispositifs font d’ une part adapter lescaractéristiques électriques de l’ordinateur à celle des processus industriels commandés ; et d’autre part (si nécessaire) assurer une isolation galvanique entre les deux ensembles.
2. Interface à transistor et à relais
Il est essentiellement conçu autour d’un relais électromagnétique ou électronique.
2.1. ExempleSoit à commander une lampe de 220V-40W partant d’une broche de données du port LPT (8 broches pour les données ,5 broches pour le registre d’état).Le relais électromagnétique à lescaractéristiques suivantes : bobine 12V/240Ω ; les contacts : 250 Vac/5A
Schéma de montage
Chapitre
2INTERFACE DE COMMANDE
2.2. Fonctionnement
Pour Vcde=0, le transistor est bloqué, aucuncourant ne circule dans la bobine du relais, parconséquent, la lampe ne brille pas.Pour Vcde=1, (environ 5V) le transistor T estsaturé (R est judicieusement choisi pour cela), lerelais s’enclenche et la lampe peut alors briller.D est la diode de roue libre, elle protège letransistor contre les surtensions induitesdéveloppées par le relais et par la bobine durelais lors des commutations.
8/17/2019 Cour Et Tp Cpi 2015 2016
9/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 8M.GNETCHEJO
2.3.- Dimensionnement des composants
1) Relais déjà connu : en général, choisir un relais adapté à la charge (caractéristiquesélectriques des contacts adaptées à celle de la charge2) Diode de roue libre (diode ultra rapide)Choix de diodes très rapideDiode de signal pour les petits courants. Exple : 1N4148Diodes Schottky rapides dans les autres cas.
3) Resistances
-RL on a Vcc-RL.Iled-Vled-VCEsat=0 or VCEsat ≈0RL= Vcc-Vled / IledDans la pratique, on peut prendre Iled=10mA et Vled=2V-RB on a Vcom-Rb.Ib –Vbe = 0Or quand T est saturé, Vcom = VohTTL (tension de sortie état haut), d’ouRB = VohTTL – Vbe / IbAussi, Ib=Icsat / ß *Fs (Fs : facteur de saturation, on peut prendre Fs=2)Finalement, RB= (VohTTL – Vbe). ß / Icsat.FsAvec Icsat = Iled + Irel, VohTTL (min)=2,4V VohTTL (max)=5V4) le transistor T est choisi en fonction de la tension et du courant le traversant ; pour lesfaible puissance comme dans le cas ci-dessus on pourra choisir les transistor de faible puissance (2N2222, BC137 , BC337 ); pour les grande puissance , les transistors de typeDarlington (TIP147 ,BD131…)
3. Interface à thyristor ou triac
Le thyristor ou le triac sont des composants de choix dans les commandes des interfacesde puissance à cause de leur grande commutation comparée à celle des relais ou contacteurs
utilisés traditionnellement dans ce cas. Comme nous disposons des ports de PC qui nefournissent que des tensions continues. Nous n’étudierons que l’amorçage par tensionscontinues.
3.1. Dispositifs d’amorçage
Ce dispositif d’amorçage n’est pas très utilisé à cause du fait que le port LPT du PC n’estisolé de la partie puissance. Ainsi, un défaut sur cette partie puissance pourrait endommager
sérieusement l’ordinateur.
8/17/2019 Cour Et Tp Cpi 2015 2016
10/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 9M.GNETCHEJO
3.2. Fonctionnement
-Lorsque Vcde est à l’état bas, le transistor est bloqué, IG est nul, le thyristor est alors bloqué.-Lorsque Vcde est à l’état haut, le transistor est saturé, occasionnant l’amorçage et laconduction du thyristor (à condition que IG soit suffisant, ie IG ≥ Igt, Igt : courant nécessaireà l’amorçage d’un thyristor) ; la charge est alors alimentée
3.3. Dimensionnement
Résistance RC
On a Vcc – Rc.Ig – Vcesat – Vgk =0(Vcesat ≈ 0)
RC = Vcc – Vgk / Ig, on déduit alors : RCmax = Vcc – Vgt / Igt Resistance RB
On a : Vcde – Rb.Ib – Vbe – Vgk = 0RB = Vcde- Vbe-Vgk / IbLe thyristor est amorcé lorsque Vcde = VohRB = (Voh – Vbe – Vgt).ß /Igt.Fs
Transistor T : transistor petits signaux
-courant collecteur : Icmax > Igmax-tension collecteur – emetteur maximale : Vcemax > Vcc(Vcemax est aussi désignée Vceo)Vceo : collector to emettor voltage open base-facteur d’amplification en courant du transistor ßmin = 100
Thyristor
- courant d’anode IAmax > courant de charge
- tension d’ anode-cathodeVDRM >ÊS
8/17/2019 Cour Et Tp Cpi 2015 2016
11/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 10M.GNETCHEJO
VRRM > ÊSIl est prudent de prendre une marge de sécurité d’au moins 50%, d’où ITmax ≥ 1,5 IchargeVDRM ≥ 1,5 ÊS, VRRM ≥ 1,5 ÊS
3.4. Amorçage par opto-triac
3.4.1. Charge Résistive
Ce circuit s'appuie sur l'utilisation d'un optotriac de type MOC3041, un optotriac n'étant ni plus ni moins qu'une forme particulière d'unoptocoupleur . Ce composant assure à lui seull'isolation électrique (galvanique) entre la partie commande (l'entrée au niveau TTL 0 V / 5 V)et la partie puissance (230 V / 8 A). L'entrée de l'optotriac MOC3041 est une simpleLED,dont la chute de tension est de l'ordre de 1,6 V et le courant de fonctionnement nominal de 15mA. Si on applique une tension compatible TTL, c'est à dire de +5 V, directement sur cetteLED, l'optotriac aura une durée de vie de quelques microsecondes. Très intéressant, mais pasassez long pour en profiter vraiment. Il convient donc, comme pour toute LED, d'ajouter unerésistance en série pour limiter le courant qui la parcourt. La valeur de la résistance doit êtrecalculée comme indiquée : :Rled = (5V - 1,6V) / 0,015A = 220 ohms
3.4.2. Charge inductive
La commande d'une ampoule à filament, purement résistive, ne pose pas de problème particulier au triac (je laisse volontairement de côté l'aspect parasitage), le courant et latension sont en phase au moment des commutations. Mais si l'on veut commander des charges possédant une composante inductive importante, telle que transformateur ou moteur (pourfaire varier sa vitesse), il en est tout autrement, car le courant circulant dans la charge n'est pas
en phase avec la tension présente à ses bornes. Si l'on utilise un montage simple tel qu'un deceux présentés ci-avant, on risque fort d'obtenir des aléas de fonctionnement tels que
8/17/2019 Cour Et Tp Cpi 2015 2016
12/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 11M.GNETCHEJO
redéclenchement intempestif (au moment de la coupure du courant dans la charge), voire dansle pire des cas la destruction pure et simple du triac si aucune protection par fusible (ou autre)n'est prévue.
Commande directe d'un triac Une solution simple au problème de la commande de charges inductives consiste à ajouterune cellule RC série en parallèle sur le triac (appelé aussi snubber), entre ses deux électrodesA1 et A2, afin de limiter les surtensions pouvant se produire au moment où le triac se bloque(la coupure d'un courant dans une charge inductive provoque ce phénomène, connu aussi deceux qui manipulent la commande de relais avec des composants électroniques).
4. Interfaçage avec des darlingtons en circuit intégré ULN2803 / ULN2804
Les circuits intégrés ULN2803 et ULN2804 comportent tous deux huit transistors NPN
darlington dans un même boîtier à 18 broches. Ce type de circuit est idéal dès l'instant où ils'agit de commander un ensemble de plusieurs relais, LED ou ampoules.- Pour une commande en +5 V (standard TTL), choisissez l’ULN2803.- Pour une commande en +3 V à +15 V (standard CMOS), choisissez le ULN2804.
Les diodes internes, qui sont reliées entre chaque sortie et un point commun accessible sur la broche 10 du boîtier, permettent de se passer des diodes externes de protection normalement
8/17/2019 Cour Et Tp Cpi 2015 2016
13/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 12M.GNETCHEJO
requises quand on pilote un relais ou autre charge inductive. Le schéma suivant montre unexemple d'utilisation d'un tel circuit, où les huit transistors darlington intégrés sont exploitéset où la broche 10 du CI (cathode commune des 8 diodes internes) est reliée au +Valim.
Exercices :
8/17/2019 Cour Et Tp Cpi 2015 2016
14/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 13M.GNETCHEJO
LE PIA 8255 ET L’ACIA 8250
I. Le pia 8255
1. Introduction : Le 8255A est un circuit d'E/S destiné à être utilisé avec les microprocesseurs Intel.
Il possède 24 broches qui peuvent être individuellement programmés en 2 groupes de 12 et il peut utiliser 3 modes fondamentaux de fonctionnement : mode 0, mode 1 et mode 2.
2. Description fonctionnelle du 8255 :
Chapitre
3
8/17/2019 Cour Et Tp Cpi 2015 2016
15/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 14M.GNETCHEJO
2.1. Description générale des fonctions de broches:
2.2. Schéma synoptique de 8255A:
N ° B ro ch e N om de b ro ch e F on ctio n5 R D / U n s ig na l ba s su r ce tte en tré e au to ris e le
pa s s age de donné e du 8255 ve r s la CPU36 W R / U n s ig na l ba s su r ce tte en tré e au to ris e le
pa s s age de donnée de l a CPU ve r s 82556 C S / U n s ig na l ba s su r ce tte en tré e s é le c tio nne
l e 8 2 5 5 e t a s su r e son d ia logue avec CP U8 & 9 A 0 & A 1 C es d eux b ro ch es re pré se n te n t le s de u x
bi t s l es p lus fa ib les du bus d 'adresses e tperme t ten t l a sé lec t ion d 'un por t du 8255
36 R E S E T U n n iv ea u lo g iqu e 1 in itia lise le 8 25 52 7,2 8,2 9,3 0, B us do nn ée s C e s b ro ch es re pré se nte nt le bu s d e31 ,32 ,33 ,3 4 d o n né e s du 8 25 5 A , e n co m m en ça nt d u
poid le p lus fa ib le jusqu 'au p lus for t4 ,3 ,2 ,1 ,4 0 ,3 9 , P OR T A C es broc he s re p ré se n ten t le p o rt A du
38 ,37 b it le p lu s fa ib le à c e lu i du p lu s fo rt18 ,19 ,20 ,2 1 , P O RT B C es b roc he s re p ré se n ten t le p o rt B du22 ,23 ,24 ,2 5 b it le p lu s fa ib le à c e lu i du p lu s fo rt14 ,15 ,16 ,1 7 , P O RT C C es b roc he s re p ré se n ten t le p o rt C d u13 ,12 ,11 ,1 0 b it le p lu s fa ib le à c e lu i du p lu s fo rt7 G N D C 'e s t la m a s se du 8 2 5 5A26 V C C C 'e s t la b roch e d 'a lim en ta tio n d u 8 2 55
8/17/2019 Cour Et Tp Cpi 2015 2016
16/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 15M.GNETCHEJO
a- Amplificateur Tampon de Bus de données :
Cet amplificateur de 8 bits, bidirectionnel à trois états est utilisé pour interfacer le 8255A au bus de données du système. La donnée est transmise ou reçu par :L'amplificateur durant l'exécution des instructions IN et OUT du CPU. Les mots de contrôleet l'information d'état sont aussi transférés à travers l'amplificateur tampon du Bus dedonnées.
b- Logique de contrôle et de lecture/écriture :
La fonction de ce bloc est de contrôler tous les transferts internes et externes des données etdes mots de contrôle de CPU, il crée les signaux de commande des 2 groupes de contrôle.
__- CS : Chip Select (sélection de boîtier):Un niveau "bas" sur cette entrée autorise la communication entre le 8255A et la CPU.
__- RD : Read (lecture):Un niveau "bas" sur cette entrée autorise le 8255A à envoyer une donnée ou une
information d'état au CPU par l'intermédiaire du bus de données. Autrement dit, cette entrée permet au CPU de lire une donnée provenant du 8255A.
__- WR : Write (écriture):Un niveau "bas" sur cette entrée autorise la CPU à écrire une donnée ou un mot de contrôle
dans le 8255A.- A0 et A1: Port select 0 and Port select 1 (Sélection du circuit d'entrée 0 et 1):
Ces signaux d'entrée associés aux signaux d'EntréeRD et WR , Contrôlent la sélection d'undes 3 circuits d'accès ou du registre de contrôle.
- Reset (remise à zéro):
Un niveau "haut" sur cette entrée met à 0 tous les registres internes y compris le registre decontrôle et met tous les ports d'E/S en mode 0 et en entrée.
c- Registres de Contrôle du groupe A et B:
La configuration fonctionnelle de chaque circuit d'accès est programmée par l'envoi d'un motde contrôle au 8255A par la CPU.Ce mot de contrôle contient une information telle que le mode, la mise à 1 d'un bit, la mise à
0 d'un bit,... Qui initialise la configuration fonctionnelle du 8255A.
8/17/2019 Cour Et Tp Cpi 2015 2016
17/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 16M.GNETCHEJO
Chacun des blocs de contrôle accepte les commandes de la logique de contrôled'écriture/lecture, reçoit les mots de contrôle du bus interne et envoie les commandes propresà ces circuits d'accès associés.
- Contrôle du groupe A: circuit d'accès A et circuit d'accès C (C4 à C7)- Contrôle du groupe B: circuit d'accès B et circuit d'accès C (C0 à C3)
d- Les ports A, B et C:
Le 8255A possède 3 circuits d'accès de 8 bits (A,B et C). Qui peuvent être configurés sous 3modes.
e- Le bus d’adresse.
A1 A0 Registre
0 0 Port A0 1 Port B
1 0 Port C1 1 Registre de contrôle
3. Les modes de fonctionnement :
Le mode de fonctionnement est sélectionné par le bit 5 et 6 du registre de contrôle quiconfigure en plus les 3 ports en E ou en Sortie (bits 0,1,2,3 et 4) et d'actionner le PIA.
Bits du registre de contrôle:
8/17/2019 Cour Et Tp Cpi 2015 2016
18/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 17M.GNETCHEJO
1- Mode 0: E/S classiques:
Ce mode permet d'utiliser 1 des 4 ports (A,B,C inf, et C sup) Comme entrée ousortie, indépendamment les uns des autres.
Il existe 16 configurations entrée/sortie possibles qui peuvent être représentéesdans le tableau suivant:
Direction des données: valeur duE: entrée registre de
S: sortie contrôleProgrammation du PIA 8255 en mode 0
Exemple : on veut configurer le port A en sortie , port B en entrée , portc haut entrée et port C bas sortie :
Donnez le mot de commandele mot decommande est 93H
II-1 ) Exemple d'application en mode 0 :
Exemple 1 : On donne le schéma de la figure 1,
A/ on veut écrire un programme qui permet de faire clignoter les diodes Led . Jusqu'à l'appuisur SW0
B ) On veut écrire un programme qui affiche les chiffres de 0 à 15 sur les 7 segments.
C ) On veut écrire un programme qui permet de faire clignoter les diodes paires si on appuiesur SW0 et les diodes impaires si on appuie sur SW1
A B C4-C7 C0-C3 Hexa Décimal
S S S S 80 128
S S S E 81 129
S S E S 88 136
S S E E 89 137
S E S S 82 130
S E S E 83 131
S E E S 8A 138
S E E E 8B 139
E S S S 90 144
E S S E 91 145
E S E S 98 152
E S E E 99 153
E E S S 92 146
E E S E 93 147
E E E S 9A 154
E E E E 9B 155
8/17/2019 Cour Et Tp Cpi 2015 2016
19/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 18M.GNETCHEJO
2- Mode 1:
Dans le mode 1, seuls les ports A et B sont disponibles pour le transfert parallèle des données, aussi bien les entrées que les sorties sont verrouillées. les2x4 bits du port C servent aux signaux de dialogue (d'échange) pour les ports Aet B. Deux configurations possibles l'Entrée et la Sortie:
a- Mode 1 en Entrée:
En entrée du mode 1, les ports A et B sont en entrées. Le port B utilise les bitsC0,C1 et C2 pour l'asservissement et le port A utilise les bits C3,C4 et C5.
Le périphérique place une donnée de 8 bits sur A7-A0 (ou B7-B0) puis génèreun STB (strobe) lequel charge la donnée dans le latch d'entrée. Ceci a pour effetl'activation du signal IBF (Input Buffer Full) à 1. Un niveau haut sur la sortieINTR peut être utilisé pour interrompre le Microprocesseur lors d'une demande
du périphérique. L'INTR est activé quand STB=0,IBF=1 et INTE=1 et mise à 0 par le front descendant de RD.
8/17/2019 Cour Et Tp Cpi 2015 2016
20/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 19M.GNETCHEJO
b- Mode 1 en Sortie:
Pour la sortie en mode 1, le microprocesseur écrit la donnée dans le port A (ou
B). Le front montant de WR fait cesser l'interruption du microprocesseurINTR=0 et met OBF=0 pour signifier au périphérique que son buffer de sortieest plain et qu'il peut donc venir chercher la donnée.
ACK=0 est une réponse qui indique que le périphérique a reçu la donnée provenant de la CPU et qui a pour effet de faire cesser OBF=1, de nouveauACK=1,OBF=1 et INTE=1.
Fait interrompre le microprocesseur pour qu'il puisse écrire la donnée suivante.
3- Mode 2:
Le mode 2 permet d'avoir un bus bidirectionnel sur le port A. Cinq bits du portC sont utilisés pour le status et le contrôle du port A.
- Signaux de contrôle de bus bidirectionnel d'E/S:INTR=1 pour interrompre le microprocesseur lorsque le port a accepté ou
transmis une donnée.- Signaux de contrôle en Ecriture:OBF=0 indique que le microprocesseur sort une donnée par le port A.
- Signaux de contrôle en Lecture:STB=0 Charge la donnée dans le latch d'entrée.IBF=1 indique que la donnée a été chargée dans le latch d'entrée.
8/17/2019 Cour Et Tp Cpi 2015 2016
21/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 20M.GNETCHEJO
II. L’ACIA 8250
8/17/2019 Cour Et Tp Cpi 2015 2016
22/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 21M.GNETCHEJO
8/17/2019 Cour Et Tp Cpi 2015 2016
23/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 22M.GNETCHEJO
8/17/2019 Cour Et Tp Cpi 2015 2016
24/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 23M.GNETCHEJO
8/17/2019 Cour Et Tp Cpi 2015 2016
25/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 24M.GNETCHEJO
8/17/2019 Cour Et Tp Cpi 2015 2016
26/29
8/17/2019 Cour Et Tp Cpi 2015 2016
27/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 26M.GNETCHEJO
8/17/2019 Cour Et Tp Cpi 2015 2016
28/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
©2016 27M.GNETCHEJO
Chapitre
4PROGRAMMATION D’UN
GRAFCET EN C/C++
8/17/2019 Cour Et Tp Cpi 2015 2016
29/29
O M M A N D E D ’ U N P R O E S S U S P A R O R D I N A T E U R
end