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

interription multiple en mikroC pour 18f4620



  1. #1
    moimeme2011

    interription multiple en mikroC pour 18f4620


    ------

    comment je peut faire des interruption multiple (high et low) en mikroc?

    -----

  2. #2
    Gérard

    Re : interription multiple en mikroC pour 18f4620

    En commençant par lire la doc du compilateur et les DS du PIC.

  3. #3
    moimeme2011

    interription multiple en mikroC pour 18f4620

    comment je peut faire des interruption multiple (high et low) en mikroc?
    mon essai est :
    #include <built_in.h>
    unsigned int adc_rd;
    unsigned int adc_rd1;
    unsigned ADC_read(unsigned short channel);
    void interrupt (){
    //Interruption de haute priorité sur le changement d'etat du RB0
    if (RB0_bit)
    {
    PORTC = 0x00;
    adc_rd = ADC_Read(2); // get ADC value from channel 0
    PORTD = adc_rd; // display adc_rd[7..0]
    INTCON.INT0IF = 0; // desactivation de l'interruption sur RB0
    }
    else
    {
    PORTD = 0x00;
    PORTC = 0x00;
    }
    }

    //declaration des interruptions low
    void interrupt_low(){
    //Interruption sur le changement d'état du RB5
    if(RB5_bit) {
    int k=0; // interruption sur RB4
    for (k=0; k<6; k++){ // clignotement 4 fois portC et portD
    portC = 0xFF;
    portD = 0x00;
    Delay_ms (1000);
    portC = 0x00;
    portD = 0xFF;
    Delay_ms (1000);
    INTCON.RBIF = 0; // desactivation de l'interruption sur RB4
    }}
    }

    // la fonction MAIN
    void main()
    {
    //configuration des interruptions
    INTCON = 0xD8;
    INTCON2 = 0xF0;
    RCON.IPEN=1; //configuration des interruptions hiérarchisées
    INTCON3 = 0x00;
    /*INTCON.GIEH=1; //Pour mettre les interruptions haute priorité en service
    INTCON.GIEL=1; //Pour mettre les interruptions basse priorité en servic
    INTCON2.RBIP=0; //PORTB(4-->7): low périority*/

    //configuration des PWM
    //ADCON0 = 0x03;
    ADCON1 = 0x0C;
    ADCON2 = 0x89;

    //configuration des PORT
    TRISA = 0xFF; // PORT A et B en entrée
    TRISB = 0xFF;
    TRISC = 0x00; // PORT C et D en sortie
    TRISD = 0x00;
    PORTC = 0xFF;
    PORTD = 0x00;
    while(1){ PORTC = 0x00;
    }}

Discussions similaires

  1. {MikroC} Besoin d'aide pour petit programme
    Par HeadInTheSky dans le forum Électronique
    Réponses: 4
    Dernier message: 09/02/2010, 10h00
  2. Programmation MikroC pour fabrication d'un banc d'essai
    Par yannickr26 dans le forum Électronique
    Réponses: 0
    Dernier message: 14/04/2008, 15h12
  3. variateurs multiple pour halogène ...
    Par skizo dans le forum Électronique
    Réponses: 3
    Dernier message: 27/06/2007, 11h50
  4. PIC 18F4620 et tracas....
    Par vincequeen dans le forum Électronique
    Réponses: 0
    Dernier message: 20/05/2006, 18h52
  5. multiplication avec un 18f4620
    Par nico_ dans le forum Électronique
    Réponses: 2
    Dernier message: 15/04/2006, 22h16
Découvrez nos comparatifs produits sur l'informatique et les technologies.