Microchip 12F683
25 juin 2012 Commentaires fermés sur Microchip 12F683
dans Non classé Tags: blinking, code source, microchip, microcontroleur, PIC12F, PIC12F683
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;
}
}
/////////// 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;
}
}