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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Starichok51
Модератор
Сообщения: 19046
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

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

Сообщение Starichok51 »

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

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

Сообщение ARV »

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

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

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

Сообщение Jetetex »

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

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

Сообщение BOB51 »

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

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

Сообщение trofim2 »

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

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

Сообщение BOB51 »

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

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

Сообщение trofim2 »

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

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

Сообщение BOB51 »

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

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

Сообщение trofim2 »

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

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

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

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

Сообщение pyzhman »

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

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

Сообщение trofim2 »

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

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

Сообщение akl »

igor741986 Может так

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

main:
	sbic PINB,1
	sbi PORTD,0
	sbis PINB,1
	cbi PORTD,0
	rjmp main
trofim2
Встал на лапы
Сообщения: 106
Зарегистрирован: Чт сен 10, 2015 06:59:03
Откуда: Гродно, BY

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

Сообщение trofim2 »

Да
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

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

Сообщение pyzhman »

trofim2 писал(а):
akl писал(а):
Так вы изменяете алгоритм программы. У вопрошающего при появлении "1" выставляется "1" и речь идёт про реакцию на вход Reset. В ваших же предложениях сигнал передается один в один и ни слова про железо.
Docendo discimus
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

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

Сообщение akl »

"...начинает работать только после того как ресет на землю замыкаешь, а затем размыкаешь"
Возможно, Вы не так прочитали. Возможно, trofim2 и я поняли вопрос не так.
Подождём ответа igor741986
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

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

Сообщение pyzhman »

+
Docendo discimus
igor741986
Родился
Сообщения: 13
Зарегистрирован: Пн мар 06, 2017 15:17:48
Откуда: Башкортостан

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

Сообщение igor741986 »

pyzhman писал(а):Значит у вас цепь сброса криво организована/спаян.
Если пин1 заземлить до включения питания, то будет долгожданный сигнал на выходе. Но если мы его освободим, то сигнал пропадет и появится только после рессета, но стоит опять разомкнуть и сигнал пропадает. Это я выяснил), опытным путем. Но мне то надо подать на вход короткий сигнал, а на выходе должен появится постоянный, который уйдет при другом условии).
Я еще не волшебник, а только учусь)
Alkul
Держит паяльник хвостом
Сообщения: 933
Зарегистрирован: Ср апр 13, 2011 11:09:20
Откуда: Екатеринбург

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

Сообщение Alkul »

igor741986 писал(а):Если пин1 заземлить до включения питания, то будет долгожданный сигнал на выходе. Но если мы его освободим, то сигнал пропадет и появится только после рессета, но стоит опять разомкнуть и сигнал пропадает.
Возможно, у Вас МК постоянно ресетится (перезапускается).
Вы же спрашивали в другой теме про свою автоматизацию колодца и бака, какой смысл в новой теме начинать беседу? Думаете, что-то изменится?
Вернитесь в ту тему и дайте, наконец, то, о чем Вас там просили - ПОЛНУЮ схему устройства, фото монтажа, ну и программу, включая фьюзы.
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

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

Сообщение pyzhman »

igor741986 писал(а):...
Если пин1 заземлить до включения питания, то будет долгожданный сигнал на выходе..
Как?! Ведь команда sbic заставит пропустить следующую за ней sbi.
Схему и весь проект сюда.
Docendo discimus
Ответить

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