Port parrallele

Contenu du snippet

test d une liaison centronics code en C

Source / Exemple :


/*
	BP_LED.CPP
	BP_LED.EXE
	Projet : BP ==> LED
	but : Allumer la led pendant 5s en appuyant sur le BP
	Version 1.1
	23/11/2001
	ABELANSKI Micha?l
	Turbo C

  • /
// declaration des biblioth?ques utiliser; #include <stdio.h> //pour param?tre entr?e sortie standart; #include <dos.h> //pour outportb, inportb, delay; #include <conio.h> //pour clrscr; gotoxy; #define RegData 0x0378 //d?claration du registre de donn?e; #define RegEtat 0x0379 //d?claration du registre de statut; void Led(void); //d?claration de la proc?dure LED; int BP(void); //d?claration de la proc?dure BP; void main(void) { clrscr(); printf("\n\t-Appuyer sur une touche pour quitter"); printf("\n\t-Appuyer sur le BP pour allumer la led pendant 5s"); gotoxy(2,7); //pointe ? la colonne 2 ligne 7 printf("ETAT LED : LED ETEINTE"); do { Led(); //appel de la fonction LED } while(!kbhit()); //faire tant qu'auncune touche frapper; gotoxy(1,15); //pointe ? la colonne 1 ligne 15 printf("\nVous avez appuyer sur une touche \nFin de programme"); delay(1000); //tempo 1s; } void Led(void) // Proc?dure LED(); { int i; outportb(RegData,0x00); //ecriture du registre de donn?e pour eteindre la led; if (BP() == 0) //si BP enfonc?; { outportb(RegData,0x01); // ?criture pour allumer la led; gotoxy(2,7); //pointe ? la colonne 2 ligne 7 printf("ETAT LED : LED ALLUMER"); for (i=5;i>= 0;i = i-1) //pour affichage d'1 { //decompteur boucle pour gotoxy(28,7); //r?p?ter 5 fois printf("T: %ds",i); //pendant 1s delay(1000); //5 * 1s = 5s } gotoxy(2,7); printf("ETAT LED : LED ETEINTE"); outportb(RegData,0x00); //?criture pour eteindre la led } } int BP(void) // proc?dure BP(); { int d5; d5 = (inportb(RegEtat) & 0x20); // lecture du registre d'?tat et masque pour lire seul le Bit D5; return d5; //renvoie de la valeur de d5 ? la proc?dure BP() ; }

Conclusion :


j ai egalement les test de bp et led separer by ... ;-)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.