begin process at 2010 02 10 11:58:41
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > ACCÈDER AUX LEDS DU CLAVIER.

ACCÈDER AUX LEDS DU CLAVIER.


 Information sur la source

Note :
2,4 / 10 - par 5 personnes
2,40 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Application Niveau :Débutant Date de création :25/03/2004 Vu :2 520

Auteur : Guechtouli_Madani

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

les lompes :  Num   et   Caps   et   Scoll  , on haut du clavier numérique peuvent être allumées et éteintes par un programme.

Source

  • #include <stdio.h>
  • #include <dos.h>
  • #include <bios.h>
  • /* --------------------------------------------------- */
  • #define SCRL 16
  • #define NUML 32
  • #define CAPL 64
  • #define INS 128
  • typedef unsigned char BYTE;
  • typedef unsigned int WORD;
  • typedef union vel far *VP; /* pointeur sur la RAM-CLAVIER */
  • struct velb
  • { BYTE caractere,
  • attribut;
  • };
  • struct velw
  • { WORD contenu;
  • };
  • union vel
  • { struct velb h;
  • struct velw x;
  • };
  • /* ***************************************************************** */
  • VP vptr ; unsigned int clav ;
  • /* *************************************************************************************** */ /* **************************************************************************************** */
  • void ADR_ECRAN(void) /* donne l'@ de base du CLAVIER_RAM */
  • {
  • vptr =(VP)(((unsigned long)( 0x40 ))<<16 | ( 0x17 ));
  • }
  • /* ********************************************************************** */
  • void sauvegarder(void)
  • { clav = vptr -> x.contenu ; }
  • void restorer ( unsigned int clavi)
  • { vptr -> x.contenu = clavi ; }
  • /* -------------------------------------------------- */
  • void set_flag ( unsigned flag )
  • {
  • union REGS regs ;
  • unsigned z ;
  • z = vptr -> x.contenu ;
  • z |= flag ;
  • vptr -> x.contenu = z ;
  • regs.h.ah = 1 ;
  • int86(0x16 , &regs ,&regs );
  • }
  • /* ------------------------------------------------- */
  • void clr_flag ( unsigned flag )
  • {
  • union REGS regs ;
  • unsigned z ;
  • z = vptr -> x.contenu ;
  • z &= flag ;
  • vptr -> x.contenu = z ;
  • regs.h.ah = 1 ;
  • int86( 0x16 ,&regs ,&regs);
  • }
  • /* --------------------------------------------------- */
  • void main(void)
  • {
  • unsigned int i ;
  • unsigned int fifa ;
  • printf ( "\n\n REGARDE LES LEDs (LUMIERES) DE VOTRE CLAVIER \n\n\n " );
  • ADR_ECRAN() ;
  • sauvegarder() ;
  • for (i=0 ; i<65 ; ++i)
  • {
  • set_flag( CAPL);
  • delay(54);
  • clr_flag(CAPL);
  • set_flag(NUML);
  • delay(54);
  • clr_flag(NUML);
  • set_flag(SCRL);
  • delay(55);
  • clr_flag(SCRL);
  • delay(55);
  • }
  • printf(" Attention le clavier vas c',xploser dans 5 secandes \n\n") ;
  • for (i=0 ; i<60 ; ++i)
  • { clr_flag(!SCRL | !NUML | !CAPL);
  • delay(54);
  • set_flag(SCRL|NUML|CAPL);
  • delay(55);
  • }
  • clr_flag(!SCRL | NUML | !CAPL); delay(54); set_flag(NUML);
  • restorer ( clav ) ;
  • printf(" Fin du programme \n\n") ;
  • }
  • /* ------------------------------------------ */
#include <stdio.h>
#include <dos.h>
#include <bios.h>
/* ---------------------------------------------------  */
#define  SCRL  16
#define  NUML  32
#define  CAPL  64
#define  INS   128
typedef  unsigned  char  BYTE;
typedef  unsigned  int   WORD;
typedef  union  vel  far  *VP; /* pointeur sur la RAM-CLAVIER  */

struct  velb
  { BYTE  caractere,
          attribut;
   };
struct  velw
  { WORD  contenu;
   };
union   vel
  { struct  velb  h;
    struct  velw  x;
   };
/*   *****************************************************************  */
   VP  vptr ;  unsigned int clav  ;
/*  ***************************************************************************************  */ /* ****************************************************************************************  */
 void ADR_ECRAN(void)     /* donne l'@ de base du CLAVIER_RAM */
  { 
     vptr =(VP)(((unsigned long)( 0x40  ))<<16 | ( 0x17 ));

  }
/* **********************************************************************  */
 void sauvegarder(void)
   { clav = vptr -> x.contenu ;      }
 void restorer ( unsigned int clavi)
   { vptr -> x.contenu = clavi ;      }
/* --------------------------------------------------  */
void  set_flag ( unsigned  flag  )
  {
    union  REGS  regs ;
    unsigned  z ;

      z = vptr -> x.contenu ;
      z  |= flag ;
     vptr -> x.contenu  = z ;
     regs.h.ah = 1 ;
     int86(0x16 , &regs ,&regs );
   }
/*  -------------------------------------------------   */
 void  clr_flag ( unsigned  flag   )
   {
    union  REGS  regs ;
    unsigned  z ;

      z = vptr -> x.contenu ;
      z  &= flag ;
     vptr -> x.contenu  = z ;

      regs.h.ah  = 1 ;
      int86( 0x16 ,&regs  ,&regs);
    }
/*  ---------------------------------------------------  */

 void main(void)
   {
    unsigned int    i  ;
    unsigned int  fifa ;


    printf ( "\n\n    REGARDE LES LEDs (LUMIERES) DE VOTRE CLAVIER \n\n\n           " );
    ADR_ECRAN() ;
    sauvegarder() ;
     for (i=0 ; i<65 ; ++i)
       {
	 set_flag( CAPL);
	 delay(54);
	 clr_flag(CAPL);
	  set_flag(NUML);
	 delay(54);
	 clr_flag(NUML);
	  set_flag(SCRL);
	 delay(55);
	 clr_flag(SCRL);
	  delay(55);
	}
	    printf("    Attention le clavier vas c',xploser dans 5 secandes \n\n") ;
	  for (i=0 ; i<60 ; ++i)
	  { clr_flag(!SCRL | !NUML | !CAPL);
	    delay(54);
	    set_flag(SCRL|NUML|CAPL);
	    delay(55);
	   }
      clr_flag(!SCRL | NUML | !CAPL);  delay(54); set_flag(NUML);

      restorer ( clav ) ;

     printf("       Fin du programme \n\n") ;

    }
 /*  ------------------------------------------   */

 Conclusion

  
   c'est un programme pour débutants.
  Compiler avec le turboC 7.0


 Sources de la même categorie

GESTIONNAIRE DE BIBLIOTHEQUE par eishtein
FICHIER ALBUM MUSICAL par imenouuuuuuuuuche
LOUISDU81 HTTP EDITOR par louisdu81
Source avec Zip Source avec une capture Source .NET (Dotnet) CLIENT IRC BASIQUE par king67
Source avec Zip CONVERTISSEUR NOMBRE ARABE => NOMBRE ROMAIN (1 À 4999) par Calli95

Commentaires et avis

Commentaire de BruNews le 25/03/2004 14:40:57 administrateur CS

Avec DeviceIoControl(...) sur win32.

Commentaire de morgandetoi06 le 26/03/2004 13:20:59

où trouver bios.h stp ?

Commentaire de zinotron le 31/03/2004 16:35:32

YES!
un code pas plin de MFC ou choses bizard comme ca :-)
merci :-)

Commentaire de 5h33ck0n le 20/04/2004 22:01:42

Salut, moi non plus, je ne trouve pas de Bios.h, ni avec VC++ ni avec Dev ! Il paraitrait que ce n'est pas un truc officiel. Ou peu t'on le trouver ??

merci d'avance !!

Commentaire de victorcoasne le 15/05/2004 14:09:37

Désolé mais c'est "accéder" et non acc*der (je ne veux pas mettre la faute volontaine ou non ce monsieur)

Commentaire de victorcoasne le 15/05/2004 14:16:21

Tu le compile avec Turbo C++ 1.0 de Borland que tu télécharge gratuitement et légalement !

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales