//"1. При нажатии кнопки", значит сначала надо стоять ждать нажатия
// Жду нажатия
while(KEY_OK) _WDR(); // WDR или как там у Вас сбрасывается собака..
// Нажали, вывожу 1 раз. Зачем выводить в цикле?
OutCharToLED(1,'P');
OutCharToLED(2,'1');
// Жду отжатия
while(!KEY_OK) _WDR();
// Отжали - вывели
OutCharToLED(1,'x');
_WDR();
// Подождали после отжатия
__delay_cycles(Fosc*2); // как-то надо _WDR сделать
// Жду повторного нажатия
while(KEY_OK) _WDR();
// Нажали второй раз
skor=1;
bmn=20;
divider=e_DIVIDER;
Rml=divider%1000;
Rst=divider/1000;
OutIntDot(Rst,Rml); // Зачем в цикле выводить?
do //Сюда не заходит - ??????
{
skor=1;
bmn1=0;
bmn=20;
_WDR();
}while(!KEY_OK); // пока нажато - крутиться