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

programmation pic



  1. #1
    invite53567d99

    Exclamation programmation pic


    ------

    je viens de réaliser un programme en langage C à l'aide du compilateur
    picc en utilisant un PIC16F887. mon programme doit contenir les modules adc et RS232 pour convertir 20 entrées analogiques. j'ai essayé pour une seule entrée mais le programme n'affiche que la partie entière. voila le code:
    #include <16F887.h> // change header
    #fuses INTRC_IO, NOWDT, NOPROTECT, BROWNOUT, PUT, NOLVP
    #use delay(clock=4000000)
    #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, ERRORS)

    #byte PORTA= 0x05
    #byte PORTB= 0x06
    #byte PORTC= 0x07
    #byte PORTD= 0x08
    #byte TRISA= 0x85
    #byte TRISB= 0x86
    #byte TRISC= 0x87
    #byte TRISD= 0x89
    #byte TXSTA= 0X98
    #byte RCSTA= 0X18
    #BYTE SPBRG= 0x99
    #byte ADRESL=0x9E
    #byte ADRESH=0X1E
    #BYTE TXREG= 0x19
    #byte ADCON1=0x9F
    #byte ADCON0=0x1F
    #byte RCSTA= 0x18
    #byte ANSEL= 0x188
    #byte PIE1 = 0x8c
    #byte PIR1 = 0x0c
    #BYTE SPBRG=0x99
    #BYTE TRISB=0x86
    #BYTE TRISA=0x85
    #BYTE PCON= 0x8E
    #BYTE PORTA=0x05
    #bit GODONE= ADCON0.1
    #bit ADFM = ADCON1.7
    #bit VCFG0=ADCON1.4
    #bit VCFG1=ADCON1.5
    #bit adcs1=ADCON0.7
    #bit adcs0=ADCON0.6
    #bit ADON=ADCON0.0
    #bit ADIE=PIE1.6
    #bit ADIF=PIR1.6
    #BIT RCIE=PIE1.5
    #BIT TXIF=PIE1.4
    #BIT RA1=PORTA.0
    #BIT RA2=PORTA.1
    #BIT TRMT=TXSTA.1
    #define spbrg_value 25

    float resultat;

    void init_adc()
    {
    SPBRG = spbrg_value;
    TXSTA = 0x24;
    RCSTA = 0x90;
    setup_adc(ADC_clock_internal);
    setup_adc_ports(ALL_ANALOG);
    set_adc_channel(0);
    delay_ms(500);
    }

    void main()
    {
    TRISC = 0x00;

    TRISA = 0b00111100;
    ADCON0 = 0b00010000;
    ADCON1 = 0b00001010;
    ADON = 1;
    ADIF=0;
    ADIE=1;
    PIE1 = 1;
    //GIE = 1;
    init_adc();
    while(true)
    {
    delay_us(50);
    GODONE = 1;
    while(GODONE==1);

    resultat=read_adc()/51.0; //205.7;
    setup_adc(ADC_OFF);
    delay_us(1000);
    ADON=0;
    TXREG =resultat;
    //putc(resultat);
    //printf(,"%f\n",resultat);
    while(TXIF==0);
    delay_ms(10);
    }
    }

    svp j'ai besoin de votre aide
    merci d'avance

    -----

  2. #2
    Jack
    Modérateur

    Re : programmation picc

    Merci de faire "l'effort" de lire les consignes propres à chaque forum, informatique en l'occurrence:
    http://forums.futura-sciences.com/programmation-langages-algorithmique/441632-regles-participatives-nouveau-forum.html
    Ca mévitera de perdre du temps à rédiger ce message, le déplacer en électronique et ajouter les balises code.

    PS: finalement, le code n'est même pas indenté. Je n'ai pas le courage de le faire


  3. #3
    spown

    Re : programmation picc

    Bonjour et bienvenue sur FUTURA,

    Un peu d'effort à donner afin de mieux vous aidez.

    Bref, tu veux convertir quoi comme signal ? ( je sais que c'est une tension .. et analogue ) qu'est ce que t'attends comme résultat ? tu les affiche où ?

Discussions similaires

  1. Besoin d'aide pour de la programmation d'un PIC en PIC BASIC
    Par invitee5982f08 dans le forum Électronique
    Réponses: 24
    Dernier message: 26/01/2010, 11h18
  2. Programmation PIC
    Par katmai dans le forum Électronique
    Réponses: 4
    Dernier message: 07/08/2008, 20h40
  3. erreur 0X00 programmation PIC plus questions sur les PIC
    Par invite4a8ccabd dans le forum Électronique
    Réponses: 4
    Dernier message: 22/07/2007, 15h36
  4. programmation pic en c
    Par invite7cd01ac2 dans le forum Électronique
    Réponses: 1
    Dernier message: 20/06/2007, 22h33
  5. Programmation Pic
    Par invite3341af8e dans le forum Électronique
    Réponses: 4
    Dernier message: 06/01/2007, 21h59
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...