begin process at 2012 02 08 08:32:57
  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 :3 098

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

Source avec Zip Source avec une capture CONTACTES BOOK par mature
Source avec Zip Source avec une capture [C++/QT] SLIDEALWAYS, RÉALISEZ DES SLIDES POUR VOTRE SITE AV... par doderic
Source avec Zip Source avec une capture MAILLAGE 3D (VTK + QT) par ammoun007
Source avec Zip Source avec une capture CONVHTML : UN UTILITAIRE DE CONVERSION POUR FICHIERS HTML par pgl10
Source avec Zip SCANNER LANGAGE par lajouad

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 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,842 sec (3)

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