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
    PAVNA

    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
    DAUDET78

    Re : probleme de programmation avec mikro c

    Tu veux de l'aide ? OK ...... et tu donnes quoi comme information ? RIEN !
    J'aime pas le Grec

  3. #3
    PAVNA

    Re : probleme de programmation avec mikro c

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

  4. #4
    PAVNA

    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
    PAVNA

    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
    gabuzo

    Re : probleme de programmation avec mikro c

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

  8. #7
    PAVNA

    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
    gabuzo

    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 ?
    Dernière modification par gabuzo ; 08/04/2014 à 15h38.
    Je suis Charlie

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, 09h02
  2. Programmation Mikro C
    Par ppetienne44 dans le forum Électronique
    Réponses: 13
    Dernier message: 21/03/2012, 19h53
  3. Problème programmation avec ICD 2
    Par kronanberg dans le forum Électronique
    Réponses: 4
    Dernier message: 02/03/2010, 16h09
  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, 13h46
  5. Programmation C++, problème avec QT (slots)
    Par Fred des montagnes dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 26/09/2009, 14h42
Découvrez nos comparatifs produits sur l'informatique et les technologies.