placer un tableau dans un pic 16F628 - Page 2
Répondre à la discussion
Page 2 sur 4 PremièrePremière 2 DernièreDernière
Affichage des résultats 31 à 60 sur 105

placer un tableau dans un pic 16F628



  1. #31
    DavidDB

    Re : placer un tableau dans un pic 16F628


    ------

    Salut,

    Petite rectification :

    puis de mettre sa donnée sur le port
    activer le broche E pendant au moins 450 ns
    puis deactiver la broche E pendant au moins 450ns
    Ce n'est pas ce qui est écrit dans les datasheet des LCD...
    Cela fonctionne mais risque un jour ou l'autre de poser problème.

    L'orde suivant le datasheet :

    activer le broche E pendant au moins 230 ns
    mettre la donnée sur le port
    désactiver la broche E (+/- 40ns plus tard que la présence de la donnée sur le port)


    La donnée est prise en compte par le LCD sur le front descendant de E.

    David.

    -----

  2. #32
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    LU davidDB

    Pour le datasheet j'ai trouvé ceci
    http://www1.produktinfo.conrad.com/c...ins=62&lang=FR en page 5 450ns est le temp de Enable je pense que tu veux dire le temps sans stabilisation du signal car la il est en effet de 280 ns.
    j'utilise la même méthode que nos amis de fribotte et je n'ai jamais de problème c'est pour cela que je conseil à notre ami d’aller voir les applications sur le net.Il ya aussi Doumai qui montre un petit montage compteur decompteur pas mal avec un 16F84 est un LCD qui utilise la même méthode

    david
    a bientôt

  3. #33
    arzew

    Re : placer un tableau dans un pic 16F628

    Citation Envoyé par Pom26 Voir le message
    LU pico03
    pour le LCD il sufit de valider la broche RS en mode donnée la broche RW en ecriture moi je la laisse toujours en ecriture

    puis de mettre sa donnée sur le port
    activer le broche E pendant au moins 450 ns
    puis deactiver la broche E pendant au moins 450ns

    si tu veux etre sur avoir ecrit dans la memoire du LCD tu peux aller la lire
    je ne comprend pas pourquoi tu fais cela.

    c'est comme aussi la longueur des mots sur 16 caracteres les lcd sont sur 32 caracteres par ligne 16 de visibles et 16 de cachés que tu peux faire defiler avec ton curseur adresse visible de 00h a 0FH invisible 10H 27H pour la ligne1
    DE 40H a 4FH visible 50H a 67H invisible pour la ligne 2 etc pour les autres
    une question qu'est ce que la procedure de mise a jour ?? lorsque tu rencontre 01

    tu es en C ou en ASM ?
    a bientot
    bonjour Pom26 et vous tous,

    faire défiler le curseur pour apparaitre une phrase de 32 caratères ... cela m'interresse
    Quelle commande d'initialisation du LCD faut faire ?

    Cordialement

    Arzew

  4. #34
    DavidDB

    Re : placer un tableau dans un pic 16F628

    Salut,

    Pour le datasheet j'ai trouvé ceci
    http://www1.produktinfo.conrad.com/c...s=62&lang =FR en page 5 450ns est le temp de Enable je pense que tu veux dire le temps sans stabilisation du signal car la il est en effet de 280 ns.
    j'utilise la même méthode que nos amis de fribotte et je n'ai jamais de problème c'est pour cela que je conseil à notre ami d’aller voir les applications sur le net.Il ya aussi Doumai qui montre un petit montage compteur decompteur pas mal avec un 16F84 est un LCD qui utilise la même méthode
    Le lien que tu me montres est basé sur le KSU0066.
    Donc ouvre le datasheet du KSU et tu as en page 31 tableau 12 un pulse E de min 230ns et non 450 (450ns est valable pour les tensions d'alimentations inférieure à 4.5V).

    Sinon, pour la procédure exacte de validation d'une donnée, regarde la figure 6 de la page 32 qui respecte ce que j'ai écrit au post #31.

    Inverser l'ordre d'exécution dans ce cas précis n'a pas d'incidence sur le LCD, par contre, cela allonge en conséquence la phase d'écriture pour le µC en perdant au minimum 1-2 cycles CPU.
    Pour un LCD alphanumérique, cela n'a pas d'incidences, par contre pour un LCD graphique (ou LCD à registres à décalages) cette perte de temps peux devenir inacceptable car bloquant d'autres routines µC...

    Sinon pour Arzw :

    faire défiler le curseur pour apparaître une phrase de 32 caratères ... cela m'interresse
    Quelle commande d'initialisation du LCD faut faire ?
    Il suffit d'envoyer l'instruction H'1C' pour faire défiler tout l'afficheur vers la droite, et d'envoyer l'instruction H'18' pour faire défiler tout l'afficheur vers la gauche. (sans oublier RS et RW = 0)

    David.

  5. #35
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    LU david et les autres

    En page 32 du datasheet l'organigramme si je ne trompe pas mais je deviens vieux et cela ne s'arrange pas,dit bien de charger les données puis front haut de Enable Mais c'est pas grave cela fonctionne tres bien chez moi et je ne suis pas le seule a appliquer cette methode

    Pour Arwz
    tu as plusieurs possibilites soit avec le curseur soit avec positionnement de adresse DD ram mais je ne sais pas si tu veux afficher le contenu d'une position de la RAM ou tu veux faire defiler le curseur soit en droite ou a gauche

    EN mode COMMANDE
    pour la RAM......"1 A6 A5 A4 A3 A2 A1 A0 " a0 a6 valeur de l'adresse

    pour le curseur.. voir david
    mais en plus il ne faut pas oublier une tempo De 40µs pour les deux commandes

    si bien sur tu as validé ton curseur

    allez il est tard je vais coucher ma petite tête lol

    a bientot

  6. #36
    DavidDB

    Re : placer un tableau dans un pic 16F628

    Oui, tes yeux sont fatigués...

    On charge la donnée après le front montant sur la figure 6 de la page 32...

    C'est avec ce genre de méthode et en changeant de LCD, qu'un jour ou l'autre on se demande pourquoi cela ne fonctionne plus ??? Pourtant avec l'autre, cela fonctionnait...

    En annexe une copie de la figure 6...

    David.
    Images attachées Images attachées

  7. #37
    arzew

    Re : placer un tableau dans un pic 16F628

    bonjour à tous,

    merci pour vos conseils; je les utiliserai sous peu ...
    J'ai l'impression que certaines commandes du DATASHEET ne fonctionnent pas ; à moins qu'il y ait quelque chose de spécial à faire

    A titre d'exemple quelle est en gros le temps d'affichage d'un mot de 16 caractères sur le LCD en sachant qu'il n'y a aucun artifice de ralentissement à l'affichage ?

    Cordialement

    Arzew

  8. #38
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    LU
    As tu regardé l'organigramme? Mais c'est pas grave,cela fonctionne est c'est le principal sur mes montages
    Pour Arzew :
    Pour une bonne visibilité de ton code je te conseil de mettre tes données commande du LCD en binaire comme toutes manip sur les bits plus facile a verifier

  9. #39
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    LU
    les chronographes te donne raison aussi dans une prochaine réalisation je verais cela

  10. #40
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    Pour david
    donc la méthode serai:

    Enable état haut
    donnée sur port
    tempo
    Enable état bas
    tempo
    c'est cela ???

  11. #41
    DavidDB

    Re : placer un tableau dans un pic 16F628

    Salut,

    Enable état haut
    donnée sur port
    tempo
    Enable état bas
    tempo
    c'est cela ???
    Cela depend du TCY du µC...

    Si TCY du µC >=125ns alors :

    Enable état haut
    donnée sur port
    Enable état bas

    Si TCY inférieure à 125ns :

    Enable état haut
    donnée sur port
    nop
    Enable état bas


    Sans oublier de vérifier BF ou alors une tempo de 39µS à partir du front descendant avant de recharger une nouvelle donnée.

    Mais, je le répète, la méthode avec la donnée présente avant le front montant fonctionne, mais elle ne respecte pas la procédure du datasheet, et ralentit en conséquence la vitesse d'écriture par le µC maître, ce qui risque de devenir gênant sur un LCD graphique.

    Dans tous les cas, pour se prévenir d'erreur future, il vaut mieux respecter les recommandations du datasheet.

    J'ai l'impression que certaines commandes du DATASHEET ne fonctionnent pas
    Cela doit être une erreur dans ton code, car je n'ai pas encore entendu parler de ce genre de problème (mais, cela reste possible...).
    Quelles commandes ne fonctionnent pas ?

    David.

  12. #42
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    mais tu me dis que la Tempo E 450ns est trop grande pour toi E 230ns mais pour un pic a 4MhZ un instuction 1µS donc on a un TCY qui est trop grand TCY >1µS pas bon non?

    oui pour ton deuxieme cas si PIC à 20MHZ mais il faut aussi tenir compte de la stabilite des données sur le port et la c'est pas gagné

    il ne faut pas oublier que les LCD ne sont pas fait que pour les PIC
    tu vois c'est pas trés net tout cela

    et la j'ai bien dormi lol

    a bientôt

  13. #43
    DavidDB

    Re : placer un tableau dans un pic 16F628

    Je n'ai pas parlé de PIC dans mes post...

    Si le TCY est d'1µSec, tu utilises simplement la méthode >=115ns sans faire de tempo, ni plus ni moins.


    mais tu me dis que la Tempo E 450ns est trop grande pour toi E 230ns
    là, on parle des valeurs indiquées dans le datasheet, qui sont le minimum à respecter(qui est de 230ns et non de 450ns pour plus de 4.5V). Reprend le tableau 12, et tu verras qu'il n'y a pas de valeur typique et maximale.

    Donc, si ton TCY est d'1µsec, pas de ploblème pour un E de 1µsec
    Par contre, si ton TCY est inférieure à 115ns (à rectifier dans le post précédent donc : >=115ns et inférieure à 115ns) il faut un TCY de temps mort pour être >= au temps minimum de E

    il faut aussi tenir compte de la stabilite des données sur le port et la c'est pas gagné
    Pas de problème non plus, si tu veux en avoir la confirmation, c'est indiqué dans le datasheet du µC en temps maximum dans les caractéristiques électriques.

    David.

  14. #44
    arzew

    Re : placer un tableau dans un pic 16F628

    bonjour tout le monde,

    J'ai un problème de compréhension avec l'écriture dans la 2EPROM du PIC 16F628.
    Mon but est d'incrémenter la variable "adresse"
    Voici 2 routines dont la première fonctionne :

    dans celle-ci je pointe l'adresse 7 et je lui associe la valeur 4

    ecriture_nombre

    movlw 4

    bsf STATUS,RP0 ;page 1

    movwf EEDATA ;donnée = 4
    movlw 7
    movwf EEADR ;pointer adresse 7
    bsf EECON1,WREN ;autorisation écriture
    movlw 0x55
    movwf EECON2
    movlw 0xAA
    movwf EECON2
    bsf EECON1,WR ;début écriture
    bcf EECON1,WREN ;fin autorisation écriture

    bcf STATUS,RP0 ;page 0


    par contre si je veux écrire une suite d'adresse, à l'instruction movf adresse,0 le registre de travail w ne contient pas la valeur du registre "adresse"


    ecriture_nombre

    movlw 7
    movwf adresse ;adresse = 7

    movlw 4

    bsf STATUS,RP0 ;page 1

    movwf EEDATA ;donnée = 4

    movf adresse,0
    movwf EEADR ;pointer adresse 7
    bsf EECON1,WREN ;autorisation écriture

    movlw 0x55
    movwf EECON2
    movlw 0xAA
    movwf EECON2

    bsf EECON1,WR ;début écriture
    bcf EECON1,WREN ;fin autorisation écriture

    bcf STATUS,RP0


    Pourtant les variables et le registre w sont accessibles à partir de toutes les pages !

    Cordialement

    Arzew

  15. #45
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    LU
    voit peut etre comme ca
    INCF EEADR,F

  16. #46
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    lu
    je pense parce que adresse et une position en RAM de ta banque 0
    donc pour retrouver sa valeur tu dois te remettre en BANQUE 0

  17. #47
    DavidDB

    Re : placer un tableau dans un pic 16F628

    Salut,

    Il faut placer la variable "adresse" en zone ram commune, entre l'adresse 0x70 et 0x7F.

    David.

  18. #48
    arzew

    Re : placer un tableau dans un pic 16F628

    bonsoir,

    pour Pom26 :

    effectivement nous avons eu la même idée

    ma routine:

    ecriture_code
    bsf STATUS,RP0
    movlw 255
    movwf EEADR
    bcf STATUS,RP0

    movlw 0x21
    movwf chiffre
    movlw 255
    movwf adresse
    movlw 0x21
    debut_ecriture
    bsf STATUS,RP0 ;page 1
    movwf FSR ;pointer ds la RAM adresse 0x21
    movf INDF,0 ;valeur trouvée ds w

    movwf EEDATA ;mettre valeur ds EEDATA
    incf EEADR,1

    bsf EECON1,WREN ;autorisation écriture

    movlw 0x55
    movwf EECON2
    movlw 0xAA
    movwf EECON2

    bsf EECON1,WR ;début écriture
    wait2
    btfsc EECON1,WR ;attente fin d'écriture
    goto wait2

    bcf EECON1,WREN ;fin autorisation écriture

    bcf STATUS,RP0

    decfsz nombre,1
    goto ecriture_code
    goto fin
    pour DavidDB

    je ne savais pas qu'il existait une RAM commune.
    Ma variable est à l'adresse 0x28.
    Au fait en parlant de RAM le datasheet revendique 224 octets.
    Je n'ai pu manipuler que 6 x 16 octets = 96 octets

    Cordialement

  19. #49
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    mais il y a plusieurs banques
    banque 0 de 20H a 6FH
    banque 1 de 0AH a EFH
    banque 2 de 110H à 16FH
    banque 3 de 190h à 1EFH

    et la zone commune 70H a7FH
    c'est valable pour le 16F877 512 octets
    regarde POUR le 16F628

    ok pour inc c'est plus simple

    a bientôt

  20. #50
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    Pour la gestion des banques tu devrais faire des macros comme cela c'est plus Lisible ex:

    banque1
    movlw,...
    incf eeadr
    banque2
    xxxx
    banque0
    decf...

    c'est avoir
    pour ton code la boucle ne doit pas etre bonne

  21. #51
    DavidDB

    Re : placer un tableau dans un pic 16F628

    Salut,

    En annexe le tableau de la RAM d'un 16F6xxA

    La zone commune accessible depuis n'importe quelle page est de l'adresse 0X70 à 0X7F. Soit 16 octets, largement suffisant pour manipuler l'EEPROM du µC.

    David.
    Images attachées Images attachées

  22. #52
    arzew

    Re : placer un tableau dans un pic 16F628

    bonjour,

    merci pour vos réponses .
    Pour ce qui est de ma routine, elle fonctionne car essayée sur MPLAB.
    La 2EPROM enregistre bien ce que je lui demande dans mon programme.
    Effectivement, la variable "adresse" est 0x28, ce qui est logiquement en page 0.
    Après avoir lu le tableau de DavidDB, je me demande pourquoi elle peut être lue car j'utilise la page 1

    Cordialement

  23. #53
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    LU
    c'est une copie exact de ta routine?

    -Car ta boucle retourne au tout debut du programme
    goto ecriture_code

    -Tu INCF pas le registre FSR donc tu restes sur la meme valeur de index

    Comme évite utiliser le mot page c'est pas une page c'est une banque le mot page s'applique au registre IRP

    Lorsque tu es en banque 1 tu lis la position mémoire RAM 0XA0 tu ne peux pas lire position memoire RAM 0X20 qui est en banque0 c'est comme les registres

    une petite question en début de programme déclares-tu tes variables?

  24. #54
    DavidDB

    Re : placer un tableau dans un pic 16F628

    Salut,

    Comme évite utiliser le mot page c'est pas une page c'est une banque le mot page s'applique au registre IRP
    C'est pareil, page ou banque...
    Je préfère utiliser page, car c'est plus représentatif 4 pages que 4 banques; mais les deux sont utilisés.

    Fait une recherche sur le site, ce sujet à déjà été abordé.

    Effectivement, la variable "adresse" est 0x28, ce qui est logiquement en page 0.
    Après avoir lu le tableau de DavidDB, je me demande pourquoi elle peut être lue car j'utilise la page 1
    Non, si "adresse" est en RAM à l'emplacement 0X28, elle ne peut pas être lue en page 1...

    Il faut soit utiliser les emplacements RAM de la page 1 ou utiliser la zone commune de 0X70 à 0X7F (ou alors accéder à la page0 pour "adresse" dans ton programme)

    David.

  25. #55
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    Citation Envoyé par DavidDB Voir le message
    Salut,



    C'est pareil, page ou banque...
    Je préfère utiliser page, car c'est plus représentatif 4 pages que 4 banques; mais les deux sont utilisés.
    Pour tant toi qui me parle de lisibilite de code un remarque comme cela me gene
    comment appel tu dans ton code pour gerer le bit IRP des pages des banques tres lisibles
    comment appel tu dans ton code pour gerer PClath des pages des banques tres lisibles
    aurais tu deux langages il faut etre lisibles c'est toi qui me la DIT donc je ne comprend pas cette réaction bizar bizar

  26. #56
    DavidDB

    Re : placer un tableau dans un pic 16F628

    Fait la demande à Bigo, c'est avec lui que j'ai eut cette discution...

    D'ailleurs, en Anglais technique BANK, c'est page ou tableau...
    Alors, tu choisis lequel des deux???

    comment appel tu dans ton code pour gerer le bit IRP des pages des banques tres lisibles
    comment appel tu dans ton code pour gerer PClath des pages des banques tres lisibles
    Dans les deux cas, pages...
    On voit très bien le contexte grâce à PCLATH ou IRP ou RP0-1 non ?

    Laisse tomber, et parle de banque si tu trouves cela plus explicite...
    Mais, ne dis pas << Comme évite utiliser le mot page c'est pas une page c'est une banque le mot page s'applique au registre IRP
    >> car ton affirmation est fausse.

    David.

  27. #57
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    Citation Envoyé par DavidDB Voir le message
    Fait la demande à Bigo, c'est avec lui que j'ai eut cette discution...
    Bien justement BIGONOFF dans ses prog appel cela "banque" mais tu as raison pour la lisibilitè de mon code je continurai a utiliser le mot Banque c'est pas trés important quoi que....
    a bientôt

  28. #58
    DavidDB

    Re : placer un tableau dans un pic 16F628

    Non non, ce n'est pas ce que je t'ai dit...

    Demande à Bigo, ou cherche sur le forum comment on traduit BANK correctement, c'est très différent du terme "banque" utilisé dans son cours et devient subjectif dès lors...

    Ce que je te répête une fois de plus, ça c'est une affirmation fausse : Comme évite utiliser le mot page c'est pas une page c'est une banque le mot page s'applique au registre IRP

    A bon il parle de banque pour PCLATH et IRP ?

    David.

  29. #59
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    Citation Envoyé par DavidDB Voir le message
    A bon il parle de banque pour PCLATH et IRP ?

    David.
    Je n'ai pas dit cela,j'ai seulement dit que bigonoff utilise le mot banque dans ses programmes pour BANK PAR4 du 16F877 fichier dtra.asm cbds.asm par exemple c'est tout.Moi ce qui me gene dans tout cela si tu parles de PIC et de banque à un personne X ou Y elle va vite voir de quoi tu causes ,c'est cela la visibilite du code et si je me trompe pas pour toi c'etait important voir nos post précedents maintenant tu appels cela comme tu veux lili lolo page livre comme tu veux rien a ....

    J'utilise si tu as bien fait attention EVITE maintenant il fait ce qu'il veut

    Mais pour ma part chaque fois de je lis du code,pas mon code bien sur,c'est toujours le mot BANQUE qui resort et je sais de quoi il en retourne.
    cette discusion n'apporte rien a nos amis qui nous lisent donc STOP

    a bientôt

  30. #60
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    LU arzew
    j'ai trouve cela pour les banques

    http://www.rennes.supelec.fr/ren/fi/...oleurs_pic.pdf

Page 2 sur 4 PremièrePremière 2 DernièreDernière

Discussions similaires

  1. PIC 16f84-16f628
    Par invite62237dc8 dans le forum Électronique
    Réponses: 1
    Dernier message: 09/02/2007, 12h40
  2. Pic 16f628
    Par invite4164fd5c dans le forum Électronique
    Réponses: 9
    Dernier message: 16/12/2006, 17h15
  3. pic 16F628
    Par LTHOMAS dans le forum Électronique
    Réponses: 7
    Dernier message: 29/03/2006, 22h13
  4. pic 16F628
    Par invitea78e17c9 dans le forum Électronique
    Réponses: 1
    Dernier message: 15/03/2004, 22h04
  5. pic 16f628
    Par invite7a98af17 dans le forum Électronique
    Réponses: 3
    Dernier message: 16/02/2004, 16h21
Découvrez nos comparatifs produits sur l'informatique et les technologies.