If you have forgotten
AND – Multiply OR – ADD
#define SETBIT(ADDRESS,BIT) (ADDRESS |= (1<<BIT))
• Understanding (1<<BIT)
• 1 = 00000001
• BIT = any = 4(Ex)
• 1<<4 = 00000001<<4 (1 is left shifted 4 times)
• (1<<BIT) = 00010000
#define SETBIT(ADDRESS,BIT) (ADDRESS |= (1<<BIT))
• ADDRESS = PORTX = 00100100 (suppose)
• ADDRESS |= (1<<BIT))
⇒ ADDRESS = ADDRESS | (1<<BIT)
• ADDRESS | (1<<BIT) ⇒ 00100100 | 00010000
• Updated ADDRESS = 00110100
Click here to visit -ROBO INDIA
#define CLEARBIT(ADDRESS,BIT) (ADDRESS &=~ (1<<BIT))
• ADDRESS = PORTX = 00110100 (suppose)
• ADDRESS &= ~(1<<BIT))
⇒ ADDRESS = ADDRESS & INVERTED(1<<BIT)
• ADDRESS & ~ (1<<BIT) ⇒ 00110100 & 11101111
• Updated ADDRESS = 00100100
Click here to visit -ROBO INDIA
To share your views and queries please write us-
Website: http://roboindia.com
Email- info@roboindia.com
Click here to visit -ROBO INDIA

Single bit oprations in avr microcontroller

  • 2.
    If you haveforgotten AND – Multiply OR – ADD
  • 3.
    #define SETBIT(ADDRESS,BIT) (ADDRESS|= (1<<BIT)) • Understanding (1<<BIT) • 1 = 00000001 • BIT = any = 4(Ex) • 1<<4 = 00000001<<4 (1 is left shifted 4 times) • (1<<BIT) = 00010000
  • 4.
    #define SETBIT(ADDRESS,BIT) (ADDRESS|= (1<<BIT)) • ADDRESS = PORTX = 00100100 (suppose) • ADDRESS |= (1<<BIT)) ⇒ ADDRESS = ADDRESS | (1<<BIT) • ADDRESS | (1<<BIT) ⇒ 00100100 | 00010000 • Updated ADDRESS = 00110100 Click here to visit -ROBO INDIA
  • 5.
    #define CLEARBIT(ADDRESS,BIT) (ADDRESS&=~ (1<<BIT)) • ADDRESS = PORTX = 00110100 (suppose) • ADDRESS &= ~(1<<BIT)) ⇒ ADDRESS = ADDRESS & INVERTED(1<<BIT) • ADDRESS & ~ (1<<BIT) ⇒ 00110100 & 11101111 • Updated ADDRESS = 00100100 Click here to visit -ROBO INDIA
  • 6.
    To share yourviews and queries please write us- Website: http://roboindia.com Email- info@roboindia.com Click here to visit -ROBO INDIA