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

programmation du pic CCS compiler



  1. #1
    issamty

    programmation du pic CCS compiler


    ------

    Bonjour,tous .
    j'ai redige ce programme en laguage C du pic en utilisant le compiler CCS C, son but est de gener des impulsions afin de commander un petit moteur , j'ai pris en consideration le
    timer 0 ( 8 bits ) pour les interruptions du pic 16f876 j'ai mis en oeuvre 2 boutons ( chacune a un sens ).

    quelqu'un peut me dire si programme est juste sinon ou est la ou les fautes .

    Code:
    #include <16f876.h> 
    #fuses HS,NOWDT,NOPROTECT 
    #use delay(clock=20000000) 
    //******************* 
    // variables globales 
    //******************* 
    int16 COMPTEUR1; 
    int COMPTEUR2, SENS; 
    int1 SIGNAL; 
    //****************** 
    // DEFINE 
    //****************** 
    #define TIME 4 // TIMER=3 --> 256-3=253 pas 
    #define 18MS 360 // 360*50=18000µs 
    #define AV 40 // 40*50 =2000µs 
    #define AR 20 // 20*50 =1000µs 
    #define STOP 30 // 30*50 =1500µs 
    #define PORT_SIGNAL PIN_B0 
    #define ENTREE1 PIN_B5 
    #define ENTREE2 PIN_B2 
    //****************** 
    //Interruptions 
    //****************** 
    #int_timer0 // Interruption toutes les (4*250)/20000000 = 50µs 
    main_int () { 
    set_timer0(TIME); 
    if (++COMPTEUR1 == 360) { 
    COMPTEUR1=0; 
    COMPTEUR2=0; 
    SIGNAL=1; 
    output_high(PORT_SIGNAL); 
    } 
    else { 
    if (SIGNAL==1) { 
    if (COMPTEUR2++ == SENS) { 
    SIGNAL=0; 
    output_low(PORT_SIGNAL); 
    } 
    } 
    } 
    } 
    //********************** 
    // Fonctions 
    //********************** 
    void init_timer () { 
    set_timer0(TIME); 
    setup_counters(RTCC_INTERNAL,WDT_18MS); 
    enable_interrupts(INT_RTCC); 
    enable_interrupts(GLOBAL); 
    } 
    //********************** 
    // Programme principal 
    //********************** 
    main() { 
    init_timer(); 
    while (TRUE) { // boucle sans fin 
    if ((Input(ENTREE1)==1) && (Input(ENTREE2)==0)) 
    SENS=AV; 
    if (((input(ENTREE1)==0) && (input(ENTREE2)==0))|| ((input(ENTREE1)==1) && (input(ENTREE2)==1))) 
    SENS=STOP; 
    if ((input(ENTREE1)==0) && (input(ENTREE2)==1)) 
    SENS=AR; 
    } 
    }
    et merci d'avance .

    -----
    Dernière modification par HULK28 ; 03/03/2009 à 23h52. Motif: Ajout des balises CODE pour une meilleure lisibilité

  2. Publicité
  3. #2
    invite03481543

    Re : programmation du pic CCS compiler

    Bonsoir,

    quand vous le compilez qu'avez-vous comme résultat?

  4. #3
    issamty

    Re : programmation du pic CCS compiler

    ce que je vois c'est qu'il n'y a pas d'erreur ....donc est-ce que ce programme est juste ou non ???

  5. #4
    invite03481543

    Re : programmation du pic CCS compiler

    Le plus simple est de le tester sur votre carte d'essais.

  6. A voir en vidéo sur Futura
  7. Comparatifs

    Gagnez du temps et de l'argent grâce à nos comparatifs de produits. Parmi nos sujets :

Discussions similaires

  1. MPLAB / CCS C compiler
    Par jorg1n dans le forum Électronique
    Réponses: 3
    Dernier message: 27/11/2008, 12h37
  2. erreur sur ccs compiler
    Par ti7bo7 dans le forum Électronique
    Réponses: 4
    Dernier message: 01/05/2008, 18h59
  3. Réponses: 8
    Dernier message: 07/04/2008, 09h07
  4. MPLAB SIM / CCS C Compiler
    Par jorg1n dans le forum Électronique
    Réponses: 5
    Dernier message: 09/10/2007, 07h53
  5. CCS compiler
    Par sdow dans le forum Électronique
    Réponses: 0
    Dernier message: 16/09/2007, 20h27
Découvrez nos comparatifs produits sur l'informatique et les technologies.