Цитата(Serega_0180 @ Jul 31 2009, 22:03)

спасибо. это уже находил, смотрел. Но очень плохо знаю ассемблер (еще хуже,чем СИ

).
мне подсказали немного, что нужно использовать цикл
if Пока думаю дальше.
1)если гасить светодиоды, то все, а у вас только порт D гасится:
#define OFF_LEDS PORTD = 0b00000000добавьте то же для других портов
2)смотрите, что у вас между 6-м и 4-м светодиодом стоит:
if (Fx >= 40)
{
ON_LED6;
}
if (Fx >= 33.3)
{
OFF_LEDS; }
while (Fx >= 26.7)
{
ON_LED4;
я так понимаю, результат ctrl-c ctrl-v))
3) на малых частотах входного сигнала (около 10 имп/с) ошибка будет составлять до 20% (т.к. подсчет ведется примерно за 500 мс). здесь лучше использовать измерение не количества импульсов, а их периода следования (скажем, померили период следования T в микросекундах и находите частоту по формуле N0*1000000/T, где N0 - количество оборотов на импульс, у вас это 30)
Сообщение отредактировал Paulina - Aug 4 2009, 14:16