Code:
void toggle_e(void) 
 { 
  LCD_E_PORT |= _BV(LCD_E); 
  asm volatile ("rjmp 1f\n 1:");  //warte 500ns 0,543 us 
  LCD_E_PORT &= ~_BV(1 << LCD_E); 
 }
Also diese _BV Geschichte bei den Flags kenne ich nicht,
ich mache das immer direkt mit "|= (1 << Flagname)"bzw "&= ~(1 << Flagname)"

aber so oder so muss ja eigentlich eine der beiden Varianten in deinem Code falsch sein.
(da sonst auch überall das "1 <<" fehlt nehme ich mal an die zweite Schreibweise ist die falsche)