Programmazione di MPLAB Xpress Board: secondo esempio Supercar

Con questo secondo articolo vediamo ancora che si può imparare a programmare facilmente un microcontrollore Microchip, il PIC16F18855 contenuto all'interno della MPLAB Xpress Evaluation Board della Microchip (DM164140)

Leggere questo articolo dopo il primo.

Si deve far riferimento alla seconda pagina dello schema elettrico.

Lo scopo di questo secondo esempio è di fare lampeggiare il solo led D2, poi D3, poi D4, poi D5 con intervallo di mezzo secondo. Nel passaggio tra un led e l'altro, per mezzo secondo tutti e quattro i LED devono essere spenti. Ciascun led deve rimanere acceso per mezzo secondo. Dopo D5 deve ricominciare da D2, ciclicamente.

 

Non si vuole usare MCC Code Configurator.

 

Si usa MPLAB Xpress IDE in cloud, creando un nuovo progetto.

New Project --> Microchip Embedded ---> Standalone Project

Family: Mid Range 8-bit MCUs (PIC 10/12/16)

Device: PIC16F18855

eppoi si sceglie il nome significativo al progetto: PIC16F18855_Supercar

Si comincia inserendo il programma principale main.c:

Ecco il codice:

/*
 * File:   main.c
 * Author: mariani.fausto
 *
 * Created on 10/25/2017 12:37:55 PM UTC
 * "Created in MPLAB Xpress"
 */

#include "config.h"  // custom edited config file.
#include <xc.h>

#define _XTAL_FREQ 32000000

void main(void) {
    SYSTEM_Initialize();
    TRISA = 0b00000000;  // we set RA0, RA1, RA2, RA3 as Output
    PORTA = 0x00;
    while(1) {
        LATAbits.LATA0 = 1;
        __delay_ms(500);
        LATAbits.LATA0 = 0;
        __delay_ms(500);
        LATAbits.LATA1 = 1;
        __delay_ms(500);
        LATAbits.LATA1 = 0;
        __delay_ms(500);
        LATAbits.LATA2 = 1;
        __delay_ms(500);
        LATAbits.LATA2 = 0;
        __delay_ms(500);
        LATAbits.LATA3 = 1;
        __delay_ms(500);
        LATAbits.LATA3 = 0;
        __delay_ms(500);
    }
    return;
}

Non si riporta anche il codice di configurazione config.h che conviene prendere da uno dei tanti esempi preesistenti, oppure si può prendere quello del primo articolo.