Thanks to visit codestin.com
Credit goes to www.slideshare.net

• Atmega16 have total of 40 pins
32 I/O pins..
PORT “A” = 8 Pins
PORT “B” = 8 Pins
PORT “C” = 8 Pins
PORT “D” = 8 Pins
Port “X”
DDRX PORTX PINX
NOTE:- X is the name of port and it can
be A, B, C or D .
• DDRX – For setting the direction i.e. Input
or output.
• PORTX – For setting output value of port.
• PINX – For reading data available in port.
NOTE:- X is the name of port and it can be A,
B, C or D .
Click here to visit -ROBO INDIA
DDRX= 0xFF; (O/P-Port)
DDRX= 0x00; (I/P-Port)
or
DDRX = 0b 1 1 1 1 1 1 1 1 ; (O/P-Port)
DDRX = 0b 0 0 0 0 0 0 0 0 ; (I/P-Port)
NOTE:- X is the name of port and it can
be A, B, C or D .
Click here to visit -ROBO INDIA
1. PORTX= 0xF0 ;
PORTX = 0b 1 1 1 1 0 0 0 0 ;
2. PORTX= 0xFF ;
PORTX = 0b 1 1 1 1 1 1 1 1;
3. PORTX= 0x00 ;
PORTX = 0b 0 0 0 0 0 0 0 0;
Click here to visit -ROBO INDIA
1.If
if ( conditions )
{ code to be executed }
2.For loop
for(start ; condition ; step)
{code to be executed}
3.While loop
while( Condition)
{ code to be executed }
Click here to visit -ROBO INDIA
bit_is_clear(PINX,0)) //No input
bit_is_set(PINX,0)) //Detecting input
Click here to visit -ROBO INDIA
if (bit_is_set(PINX,0)))
{ code to be executed }
if (bit_is_clear(PINX,0)))
{ code to be executed }
Click here to visit -ROBO INDIA
while(bit_is_set(PINX,0)))
{ code to be executed }
while(bit_is_clear(PINX,0)))
{ code to be executed }
Click here to visit -ROBO INDIA
• #include <avr/io.h>
• #include <util/delay.h>
Click here to visit -ROBO INDIA
In case of queries please write us-
info@roboindia.com
www.roboindia.com
Click here to visit -ROBO INDIA

Input Output programming in AVR microcontroller

  • 2.
    • Atmega16 havetotal of 40 pins 32 I/O pins.. PORT “A” = 8 Pins PORT “B” = 8 Pins PORT “C” = 8 Pins PORT “D” = 8 Pins
  • 3.
    Port “X” DDRX PORTXPINX NOTE:- X is the name of port and it can be A, B, C or D .
  • 4.
    • DDRX –For setting the direction i.e. Input or output. • PORTX – For setting output value of port. • PINX – For reading data available in port. NOTE:- X is the name of port and it can be A, B, C or D . Click here to visit -ROBO INDIA
  • 5.
    DDRX= 0xFF; (O/P-Port) DDRX=0x00; (I/P-Port) or DDRX = 0b 1 1 1 1 1 1 1 1 ; (O/P-Port) DDRX = 0b 0 0 0 0 0 0 0 0 ; (I/P-Port) NOTE:- X is the name of port and it can be A, B, C or D . Click here to visit -ROBO INDIA
  • 6.
    1. PORTX= 0xF0; PORTX = 0b 1 1 1 1 0 0 0 0 ; 2. PORTX= 0xFF ; PORTX = 0b 1 1 1 1 1 1 1 1; 3. PORTX= 0x00 ; PORTX = 0b 0 0 0 0 0 0 0 0; Click here to visit -ROBO INDIA
  • 7.
    1.If if ( conditions) { code to be executed } 2.For loop for(start ; condition ; step) {code to be executed} 3.While loop while( Condition) { code to be executed } Click here to visit -ROBO INDIA
  • 8.
    bit_is_clear(PINX,0)) //No input bit_is_set(PINX,0))//Detecting input Click here to visit -ROBO INDIA
  • 9.
    if (bit_is_set(PINX,0))) { codeto be executed } if (bit_is_clear(PINX,0))) { code to be executed } Click here to visit -ROBO INDIA
  • 10.
    while(bit_is_set(PINX,0))) { code tobe executed } while(bit_is_clear(PINX,0))) { code to be executed } Click here to visit -ROBO INDIA
  • 11.
    • #include <avr/io.h> •#include <util/delay.h> Click here to visit -ROBO INDIA
  • 12.
    In case ofqueries please write us- [email protected] www.roboindia.com Click here to visit -ROBO INDIA