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

pic LED



  1. #1
    sdow

    pic LED


    ------

    je voudrais allumer un led mon code est :
    ma configuration est 7931 mais elle ne veux pas allumer

    void main(void)
    {

    ADCON1=6; // Passe le port en mode digital
    TRISA=0b00000000; // Configuration du portA en sortie
    PORTA=1; // Mise a 1 (5v) de la sortie RA1 du port A
    while(1); // Le programme se bloque ici
    }

    -----

  2. Publicité
  3. #2
    sdow

    Re : pic LED

    est ce que quelquen peut m'aider je utilise le CC5X avec mplab

  4. #3
    mictour

    Re : pic LED

    Bonjour sdow,
    Je crois reconnaitre un bout de code en CC5X...
    Il est tout à fait normal que ton code "bloque" sur 'while(1);' puisque c'est une instruction infinie! (boucle sur elle-même) As-tu oublié le DO ?
    L'instruction 'PORTA = 1' met tout le PORTA en sortie. pour allumer RA1 il faut écrire PORTA.1 = 1;

    Quel microcontrolleur utilises-tu ? je ne comprends pas le code de configuration...
    A bientôt, mictour

    En envoyant ma réponse je vois que nos réponses se sont croisées..!

  5. #4
    sdow

    Re : pic LED

    je utilise 16f877 comme pic quand j'ai fait la simulation portA devient 0x01

  6. #5
    mictour

    Re : pic LED

    ...Voici un petit bout de "prog démo" pour te permettre de tester ta carte et ton materiel... et bien sur modifies-le 'pour voir'
    bonne prog. mictour.


    // PETIT FICHIER DEMO EN CC5X. Testé sur EASYPIC3.
    // fait clignoter RA0 et RA1 en alternance.

    #pragma chip PIC16F877 // ou 877A
    #pragma config |= 0x3f32 // WHD off, entre autres...

    void delay10( char n) // extrait du fichier DELAY.C
    /*
    10Ms à 4Mhz
    utilise TMR0
    */
    {
    char i;

    OPTION = 7; // TMR0 = 1/256
    do {
    // clrwdt(); seulement si watchdoc activé
    i = TMR0 + 39; // 256 microsec * 39 = 10 ms */
    while ( i != TMR0);

    } while ( --n > 0); // 10*n Ms
    }



    void init(void)
    {
    ADCON1 = 0b.0000.0110; // PORTA en digital,
    PORTA = 0b.0000.0000;
    TRISA = 0b.0000.0000; // tout en sortie ...
    // suite...du programme perso.

    }
    void main(void)
    {
    init();
    do
    {
    PORTA.0 = 1;
    PORTA.1 = 0; // par ex.
    delay10(50); // 500 Ms
    PORTA.0 = 0;
    PORTA.1 = 1;
    delay10(50);
    }
    while(1); // boucle infinie entre do et while
    }

  7. A voir en vidéo sur Futura

Sur le même thème :

Discussions similaires

  1. Commande de LED bicolore par un PIC
    Par Py dans le forum Électronique
    Réponses: 6
    Dernier message: 29/04/2013, 22h21
  2. Montage led avec PIC
    Par Jeanmichel45 dans le forum Électronique
    Réponses: 3
    Dernier message: 11/12/2007, 17h50
  3. Pic avec Led
    Par Raphael2 dans le forum Électronique
    Réponses: 10
    Dernier message: 27/03/2007, 13h37
  4. Controller des LED avec un PIC via USB
    Par seb.blanc dans le forum Électronique
    Réponses: 11
    Dernier message: 28/09/2006, 10h17
  5. Montage a LEd + PIC 16F870
    Par minimas dans le forum Électronique
    Réponses: 2
    Dernier message: 30/03/2006, 16h30
Découvrez nos comparatifs produits sur l'informatique et les technologies.