тебе пытаются втолковать, что сама внутренняя частота 128 кило - с большой погрешностью.
ты реально получил 69 секунд.
60 / 69 * 125 = почти 109.
задай таймеру число 108, и получишь близко к 60 секунд.
но на другом МК будет другая погрешность этой частоты и нужно будет задавать другое число.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
128 килогерц - это встроенный генератор для WDT, он вообще не стабилизирован ни по температуре, ни по напряжению, и не калиброван. использовать его для отсчета времени разумно только если качество отсчета уровня "секунд 5-7". и городить какие-то коэффициенты для обеспечения "точности" бесполезно по определению. основная задача этого генератора - стабильно запускаться и как-то генерировать, чтобы WDT все-таки мог сработать.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
это я уже все понял, пересчитал и отредактировал. В данном случае меня такая погрешность устраивает, просто раньше таймер на 13 делать не приходилось, там где нужно было точно считать, использовал 2313 с кварцем. А сейчас это просто перерасход денег.
Если я чего-то не знаю, это не говорит о моем невежестве, а только о том, что раньше этот вопрос лежал вне сферы моих интересов.
Предделителем главного генератора понижаем на 8, один из таймеров ставим на 250 и затем программный счетчик прерываний от оного таймера на 4800.
Итог - чистая секунда.
У 13/13А предделитель тактовой у генератора (не у таймера!) всего-то до 256.
Далее предделитель самого таймера и уж на закусь таймер с внешними программными делителями.
Почему если этот код зашить в контроллер, то он начинает работать только после того как ресет на землю замыкаешь, а затем размыкаешь. Я думал по логике, контролер постоянно должен проверять пин1 и в зависимости от состояния выдавать сигнал в порт Д и так бесконечное число раз. Причем начинать он это должен после включения питания.
rjmp i
i: ldi R16,low(RAMEND)
out SPL,R16
ldi R17,high(RAMEND)
out SPH,R17
sbi DDRD,0
ldi R16,0b00001111
out PORTB,R16
ldi R16,0b00000000
out DDRB,r16
main:
sbic PINB,1
sbi PORTD,0
rjmp main
Так вы изменяете алгоритм программы. У вопрошающего при появлении "1" выставляется "1" и речь идёт про реакцию на вход Reset. В ваших же предложениях сигнал передается один в один и ни слова про железо.
pyzhman писал(а):Значит у вас цепь сброса криво организована/спаян.
Если пин1 заземлить до включения питания, то будет долгожданный сигнал на выходе. Но если мы его освободим, то сигнал пропадет и появится только после рессета, но стоит опять разомкнуть и сигнал пропадает. Это я выяснил), опытным путем. Но мне то надо подать на вход короткий сигнал, а на выходе должен появится постоянный, который уйдет при другом условии).
igor741986 писал(а):Если пин1 заземлить до включения питания, то будет долгожданный сигнал на выходе. Но если мы его освободим, то сигнал пропадет и появится только после рессета, но стоит опять разомкнуть и сигнал пропадает.
Возможно, у Вас МК постоянно ресетится (перезапускается).
Вы же спрашивали в другой теме про свою автоматизацию колодца и бака, какой смысл в новой теме начинать беседу? Думаете, что-то изменится?
Вернитесь в ту тему и дайте, наконец, то, о чем Вас там просили - ПОЛНУЮ схему устройства, фото монтажа, ну и программу, включая фьюзы.