#include <tiny2313.h>
#define PLUS 0x01
#define MINUS 0x02
#define VYBOR 0x04
char a=0,p=1;
/******** pause ********/
void pause (void)
{
volatile char del=0; // volatile чтобы оптимизатор не хуллиганил
while(del++<255);
return;
}
//_________________________________
/******** scan button ********/
char key (char kn)
{
if( !(PINB & kn) )
{ pause();
if( !(PINB & kn) )
{return (0);}
}
return(1);
}
//_________________________________
/******* MAIN *********/
void main(void)
{
PORTB=0xFF;
DDRB=0x00;
while (1)
{ if( !key(PLUS) )
{if(++p>8) p=8;
DDRD=127;
}
if( !(PINB & MINUS )) // или !key(MINUS)
{pause();
if( !(PINB & MINUS )) // или !key(MINUS)
{if(--p<1)
p=1;
DDRD=0;
}
}
}
}