carte d'apprentissage pour pic 16F88
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

carte d'apprentissage pour pic 16F88



  1. #1
    coeur noire
    Invité

    carte d'apprentissage pour pic 16F88


    ------

    salut


    pourriez-vous me dire si ce schéma et le code tienne la route
    deux 74LS245 piloté par deux 2N2222A qui sont eux meme activé par les ports PB0 PB7 configuré en sortie
    avec deux 74LS245 le pic 16F88 n'utilise que quatre sorti du pic PA0,PA1,PA7,PA6 pour commander deux moteurs unipolaire
    les ports PA4 PB3 sont configurer en entrer aux niveaux software et hardware par les 1N4148 pour les deux fin de course
    le port PA3 est configurer en entrer pour vérifier la batterie avec un pont diode
    les ports PB2 et PB5 pour le bus RS232

    Code:
    /*PB0 PB7 en sorti commande les deux transistors 2N2222A*/
    /*PA0,PA1,PA7,PA6 en sorti commande les deux ULN2803A*/
    /*PA4 PB3 en entrer fin de course*/
    /*PA2 en sorti commande le transistor pour commander le pont de diode*/
    /*PA3 en entrer pour verifier la batterie */
     void main(void)
    
    {
    int continu=1;
    ANSEL=0;
    OPTION_REG = 0b00000000;
    OSCCON     = 0b01110000;
    TRISB      = 0b01111110;
    TRISA      = 0b00111000;
    while(continu)
    {
     PORTB.F0 =1;
     PORTB.F7 =1;
    
    if(PORTA.F4 && PORTB.F3 == 0)
    {
    
    
           PORTA.F1=0;
    
           PORTA.F0=1;
    
           PORTA.F7=0;
    
           PORTA.F6=1;
    
           delay_ms(100);
    
           PORTA.F1=1;
    
           PORTA.F0=0;
    
           PORTA.F7=1;
    
           PORTA.F6=0;
    
           delay_ms(100);
    
    }}   }

    -----
    Images attachées Images attachées  
    Dernière modification par coeur noire ; 30/11/2009 à 21h10.

  2. #2
    invite7a49d0d5

    Cool Re : carte d'apprentissage pour pic 16F88

    Bonsoir,

    j'ai hâte de voir ce schéma ;O]

    vede
    ;O]

  3. #3
    invite7a49d0d5

    Cool Re : carte d'apprentissage pour pic 16F88

    bon ben on verra ça demain...
    ya un match ou quoi ;O]

  4. #4
    asmodyne

    Exclamation Re : carte d'apprentissage pour pic 16F88

    coeur noire...

    J'attends moi aussi l'avalisation de l'image de ton schéma. Cependant, même si je prédit que, dans ton circuit, les problémes seront mineurs, laisse-moi te mettre en garde :
    Tu devrais, autant que faire se peut, éviter de modifier le PORTA bit par bit.
    Je t'explique le comportement des PIC auxquels font défaut les registres LATx :

    lors d'une modification de bit sur un port, l'intégralité des entrées physiques de celui-ci est copiée dans un cache, puis modifiée par ton instruction "PORTA.F0=1;" et enfin réécrite sur le latch de PORTA.

    Imaginons alors la séquence de code suivante, dans laquelle je détaille des évènement électroniques qui pourraient survenir dans un circuit :
    Code:
     PORTA.F1=0; // <-- la ligne PA1 est tirée au niveau bas par le µC, 
    // MAIS une source de courant externe au PIC (quelle qu'elle soit, c'est un exemple)
    // force cette même broche PA1 à plus de 2V. aïe !
    //(niveau TTL haut, paramètre D040 dans la datasheet ;))
    
     PORTA.F0=1; // <-- soit, en asm, "BSF PORTA,0" 
    //le µC lit PORTA... malheur ! il "voit" que PA1 présente PHYSIQUEMENT un niveau haut !
    // Donc, pour lui, la valeur actuelle de PORTA.F1 est '1', malgré le "PORTA.F1=0" précédent.
    
    // il modifie gentiment F0 dans la valeur récupérée depuis PORTA...
    // puis réécrit celle-ci dans son intégralité, sur PORTA.
    Résultat des courses : on se retrouve avec un PORTA.F0 et un PORTA.F1 tous deux à "1" dans le registre PORTA. Alors que tout ce que l'on a demandé, c'est PORTA.F1=0 et PORTA.F0=1.

    Mieux vaut donc éviter de modifier les registres PORTA, PORTB et autres PORTx bit par bit. Ce sont les seuls registres qui présentent ce dangereux comportement.


    Donc, 1ère chose à faire dans ton code : réunir tes instructions
    Code:
           PORTA.F1=0;
    
           PORTA.F0=1;
    
           PORTA.F7=0;
    
           PORTA.F6=1;
    en un simple

    Code:
    
           PORTA = b'01000001'; // tout en un coup
    
    On ne peut malheureusement pas se permettre un "PORTA |= b'01000001';" qui aurait le même effet désagréable qu'une écriture de bit unique (PORTA devrait être lue avant d'opérer l'instruction "OU".
    Dernière modification par asmodyne ; 01/12/2009 à 03h00.

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

    Cool Re : carte d'apprentissage pour pic 16F88

    Bonjour à tous,

    je sens qu'on à bien avancé ;O]

    sans blague asmodyne...
    ça fait zizir ces précisions...
    et c'est pas rentré dans
    des oreilles de sourds...
    bonn'journée,

    vede
    ;O]

  7. #6
    asmodyne

    Re : carte d'apprentissage pour pic 16F88

    Citation Envoyé par vede Voir le message
    Bonjour à tous,

    je sens qu'on à bien avancé ;O]

    sans blague asmodyne...
    ça fait zizir ces précisions...
    et c'est pas rentré dans
    des oreilles de sourds...
    bonn'journée,

    vede
    ;O]
    hein ?

  8. #7
    asmodyne

    Re : carte d'apprentissage pour pic 16F88

    Bon... à première vue, ton schéma est un peu "fouillis"... en le réorganisant de façon à avoir le moins d'angles possible, ce serait plus lisible.

    Quel est l'intérêt de la zéner en entrée du 7805 ?
    De même que Q4 ? Quand intervient-il...

    Curieux montage.
    La science, c'est comme la confiture...

  9. #8
    asmodyne

    Wink Re : carte d'apprentissage pour pic 16F88

    Tiens, exemple rapide : le schéma d'un petit module de commande de moteurs unipolaires que j'utilise sur une graveuse. Certes, il emploie des circuit spécialiséss (les deux SLA7062M de chez Allegro), mais le but de l'exemple est juste pour t'indiquer comment rendre ton schéma plus lisible.
    Ne te vexes surtout pas, mais là... on passe plus de temps à suivre les pistes qu'à comprendre le montage.

    Images attachées Images attachées  
    La science, c'est comme la confiture...

  10. #9
    coeur noire
    Invité

    Re : carte d'apprentissage pour pic 16F88

    salut

    j'ai oublier d'enlever la diode zéner aux départ le circuit était alimenté par une alimentation alternatif
    le transistor Q4 est la pour activer le pont diviseur de tension pour que le port RA3 vérifie la batterie .
    les diodes zener 1n4148 sous une tention de 5VDC permet-elle de bloqué les ports du pic en entrer ou en sorti?
    peux ton créer une liaison entre les sortie du 74LS245 et les entrer du ULN2803?

  11. #10
    coeur noire
    Invité

    Re : carte d'apprentissage pour pic 16F88

    salut

    schéma modifier en trois partie
    Images attachées Images attachées

Discussions similaires

  1. Pont en H et Pic 16F88
    Par bypbop dans le forum Électronique
    Réponses: 84
    Dernier message: 16/12/2009, 13h56
  2. pic 16f88 et SPI
    Par invite7973ef56 dans le forum Électronique
    Réponses: 21
    Dernier message: 17/07/2009, 08h14
  3. Réponses: 8
    Dernier message: 01/05/2009, 14h36
  4. Pic 16f88
    Par invite61c07ffe dans le forum Électronique
    Réponses: 6
    Dernier message: 26/04/2009, 22h36
  5. Recherche Bootloader pour Pic 16f88
    Par samaudio dans le forum Électronique
    Réponses: 4
    Dernier message: 29/07/2007, 20h26
Découvrez nos comparatifs produits sur l'informatique et les technologies.