Страница 300 из 400
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб мар 04, 2017 11:21:01
Jetetex
trofim2 писал(а):А какая точность установки частоты 128 кГц?
простите не понял вопрос.
установка фьюзов:
Спойлер

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб мар 04, 2017 11:39:02
trofim2
Я спросил какое ДЕЙСТВИТЕЛЬНО значение частоты встроенного генератора 128 кГц.
Можно открыть описание:
Figure 19-52. 128 kHz Watchdog Oscillator Frequency vs. VCC;
Figure 19-53. 128 kHz Watchdog Oscillator Frequency vs. Temperature.
Изучай матчасть.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб мар 04, 2017 13:58:37
Jetetex
trofim2 писал(а):Изучай матчасть.
...
все равно что google тебе в помощь
Если бы все знали мат часть, то зачем тогда форумы?
И да, спасибо за подсказку.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб мар 04, 2017 14:05:29
dgrett
А почему Вы выбрали 128 кГц? Чем неугодил internal RC,скажем, 9,6 МГц?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб мар 04, 2017 14:20:11
Jetetex
Просто на 4,8 и 9,6 МГц я не сразу нашел целых делителей так что бы считать одним регистром, так как 16ти битного регистра в 13 нету, а морочится с ними программным путем - лень.
И судя по графикам, внутренний генератор на любых частотах в ней кривоватый, и нужно пересчитывать с поправками.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб мар 04, 2017 19:36:11
BOB51
Подобрать коэффициенты всегда можно (ежли немножко пошевилить мозгами

).
У 13-й предделителей море-мореванное...

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб мар 04, 2017 21:25:21
Jetetex
9.6 МГц / 8 / 1024 = 1171,875
9,6 МГц / 1024 = 9375
4,8 МГц / 8 / 1024 = 585,9375
4,8 МГц / 1024 = 4687
128 Кгц / 8 /1024 = 15,625
128 КГц / 8 / 256 = 65,2
128 Кгц / 8 / 64 = 250
128 Кгц / 1024 = 125
128 Кгц / 256 = 500
какой из вариантов можно посчитать одним регистром и без десятичной части??
А так действительно вариантов море, а точнее 30:
Спойлер

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс мар 05, 2017 09:45:22
Starichok51
тебе пытаются втолковать, что сама внутренняя частота 128 кило - с большой погрешностью.
ты реально получил 69 секунд.
60 / 69 * 125 = почти 109.
задай таймеру число 108, и получишь близко к 60 секунд.
но на другом МК будет другая погрешность этой частоты и нужно будет задавать другое число.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс мар 05, 2017 13:14:08
ARV
128 килогерц - это встроенный генератор для WDT, он вообще не стабилизирован ни по температуре, ни по напряжению, и не калиброван. использовать его для отсчета времени разумно только если качество отсчета уровня "секунд 5-7". и городить какие-то коэффициенты для обеспечения "точности" бесполезно по определению. основная задача этого генератора - стабильно запускаться и как-то генерировать, чтобы WDT все-таки мог сработать.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс мар 05, 2017 13:39:13
Jetetex
это я уже все понял, пересчитал и отредактировал. В данном случае меня такая погрешность устраивает, просто раньше таймер на 13 делать не приходилось, там где нужно было точно считать, использовал 2313 с кварцем. А сейчас это просто перерасход денег.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пн мар 06, 2017 08:06:21
BOB51
Предделителем главного генератора понижаем на 8, один из таймеров ставим на 250 и затем программный счетчик прерываний от оного таймера на 4800.
Итог - чистая секунда.

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пн мар 06, 2017 08:39:47
trofim2
Ну если так, то генератор 4,8 МГц, предделитель на 256, OCR0A на 250, программный счетчик 75.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пн мар 06, 2017 09:15:20
BOB51
Для 4,8 МГц калибровочную константу надо вручную подгружать (и предварительно хитрым методом извлечь), а для 9,6 - автоматически выставляется.

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пн мар 06, 2017 09:21:27
trofim2
Тогда генератор 9,6 МГц, предделитель на 1024, OCR0A на 125, программный счетчик 75.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пн мар 06, 2017 10:15:39
BOB51
У 13/13А предделитель тактовой у генератора (не у таймера!) всего-то до 256.
Далее предделитель самого таймера и уж на закусь таймер с внешними программными делителями.

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пн мар 06, 2017 10:29:37
trofim2
А я про предделитель тактовой у генератора ничего не говорил.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт мар 07, 2017 09:30:35
igor741986
Почему если этот код зашить в контроллер, то он начинает работать только после того как ресет на землю замыкаешь, а затем размыкаешь. Я думал по логике, контролер постоянно должен проверять пин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
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт мар 07, 2017 09:36:54
pyzhman
Значит у вас цепь сброса криво организована/спаяна.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт мар 07, 2017 10:06:15
trofim2
main:
sbis PINB,1
sbi PORTD,0
sbic PINB,1
sbi PORTD,1
rjmp main
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт мар 07, 2017 10:08:07
akl
igor741986 Может так
Код: Выделить всё
main:
sbic PINB,1
sbi PORTD,0
sbis PINB,1
cbi PORTD,0
rjmp main