Line 15: Line 15:
  
 
=Demo=
 
=Demo=
[[file:0_switch_AVR.gif]]
+
[[file:0_Switch_AVR.gif]]
  
 
=Downloads=
 
=Downloads=

Revision as of 09:58, 5 April 2016

Now we will control the LED depending on external input. In this tutorial we will interface a switch to one of the port pin and display its status on LED connected to other port.

Basics

For this tutorial we will a connect a switch to PORT C0 and LED to PORT B0 of Atmega32. W will configure PORT A0 as input to read the switch status and PORT C0 as outputto display the switch status on LED. Initially LED will be ON , when we press switch the LED will be OFF.
Refer the AVR I/O Register Configuration tutorial for basics of GPIO register configuration.

Hook Up

Switch AVRbreakout.png

Code

#include <avr/io.h>
#define LED 0
#define SWITCH 0
int main(void)
{
DDRB |= (1<<LED); // Configure PORTB as output to connect Led
DDRC &= ~(1<<SWITCH); // Configure PORTC as input to connect switch
PORTC |= 0x01; // Enable The PullUps of PORTC.
while(1)
{
if(!PINC)
PORTB &= ~(1<<LED);
else
PORTB |= (1<<LED);
}
return 0;
}

Demo

0 Switch AVR.gif

Downloads