Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

ATmega16 timer

Непрочитано 13.08.2012, 18:30  
Андрей1
Прохожий
 
Регистрация: 13.08.2012
Сообщений: 7
Сказал спасибо: 2
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
Андрей1 на пути к лучшему
По умолчанию ATmega16 timer

Всем привет)
у меня есть такой вопрос, как можно сделать такую ​​фигню на МК ATmega16 .. к порту А подключены 8 светодиодов, как сделать так чтобы первый светодиод мигал с частотой 1 Гц, второй 2 Гц, третий 3Гц ..... восьмой 8 Гц, знаю что это делается с помощью таймера а как ... незнаю
если нетрудно помогите кто написать такую ​​прогу, чтобы я просто понял, что как ... можно и на 3 светодиода написать программу ...
пишу программи в CodeVisionAVR
Реклама:
Андрей1 вне форума  
Сказали "Спасибо" Андрей1
warel (29.06.2019)
Непрочитано 13.08.2012, 18:47  
ut1wpr
Почётный гражданин KAZUS.RUN
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,613
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: ATmega16 timer

Сообщение от Андрей1 Посмотреть сообщение
такую ​​фигню на МК ATmega16 ..
...мигал с частотой 1 Гц, второй 2 Гц, третий 3Гц .....
  • То что вы пренебрежительно назвали фигней, на самом деле называется "постановка задачи".
  • Термин "мигал" в постановках задач неприемлим. Это не технический термин. Мигают глазами. Нужно указывать время свечения и период повторения. Либо период и скважность свечения.
  • Вы просите других сделать. Здесь не делают на заказ. Здесь помогают, если не получается. Вы что-то уже пробовали сами делать?
  • Допустим, вам даже что-то там напишут. За следующим по сложности вы тоже будете обращаться с просьбой написать?
Не кажется вам, что путь познания должен быть несколько иным?
__________________
С уважением,
Vic / ut1wpr

Последний раз редактировалось ut1wpr; 13.08.2012 в 18:49.
ut1wpr вне форума  
Эти 2 пользователя(ей) сказали Спасибо ut1wpr за это сообщение:
dosikus (13.08.2012), warel (29.06.2019)
Непрочитано 13.08.2012, 19:04  
Андрей1
Прохожий
 
Регистрация: 13.08.2012
Сообщений: 7
Сказал спасибо: 2
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
Андрей1 на пути к лучшему
По умолчанию Re: ATmega16 timer

я непрошу делать на заказ.)
просто пример такой не могу найти ...

частота первой светодиода - 1Гц, пол периода светодиод включен, пол выключен ..
частота второго светодиода 2Гц, пол периода светодиод включен, пол выключен ..
и третий светодиод, период частота 3Гц пол периода светодиод включен, пол выключен ..

сейчас прерывания учу ...
Андрей1 вне форума  
Сказали "Спасибо" Андрей1
warel (29.06.2019)
Непрочитано 13.08.2012, 20:27  
jump
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,011
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: ATmega16 timer

Андрей1,
а мигать одним светодиодом пробовали? осциллограф есть?
писать не буду, да и не пишу в CodeVisionAVR, даю только пинки в нужном направлении.
1. рисуете временные диаграммы для ваших светодиодов с шагом 0.5с, составляете таблицу
2. программируете в МК timer1 (предделитель, регистры TCNT1L, TCNT1H, разрешаете прерывание от timer1 на 0.5с), настраиваете порт, организуете счетчик циклов, разрешаете прерывания
3. пишете процедуру прерывания (перезагрузка таймера, вывод в порт данных из переменной, установка флага подготовки данных к выводу)
4. основной цикл - кольцо с входом по флагу подготовки данных к выводу: вызываете адрес таблицы данных, суммируете со счетчиком, читаете таблицу и помещаете данные в переменную, инкрементируете и проверяете счетчик на превышение длины таблицы (больше - сбросить в 0), сбрасываете флаг.
решение лобовое, писал быстро, мог что-то пропустить. на асме пишется за 5мин. +2мин. отладка +3мин. прошивка и проверка (итого 10мин.) +вечность на созерцание
jump вне форума  
Сказали "Спасибо" jump
warel (29.06.2019)
Непрочитано 13.08.2012, 20:30  
ForcePoint
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,459
Сказал спасибо: 3,227
Сказали Спасибо 3,513 раз(а) в 2,394 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: ATmega16 timer

Исходники подобного примера (на ассемблере, правда) идут в составе STK500.
ForcePoint вне форума  
Сказали "Спасибо" ForcePoint
warel (29.06.2019)
Непрочитано 13.08.2012, 20:40  
Андрей1
Прохожий
 
Регистрация: 13.08.2012
Сообщений: 7
Сказал спасибо: 2
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
Андрей1 на пути к лучшему
По умолчанию Re: ATmega16 timer

jump, спасибо)
в принципе на Си программа лекше должно быть
ассемблер я непотягну сейчас ...

Да, я мигал светодиодами ... вот теперь чего-то большего научиться хочу)
Посоветуйте какие тотариалы по програмирование AVR на CVAVR ..
Осциллографа нет сожалению ... (
Андрей1 вне форума  
Сказали "Спасибо" Андрей1
warel (29.06.2019)
Непрочитано 13.08.2012, 21:12  
mimuh64
Прописка
 
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
mimuh64 на пути к лучшему
По умолчанию Re: ATmega16 timer

Сообщение от Андрей1 Посмотреть сообщение
я непрошу делать на заказ.)
просто пример такой не могу найти ...

частота первой светодиода - 1Гц, пол периода светодиод включен, пол выключен ..
частота второго светодиода 2Гц, пол периода светодиод включен, пол выключен ..
и третий светодиод, период частота 3Гц пол периода светодиод включен, пол выключен ..

сейчас прерывания учу ...
Поскольку сдвиг фаз неизвестен, то как вариант можно рассмотреть такой пример. Задача тянет на обычный сдвиговый регистр. В архиве есть исходник на Си (avr-gcc).
Вложения:
Тип файла: rar REGISTR.rar (32.4 Кб, 54 просмотров)
mimuh64 вне форума  
Сказали "Спасибо" mimuh64
warel (29.06.2019)
Непрочитано 13.08.2012, 21:41  
niXto
Почётный гражданин KAZUS.RUN
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: ATmega16 timer

Сделать генератор на 0,5 Гц и по его прерыванию первый светодиод зажигать/гасить после каждого прерывания, второй - после каждого второго, третий - после каждого третьего и тд. То есть по прерыванию считать 7 чисел и инвертировать состояние выхода первого диода
niXto вне форума  
Сказали "Спасибо" niXto
warel (29.06.2019)
Непрочитано 14.08.2012, 15:46  
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию 1,2,3,4,5,6,7,8 - это частоты, а не периоды

Если частоты должны быть точно такими, то задача не решается.
=GM= вне форума  
Сказали "Спасибо" =GM=
warel (29.06.2019)
Непрочитано 14.08.2012, 15:59  
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,327
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: ATmega16 timer

Сделать 1680Гц генератор на таймере ( Т = 595 мкс). Для частоты 8Гц изменять состояние выхода каждые 105 переполнений таймера, для 7Гц - каждые 120, для 6Гц - 140 и т.д.
Yurkin2007 вне форума  
Сказали "Спасибо" Yurkin2007
warel (29.06.2019)
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Proteus Timer 0 Over.. and Compare Max966 Proteus 0 13.08.2012 01:42
Stellaris timer kadrilo Микроконтроллеры, АЦП, память и т.д 0 26.10.2011 16:14
High-End Timer (HET) Beduin Микроконтроллеры, АЦП, память и т.д 1 22.01.2008 19:41
atmega16 vas414 Микроконтроллеры, АЦП, память и т.д 2 12.05.2006 00:10
Timer 0 в AVR 8515 martyr Микроконтроллеры, АЦП, память и т.д 0 12.10.2005 16:27


Часовой пояс GMT +4, время: 20:30.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.