PIC12F629 komparator

Dette prosjektet tester ut komparatoren på en PIC12F629 mikrokontroller.

Mål

Målet er å sette opp mikrokontrolleren til å sammenligne mellom GP0 og GP1 og sette utgangen høy når GP1 overstiger GP0.

Video

Krets

pic12f629_komparator_test

Målinger

20161012-0001
Blå er CIN+, Rød er CIN- og grønn er utgangen.

Kode

/**
     * GP0 og GP1 satt som inngang.
     * GP2 satt som utgang.
     */
    TRISIObits.TRISIO0 = 1;
    TRISIObits.TRISIO1 = 1;
    TRISIObits.TRISIO2 = 0;
    /**
     * Setter opp komparatoren til å sjekke mellom CIN+ og CIN. Utgangen settes
     * på COUT som er GP2.
     */
    CMCONbits.CM0 = 1;
    CMCONbits.CM1 = 0;
    CMCONbits.CM2 = 0;

Konklusjon

Det var veldig enkelt å sette opp, men simulatoren viste GP0 og GP1 som digitale innganger, ikke analoge noe som gjøre at mye tid ble kastet bort på noe som ikke var feil.