Подскажите пожалуйста в чем может быть проблема, должно быть нажимаем на одну из 5 кнопок, а мк выводит на 7сег номер кнопки, сейчас если начинаем счет с 5ой и по убыванию то норм, если с 0 и по возрастанию то выводит только 0. до этого пробовал через switch результат такой же
fine F_CPU 8000000
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
unsigned char temp,rab,count,but;
unsigned char *point;
unsigned char mas[10]={0x3F,0x6,0x5B,0x4F,0x66,0x6D,0x7D,0x7,0x7F,0x6F};
void initport()
{
DDRD=0x00;
PORTD=0x00;
DDRB=0xFF;
PORTB=0x00;
ACSR=0x80;
}
void inittimer()
{
TCCR1B|=(1<<WGM12)|(1<<CS12)|(1<<CS10);
TIMSK|=(1<<OCIE1A);
OCR1A=487;
TCNT1=0;
}
unsigned char conversion(i)
{
but=*(point+i);
return but;
}
int main(void)
{
initport();
inittimer();
point=&mas;
while(1)
{
if (PIND!=0)
{
_delay_ms(100);
while((PIND&(1<<count))==0)
{
++count;
}
PORTB=conversion(count);
count=0;
}
}
}