/* * File : test_led.c * Auteur : patou149 * * Created on 23 janvier 2015 * version : 1 * programme pour faire clignoter une led à l'aide d'un 16F690 */ // autre possibilité d'écrire un commentaire #include // Configuration microcontroleur #pragma config FOSC = INTRCIO // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/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 = ON // Power-up Timer Enable bit (PWRT enabled) #pragma config MCLRE = OFF // MCLR Pin Function Select bit (MCLR pin function is digital input, MCLR internally tied to VDD) #pragma config CP = OFF // Code Protection bit (Program memory code protection is disabled) #pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled) #pragma config BOREN = ON // Brown-out Reset Selection bits (BOR enabled) #pragma config IESO = ON // Internal External Switchover bit (Internal External Switchover mode is enabled) #pragma config FCMEN = ON // Fail-Safe Clock Monitor Enabled bit (Fail-Safe Clock Monitor is enabled) // Definition variable, port, ....... #define _XTAL_FREQ 8000000 // necessaire pour les delais ou temporisation #define LED PORTCbits.RC3 #define LED_TRIS TRISCbits.TRISC3 // Debut du programme main() { // Initialisation OSCCON = 0b01110001; // oscillateur interne 8MHz (voir &3 page 45) ANSEL = 0b00000000; // mode digital pour toutes ANSELH = 0b00000000; // les entrees analogiques (voir &9 page 96) LED = 0; // sortie led niveau 0 LED_TRIS = 0; // port C3 en sortie // Boucle principale du programme while (1) { // boucle infinie LED = 1; // led allumée __delay_ms(500); // delais de 500ms LED = 0; // led eteinte __delay_ms(500); // delais 500ms } }