Retour en haut
La publicité est notre seule source de revenu.
Si vous appréciez lelectronique.com, désactivez votre bloqueur de pub. Merci à vous ! En savoir plus.
Affichage des résultats 1 à 2 sur 2
  1. #1
    Tromtrom
    Invité

    Par défaut programmation d'un pic 18f

    Bonjour,

    Je début complètement dans la programmation de PIC, et je dois réaliser un programme sur un pic18f4580.

    Le but du programme est simple, recevoir un caractère sur un port série, et en fonction de ce caractère, activer ou non les pin du port B.

    Je n'arrive pas à faire fonctionner le PIC comme je le veux. Je dois avoir fini ce programme dans les jours qui viennent, ca fait un moment que je suis dessus et j'y arrive pas, je suis un peut en panic.

    Je viens donc vous demander votre aide afin de debuger mon programme:


    Code:
    #include <p18f4580.h>
    #include <usart.h>
    #include <stdio.h>
    
    
    #pragma config OSC=HS, FCMEN=ON, IESO=OFF, XINST=OFF, LVP=OFF
    
    
    /*unsigned char TableCommandeRA [] = {0x00,
    									0x05,
    									0x0A,
    									0x09,
    									0x06,
    									0x80,
    									0x10,
    									0x20};
    */
    #define BAUD_RATE_GEN 25		// configure la vitesse ‡ 9600 baud (8Mhz)  
    
    
    void Init_Interrupt(){		//configure interruptions
    
        INTCONbits.PEIE = 1;    //enable peripheral interrupts
        INTCONbits.GIE = 1;     //enable glogal interrupts
    	PIE1bits.TMR2IE = 1;	//enable Timer2 interrupt
    }
    
    
    void Config_Oscillator(){
    OSCCON  = 0b01111110;		//Osc=8MHz P.32 
    }
    
    void init_timer(){
    //timer2
    T2CON = 0b01111100;		//Postscale = 1:1 et Prescaler = 1:1 donc normalement Freq = FOsc/4 = 2MHz
    
    PR2 = 124;				// 125 counts including 0
    
    T2CONbits.TMR2ON = 1;
    }
    
    void main(void)
    {
    	unsigned char Commande;
    
    
    	Config_Oscillator();
    	Init_Interrupt();
    	init_timer();
    
    	/*SPBRG = 25; // configure la vitesse (BAUD) 9600 N 8 1
    	TXSTA = 0x24;
    	RCSTA = 0x90; // active l'USART*/
    	TRISB = 0x00; // port A en sortie
    
    	OpenUSART(USART_TX_INT_OFF | USART_RX_INT_ON | USART_ASYNCH_MODE | USART_EIGHT_BIT | USART_CONT_RX | USART_BRGH_LOW, BAUD_RATE_GEN);
        baudUSART(BAUD_8_BIT_RATE | BAUD_AUTO_OFF);
    
    	while(1) // echo
    	{
    		if (PIR1bits.RCIF) 
    		{
    			getsUSART(&Commande,1);					//recois la donnÈe sur 1 octÈ
    			//PORTB = TableCommandeRA [Commande];		
    			if ( Commande == 'A'){
    			PORTB = 0x00;
    			}
    			if ( Commande == 'Z'){
    			PORTB = 0x15;
    			}
    			if ( Commande == 'S'){
    			PORTB = 0x1A;
    			}
    			if ( Commande == 'D'){
    			PORTB = 0x19;
    			}
    			if ( Commande == 'Q'){
    			PORTB = 0x16;
    			}
    			if ( Commande == 'P'){
    			PORTB = 0x20;
    			}
    			if ( Commande == 'O'){
    			PORTB = 0x40;
    			}
    			if ( Commande == 'V'){
    			PORTB = 0x80;
    			}
    		}
    	}
    
    //CloseUSART();
    //while(1);
    }
    
    
    #pragma interrupt InterruptHandler   
    
    void InterruptHandler (void)
    {
    	if(INTCONbits.TMR0IF)
    	{
    		//timer0();
    		//led2 ^= 1;
    		INTCONbits.TMR0IF = 0;
    	}
    
    	if(PIR1bits.TMR2IF)
    	{
    		//led3 ^=1;
    		PIR1bits.TMR2IF = 0;
    	}
    }
    Merci d'avance.

    Cordialement

    Trom

  2. # ADS
    Circuit advertisement
     

  3. #2
    Novice Novice
    Date d'inscription
    avril 2019
    Messages
    1
    Pouvoir de réputation
    0

    Par défaut programmation dun pic 18f

    Salut Thierry,

    Je ne connais pas ce programmateur mais si tu menvoies le fichier de ce quil faut mettre dedans, je te renvoie un PIC programme.

    Yves.

Informations de la discussion

Utilisateur(s) sur cette discussion

Il y a actuellement 1 utilisateur(s) naviguant sur cette discussion. (0 utilisateur(s) et 1 invité(s))

Discussions similaires

  1. Question à propos du langage de programmation d'un PIC
    Par Astondb8 dans le forum Électronique Numérique
    Réponses: 2
    Dernier message: 29/04/2011, 20h48
  2. calcule des R et C d'un oscilateur d'un emeteur fm
    Par mehdi999 dans le forum Audio
    Réponses: 6
    Dernier message: 09/04/2011, 11h56
  3. Programmation d'un micrôcontroleur
    Par vaald dans le forum Électronique générale
    Réponses: 2
    Dernier message: 12/02/2010, 13h42
  4. comment identifier un objet a l'aide d'un capteur et d'un ordinateur ?
    Par pacadid dans le forum Électronique générale
    Réponses: 0
    Dernier message: 08/12/2008, 15h38
  5. programmation des PLD
    Par riadh dans le forum Électronique Numérique
    Réponses: 3
    Dernier message: 23/06/2005, 10h08

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •  
Forum électronique
Ce forum électronique a pour but d'aider les électroniciens ou non dans leur réparation, leur dépannage mais aussi tout simplement pour la réalisation d'un montage électronique
Suivez-nous