probleme de programmation avec mikro c
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

probleme de programmation avec mikro c



  1. #1
    invite24219bec

    probleme de programmation avec mikro c


    ------

    slt. j'ai une problème dans mon code (écrit avec mikro c): il y a une perturbation qui n'est pas logique . SVP aidez moi et merci d'avance

    -----

  2. #2
    invitee05a3fcc

    Re : probleme de programmation avec mikro c

    Tu veux de l'aide ? OK ...... et tu donnes quoi comme information ? RIEN !

  3. #3
    invite24219bec

    Re : probleme de programmation avec mikro c

    je peux t'envoyer la code et le schema isis maintenant

  4. #4
    invite24219bec

    Re : probleme de programmation avec mikro c

    sbit LCD_RS at RB2_bit;
    sbit LCD_EN at RB3_bit;
    sbit LCD_D4 at RB4_bit;
    sbit LCD_D5 at RB5_bit;
    sbit LCD_D6 at RB6_bit;
    sbit LCD_D7 at RB7_bit;
    sbit LCD_RS_Direction at TRISB2_bit;
    sbit LCD_EN_Direction at TRISB3_bit;
    sbit LCD_D4_Direction at TRISB4_bit;
    sbit LCD_D5_Direction at TRISB5_bit;
    sbit LCD_D6_Direction at TRISB6_bit;
    sbit LCD_D7_Direction at TRISB7_bit;
    unsigned char msgZ1[20],msgZ2[20],msgZ3[20],msgZ6[20] , man[20],man2[20] ;
    unsigned char consigneZ1[20],consigneZ2[20],consigneZ3[20];
    unsigned int adc_rdZ1=0, adc_rdZ2=0,adc_rdZ3=0;
    unsigned int adc_rdconsZ1=0,adc_rdconsZ2=0, adc_rdconsZ3=0;
    float tZ1,tZ2,tZ3;
    float TconsZ1,TconsZ2,TconsZ3;
    unsigned short current_duty = 128;
    unsigned short pourcent = 0;
    unsigned short current_duty2 = 128;
    unsigned short pourcent2 = 0;
    void init(){
    TRISA=0XFF;
    TRISB=0X00;
    TRISD=0XFF;
    TRISE &= 0b11110111; // Met à 0 le bit PSPMODE
    TRISE |=0b00000111; //Met à 1 les 3 premiers bi
    TRISC=0X00;
    PORTD=0X00;
    ADCON0=0b00111001; //ADCON0=0b111111001;
    ADCON1=0b00000000;
    adc_init();
    Lcd_Init();
    Lcd_Cmd(_LCD_CURSOR_OFF);
    Lcd_Cmd(_LCD_CLEAR);
    Lcd_Out(1, 1, "ZX:Tconsgne Treel");
    Lcd_Out(2, 1, "Z1:");
    Lcd_Out(3, 1, "Z2:");
    Lcd_Out(4, 1, "Z3:");
    }
    partie1 () {
    //Z1
    if (PORTD.F6==0) {
    adc_rdZ1=ADC_read(0); delay_ms(10);
    adc_rdconsZ1=ADC_read(1); delay_ms(10);
    tZ1=(adc_rdZ1*0.004882*1000*12 00)/(71.94244*69.5) ;
    TconsZ1=(adc_rdconsZ1*0.004882 *500)/(5);
    floattostr(tZ1,msgZ1);
    floattostr(TconsZ1,consigneZ1) ;

    //Z2
    adc_rdZ2=ADC_read(2); delay_ms(10);
    tZ2=(adc_rdZ2*0.004882*1000*12 00)/(71.94244*69.5) ;
    floattostr(tZ2,msgZ2);
    adc_rdconsZ2=ADC_read(3); delay_ms(10);
    TconsZ2=(adc_rdconsZ2*0.004882 *500)/(5) ;
    floattostr(TconsZ2,consigneZ2) ;
    //Z3*/
    adc_rdZ3=ADC_read(4); delay_ms(10);
    tZ3=(adc_rdZ3*0.004882*1000*12 00)/(71.94244*69.5) ;
    floattostr(tZ3,msgZ3);
    adc_rdconsZ3=ADC_read(5); delay_ms(10);
    TconsZ3=(adc_rdconsZ3*0.004882 *500)/(5) ;
    floattostr(TconsZ3,consigneZ3) ;

    Lcd_Out(2,4, consigneZ1);
    Lcd_Out(2,13, msgZ1);
    Lcd_Out(3,4, consigneZ2);
    Lcd_Out(3,13, msgZ2);
    Lcd_Out(4,4, consigneZ3);
    Lcd_Out(4,13, msgZ3);
    delay_ms(1000);
    if(tZ1 < TconsZ1){ PORTC.F7=1; } else { PORTC.F7=0; }
    if(tZ2 < TconsZ2) {PORTC.F0=1;} else { PORTC.F0=0; }
    if(tZ3 < TconsZ3){PORTC.F6=1; } else {PORTC.F6=0;}
    } }
    partie2 () {
    if (PORTD.F6==1) {
    current_duty=(ADC_read(0) /4);delay_ms(10);
    PWM1_Set_Duty(current_duty);
    pourcent=(current_duty*100)/(255);
    intToStr(pourcent,man);

    current_duty2=(ADC_read(2) /4);delay_ms(10);
    PWM2_Set_Duty(current_duty2);
    pourcent2=(current_duty2*100)/(255);
    intToStr(pourcent2,man2);

    Lcd_Out(2,4,"Chauffer:");
    Lcd_Out(2,13,man);
    Lcd_Out(2,19,"%");
    Lcd_Out(3,4,"Chauffer:");
    Lcd_Out(3,13,man2);
    Lcd_Out(3,19,"%");
    } }
    void main()
    {
    init();
    PWM1_Init(1000);
    PWM1_Set_Duty(current_duty);
    PWM1_Start();
    PWM2_Init(1000);
    PWM2_Set_Duty(current_duty2);
    PWM2_Start();
    while(1)
    {

    partie1 ();
    partie2 ();
    }
    }

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

    Re : probleme de programmation avec mikro c

    il ya deus parties dans ce code:
    si PORTD.F6==1: Partie 1
    si PORTD.F6==0; partie 2 (générer deux signaux PWM et afficher la valeur de rapport cyclique sur LCD

  7. #6
    invite5c0d525e

    Re : probleme de programmation avec mikro c

    Et maintenant qu'on a le code on peut avoir la question ?

  8. #7
    invite24219bec

    Re : probleme de programmation avec mikro c

    Relire le début de la conversation . il ya une perturbation dans mon code.
    cad losque je compile Partie1 , mon code fonctionne sans probleme et losque je compile Partie, mon code fonctionne sans problème aussi mais lorsque je compile le deux parties il ya une parturbation cad il ne fonctionne pas correctement

  9. #8
    invite5c0d525e

    Re : probleme de programmation avec mikro c

    Ben moi ma voiture marche pas ! Avec ça tu vas sûrement me dire de quoi ça vient.

    Et pourquoi faire deux parties ? un IF et un ELSE ça fait pas pareil ?

Discussions similaires

  1. Générateur d'impulsion avec pic problème de programmation.
    Par inviteeb4ec9e1 dans le forum Électronique
    Réponses: 0
    Dernier message: 14/05/2012, 10h02
  2. Programmation Mikro C
    Par invite1499a0d3 dans le forum Électronique
    Réponses: 13
    Dernier message: 21/03/2012, 20h53
  3. Problème programmation avec ICD 2
    Par invite25df009a dans le forum Électronique
    Réponses: 4
    Dernier message: 02/03/2010, 17h09
  4. Problème de programmation linéaire avec une contrainte
    Par invitec529fad8 dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 22/02/2010, 14h46
  5. Programmation C++, problème avec QT (slots)
    Par invitec6556318 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 26/09/2009, 15h42
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...