Was mir noch auffällt: um den unteren Textblock (im Else If) fehlen die { }, es wird also bei dem Else If NUR das Variable -1 durchgeführt.
Der andere Teil wird immer ausgeführt:
Code:
       lcd_clrscr();
         itoa (variable, buffer, 10);
          lcd_puts( buffer);
         delay_ms (500);