Все подсчеты приведены на вскидку, главное помогите подправить код!
Частота кварца - 4МГц.
Делитель по таймеру - 1024 (~4кГц)
То есть для подсчета 60сек необходимо насчитать таймером 240 000 (=4кГц*60), но т.к. таймер считает до 65535, то будем считать до 24000 10 раз (в моем случае до 23808).
ldi marker,93 ; задали начально значение маркера
ldi counter,10 ; начальное значение счетчика
clr temp ;
sts TCNT1H,temp ; обнуляем таймер
sts TCNT1L,temp ; обнуляем таймер
start1:
lds temp,TCNT1H ; загружаем содержимое таймера
cp temp,marker ; таймер насчитал 23808?
brne start1 ; если нет, то остаемся в цикле
subi marker,-105 ; входим на след. круг подсчета
dec counter ; уменьшаем счетчик на 1
cpi counter,0 ; досчитали до 60сек?
brne start1 ; если нет, то остаемся в цикле
Но в AVR Studio счетчик переваливает за 3мин и не останавливается (ждал правда несколько часов))
Где ошибка? Заранее благодарю.