AVR Programming: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
Line 18: Line 18:
         {
         {
             PORTC |= (1<<PC0);  //LED on
             PORTC |= (1<<PC0);  //LED on
             _delay_ms(3000);    //3 second delay
             _delay_ms( 3000 );    //3 second delay
             PORTC &= ~(1<<PC0);  //LED off
             PORTC &= ~(1<<PC0);  //LED off
         }
         }
     }
     }
    return 0;
}
}
</syntaxhighlight>
</syntaxhighlight>

Revision as of 05:20, 26 February 2018

ATMega32 IO

//ATMega32AVR.c

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
    //DDRC = 0x01;
    DDRC |= (1<<PC0); //PC0 as output
    
    //DDRD = 0x00;
    DDRD &= ~(1<<PD0);//PD0 as input
    while(1)
    {
        if(PIND & (1<<PD0) == 1) //when switch on
        {
            PORTC |= (1<<PC0);   //LED on
            _delay_ms( 3000 );     //3 second delay
            PORTC &= ~(1<<PC0);  //LED off
        }
    }
    return 0;
}

References