Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Clavier matriciel avec PIC16f819




  1. #1
    bgdu76

    Clavier matriciel avec PIC16f819

    Bonjour,
    J'ai un problème; je n'arrive pas a programmer mon clavier matriciel avec un pic 16f819 pour ensuite communiquer avec un pic 16f877 via liaison I2C.
    Pourriez vous m'aider
    merci d'avance.

    -----


  2. Publicité
  3. #2
    nams2590

    Re : Clavier matriciel avec PIC16f819

    Salut,

    Pourrais-tu détailler la façon dont tu as branché ton clavier au uC stp?
    namselectro

  4. #3
    bgdu76

    Re : Clavier matriciel avec PIC16f819

    Bonjour nams,
    Tout d'abord merci pour votre réponse aussi rapide.

    J'utilise un clavier matricielle de 4*3.
    J'ai branché les 4 lignes correspondant aux sorties du clavier aux broches RA0;RA1.RA2 et RA3 du uC.
    Et j'ai branché les 3 lignes correspondant aux entrées du clavier à RB5,RB6 et RB7 du uC.

    Puis j'ai relié les broches SCL;RDA et INT du PIC16F819 à un connecteur RJ11 pour pouvoir communiquer avec le PIC principal 16F877 en I2C.


  5. #4
    nams2590

    Re : Clavier matriciel avec PIC16f819

    Pourrais-tu me dire comment fonctionne ton clavier matricielle stp ?

    Pourquoi as-tu des entrées et des sorties sur ton clavier ?
    namselectro

  6. #5
    PA5CAL

    Re : Clavier matriciel avec PIC16f819

    Bonsoir à tous

    J'imagine que le clavier correspond au schéma que j'ai mis en pièce jointe.

    Il faudrait d'abord déterminer quel est le niveau logique de repos qui a été choisi pour les entrées (1 si résistances pull-up et V=+Vcc, 0 si résistances pull-down et V=GND).

    Admettons qu'on ait choisi V=GND. La lecture du clavier se fait en présentant successivement un niveau logique 1 sur les entrées du clavier (RB7,6,5=001, 010, puis 100) et en lisant à chaque fois l'état de ses sorties (RA3,2,1,0). En examinant ces dernières, on peut déterminer quelle touche du clavier est appuyée, et éventuellement si plusieurs touches le sont en même temps.

    Quand on détecte l'appui sur une touche, il faut mémoriser celle-ci puis refaire plusieurs lecture de l'état du clavier à intervalles réguliers (éventuellement en utilisant un timer), afin:
    - de tenir compte des éventuels rebonds du contact électrique de la touche
    - éliminer d'éventuels parasites sur les entrées (surtout en environnement pertubé avec des fils très longs)
    - détecter correctement le relâchement définitif de la touche

    L'envoi du code de la touche ne doit se faire qu'une fois, au moment où l'on a la certitude que l'appui a bien lieu. Il ne doit pas être renvoyé tant qu'on n'a pas détecté entre-temps un relâchement franc.
    Images attachées Images attachées

  7. A voir en vidéo sur Futura

Discussions similaires

  1. [Divers] Pb avec le clavier d'un PC portable
    Par microcosm67 dans le forum Dépannage
    Réponses: 0
    Dernier message: 15/12/2007, 20h31
  2. gestion de clavier matriciel i2c
    Par miko76300 dans le forum Électronique
    Réponses: 2
    Dernier message: 26/01/2007, 22h49
  3. Scanner un Clavier 4*4 avec PIC16F870
    Par Adrian1903 dans le forum Électronique
    Réponses: 14
    Dernier message: 03/05/2006, 11h15
  4. pic16F819
    Par frednico56 dans le forum Électronique
    Réponses: 0
    Dernier message: 02/06/2005, 07h14
  5. Problème avec mon clavier
    Par pierrehenry dans le forum Matériel - Hardware
    Réponses: 4
    Dernier message: 18/06/2004, 21h00