roboforum.ru

Технический форум по робототехнике.

МикроКонтроллер AVR начинающим - общие вопросы

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение к561ЛА7 » 10 дек 2009, 21:56

Отцы!
Мигать светодиодом я уже научился, а вот как им плавно мерцать!
НАучите меня пожалуйста плавно мерцать светодиодом и с разной частотой!
ПОЖАЛУЙСТА!
Ваш IP-адрес 85.140.5.459 был внесён в черный список и заблокирован. Для получения дополнительной информации перейдите по ссылке http://www.spamhaus.org/query/bl?ip=85.140.5.459.
Аватара пользователя
к561ЛА7
 
Сообщения: 404
Зарегистрирован: 08 дек 2009, 19:21
Откуда: Й-Ола

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 10 дек 2009, 22:04

Опиши алгоритм по-русски а потом запиши на Си.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение к561ЛА7 » 11 дек 2009, 09:42

Ура!
А как плавно мерцать 8-ю светодиодами? и с разной частотой?
Хелп, плиз!
Словарного запаса не хватает
Ваш IP-адрес 85.140.5.459 был внесён в черный список и заблокирован. Для получения дополнительной информации перейдите по ссылке http://www.spamhaus.org/query/bl?ip=85.140.5.459.
Аватара пользователя
к561ЛА7
 
Сообщения: 404
Зарегистрирован: 08 дек 2009, 19:21
Откуда: Й-Ола

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение EdGull » 11 дек 2009, 09:44

тебе ж сказали "Опиши алгоритм по-русски"
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение к561ЛА7 » 11 дек 2009, 11:00

Плавно мерцаем одним светодиодом
Тем временем плавно мерцаем другим светодиодом с другой частой
Тем временем плавно мерцаем другим светодиодом с другой частой
Тем временем плавно мерцаем другим светодиодом с другой частой
пятым светодиодом мигаем
шестым - 2 мигания - 5 мерцаний
седьмым - 3 мигания - пауза - 5 миганий - пауза
восьмой то горит то не горит
Ваш IP-адрес 85.140.5.459 был внесён в черный список и заблокирован. Для получения дополнительной информации перейдите по ссылке http://www.spamhaus.org/query/bl?ip=85.140.5.459.
Аватара пользователя
к561ЛА7
 
Сообщения: 404
Зарегистрирован: 08 дек 2009, 19:21
Откуда: Й-Ола

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение EdGull » 11 дек 2009, 11:05

а теперь в цифрах пожалуйста, т.е. сколько раз в секунду, яркость указываем в пределах 0-100%
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение к561ЛА7 » 11 дек 2009, 11:43

Плавно мерцаем одним светодиодом
с периодом мерцания 2 сек , яркость изменяется от 0 до 80 %

Тем временем плавно мерцаем другим светодиодом
с периодом мерцания 5 сек , яркость изменяется от 0 до 100 %

Тем временем плавно мерцаем другим светодиодом с периодом мерцания 1 сек , яркость изменяется от 0 до 60 %


Тем временем плавно мерцаем другим светодиодом
с периодом мерцания 10 сек , яркость изменяется от 0 до 100 %


пятым светодиодом мигаем
с частотой 3 герц

шестым - 2 мигания с частой 2 герц - 5 мерцаний
с частой 7 рерц

седьмым - 3 мигания с часто1 0,5 герц - пауза - 5 миганий (3 герц) - пауза
восьмой то горит то не горит случайным образом но не чаще чем с частой 5 герц
Ваш IP-адрес 85.140.5.459 был внесён в черный список и заблокирован. Для получения дополнительной информации перейдите по ссылке http://www.spamhaus.org/query/bl?ip=85.140.5.459.
Аватара пользователя
к561ЛА7
 
Сообщения: 404
Зарегистрирован: 08 дек 2009, 19:21
Откуда: Й-Ола

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 11 дек 2009, 11:46

Вы нарисуйте для себя это в виде графика на временнОй оси - у вас получатся точки по времени когда происходит смена состояний выводов МК - вот это в него и запрограмите - получится простой автомат. т.е.

бесконечный цикл:
сосотояние 8 выходов 1
пауза 1
сосотояние 8 выходов 2
пауза 2

и так далее

некоторые выходы могут быть на 1 и 0 а ШИМ для плавности но тогда паузы будут поменьше.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение к561ЛА7 » 11 дек 2009, 12:07

А для каждой ноги подпрограмку написать никак?
Ваш IP-адрес 85.140.5.459 был внесён в черный список и заблокирован. Для получения дополнительной информации перейдите по ссылке http://www.spamhaus.org/query/bl?ip=85.140.5.459.
Аватара пользователя
к561ЛА7
 
Сообщения: 404
Зарегистрирован: 08 дек 2009, 19:21
Откуда: Й-Ола

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 11 дек 2009, 12:27

Можно конечно, но если вы по-русски не можете алгоритм описать то как вы это будете делать на любом языке пограммирования ?

Принцип автомата тоже широко применяется и достаточно хорош хотя и жрет память иногда. Но в Мега8 за 48 рублей вы его наверняка поместите.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение к561ЛА7 » 11 дек 2009, 13:53

Проблема не в языке, а в понимании.
Как написатиь подпрограмку для каждой ноги если паузы контроллер выполняет для всей программы в целом.
Ваш IP-адрес 85.140.5.459 был внесён в черный список и заблокирован. Для получения дополнительной информации перейдите по ссылке http://www.spamhaus.org/query/bl?ip=85.140.5.459.
Аватара пользователя
к561ЛА7
 
Сообщения: 404
Зарегистрирован: 08 дек 2009, 19:21
Откуда: Й-Ола

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 11 дек 2009, 14:29

Надо найти минималльную паузу между изменениями состояний дискретных выходов и на него настроить прерывание таймера. В этом рерывании сделать несколько счетчиков - свой для каждого канала и по их насчету выполнять переключения.

Для ШИМ аналогично но прерывание свое делать.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение contr » 11 дек 2009, 15:16

Разбить на субпрограммы для каждой ноги не получится. Пока выполняется такая подпрограмма, другие диоды остаются без управления. Придется управлять всем портом, зажигая нужные диоды в определенный момент. Если лишь яркость, то примерно так
Код: Выделить всёРазвернуть
PORT='00000001' яркость первого 100%
delay
PORT='00000011' второго 90%
delay
PORT='00000111' третьего 80%

и т.д. ~ 10 раз, что даст столько же значений спадающей от 1--> 8 leds яркости
Весь цикл должен занять порядка 10мс, чтобы ШИМ сильно видно не было.
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение milkpower » 11 дек 2009, 19:02

вопрос о таймерах, в меге128 инициализирую 16-ти битные таймеры 1 и 3 соотв. регистры у обоих одинаковые, но при отладке выясняется что счетчик 1 прибавляется, а счетчик 3 вычитается. подскажите в каких регистрах может быть ошибка?

Добавлено спустя 1 час 38 минут 53 секунды:
походу это глюк студии, в железе ведет себя по другому
Аватара пользователя
milkpower
 
Сообщения: 217
Зарегистрирован: 25 мар 2009, 13:57
Откуда: Ростов-на-Дону
ФИО: Виктор

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Duhas » 11 дек 2009, 19:04

мб у тебя счетчик в фэйз коррект пвм ушел ) и ходит вверх-вниз ...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12