Ассемблер (ASM) для AVR в вопросах и ответах
- Starichok51
- Модератор
- Сообщения: 19046
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
тебе пытаются втолковать, что сама внутренняя частота 128 кило - с большой погрешностью.
ты реально получил 69 секунд.
60 / 69 * 125 = почти 109.
задай таймеру число 108, и получишь близко к 60 секунд.
но на другом МК будет другая погрешность этой частоты и нужно будет задавать другое число.
ты реально получил 69 секунд.
60 / 69 * 125 = почти 109.
задай таймеру число 108, и получишь близко к 60 секунд.
но на другом МК будет другая погрешность этой частоты и нужно будет задавать другое число.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
128 килогерц - это встроенный генератор для WDT, он вообще не стабилизирован ни по температуре, ни по напряжению, и не калиброван. использовать его для отсчета времени разумно только если качество отсчета уровня "секунд 5-7". и городить какие-то коэффициенты для обеспечения "точности" бесполезно по определению. основная задача этого генератора - стабильно запускаться и как-то генерировать, чтобы WDT все-таки мог сработать.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Ассемблер (ASM) для AVR в вопросах и ответах
это я уже все понял, пересчитал и отредактировал. В данном случае меня такая погрешность устраивает, просто раньше таймер на 13 делать не приходилось, там где нужно было точно считать, использовал 2313 с кварцем. А сейчас это просто перерасход денег.
Если я чего-то не знаю, это не говорит о моем невежестве, а только о том, что раньше этот вопрос лежал вне сферы моих интересов.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Предделителем главного генератора понижаем на 8, один из таймеров ставим на 250 и затем программный счетчик прерываний от оного таймера на 4800.
Итог - чистая секунда.

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

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

Далее предделитель самого таймера и уж на закусь таймер с внешними программными делителями.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
А я про предделитель тактовой у генератора ничего не говорил.
-
igor741986
- Родился
- Сообщения: 13
- Зарегистрирован: Пн мар 06, 2017 15:17:48
- Откуда: Башкортостан
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Почему если этот код зашить в контроллер, то он начинает работать только после того как ресет на землю замыкаешь, а затем размыкаешь. Я думал по логике, контролер постоянно должен проверять пин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
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 в вопросах и ответах
Значит у вас цепь сброса криво организована/спаяна.
Docendo discimus
Re: Ассемблер (ASM) для AVR в вопросах и ответах
main:
sbis PINB,1
sbi PORTD,0
sbic PINB,1
sbi PORTD,1
rjmp main
sbis PINB,1
sbi PORTD,0
sbic PINB,1
sbi PORTD,1
rjmp main
Re: Ассемблер (ASM) для AVR в вопросах и ответах
igor741986 Может так
Код: Выделить всё
main:
sbic PINB,1
sbi PORTD,0
sbis PINB,1
cbi PORTD,0
rjmp main
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
trofim2 писал(а):
Так вы изменяете алгоритм программы. У вопрошающего при появлении "1" выставляется "1" и речь идёт про реакцию на вход Reset. В ваших же предложениях сигнал передается один в один и ни слова про железо.akl писал(а):
Docendo discimus
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Возможно, Вы не так прочитали. Возможно, trofim2 и я поняли вопрос не так."...начинает работать только после того как ресет на землю замыкаешь, а затем размыкаешь"
Подождём ответа igor741986
-
igor741986
- Родился
- Сообщения: 13
- Зарегистрирован: Пн мар 06, 2017 15:17:48
- Откуда: Башкортостан
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Если пин1 заземлить до включения питания, то будет долгожданный сигнал на выходе. Но если мы его освободим, то сигнал пропадет и появится только после рессета, но стоит опять разомкнуть и сигнал пропадает. Это я выяснил), опытным путем. Но мне то надо подать на вход короткий сигнал, а на выходе должен появится постоянный, который уйдет при другом условии).pyzhman писал(а):Значит у вас цепь сброса криво организована/спаян.
Я еще не волшебник, а только учусь)
-
Alkul
- Держит паяльник хвостом
- Сообщения: 933
- Зарегистрирован: Ср апр 13, 2011 11:09:20
- Откуда: Екатеринбург
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Возможно, у Вас МК постоянно ресетится (перезапускается).igor741986 писал(а):Если пин1 заземлить до включения питания, то будет долгожданный сигнал на выходе. Но если мы его освободим, то сигнал пропадет и появится только после рессета, но стоит опять разомкнуть и сигнал пропадает.
Вы же спрашивали в другой теме про свою автоматизацию колодца и бака, какой смысл в новой теме начинать беседу? Думаете, что-то изменится?
Вернитесь в ту тему и дайте, наконец, то, о чем Вас там просили - ПОЛНУЮ схему устройства, фото монтажа, ну и программу, включая фьюзы.
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Как?! Ведь команда sbic заставит пропустить следующую за ней sbi.igor741986 писал(а):...
Если пин1 заземлить до включения питания, то будет долгожданный сигнал на выходе..
Схему и весь проект сюда.
Docendo discimus