Ассемблер (ASM) для AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Ответить
Встал на лапы
Аватара пользователя
Сообщения: 117
Зарегистрирован: Ср окт 15, 2014 12:45:46
Откуда: Анапа

Сообщение Jetetex »

trofim2 писал(а):А какая точность установки частоты 128 кГц?
простите не понял вопрос.

установка фьюзов:
СпойлерИзображение
Если я чего-то не знаю, это не говорит о моем невежестве, а только о том, что раньше этот вопрос лежал вне сферы моих интересов.
Реклама
Встал на лапы
Сообщения: 106
Зарегистрирован: Чт сен 10, 2015 06:59:03
Откуда: Гродно, BY

Сообщение trofim2 »

Я спросил какое ДЕЙСТВИТЕЛЬНО значение частоты встроенного генератора 128 кГц.
Можно открыть описание:
Figure 19-52. 128 kHz Watchdog Oscillator Frequency vs. VCC;
Figure 19-53. 128 kHz Watchdog Oscillator Frequency vs. Temperature.
Изучай матчасть.
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 117
Зарегистрирован: Ср окт 15, 2014 12:45:46
Откуда: Анапа

Сообщение Jetetex »

trofim2 писал(а):Изучай матчасть.
...
все равно что google тебе в помощь

Если бы все знали мат часть, то зачем тогда форумы?
И да, спасибо за подсказку.
Если я чего-то не знаю, это не говорит о моем невежестве, а только о том, что раньше этот вопрос лежал вне сферы моих интересов.
Вымогатель припоя
Сообщения: 615
Зарегистрирован: Вс дек 28, 2014 21:54:05

Сообщение dgrett »

А почему Вы выбрали 128 кГц? Чем неугодил internal RC,скажем, 9,6 МГц?
Я всё-всё узнAю и стану профессором.
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Аватара пользователя
Сообщения: 117
Зарегистрирован: Ср окт 15, 2014 12:45:46
Откуда: Анапа

Сообщение Jetetex »

Просто на 4,8 и 9,6 МГц я не сразу нашел целых делителей так что бы считать одним регистром, так как 16ти битного регистра в 13 нету, а морочится с ними программным путем - лень.
И судя по графикам, внутренний генератор на любых частотах в ней кривоватый, и нужно пересчитывать с поправками.
Если я чего-то не знаю, это не говорит о моем невежестве, а только о том, что раньше этот вопрос лежал вне сферы моих интересов.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15790
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Подобрать коэффициенты всегда можно (ежли немножко пошевилить мозгами :wink: ).
У 13-й предделителей море-мореванное...
8)
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 117
Зарегистрирован: Ср окт 15, 2014 12:45:46
Откуда: Анапа

Сообщение 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:
СпойлерИзображение
Если я чего-то не знаю, это не говорит о моем невежестве, а только о том, что раньше этот вопрос лежал вне сферы моих интересов.
Модератор
Аватара пользователя
Сообщения: 19101
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Сообщение Starichok51 »

тебе пытаются втолковать, что сама внутренняя частота 128 кило - с большой погрешностью.
ты реально получил 69 секунд.
60 / 69 * 125 = почти 109.
задай таймеру число 108, и получишь близко к 60 секунд.
но на другом МК будет другая погрешность этой частоты и нужно будет задавать другое число.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18788
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

128 килогерц - это встроенный генератор для WDT, он вообще не стабилизирован ни по температуре, ни по напряжению, и не калиброван. использовать его для отсчета времени разумно только если качество отсчета уровня "секунд 5-7". и городить какие-то коэффициенты для обеспечения "точности" бесполезно по определению. основная задача этого генератора - стабильно запускаться и как-то генерировать, чтобы WDT все-таки мог сработать.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 117
Зарегистрирован: Ср окт 15, 2014 12:45:46
Откуда: Анапа

Сообщение Jetetex »

это я уже все понял, пересчитал и отредактировал. В данном случае меня такая погрешность устраивает, просто раньше таймер на 13 делать не приходилось, там где нужно было точно считать, использовал 2313 с кварцем. А сейчас это просто перерасход денег.
Если я чего-то не знаю, это не говорит о моем невежестве, а только о том, что раньше этот вопрос лежал вне сферы моих интересов.
Друг Кота
Аватара пользователя
Сообщения: 15790
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Предделителем главного генератора понижаем на 8, один из таймеров ставим на 250 и затем программный счетчик прерываний от оного таймера на 4800.
Итог - чистая секунда.
:wink:
Встал на лапы
Сообщения: 106
Зарегистрирован: Чт сен 10, 2015 06:59:03
Откуда: Гродно, BY

Сообщение trofim2 »

Ну если так, то генератор 4,8 МГц, предделитель на 256, OCR0A на 250, программный счетчик 75.
Друг Кота
Аватара пользователя
Сообщения: 15790
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Для 4,8 МГц калибровочную константу надо вручную подгружать (и предварительно хитрым методом извлечь), а для 9,6 - автоматически выставляется.
8)
Встал на лапы
Сообщения: 106
Зарегистрирован: Чт сен 10, 2015 06:59:03
Откуда: Гродно, BY

Сообщение trofim2 »

Тогда генератор 9,6 МГц, предделитель на 1024, OCR0A на 125, программный счетчик 75.
Друг Кота
Аватара пользователя
Сообщения: 15790
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

У 13/13А предделитель тактовой у генератора (не у таймера!) всего-то до 256.
Далее предделитель самого таймера и уж на закусь таймер с внешними программными делителями.
8)
Встал на лапы
Сообщения: 106
Зарегистрирован: Чт сен 10, 2015 06:59:03
Откуда: Гродно, BY

Сообщение trofim2 »

А я про предделитель тактовой у генератора ничего не говорил.
Родился
Сообщения: 13
Зарегистрирован: Пн мар 06, 2017 15:17:48
Откуда: Башкортостан

Сообщение 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
Я еще не волшебник, а только учусь)
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Значит у вас цепь сброса криво организована/спаяна.
Docendo discimus
Контактная информация:
Встал на лапы
Сообщения: 106
Зарегистрирован: Чт сен 10, 2015 06:59:03
Откуда: Гродно, BY

Сообщение trofim2 »

main:
sbis PINB,1
sbi PORTD,0
sbic PINB,1
sbi PORTD,1
rjmp main
akl
Друг Кота
Сообщения: 4473
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

igor741986 Может так

Код: Выделить всё

main:
	sbic PINB,1
	sbi PORTD,0
	sbis PINB,1
	cbi PORTD,0
	rjmp main
Ответить

Вернуться в «AVR»