Например TDA7294

Форум РадиоКот • Просмотр темы - Таймеры/счётчики в AVR
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт мар 28, 2024 11:38:43

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 1322 ]     ... , , , 39, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вс окт 30, 2016 10:22:03 
Друг Кота

Карма: 64
Рейтинг сообщений: 964
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4210
Откуда: Ижевск
Рейтинг сообщения: 2
Замечу, тема называется Таймеры/счётчики в AVR и предполагает использование таймеров AVR для отсчета временных интервалов. А задержки на циклах делаю без калькуляторов. Например, вышеупомянутая задержка 4600нсек в моем понимании
Код:
.equ   Fo=20000000
;
;*************************************************
START:
;**************************
   LDI   XH,HIGH(4600*Fo/1000000000/4-1)
   LDI   XL,LOW(4600*Fo/1000000000/4-1)
   SBIW   X,1
   BRNE    PC-1
   RJMP   START


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вс окт 30, 2016 12:33:03 
Потрогал лапой паяльник

Зарегистрирован: Пт янв 29, 2010 19:42:27
Сообщений: 311
Рейтинг сообщения: -7
Нет слов одни эмоции

моя задежка это функция от переменной
при переменной равной 0 это 4600нсек
при переменной равной 1 это 4650нсек
при переменной равной 2 это 4700нсек
и т д

исправил
недосмотрел ..у Вас задежка но с шагом 3 такта .. моя с шагом в 1 такт

Добавлено after 9 minutes 32 seconds:
Vov123

запустите модель .. с каждым нажатием задержка увеличивается на 50нСек

не 150 не 100 . а 50 нСек ровно 1 такт
жать можно 65530 раз и каждое нажатие увеличит задержку на 50 нСек .. потом переполнеие
саму продедуру не покажу .хочу чтобы кто- то сделал лучше .


Добавлено after 3 minutes 4 seconds:
Jack_A будет будет .. шляпу сьешь?

Добавлено after 1 hour 16 minutes 5 seconds:
Вместо того чтобы выяснить реальное состояние дело эта ххххх akl минусует

Нарушение правил. п 2-3. предупреждение. FAKIR.

_________________
ух ты.... показывает


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Ср ноя 02, 2016 21:20:58 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 0
Теоретически на таймере можно настроить вызов прерывания с точностью 1 такт. Минимальное время будет где-то тактов 10-20. Без аппаратных модулей получить такую точность в широком диапазоне почти нереально, и минимальная будет те же 10-20 тактов. Хотя...
Если сначала загрузить в ZH:ZL адрес процедуры и, при необходимости, в Х - аргумент. А потом в нужный момент icall'ом на выбранную процедуру
Код:
DELAY_8:nop ;8тактов
DELAY_7:ret ;7 тактов

DELAY_16VAR21:nop ;задержка 16Х+21 такт
...
DELAY_16VAR9:nop ;задержка 16Х+9 тактов
DELAY_16VAR8:nop ;задержка 16Х+8 тактов
DELAY_16VAR7:nop ;задержка 16Х+7 тактов
DELAY_16VAR6: ;задержка 16Х+6 тактов
  push XL ;2 такта
  pop XL ;2 такта
  rcall DELAY_8 ;8 тактов
  sbiw X,1 ;2 такта
    brne DELAY_0VAR16 ;2 такта (1 такт в последний раз), суммарно 16Х тактов
  ret ;4 такта -1 с прошлой команды. С учетом icall - 16X+6

DELAY_3VAR8:nop ;3Х+8 тактов
DELAY_3VAR7:nop ;3Х+7 тактов
DELAY_3VAR6: ;3X+6 тактов
  dec XL
    brne DELAY_0VAR8 ;3 такта
  ret

Тут получилось нарисовать 3 процедуры - 7(8) тактов, 3Х+Y (9-776) тактов и 16Х+Y (от 22 до ~1e6, 50мс) тактов. Кому надо больший диапазон - вперед по шаблону
Придумывать процедуру выбора подходящей процедуры и аргумента по входному значению мне неохота. Но, надеюсь, идея понятна.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Чт ноя 03, 2016 06:13:30 
Грызет канифоль

Карма: -4
Рейтинг сообщений: -14
Зарегистрирован: Сб окт 20, 2007 14:12:03
Сообщений: 292
Рейтинг сообщения: 0
Такое дело.
Организовал fast-pwm на mega8
В железе нет еще, симуляция в Протеусе.
При записи в OCR ноля все равно есть ШИМ с минимальной скважностью на выходе. А при 255 опять же не в единицу выход ставится, а максимальная скважность есть.
Это так и должно быть?
Я чото грешным делом думал, что при нуле в регистре, на выходе ноль должен быть, а при 255 единица.


Вернуться наверх
 
Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Чт ноя 03, 2016 06:48:03 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2687
Откуда: г. Чайковский
Рейтинг сообщения: 3
Медали: 1
Получил миской по аватаре (1)
Так же будет и в железе. Выключайте ШИМ в таких случаях.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Чт ноя 03, 2016 08:09:23 
Друг Кота

Карма: 64
Рейтинг сообщений: 964
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4210
Откуда: Ижевск
Рейтинг сообщения: 0
COKPOWEHEU писал(а):
Теоретически на таймере можно настроить вызов прерывания с точностью 1 такт. Минимальное время будет где-то тактов 10-20.
На практике, использование аппаратных возможностей таймера позволяет получить минимальную длительность импульса равную 1 такту и период следования оных 2 тактам. Справедливо для OCxB. С учётом того, что занесение нового значения сравнения производится через буферный регистр формирование временной диаграммы происходит без глюков.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пн ноя 07, 2016 11:53:47 
Родился

Зарегистрирован: Пн ноя 07, 2016 11:51:01
Сообщений: 4
Рейтинг сообщения: 0
Всем привет!
Помогите, пожалуйста, с таким заданием.

Необходимо создать программу, циклически "перемещающую" огонёк по цепочке светодиодов, подключённых к порту B микроконтроллера ATtiny2313. Для создания задержки между шагами (от 0,1 секунды до 1 секунды) использовать один из встроенных таймеров-счётчиков.

Помогите, правильно настроить инициализацию таймер счетчик и регистр прерываний.


Вложения:
1.jpg [109.16 KiB]
Скачиваний: 496
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пн ноя 07, 2016 18:59:22 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2687
Откуда: г. Чайковский
Рейтинг сообщения: 2
Медали: 1
Получил миской по аватаре (1)
Что за хрень на пикче, какой-то автокод?
evgen_kz писал(а):
Необходимо создать программу, циклически "перемещающую" огонёк по цепочке светодиодов, подключённых к порту B микроконтроллера ATtiny2313.
К каждому порту светодиод подключен и их всего 8? При возникновении прерывания от таймера:
значение PORTB сдвигаете через флаг С;
Если С то PORTB =0x01 или 0x80 ( в зависимости направления сдвига)

evgen_kz писал(а):
Для создания задержки между шагами (от 0,1 секунды до 1 секунды)
Наверное в Вашем задании было значение шага изменения времени и условие изменения.

evgen_kz писал(а):
Помогите, правильно настроить инициализацию таймер счетчик и регистр прерываний.
Тактовая частота МК очень не последний параметр для данной задачи.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Чт янв 12, 2017 11:58:55 
Первый раз сказал Мяу!

Зарегистрирован: Чт авг 11, 2016 18:08:25
Сообщений: 20
Рейтинг сообщения: 0
Доброго дня.Небольшой вопрос.Контроллер Attiny13A.На выходах OC0A и OC0B требуется получить противофазный сигнал.Таймер работает в режиме CTC.В регистрах сравнения OCR0A и OCR0B находиться одинаковое число.Биты COM0...настроены на переключение в противоположное состояние при совпадении.Порты также предварительно настроены(0 и 1).
Все работает как и положено,кроме одного-порты переключаются синфазно.Proteus и Avr Simulator показывают,что все зашибись.В Avr Studio и в железе не работает так,как нужно.
Как добиться противофазной работы?Где и на чем я споткнулся?Спасибо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Чт янв 12, 2017 14:29:47 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 0
Может попробовать бит FOCnx вместо установки порта?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Чт янв 12, 2017 16:44:04 
Первый раз сказал Мяу!

Зарегистрирован: Чт авг 11, 2016 18:08:25
Сообщений: 20
Рейтинг сообщения: 0
Попробовал-ничего не поменялось:(

Добавлено after 1 hour 43 minutes 32 seconds:
COKPOWEHEU СПАСИБО!.Разобрался.Действительно помогло.Установил биты вот так-( 0<<FOC0A|1<<FOC0B)-и все заработало,как и требовалось.Состояние выводов порта В OCR0A и OCR0B при этом оказалось совсем неважным,синфазные или противофазные сигналы на них выставлены изначально.А вот здесь прошу объяснить-по даташиту,если я правильно понял,биты FOC0A и FOC0B только принудительно изменяют состояние соответствующих выводов,не сбрасывая при этом счетный регистр,то есть он и далее продолжает считать до значения,установленного в регистрах сравнения.Тогда каким боком регистры FOC0A и FOC0B участвуют в процессе переключения????????????


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вт фев 07, 2017 12:31:18 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Вт сен 14, 2010 23:07:10
Сообщений: 182
Откуда: Ростов
Рейтинг сообщения: 0
Доброго времени суток.
Есть задача: управление цветом RGB-ленты посредством трех потенциометров. Сделал на Attiny261A, используя три АЦП и три аппаратных ШИМа. Все, вроде работает, но не совсем так, как рассчитывал.
Программа:

Проблема в том, что если не инициировать значение на D-канале ШИМа единицей (любым ненулевым числом), он не работает до тех пор, пока значение АЦП, которое ему передается, не изменится. Т.е. при volatile unsigned char value_ADC[3] = {0, 0, 0} (значения с АЦП, передающие в OCR1A, OCR1B и OCR1D соответственно) в программе и, например, 127 на выходе соотв. АЦП, на выводе OC1D висит ноль, пока значение с АЦП не поменяется на 126 или 128. Если прописать volatile unsigned char value_ADC[3] = {1, 1, 1} в программе, все работает без проблем. В принципе, мне и так норм, но просто интересно, почему так. Вроде как разницы между A, B и D ШИМами быть не должно, а она есть.

_________________
We do what we must because we can (c) GLaDOS


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вт апр 18, 2017 23:37:47 
Мудрый кот

Карма: 34
Рейтинг сообщений: 284
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Сообщений: 1805
Откуда: Харьков
Рейтинг сообщения: 0
Вопрос по асинхронному 32768 Гц таймеру в Atmega88 и подобных. Запустится ли его генератор, если кварц подключить к чипу без каких-либо конденсаторов? Пытаюсь развести плату для очень мелких наручных светодиодных часов - из-за этих конденсаторов дороги к кварцу приходится тянуть через всю плату (порядка 40 мм каждая, на расстоянии 0.2..0.5 мм от цифровых линий). Или это тут менее критично, чем отсутствие конденсаторов?

_________________
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Ср апр 19, 2017 15:42:03 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 0
Для часового кварца подходящие конденсаторы встроены прямо в кристалл и включаются фузами, если не ошибаюсь.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Ср апр 19, 2017 22:03:54 
Мудрый кот

Карма: 34
Рейтинг сообщений: 284
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Сообщений: 1805
Откуда: Харьков
Рейтинг сообщения: 0
Это на 8, но не 88/168. И включаются не автоматически, а фьюзом.

_________________
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Ср апр 19, 2017 23:19:53 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 0
В некоторых ATmega8 баг из-за которого конденсаторы не включаются. На счет 48-328 согласен - там не встроены. Про фуз вы, очевидно, невнимательно прочитали.
Неужели конденсаторы нельзя скажем с обратной стороны припаять?
Без них может запуститься, но это не гарантируется, как не гарантируется и точность частоты. У меня так и было - кварц запустился, но частота была далека от заявленной.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вс апр 23, 2017 09:56:44 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2800
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18030
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
у меня без конденсаторов стоит кварц 8 МГц, погрешность составила 0,15%. АТМега8.

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вс апр 23, 2017 21:41:32 
Собутыльник Кота
Аватар пользователя

Карма: 28
Рейтинг сообщений: 756
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Сообщений: 2893
Откуда: приходит весна?
Рейтинг сообщения: 0
Многовато для кварца то.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пн апр 24, 2017 16:38:06 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 0
Ну так без конденсаторов же. У меня без конденсаторов заводилось v-usb. Но, само собой, в финальной версии поставил их.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пн апр 24, 2017 18:42:46 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2800
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18030
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
B@R5uk писал(а):
Многовато для кварца то.
может, из-за отсутствия конденсаторов, а может, что кварцы самые дешевые купил...

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 1322 ]     ... , , , 39, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: 240265 и гости: 42


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y