Мелкие вопросы по МК и ПЛИС.
Re: Мелкие вопросы по МК и ПЛИС.
Как выровнять таймер 1 и таймер 2 чтоб начало отсчета совпадало.
Есть у атмега48 встроенные функции?
Есть у атмега48 встроенные функции?
- КРАМ
- Друг Кота
- Сообщения: 25151
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
Для привязки достаточно сбросить таймер 1 в прерывании от таймера 2 перед тем, как запустить интервал пересчета 1-го таймера.
Нарисуйте диаграмму работы алгоритма и Вам все будет понятно.
Нарисуйте диаграмму работы алгоритма и Вам все будет понятно.
Re: Мелкие вопросы по МК и ПЛИС.
За какое время стартует ADC?
Канал выбран все установлено.
И с момента установки бита запуска ADC. Просто хочу знать на сколько тактов раньше мне нужно запустить ADC чтоб получить имено значение того момента времени.
В протеусе получаю максимальный результат если запускаю преобразование за 4 такта до предпологаеммого пика
Канал выбран все установлено.
И с момента установки бита запуска ADC. Просто хочу знать на сколько тактов раньше мне нужно запустить ADC чтоб получить имено значение того момента времени.
В протеусе получаю максимальный результат если запускаю преобразование за 4 такта до предпологаеммого пика
Последний раз редактировалось amd9800 Сб авг 02, 2014 22:09:58, всего редактировалось 1 раз.
Re: Мелкие вопросы по МК и ПЛИС.
Есть встроенная функция "запись в регистр TCNTx".amd9800 писал(а):выровнять таймер
Хинт: инструкция выполняется за отличное от нуля количество тактов.
Re: Мелкие вопросы по МК и ПЛИС.
Записываю
TCNT1H=0x00;
TCNT1L=0x00;
TCNT2=0x00;
И получится что второй таймер когда обнулится первый уже насчитает несколько тактов.
Ну в принципе - нормально.
TCNT1H=0x00;
TCNT1L=0x00;
TCNT2=0x00;
И получится что второй таймер когда обнулится первый уже насчитает несколько тактов.
Ну в принципе - нормально.
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: Мелкие вопросы по МК и ПЛИС.
Как выровнять таймер 1 и таймер 2 чтоб начало отсчета совпадало.
Аппаратно можно сделать только для связки TIM0+TIM1:
General Timer/Counter
Control Register – GTCCR
• Bit 7 – TSM: Timer/Counter Synchronization Mode
Writing the TSM bit to one activates the Timer/Counter Synchronization mode. In this
mode, the value that is written to the PSRASY and PSRSYNC bits is kept, hence keeping
the corresponding prescaler reset signals asserted. This ensures that the
corresponding Timer/Counters are halted and can be configured to the same value without
the risk of one of them advancing during configuration.
- КРАМ
- Друг Кота
- Сообщения: 25151
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
amd9800 писал(а):И получится что второй таймер когда обнулится первый уже насчитает несколько тактов.
Ну в принципе - нормально.
Наоборот, второй обнулится в момент входа в обработчик, а первый будет обнулен чуть позже. Поэтому второй насчитает несколько тактов.
Но это совершенно не принципиально.
Все равно, если не предпринимать дополнительных усилий, снять осциллограмму в "мертвой" зоне около начала периода ШИМ не получится.
Так как затраты времени на вход-выход из прерываний дадут некую минимально возможную начальную задержку в запуске АЦП.
А задержку в несколько тактов легко учесть в некотором смещении указателя выходного массива.
Что бы снять осциллограмму в этой зоне потребуется перебросить на несколько отсчетов весь процесс из обработчика по 2-му таймеру в обработчик по Output Compare. Или создать на основе еще одного таймера независимый, но синхронный с ШИМ интервал, где можно будет задать запуск АЦП в любой момент времени, включая участок малых значений таймера 2.
- sphincs
- Нашел транзистор. Понюхал.
- Сообщения: 174
- Зарегистрирован: Вт сен 11, 2012 09:13:52
- Откуда: Брест, Беларусь
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
подскажите, как реализовать ШИМ для изменения яркости свечения светодиодов, подключенных через регистр сдвига 74НС595?
Re: Мелкие вопросы по МК и ПЛИС.
Последовательно грузить в регистр и параллельно выводить на его ногу сначала ноль, потом один.
Или наоборот.
Или наоборот.
Re: Мелкие вопросы по МК и ПЛИС.
Если надо менять яркость всех светодиодов одновременно, то почему бы не использовать вход перевода в 3-е состояние ОЕ, подав на него ШИМ с МК?
- sphincs
- Нашел транзистор. Понюхал.
- Сообщения: 174
- Зарегистрирован: Вт сен 11, 2012 09:13:52
- Откуда: Брест, Беларусь
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
SmarTrunk писал(а):ОЕ, подав на него ШИМ с МК?
да, одновременно. на всех с/д лог. 1, но нужно сделать пульсирующее свечение. про выход OE видел такую фразу, но без конкретики какой-либо. значит если я просто соединю ОЕ с выводом OC2 атмеги8, на котором реализован ШИМ, то получу требуемую пульсацию?
Re: Мелкие вопросы по МК и ПЛИС.
Вроде бы, да. Ноль на ОЕ - выходы регистра работают. Единица на ОЕ - отключаются (3-е состояние). Если хотите бОльшей уверенности, поищите еще информации - это очень популярная микросхема.
Re: Мелкие вопросы по МК и ПЛИС.
sphincs писал(а):то получу требуемую пульсацию?
Вам нужно одинаковую яркость всем одновременно или разная яркость каждому светодиоду?
- sphincs
- Нашел транзистор. Понюхал.
- Сообщения: 174
- Зарегистрирован: Вт сен 11, 2012 09:13:52
- Откуда: Брест, Беларусь
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
одинаковая для всех. на OE подал ШИМ. в протеусе осциллограф показывает, что на светодиоды так же поступает ШИМ.
но в плане общего развития послушал бы как заставить пульсировать их все по-разному
но в плане общего развития послушал бы как заставить пульсировать их все по-разному
Re: Мелкие вопросы по МК и ПЛИС.
но всё-таки зачем
Последний раз редактировалось nirq Вт авг 05, 2014 12:11:47, всего редактировалось 1 раз.
- sphincs
- Нашел транзистор. Понюхал.
- Сообщения: 174
- Зарегистрирован: Вт сен 11, 2012 09:13:52
- Откуда: Брест, Беларусь
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
nirq, уж простите, но это коммент ради коммента. был задан вопрос, я ответил. я и по поводу синхронного моргания не много инфы нашел, а про независимые моргания и вовсе не нахожу. а обсуждения ардуинщиков не очень понимаю, у них все слишком красиво одной функцией делается всегда)
чтобы сделать рамочку с бегающими по всякому огоньками. просто маленький сувенир-подарок. и заодно научиться работать с этими регистрами
nirq писал(а):но всё-таки зачем.
чтобы сделать рамочку с бегающими по всякому огоньками. просто маленький сувенир-подарок. и заодно научиться работать с этими регистрами
Re: Мелкие вопросы по МК и ПЛИС.
sphincs писал(а):как заставить пульсировать их все по-разному
Например у вас 8 светодиодов.
Создаем два 8-ми размерных массива. (Глобальные переменные)
unsigned char Zapolenie[8]
unsigned char Vipoleneno[8]
Дискретизацию выберем например 10
То есть 10 это максимум - 5 половина и так далее
Timer настраиваем чтоб каждую милисекунду вызывал прерывание.
В прерывании пишем код.
Выполняем цикл от 0 до 7.
И проверяем переменную выполнено Vipoleneno[i] если она меньше Zapolenie[i].
Если меньше тогда прибавляем единичку Vipoleneno[i]++ и в регистр отправляем единичку
если нет тогда в регистр отправляем 0.
Дальше имеем переменную j которая прибавляется j++
ниже проверяем если (j>9)
Если да то обнуляем все Vipoleneno[i] и j
Теперь в основной программе вам нужно только выбирать Zapolenie[i] которое соответствует светодиоду.
- sphincs
- Нашел транзистор. Понюхал.
- Сообщения: 174
- Зарегистрирован: Вт сен 11, 2012 09:13:52
- Откуда: Брест, Беларусь
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
amd9800, спасибо, вроде бы осознал)
Re: Мелкие вопросы по МК и ПЛИС.
если что проблемы в процессе программирования пиши - помогу.
Re: Мелкие вопросы по МК и ПЛИС.
Добрый день, каков принцип работы данного кусочка схемы
http://screenshot.su/show.php?img=4dd9f ... 909f55.jpg
Если включен фьюз spien то, выводы miso, mosi, sck можно использовать лишь для программирования.
В схеме автор предлагает и программировать и использовать в программе данные выводы.
Подскажите где заблуждение?
http://screenshot.su/show.php?img=4dd9f ... 909f55.jpg
Если включен фьюз spien то, выводы miso, mosi, sck можно использовать лишь для программирования.
В схеме автор предлагает и программировать и использовать в программе данные выводы.
Подскажите где заблуждение?