Back
/*********************************************************************
xBoard(TM) v2.0 Sample Programs
------------------------------------
Description : Demonstrate how to use ports in Input Mode.
: Push Button is connected on PD2 (INPUT MODE)
: LED is connected on PD7 (OUTPUT MODE)
: >> When USER Button is NOT pressed LED blinks at
Normal Rate
: >> When USER Button is Pressed LED blinks FAST
Author : Avinash Gupta 2008
Web : www.eXtremeElectronics.co.in
**********************************************************************/
#include <avr/io.h>
#include <util/delay.h>
void Wait(uint8_t delay)
{
uint8_t i;
for(i=0;i<delay;i++)
{
_delay_loop_2(0);
_delay_loop_2(0);
_delay_loop_2(0);
_delay_loop_2(0);
}
}
void main()
{
uint8_t delay=15; //Delay for blinking
//Setup PORTs
DDRD|=(1<<PD7); //Make PD7 as Output (LED is connected to it)
PORTD|=(1<<PD2); //Enable Pullups on PC2 (Push Button is connected to it)
while(1)
{
//Turn Off the LED
PORTD|=(1<<PD7);
Wait(delay);
//Turn On the LED
PORTD&=(~(1<<PD7));
Wait(delay);
//Check input
if(PIND & (1<<PD2))
{
//Enter Key NOT pressed
delay=15;
}
else
{
//Enter Key pressed
delay=3;
}
}
}
Top |