L1 = ~(PINA & 0x01) heißt ja
L1 = 0xFE oder
L1 = 0xFF
das wäre IMMER >0
????

wenn du das bit-0 in PINA abfragen willst,
müßtestdu das mit "define" festlegen

#define L1 (PINA & 0x01)
etc.

dann wäre if (L1) ===> if ( PINA & 0x01)

oder du willst ganz was anderes, und ich hab's nicht verstanden