Например TDA7294

Форум РадиоКот • Просмотр темы - Шим регулятор яркости светодиодов на atmega8
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 05:54:03

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


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



Начать новую тему Ответить на тему  [ Сообщений: 106 ]  1, , , , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Пн авг 26, 2013 23:54:29 
Открыл глаза

Зарегистрирован: Пн авг 26, 2013 23:24:01
Сообщений: 60
Рейтинг сообщения: 0
Вообщем давно хотел сделать шим регулятор, но сам не особо разбираюсь с микроконтроллерами, но вот в интерене нашел что то похожее на то что я хотел и решил переделать это под нужное мне дело. Но только не все понимаю, вот и решил попросить помощи здесь.

Вот собственно то что я нашел
Вложение:
366-03.GIF [34.84 KiB]
Скачиваний: 1916
здесь управление rgb лентой с помощью энкодора
Код:
// Принцип работы энкодера. Управляем RGB светодиодом с помощью энкодера

#include <avr/io.h>

#include <avr/interrupt.h>

#include <util/delay.h>

 

volatile char pwm_counter,pwm_r,pwm_g,pwm_b, button = 0;

 

// Обработчик прерывания int0

ISR(SIG_INTERRUPT0)

{_delay_us(50);

if((PIND & (1 << PD2))==0)

{_delay_us(50);

if((PIND & (1 << PD0))==0)

{

 

if(button == 0) // уменьшаем красный цвет

{ pwm_r--; if(pwm_r < 1) pwm_r = 1; }

 

if(button == 1) // уменьшаем зеленый цвет

{  pwm_g--; if(pwm_g < 1) pwm_g = 1;}

 

if(button == 2) // уменьшаем синий цвет

{ pwm_b--; if(pwm_b < 1) pwm_b = 1; }

}

 

else

{

 if(button == 0) // увеличиваем красный цвет

{ pwm_r++; if(pwm_r > 64) pwm_r = 64; }

 

if(button == 1) // увеличиваем зеленый цвет

{ pwm_g++; if(pwm_g > 64) pwm_g = 64; }

 

if(button == 2) // увеличиваем синий цвет

{ pwm_b++; if(pwm_b > 64) pwm_b = 64; }

 

}

}

GIFR = (1< 63)

{

PORTB = 0x00;

pwm_counter = 0;

}

if (pwm_counter > pwm_r) PORTB |= (1 << PB0);

if (pwm_counter > pwm_g) PORTB |= (1 << PB1);

if (pwm_counter > pwm_b) PORTB |= (1 << PB2); 

}

 

// Главная функция

 

int main (void)

{

DDRB |= (1 << PB5)|(1 << PB4)|(1 << PB3)|(1 << PB2)|(1 << PB1)|(1 << PB0); // выходы

PORTB = 0x00;

DDRD |= (0 << PD2)|(0 << PD1)|(0 << PD0); // входы

PORTD |= (1 << PD2)|(1 << PD1)|(1 << PD0); // подключаем подтягивающие резисторы

 

TIMSK |= (1 << TOIE0); // разрешение прерывания по таймеру0

TCCR0 |= (1 << CS00);

 

MCUCR |= (0 << ISC00)|(1 << ISC01); // прерывание по заднему фронту INT0(по спаду импульса)

 

GIFR |= (1 << INTF0);     // очищаем флаг внешнего прерывания

GICR |= (1 << INT0);      // разрешаем внешние прерывания INT0

 

sei(); //глобально разрешаем прерывания

 

pwm_r = 64; // начальные установки цветов, min яркость

pwm_g = 64;

pwm_b = 64;

 

while(1)

{   

if((PIND & (1 << PD1))==0) // если нажата кнопка

{

while((PIND & (1 << PD1))==0){} // ждем отпускания кнопки

button++;

_delay_ms(100);

if(button == 3)

button = 0;



if(button == 0)

PORTB |= (1 << PB3);

if(button == 1)

PORTB |= (1 << PB4);

if(button == 2)

PORTB |= (1 << PB5);

}

}


автор так же написал что программа не совсем рабочая.
Ну я хочу сделать так чтобы шим управлял яркостью всего лишь одного светодиода, но в двух режимах и чтобы настройки яркости сохранялись при отключении питания.
т.е схемка примерно получается такая
Вложение:
366-033.gif [27.59 KiB]
Скачиваний: 1269


Т.е. принцип работы такой при включении питания загорается диод и с помощью энкодера регулируется яркость, при нажатии на энкодер значение записывается, но при замыкании контакта на sb2 переходит в другой режим и тут уже своя яркость и так же настраивается и записывается, при размыкании снова переходит в начальный режим, вот как то так. Начал пытаться править код вот что пока получается
Код:
// Принцип работы энкодера. Управляем  светодиодом с помощью энкодера
#include &lt;avr/io.h&gt;
#include &lt;avr/interrupt.h&gt;
#include &lt;util/delay.h&gt;
#include &lt;avr/eeprom.h;

unsigned char z,s;
unsigned char eeprom_var EEMEM; // определяем переменную в EEPROM
 
volatile char pwm_counter,pwm_r,pwm_g,pwm_b, button = 0;
 
// Обработчик прерывания int0
ISR(SIG_INTERRUPT0)
{_delay_us(50);
if((PIND & (1 << PD3))==0)
{
 
if(button == 0) // первый режим убавляем яркость
{ pwm_r--; if(pwm_r < 1) pwm_r = 1; }
 
if(button == 1) // второй режим убавляем яркость
{  pwm_g--; if(pwm_g < 1) pwm_g = 1;}
 
}
 
else
{
 if(button == 0) // первый режим прибавляем яркость
{ pwm_r++; if(pwm_r > 64) pwm_r = 64; }
 
if(button == 1) // второй режим прибавляем яркость
{ pwm_g++; if(pwm_g > 64) pwm_g = 64; }
 
}
}
GIFR = (1< 63)
{
PORTB = 0x00;
pwm_counter = 0;
}
if (pwm_counter > pwm_r) PORTB |= (1 << PB0);
if (pwm_counter > pwm_g) PORTB |= (1 << PB1);

}
 
// Главная функция
 
int main (void)
{
DDRB |= (1 << PB4)|(1 << PB3)|(1 << PB0); // выходы
PORTB = 0x00;
DDRD |= (0 << PD3)|(0 << PD2)|(0 << PD1)|(0 << PD0); // входы
PORTD |= (1 << PD2)|(1 << PD1)|(1 << PD0)|(1 << PD3); // подключаем подтягивающие резисторы
z = eeprom_read_byte(&eeprom_var); // считываем байт из EEPROM и помещаем его в "z"
s = eeprom_read_byte(&eeprom_var); // считываем байт из EEPROM и помещаем его в "s"
TIMSK |= (1 << TOIE0); // разрешение прерывания по таймеру0
TCCR0 |= (1 << CS00);
 
MCUCR |= (0 << ISC00)|(1 << ISC01); // прерывание по заднему фронту INT0(по спаду импульса)
 
GIFR |= (1 << INTF0);     // очищаем флаг внешнего прерывания
GICR |= (1 << INT0);      // разрешаем внешние прерывания INT0
 
sei(); //глобально разрешаем прерывания
 
pwm_r = z; // установки цветов из памяти
pwm_g = s;

 
while(1)
{   
if((PIND & (1 << PD3))==0) // если включен второй режим
{
button++;
_delay_ms(100);

if(button == 0)
PORTB |= (1 << PB3);
if(button == 1)
PORTB |= (1 << PB4);
}

while(2)
{   
if((PIND & (1 << PD1))==0) // нажатие кнопки
{
while((PIND & (1 << PD1))==0){} // ждем отпускания кнопки
_delay_ms(100);

if(button == 0)
eeprom_write_byte(&eeprom_var, z); // записываем "z" в EEPROM
if(button == 0)
eeprom_write_byte(&eeprom_var, s); // записываем "s" в EEPROM


Это все что я пока смог сделать


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Вт авг 27, 2013 00:45:12 
Мучитель микросхем
Аватар пользователя

Карма: 4
Рейтинг сообщений: 50
Зарегистрирован: Ср фев 15, 2012 09:00:34
Сообщений: 472
Откуда: Киев
Рейтинг сообщения: 0
Обязательно на энкодере и обязательно не на CVAVR?
Если нужен конкретно работающий девайс, то можно было бы сделать на ATtiny13(Мега8 уж слишком жирная для такого дела) и потенциометре, оцифровывающимся АЦП... Ну или на кнопках на худой конец.
Хотя, если нужен конкретно аппарат, то можно и на tl494, и на генераторе пилы на трех транзисторах и компараторе. :))

Помочь могу только с кодом под Codevision(под энкодер тоже), за помощью с тем ужасом на кральях ночи из шапки обращайся к юзеру "YS", он у нас фанат пацановских компиляторов с вырвиглазным кодом. :)))

_________________
I'm on a huge rock, flying through space!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Вт авг 27, 2013 06:57:24 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 0
А обязательно на программном ШИМе городить, может аппаратные все же удобнее?
С энкодером дела не имел поэтому именно в его опросе помочь не могу, разве что идеей. Хранить и изменять можно только текущую мощность (в случае аппаратного ШИМа прямо в регистре OCRxy), по нажатию кнопки сохранять эту мощность в ПЗУ, изменять адрес и загружать оттуда другую.
Грубо говоря, так
Код:
#define addr1 0x0000 //адрес первой программы
#define addr2 0x0002 //адрес второй программы

unsigned char modeaddr=addr1;

OnChangeValue(){ //событие при изменении яркости
 OCRxy=value;
}
OnKeyPress{ //событие при нажатии на кноку
 eeprom_write_word(modeaddr00000,OCRxy);
 if(modeaddr==addr1) modeaddr=addr2; else modeaddr=addr1;
 OCRxy=eeprom_read_word(modeaddr);
}


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Вт авг 27, 2013 07:34:09 
Говорящий с текстолитом
Аватар пользователя

Карма: 11
Рейтинг сообщений: 143
Зарегистрирован: Пт дек 28, 2012 21:56:46
Сообщений: 1518
Откуда: St. Petersburg
Рейтинг сообщения: 0
Eugene.Negrobov, никому, никому не нужен тут ваш CVAVR :)))

_________________
Изображение only pure true norwegian blackx Изображение


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Вт авг 27, 2013 07:57:23 
Открыл глаза

Зарегистрирован: Пн авг 26, 2013 23:24:01
Сообщений: 60
Рейтинг сообщения: 0
Когда то пробовал attiny тоже что то подобное делал, мне показалось что ним все как то по сложнее. Да именно на энкодоре нужно, потенциометр это совсем не то, а по поводу шима городить начал на программном потому что изначально эту схемку делали на нем, я просто решил под себя переделать


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Вт авг 27, 2013 16:51:04 
Мучитель микросхем
Аватар пользователя

Карма: 4
Рейтинг сообщений: 50
Зарегистрирован: Ср фев 15, 2012 09:00:34
Сообщений: 472
Откуда: Киев
Рейтинг сообщения: 2
blackx писал(а):
Eugene.Negrobov, никому, никому не нужен тут ваш CVAVR

Воу, воу, я просто хотел помочь, полегче будь с человеками. :shock:

_________________
I'm on a huge rock, flying through space!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Вт авг 27, 2013 18:22:16 
Опытный кот

Карма: 3
Рейтинг сообщений: -47
Зарегистрирован: Пт авг 12, 2011 09:14:27
Сообщений: 833
Откуда: Млечный путь/Земля/РФ/Екатеринбург
Рейтинг сообщения: 0
По схеме предложение:
Сдвинуть виры с 2.3.4 ног на 5.6.11

_________________
Разработал:
-BLDC
-ФУОЗ/МПСЗ
-SMART BMS
-ECU/EDC на STM32F4(43%)+CPLD(57%)
-Моноинжектор на ATSAMD20G16
-контроллер эффектов для RGB LED ленты
-умные часы/обратный счет/секундомер
-устройство измерения емкости АКБ


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Вт авг 27, 2013 19:08:45 
Открыл глаза

Зарегистрирован: Пн авг 26, 2013 23:24:01
Сообщений: 60
Рейтинг сообщения: 0
pcb писал(а):
По схеме предложение:
Сдвинуть виры с 2.3.4 ног на 5.6.11


зачем?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Пт авг 30, 2013 12:35:50 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 1244
Зарегистрирован: Вс мар 29, 2009 22:09:05
Сообщений: 7517
Рейтинг сообщения: 0
Цитата:
за помощью с тем ужасом на кральях ночи из шапки обращайся к юзеру "YS"


Привет-привет, звали? Я уже тут. :)))

***

Naman_S, про энкодер можно почитать тут.

Про ШИМ можно почитать тут.

Дерзайте. :beer: :)

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Пн сен 02, 2013 09:16:40 
Открыл глаза

Зарегистрирован: Пн авг 26, 2013 23:24:01
Сообщений: 60
Рейтинг сообщения: 0
YS где почитать про все это я давно нашел, сюда обратился именно за помощью, со всем этим чтением я могу и год разбираться.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Пн сен 02, 2013 19:38:20 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 1244
Зарегистрирован: Вс мар 29, 2009 22:09:05
Сообщений: 7517
Рейтинг сообщения: 1
Цитата:
со всем этим чтением я могу и год разбираться


Мои ссылки, видимо, не смотрели.

По первой ссылке есть подробное описание того, как преобразовать угол поворота энкодера в значение переменной, с примером. По второй ссылке подробное руководство по настройке ШИМа, с демопрограммой. Вам осталось только совместить их - в демопрограмме по второй ссылке заменить обработку переменной ШИМ для плавного мигания на опрос энкодера с присвоением полученного с него значения регистру ШИМа.

Или и код за Вас написать? :dont_know:

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Пн сен 02, 2013 21:37:32 
Открыл глаза

Зарегистрирован: Пн авг 26, 2013 23:24:01
Сообщений: 60
Рейтинг сообщения: 0
YS Я уже просмотрел кучу подобных программ в том числе и ваши ссылки, где то есть одно где то другое, но чтобы все что нужно мне совместить нужно разбираться в этом поболее чем я, повторяюсь но именно поэтому я здесь и написал чтобы хоть кто нибудь помог а не показал как пользоваться гуглом, я специально выложил код который я уже попытался хоть как то видоизменить под свои нужды, но пока никто и нигде не подсказал иду я хотя бы в правильном направлении или нет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Пн сен 02, 2013 22:20:08 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 12
Рейтинг сообщений: 67
Зарегистрирован: Пт авг 27, 2010 05:57:06
Сообщений: 2482
Откуда: Тюмень
Рейтинг сообщения: 0
Naman_S , вам ведь уже предложили сделать все это дело на аппаратном уровне.
и еще вот это
Цитата:
Ну я хочу сделать так чтобы шим управлял яркостью всего лишь одного светодиода,

не слишком совпадает со схемой, которую вы предоставили. И вот этим кодом.
Код:
 volatile char pwm_counter,pwm_r,pwm_g,pwm_b,


Прежде всего внесите ясность в техническое задание, и уже потом можно будет разбирать код и вообще делать что либо. Лично мне мало интересно разбираться с кодом, который не соответствует формулировке задания. Это аналогично написанию нового кода, только дольше.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Вт сен 03, 2013 08:14:11 
Открыл глаза

Зарегистрирован: Пн авг 26, 2013 23:24:01
Сообщений: 60
Рейтинг сообщения: 0
Вы посмотрели верхнюю часть моего поста, там я указал что я нашел в интернете, а дальше я уже добавил схему которую я перерисовал немного под то что мне нужно, и строку кода Вы посмотрели тоже из того что было изначально, я оставил только. pwm_r и pwm_g, хотя уже понимаю что зря, думаю нужно оставить только pwm_r и изменять двух. разных режимах, только не знаю как это реализовать, а по поводу программного и аппаратного уровня тоже уже писал, что мне без разницы, я просто использую то что уже нашел в интернете


Последний раз редактировалось Аlex Вт сен 03, 2013 21:34:56, всего редактировалось 2 раз(а).
-


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Вт сен 03, 2013 21:24:53 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 12
Рейтинг сообщений: 67
Зарегистрирован: Пт авг 27, 2010 05:57:06
Сообщений: 2482
Откуда: Тюмень
Рейтинг сообщения: 0
Как же так? Я один прочитал вот это
Naman_S писал(а):
Начал пытаться править код вот что пока получается
Код:
// Принцип работы энкодера. Управляем  светодиодом с помощью энкодера
#include &lt;avr/io.h&gt;
#include &lt;avr/interrupt.h&gt;
#include &lt;util/delay.h&gt;
#include &lt;avr/eeprom.h;

unsigned char z,s;
unsigned char eeprom_var EEMEM; // определяем переменную в EEPROM
 
volatile char pwm_counter,pwm_r,pwm_g,pwm_b, button = 0;

Или у вас еще до этого места руки не дошли?(вроде самое начало текста и с этого должно начинаться написание программы.)
Желательно показывать действующий проект,в котором вы работаете, а не то что якобы уже поменяли, а на самом деле все как было в прототипе так и показываете.

Если всего лишь один светодиод, то есть уже прекрасная тема c примером рабочим для tiny 13 и нужно всего лишь прикрутить туда енкодер, если так нужно. Кнопки очень легко в два режима назначить.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Ср сен 04, 2013 08:57:04 
Открыл глаза

Зарегистрирован: Пн авг 26, 2013 23:24:01
Сообщений: 60
Рейтинг сообщения: 0
vitalik_1984 это да мой косяк, просмотрел, но думаю это тот случай когда эта ошибка ни на что не влияет. И хотел бы попросить пожалуйста не нужно всяких ссылок на разные проекты, где можно что то взять или уже к тому прикрутить что то, если бы для меня это было все так просто я бы не стал создавать тему. Мне именно нужна помощь людей разбирающихся. в коде, потому что проектов я просмотрел кучу, но в большинстве отсутствует запись переменных в память, а это основная моя загвоздка. Грубо говоря моя программа должна состоять из двух циклов, один из которых это когда нажата кнопка и это я еще более менее могу сделать, но вот с парой вопросов так никак и не разберусь: 1 это то что в изначальном коде три переменных со значением яркости и каждая выводится на свой порт вывода, мне же на сколько я понимаю нужно оставить только одну переменную и брать ее значение из памяти.
Пока писал ответ дотумкал как это примерно сделать, но все таки остался тогда вопрос правильно ли в коде описан опрос энкодера и работа шим?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Ср сен 04, 2013 13:47:27 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 12
Рейтинг сообщений: 67
Зарегистрирован: Пт авг 27, 2010 05:57:06
Сообщений: 2482
Откуда: Тюмень
Рейтинг сообщения: 0
Я не разбирался с кодом, хотел, чтобы вы самостоятельно что то сказали что вам нужно и возможно выложили более свежий проект. Желательно дополнив проектом протеуса.
И не нужно отказываться читать разные примеры. иногда они составляют основу кода. Не нужно зацикливаться на одном варианте.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Ср сен 04, 2013 18:07:29 
Встал на лапы

Зарегистрирован: Пт авг 02, 2013 07:20:04
Сообщений: 100
Рейтинг сообщения: 0
На скорую руку сваял в CVAVR для tiny13. Аппаратный шим, обработка энкодера по прерыванию.
Код:
#include <tiny13.h>
#include <delay.h>
#define BRIGHT OCR0A

interrupt [EXT_INT0] void ext_int0_isr(void)
{
        if (PINB.4==0)
                {
                BRIGHT++;
                }
        else
                {
                BRIGHT--;
                }

}


void main(void)
{
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif


PORTB=0x10;
DDRB=0x01;


TCCR0A=0x83;
TCCR0B=0x01;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;


GIMSK=0x40;
MCUCR=0x02;
GIFR=0x40;


#asm("sei")

while (1)
      {
     

      };
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Ср сен 04, 2013 18:43:18 
Открыл глаза

Зарегистрирован: Пн авг 26, 2013 23:24:01
Сообщений: 60
Рейтинг сообщения: 0
titoFF писал(а):
На скорую руку сваял в CVAVR для tiny13. Аппаратный шим, обработка энкодера по прерыванию.

только не tiny13, по двум причинам первая это потому что уже все куплено для схемы на меги и вторая это потому что при предыдущем опыте с мегой я просто замучался, возможно тогда брак попался или он сам по себе такой, но я замучался его прошивать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Шим регулятор яркости светодиодов на atmega8
СообщениеДобавлено: Ср сен 04, 2013 19:03:05 
Встал на лапы

Зарегистрирован: Пт авг 02, 2013 07:20:04
Сообщений: 100
Рейтинг сообщения: 0
код легко портировать на мегу. Немного инициализацию изменить. Просто для таких целей мегу использовать слишком шикарно. Это как асфальтоукладчиком тесто на пельмени раскатывать.


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

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


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

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


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

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


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