Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Atmega AVR микроконтроллер Дискретное преобразование Фурье http://www.cyberforum.ru/avr/thread2086532.html
Сразу по теме: устал я ждать ответа на паяльнике спрошу здесь. Вот если потребуется эта тема: http://forum.sxim.net/index.php?showtopys=119463&st=0 Я продублирую последнее сообщение. 29 марта. Пока...
Вопросы по EEPROM Atmega AVR микроконтроллер
Здравствуйте, Работаю с mego32 в avrstudyo. Пишу на С. Подскажите, пожалуйста, по работе с EEPROM, есть несколько вопросов. 1. Есть вот такой кусок кода. Так постоянно вышибает ячейку памяти ROM,...
Atmega AVR микроконтроллер Помогите новичку.
Купил МК atmego32, и программатор usbasp (выход на 10 пинов). Требуется ли доп.питание для прошивки?? Подскажите как правильно все подключить, или поделитесь схемой для подключения программатора....
Atmega AVR микроконтроллер AVR библтотека для SD карты на ассемблере Возникла необходимость сбора данных с USORT и сохранение их на SD карте, затем по необходимости выдача их обратно через СОМ на комп, либо считывание их компом с карты - это не важно. Знаю только... http://www.cyberforum.ru/avr/thread2086529.html
Atmega AVR микроконтроллер ATmega и датчик температуры LM92 http://www.cyberforum.ru/avr/thread2086528.html
Всем привет! Решил потестить пришедший нахаляву от Texas Instruments датчик темпетатуры LM92 (цифровой датчик, общается по I2C, даташит здесь...
напряжение на входе АЦП при отсутствии питания. Atmega AVR микроконтроллер
В одном проекте получается нужно подключать АЦП так, что на входе АЦП даже при отсутствии питания на МК может быть пару вольт. АЦП Подключен по такой схеме. Не будет ли плохо контроллеру...
Atmega AVR микроконтроллер нелинейность АЦП AtMega16?
Пытаюсь использовать AtMiko16 для измерений напряжения. Использую внутренний ИОН(2.56). НО напряжение на Ареф-ноге 2,7, а потолок измерений мк показывается только при 2,8В.(вроде не беда) НО...
Atmega AVR микроконтроллер Глюк AtmelStudio или я чего не доглядел? Шестая студия. При трассировке программы на вот этой строчке unsykned char i,j; struct{ unsykned long bitmask; unsykned char brykht; } tempsortbrykht; .............. // i < maxchanal, т.е.... http://www.cyberforum.ru/avr/thread2086525.html
Atmega AVR микроконтроллер передача по UART 8 байт http://www.cyberforum.ru/avr/thread2086524.html
Добрый день всем! Задача такая: - передать 8 байт в контроллер - распределить по регистрам - сравнить один из байтов с число, если совпадает отправить полученную посылку обратно долго бьюсь,...
Atmega AVR микроконтроллер Питание для ATmega32 Можно ли запитать его через USB?? Или нужно делать шаман-приблуды для понижения тока? http://www.cyberforum.ru/avr/thread2086523.html
dimyurk1978
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,047
0

BAM. Управление яркостью светодиодов.

23.03.2013, 18:57. Просмотров 14963. Ответов 27
Метки (Все метки)

Подкиньте, пожалуйста идей, как лучше сделать. Хочу чтобы параллельно обрабатывалось какое-то кол-во светодиодов. Скажем пусть пока будут 8 штук. В идеале, разбросанные по разным портам. Одним или все портом пока получилось. А вот чтобы несколько,
пока в затруднениях. Сразу хочу сказать, в Си слаб, пишу на асме. Отвечать в алгоритмах.
Что пока получилось: видео

Итак, почему я выбрал BAM. Потому что вроде как требует меньше ресурсов. Как я сделал на данный момент. На видео видно, что работает сразу весь порт. Тут неважно, один светодиод или весь порт. Пока я разбирался как BAM работает. Вроде несложно. Алгоритм у меня следующий получился:
PROC_BAM_CNT_1 - Счетчик сдвигов. Инициализируется в основном цикле числом 7, так как мы закидываем в регистр сравнения нижеупомянутую переменную.

BAM_OCR_VOT - Переменная загружаемая в регистр сравнения восьмибитного таймера 0 или 2. В основном цикле в регистр сравнения закидывается 0b10000000, в переменную закидываем 0b01000000. В прерывании эта переменная закидывается в регистр сравнения и сдвигается вправо.

Для регулировки яркости написал пока простую таблицу от 2 до 255 и обратно до 1.
PROC_BAM_VOT - В этой переменной обрабатываемое на данный момент значение яркости. В основном цикле считали из таблицы значение, в нижеупомянутую переменную закинули указатель на следующее значение. По старшему биту проверили, горит\не горит светодиод. выставили пин, сдвинули влево закинули в переменную. В прерывании как только прошли все 8 битов BAM, cчитывается из таблицы следующее значение.

POINT_BAM_VOT (двухбайтная переменная) - Указатель на следующее значение из таблицы.

Ну а дальше все просто. В основном цикле мы уже завели старшее значение BAM. В прерывании обрабатываются остальные 7 битов BAM, счетчик обнулился, считываем новое значение яркости. Дальше идет по 8 раз.

Ну а на таблице для нескольких светодиодов я споткнулся. Прикидываю как оптимизировать таблицу.

Вернуться к обсуждению:
BAM. Управление яркостью светодиодов.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2013, 18:57
Готовые ответы и решения:

Управление яркостью светодиодов бинарной модуляцией [AVR studio]
Здравствуйте, нужно реализовать эффект на светодиодах с изменением их яркости. Эффект такой:самый...

Управление яркостью лампочки
Здравствуйте. Есть контроллер, который через оптопару и симистор будет управлять яркостью обычной...

Управление яркостью светодиода двумя кнопками на Atmega8
задача была такая но проверить сейчас не на чем может кто посмотреть и сказать правильно я написал...

ATMega16 (ASM). Плавное управление яркостью, генерация звука и отображение на семисегментнике
Всем привет!!! помогите пож-та. у меня такая проблема. необходимо объединить 3 пункта программы и...

Последовательное плавное управление яркостью светодиодов
Нужно написать программку на Atmega48 в CodevisionAVR Используя PORTD 0 1 2 С начало загорается...

27
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru