• Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Pic 16F727 tutoriel 01 registres + horloge + clignoter une led
#1
Je vous mis en ligne le premier tutoriel sur la programmation  du pic16F727. 
Le sujet de ce tutoriel : 
Configuration des registres 
Configuration de l'horloge 
Gestion  des IO
Commander une Led 
Faire clignoter une led 


Code :
// etape 1 configuration des registres :


// PIC16F727 Configuration Bit Settings

// 'C' source line config statements

// CONFIG1
#pragma config FOSC = INTOSCIO  // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled and can be enabled by SWDTEN bit of the WDTCON register)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = ON       // RE3/MCLR pin function select bit (RE3/MCLR pin function is MCLR)
#pragma config CP = OFF         // Code Protection bit (Program memory code protection is disabled)
#pragma config BOREN = ON       // Brown-out Reset Selection bits (BOR enabled)
#pragma config BORV = 19        // Brown-out Reset Voltage selection bit (Brown-out Reset Voltage (VBOR) set to 1.9 V nominal)
#pragma config PLLEN = ON       // INTOSC PLLEN Enable Bit (INTOSC Frequency is 16MHz (32x))

// CONFIG2
#pragma config VCAPEN = DIS     // Voltage Regulator Capacitor Enable bits (All VCAP pin functions are disabled)

// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.

#include <xc.h>

#define sortie 0
#define entree 1

#define ON 0
#define OFF 1

#define LED_D16 PORTCbits.RC0

#define _XTAL_FREQ 16000000


void main (void)
{
   
    // la valeur de la féquence de l'osc
    // fosc = 16 Mhz T = 1/f T = 1/16000000 = 62.5 ns
    OSCCONbits.IRCF1 = 1 ;
    OSCCONbits.IRCF0 = 1 ;
   
// allumer la led  D16 --> rc0
    TRISCbits.TRISC0 = sortie ;
   
    // Mettre la sortie RC à 0
   
  //  PORTCbits.RC0 = 0 ;

    while (1)
    {
        // le programme en boucle
        LED_D16 =  ~LED_D16;
        __delay_ms(250);
       
    }
}
  Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)