Dette er ett prosjekt for å lære å programmere utgangsportene på en PIC10F200.

Mål

Målet er å sette GP0-GP2 portene som utgangsporter og styre lysdioder på dem. Dette er også ett prosjekt for å lære hvordan MPLab X fungerer.

Krets

led-drive-pic10f200-page-1

Video

Kode

Bare deler av koden vises her. Resten finnes her.

/**
 * Slår av Watchdog timeren på grunn av at den skaper restarter sannsynligvis på grunn av kapasitans på koblingsbrettet.
 */
#pragma config WDTE = OFF        
/**
 * Kodebeskyttelse av.
 */
#pragma config CP = OFF         
/**
 * Bruker MCLR i stedet for GP3 som input.
 */
#pragma config MCLRE = O
/**
 * Setter OSCCAL registeret. For at GP2 skal være satt som utgang så må siste 
 * bit være LAV. Dette er FOSC4. 
 */
 OSCCAL = 0b00000000;
 /**
  * OPTION registeret må ha bit 6 LAV for at GP2 skal fungere som utgang. 
  * Bit 6 er TOCS. 
  */
 OPTION = 0b11011111;
 /**
  * TRISGPIO må ha alle de tre siste bit LAV for at GP0-GP2 skal være utgang.
  */
 TRISGPIO = 0b00001000;
int cnt = 0;

while(true)
    {        
        /**
         * Setter GP0-GP2 utgangene høy eller lav.
         */
        GPIO = cnt;
        /**
         * Øker telleren
         */
        cnt++;
        /**
         * Hvis telleren er større enn 7 resett.
         */
        if (cnt > 7 ) {
            cnt = 0;
        }
        /**
         * Kjør forsinkelse.
         */
        __delay_ms(DELAY);  
    }

 

Sendt av Kjetil Fjellheim