... Dennoch halte ich "sprechende Funktionsnamen" für besser lesbar, wenn "LedOn()" heißt ...
Da bin ich völlig Deiner Meinung, ich mache genau das mit meinen #define´s. Und ich zeige das jetzt nicht wegen der Besserwisserei - sondern nur um (m)eine Möglichkeit mit diesen gestuften #define´s aufzuzeigen. Ach so, die Taster schalten gegen GND.

Code:
// - - - - - - - - - - - - - - - -
// in der *.h so:
// . . .
  #define PrtTAST       PIND    //
  #define Tst_1            6    //
  #define Tst_2            7    //
...
  #define Taste1_an     IsBitClr (PrtTAST, Tst_1)       // Taster 1 gedrückt ??
  #define Taste1_aus    IsBitSet (PrtTAST, Tst_1)       // Taster 1 gelöst ??
  #define Taste2_an     IsBitClr (PrtTAST, Tst_2)       // Taster 2 gedrückt ??
  #define Taste2_aus    IsBitSet (PrtTAST, Tst_2)       // Taster 2 gelöst ??
// - - - - - - - - - - - - - - - -
//      Im Code so benutzt
// . . .
    if (TasteA_an)              // Wenn "A" gedrückt, dann hochzählen
    {                           //
      wms (   10);              //
      while (TasteA_an)  {}     // Weiter nur mit gelöster Taste
      while (TasteA_aus) {}     //
      mnuptr ++;                //
      if (mnuptr ==  9) mnuptr = 1;
    }                           //
// . . .
// - - - - - - - - - - - - - - - -