probleme d'ordre 4 Digits
Répondre à la discussion
Affichage des résultats 1 à 16 sur 16

probleme d'ordre 4 Digits



  1. #1
    Adrian1903

    probleme d'ordre 4 Digits


    ------

    salut a tous,
    dans mon prog je dois entrer un codes de 4 nombres, dans mon programmes kan jappui sur les touches du clavier concernées ca passe mais dans mon programme les 4 touches je pe les mettre dans nimporte quel ordre et il accepte quand meme le code, ca reste assez problématique !
    Avez vous une soluce pour moi ou un coup de pouce pour moi...?
    Merci

    -----

  2. #2
    invitee45b5732

    Re : probleme d'ordre 4 Digits

    J'ai déjà essayer de faire un telle programme avec un 16f877, un digicode avec afficheur sur lcd et LED,un clavier et une commande de moteur.Je te passe le code en language c et le montage dans le pdf.Si tu veux faire un test avec mon prog
    Images attachées Images attachées

  3. #3
    Adrian1903

    Re : probleme d'ordre 4 Digits

    c est gentil de ta part mais j'ai oublié de preciser que je programme en assembleur, j'ai deja fait des codes en C, mais en assembleur... C'est une autre histoire!!
    Quand tu compile je pense qu'il te donne le programme en assembleur quelque part... je veux bien avoir la zone qui m'interressent ou le programme converti en asm si possible... Merci

  4. #4
    DavidDB

    Re : probleme d'ordre 4 Digits

    Salut,

    Vu la manière dont tu utilises l'Assembleur PIC, je suis certain que si tu rajoutes un peu de C, tu vas arriver à avoir un Build Succeeded...

    Du moins, c'est ce que tu vas essayer de me faire croire...

    David.

  5. A voir en vidéo sur Futura
  6. #5
    invitee45b5732

    Re : probleme d'ordre 4 Digits

    Sinon tu peux faire comme moi vu que tu as déjà commencé le programme, en gros dans mon programme chaque fonction de condition if()...else etc, je test toujours si le chiffre d'avant a été, c'est dans la condition par exemple
    (porta==0x12 && ch1==0x01) , et c'est là le plus importants aprè à toi de chercher à convertir ce code en asm mais mon code a été verifié sous montage isis et c'est nikel

  7. #6
    invitef0503bf7

    Re : probleme d'ordre 4 Digits

    Adrian1903, "programer" ne consiste pas à taper des instruction jusqu'au moment ou "ca passe", c'est d'abord une activité intelctuel qui impose une bonne dose de reflexion et d'analyse de ce que tu veux faire...
    L'encodage du programe n'est plus alors qu'un "mal nécessaire" a la transcription du résultat de tes cogitation dans qq chose compréhenssible par la puce que compte utilisé

    Citation Envoyé par Adrian1903
    salut a tous,
    dans mon prog je dois entrer un codes de 4 nombres,
    Et ces 4 nombres, de combiens de chiffres sont ils composé?

  8. #7
    Adrian1903

    Re : probleme d'ordre 4 Digits

    Citation Envoyé par Xavier35

    Et ces 4 nombres, de combiens de chiffres sont ils composé?
    Des nombres des chiffres on se comprend c'est la même chose! 4 !!

    Xavier35 j'ai deja bcp reflechi j'ai essayé plein plein de truc mais bon ca veut pas
    DavidDB jai réussi a me passer du if, du movfw, mais j'utilise le skpz et le skpnz, et il n'ya AUCUN soucis a déclarer !! ^^

    FanDeMuse, je verifie avant de valider si la touche d'avant a été pressée, mais ca me bloque aussi le bon code alors... j'avais un peu les boules tout a l'heure alors jme suis cassé j'y ét depuis 8h ce matin !!
    Peut-etre que demain matin je vais arriver devant mon programme et ca va etre du tac au tac, bah ca se passera comme ca !!
    Si vous avez idées je suis quand mm preneur !!!votre soutien, surtout toi DavidDB pour tes enooorme encouragements !!!


    Merci pour

  9. #8
    invitee45b5732

    Re : probleme d'ordre 4 Digits

    Salut,
    Adrian1903 je ne sait pas si tu as bien regardé mon code et essayé de le comprendre mais quand tu as le clavier comme le mien directement branché sur le pic, tu dois d'abord envoyer un niveau logic haut sur ta colonne ou il y a le bouton et ensuite tu test si la ligne correspond et si c'est bon je met à 1 la variable du chiffre.
    C'est comme ça que j'ai fait et je pense que si tu fait pareil sa ira de même.

  10. #9
    invitef0503bf7

    Re : probleme d'ordre 4 Digits

    Citation Envoyé par FandeMuse
    quand tu as le clavier comme le mien directement branché sur le pic, tu dois d'abord envoyer un niveau logic haut sur ta colonne ou il y a le bouton et ensuite tu test si la ligne correspond et si c'est bon je met à 1 la variable du chiffre.
    Si je comprend bien ton explication, le fait de presser une touche dans une mauvaise collones n'est pas détecter, donc pas pris en compte comme une erreur?

  11. #10
    invitee45b5732

    Re : probleme d'ordre 4 Digits

    En gros c'est a peu près ça, mais derrière quand à la fin il verifie les variables du bouton pressé correspondant au code en appuyant sur le bouton "Enter", il vérifie si le code comporte 4 chiffre et si il correspond au bon code sinon il affiche une erreur de code sur le lcd.
    Essaye de décortiquer tout le code et compare le avec le montage et tu aura une réponse qui te conviens mieux que mon charabia.

  12. #11
    DavidDB

    Re : probleme d'ordre 4 Digits

    Salut Xavier35,

    Tu n'as pas tout à fait saisi le principe de détection des touches :

    Le principe qu'utilise Fandemuse est le branchement traditionnel matriciel sur µC.

    Pour la détection d'une touche, on place une seule colonne à la fois à un niveau haut, et ensuite on lit la rangée pour voir si un BP est actionné.

    On ne peut pas placer les quatre colonnes à un niveau haut, car il sera alors impossible de déterminer lequel des quatre BP de la rangée à été actionné.

    Donc pour résumer, le branchement d'un clavier matriciel se résume à quatre entrées qui forment les rangées et quatre sorties qui forment les colonnes.
    La séquence de lecture du clavier est :
    colonne 1 niveau haut -> lecture des quatre entrées
    colonne 2 niveau haut -> lecture des quatre entrées
    colonne 3 niveau haut -> lecture des quatre entrées
    colonne 4 niveau haut -> lecture des quatre entrées

    Maintenant, tu vas me dire que l’on risque de rater un appui sur un BP avec cette méthode, mais il faut se mettre à l’échelle du µC, et pour le µC un appui sur un BP c’est une véritable éternité, et donc la vitesse de scrutation des rangées rend impossible de rater un appui sur un BP…
    Je dirais même mieux, il va falloir mettre en place une petite routine pour éviter de prendre plusieurs fois en compte l’appui sur un BP car l’utilisateur est bien trop lent par rapport au µC.

    Voilà…

    Pour ce cher Adrien, avec l’explication ci dessus, tu as tout en main pour la réalisation d’une routine de lecture d’un clavier câblé matriciel (tu vois, je te donne la solution, il ne te reste plus qu’à la mettre en pratique).
    Par contre, je persiste à dire que l’utilisation d’instructions du genre « BNZ, SKPZ, SKPNZ » va te conduire rapidement dans l’impasse car elles n’existent pas dans le jeu d’instructions des 16F (Donne moi un lien valable sur le site Microchip ou l’on fait référence à ce genre d’instructions pour les 16F…) et du fait seront mal assemblées lors de l’assemblage de ton programme.
    Je crois, que maintenant tu as assez été prévenu à ce sujet, continue à faire n’importe quoi, mais ne viens pas pleurer quand ton programme ne fonctionnera plus comme tu l’entends; tu pourras aussi nous dire que c’est le µC qui a un bug Hardware car le programmeur a fait un programme 100% OK…
    Dernière remarque, l’instruction MOVFW date de la préhistoire des PIC et n’est plus utilisée, mais elle reste compatible pour l’assemblage du programme. Je ne sais pas qui t’as mis en tête d’utiliser cette instruction, mais il est certain que cette personne à un sérieux besoin de recyclage…

    David.

  13. #12
    invitef0503bf7

    Re : probleme d'ordre 4 Digits

    Citation Envoyé par DavidDB
    Salut Xavier35,

    Tu n'as pas tout à fait saisi le principe de détection des touches :
    Si, je te rassure, j'ai parfaitement saisis le principe. Mais dans l'explication donnée, Fandemuse ne cherche une touche que dans la colonne qui l'intéresse et pas dans les autres. Ce qui aurrait pu conduire à des grave lacunes s'il avait fait fait la vérification du code digit par digit au lieux de la faire à la fin.

    Maintenant, sa technique n'est peux être pas la plus "safe" qui soit, mais c'est un autre débat et si sont truc lui convient, Je ne vois rien de plus a en dire.

  14. #13
    Adrian1903

    Re : probleme d'ordre 4 Digits

    David moi c'est Adrian avec un "a", il ne fait pas bon de m'insulter
    Sinon la vous me filer la routine pour scanner le clavier je le fai deja avec l'interruption TOIF.
    moi ce que je souhaite, c'est comment avoir le bon code ( je l'ai) dans le bon Ordre (Ca par contre j'ai pas!!)
    Ci joint un de mes programmes, David pas de commentaire, a part si c pour dire qqch de bien
    Fichiers attachés Fichiers attachés

  15. #14
    Adrian1903

    Re : probleme d'ordre 4 Digits

    ehhhh j'ai réussi a avoir mon bon code et a virer tout les mauvais!!!
    Seulement quand le bon et tapé, il se met à défiler sur la rangée du bas: A 0 B C.Jvous laisse regarde mon programme!!
    Je coömprend pas du tout la
    Fichiers attachés Fichiers attachés

  16. #15
    Adrian1903

    Re : probleme d'ordre 4 Digits

    je precise, mon clavier est a 5V donc jactive les lignes par un 0 et je detecte donc la touche par un 0.
    la validation du code est la variable OK
    qu est ce que je peux dire dautre....?
    n'hesitez pas si qqch coince pour vous

  17. #16
    Adrian1903

    Re : probleme d'ordre 4 Digits

    C'est encore moi héhé!
    laissez tomber les autres programmes j'ai trouver la solution. Par contre je veux bien que vous regardiez celui ci joint.
    En fait j'ai rajouté en plua un bouton de validation (A), pour que ca fasse plus "propre"...
    Mon problème est que quand je tape le mauvais code, pas de probleme il atten l'impulsion sur A, mais quand il s'agit du bon code il attend meme pas il passe direct a la "boucle" (pour David) COOL, sans attendre l'impulsion du bouton A...
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. choix d'un afficheur 3 digits
    Par invite20a13f01 dans le forum Électronique
    Réponses: 1
    Dernier message: 31/07/2007, 21h43
  2. problème d'ordre étude
    Par inviteb8248e8a dans le forum Biologie
    Réponses: 6
    Dernier message: 07/07/2005, 19h04
  3. Sum of digits
    Par invitecceb1161 dans le forum Mathématiques du supérieur
    Réponses: 27
    Dernier message: 08/06/2005, 22h58
  4. Urgent ! Problème d'ordre partiel en cinétique...
    Par invite1cea227c dans le forum Chimie
    Réponses: 1
    Dernier message: 03/03/2005, 11h15
  5. Afficheur 4 Digits Lcd
    Par Cinok dans le forum Électronique
    Réponses: 4
    Dernier message: 20/07/2004, 19h58
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...