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

[PIC 16f886] Un simple code ne marche pas



  1. #1
    blinkseb

    [PIC 16f886] Un simple code ne marche pas


    ------

    Bonjour à tous,

    Je me lance dans la programmation des pics pour un projet personnel (création d'un looper midi pour guitare). La partie relais marche très bien, mais concernant le pic, c'est autre chose...

    J'ai donc écrit tout le code, et je l'ai fais tourné en simulation sous mplab, tout marche. Ayant reçu ma plaque de prototypage, j'ai voulu testé le pic avec un simple programme : allumer une LED. Et forcement, ça ne marche pas.

    Sur la plaque, cablage simple : Mon alimentation filtrée 9V en 5V (j'ai bien 5V en sortie, pas de problème), mon PIC avec les deux pins Vss à la masse et la pin Vdd au +5V, et la pin #1 (MCLR) au +5V. Sur la pin #2 (A0), j'ai une résistance de 220 Ohm, suivi d'une led reliée à la masse (je précise que la LED s'allume bien quand je relie la résistance au +5V).

    Voici le code :

    Code:
    #pragma CLOCK_FREQ 8000000
    #pragma DATA 0x2007, 0x3FFC
    #pragma DATA 0x2008, 0x3FFF
    
    void init(void)
    {
    	// Initialise les registres, le timer, les sorties ...
    	trisa = 0;
    	trisb = 0;
    	trisc = 0;
    	
    	porta = 0;
    	portb = 0;
    	portc = 0;
    	
    	// disable ad
    	clear_bit(adcon0, ADON);
    	osccon = 0b01110111; // utilise l'oscillateur interne à 8 MHz
    	ansel = 0 ; // sortie digitale
    	anselh = 0;
    
    	set_bit( porta, 0); // A0 ON
    	set_bit( porta, 1); // A1 ON
    
    
    }
    
    void main(void)
    {
    	init();
    
    	do
    	{
    		clear_wdt();
        
    	} while (1);
    }
    J'avais déjà des connaissances en C, et j'ai épluché toute la doc de microchip avant de me lancer dans la programmation. Les bits de config sont réglés de façon à utiliser l'oscillateur interne à 8 MHz.

    Où ais je fait une erreur ? Surement une erreur de débutant, mais j'aimerais beaucoup mener ce projet à bien !

    Merci d'avance de votre aide !

    Sébastien

    -----

  2. #2
    invite03481543

    Re : [PIC 16f886] Un simple code ne marche pas

    Bonjour,

    as-tu dévalidé les comparateurs (registre CMCON=0x07)?
    Dernière modification par HULK28 ; 01/02/2009 à 13h29.

  3. #3
    blinkseb

    Re : [PIC 16f886] Un simple code ne marche pas

    Merci beaucoup !

    J'ai rajouté cette instruction, et ça marche Le comportement est un peu bizarre (il faut que je déplace un peu la led après la mise en marche pour qu'elle éclaire), mais ça doit être du à un léger faux contact !

    Merci beaucoup !

    Sébastien

Discussions similaires

  1. Réponses: 25
    Dernier message: 02/03/2014, 15h52
  2. amelioration code PIC 16F876 moteur pas à pas
    Par olver62 dans le forum Électronique
    Réponses: 35
    Dernier message: 26/07/2008, 16h29
  3. PWM qui ne marche pas sur mon Pic :(
    Par Imei dans le forum Électronique
    Réponses: 16
    Dernier message: 28/01/2007, 13h01
  4. Pendule simple(pas si simple que ça!!)
    Par annn7 dans le forum Physique
    Réponses: 2
    Dernier message: 08/04/2006, 22h29
  5. tv thomson marche 5 min puis code 27
    Par DIDOU2 dans le forum Dépannage
    Réponses: 7
    Dernier message: 19/01/2006, 21h52
Découvrez nos comparatifs produits sur l'informatique et les technologies.