




Blason de Harnes,
La ville de mon enfance


Blason de Fouquières Lez Lens,
La ville où je réside












#include <utility.h> // Inclusion de la librairie utility (fonctions inp(), outp())
#define ADR_LPT1 0x378 // 378H s'écrit en C : 0x3F8
#define ADR_LPT2 0x278
#define PORT_DATA ADR_LPT1 // Port DATA situé à l’adresse de base
#define PORT_STATUS ADR_LPT1+1 // Port STATUS à l’adresse de base + 1
#define PORT_CTRL ADR_LPT1+2 // Port CTRL à l’adresse de base + 2
main()
{
unsigned char mot; // Déclarations
outp(PORT_CTRL,0x00); // Place le port DATA en sortie (par défaut)
outp(PORT_DATA, 0xFF); // 8 bits à « 1 » sont envoyés sur le port DATA
// (et y restent mémorisés à cette valeur
// les ports du 8255 intègrent un registre)
outp(PORT_CTRL,0x20); // Place le port DATA en entrée
while(1) // Boucle infinie
{
mot = inp(PORT_DATA); // Lecture permanente du port DATA
// à la cadence horloge PC
// avec 1 acquisition par cycle horloge
// chaque acquisition étant stockée dans mot
}
// Sans la boucle infinie, 1 seule acquisition
// serait réalisée à l’instant de l’exécution
// de mot = inp(PORT_DATA)
// et serait mémorisée dans mot
}



