Microchip 12F683

Ceci est un exemple de code source montrant le paramètrage minimal d’un PIC12F683 pour sortir sur GPIO2 des états hauts d’une longueur d’un temps cycle soit 500ns (8MHz = 2MIPS). Cela permet ainsi de valider un circuit avec ce composant en vérifiant que :

  • Le composant est correctement alimenté.
  • L’oscillateur fonctionne.

Pour cela, un fichier à ajouter à un projet vierge dans MPLAB avec les compilateurs Hi-Tech PICC :

#include <htc.h>

/////////// Bits de configuration : Voir datasheet page 84, 12.1 Configuration bits //////////////
__CONFIG(FCMEN_OFF \
       & IESO_OFF \
       & BOREN_OFF \
       & CPD_OFF \
       & CP_OFF \
       & MCLRE_ON \
       & PWRTE_ON \
       & WDTE_OFF \
       & FOSC_INTOSCIO);

void main(void) {
    //// Configuration de l'oscillateur interne (datasheet page 20, 3.2 Oscillator control) //////////
    OSCCONbits.IRCF = 0b111;   // 8Mhz
    OSCCONbits.SCS = 0;        // Configuration de l'horloge systeme
                               // définie par les bits de configuration

    ///// Configuration de entrees/sorties numeriques ////////////////////////////////////////////////
    ANSELbits.ANS2 = 0;        // GPIO2 est numerique
    TRISIObits.TRISIO2 = 0;    // GPIO2 est une sortie

    while(1) {
        GPIObits.GP2 = 1;
        GPIObits.GP2 = 0;
    }
}