кто разбирается в коде посмотрите хоть что то я правильно сделал или нет.#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <avr/eeprom.h>
unsigned char my_y;
EEMEM uint16_t ee_zn, ee_zns; /* переменная размером в 2 байта в EEPROM
volatile char pwm_counter,my_y,button1, button = 0;
// Обработчик прерывания int0
ISR(SIG_INTERRUPT0)
{_delay_us(50);
if((PIND & (1 << PD2))==0)
{_delay_us(50);
if((PIND & (1 << PD0))==0)
}
GIFR = (1< 63)
{
PORTB = 0x00;
pwm_counter = 0;
}
if (pwm_counter > my_y) PORTB |= (1 << PB0);
}
// Главная функция
int main (void)
{
DDRB |= (1 << PB0); // выходы
PORTB = 0x00;
DDRD |= (0 << PD3)|(0 << PD2)|(0 << PD1)|(0 << PD0); // входы
PORTD |= (1 << PD2)|(1 << PD1)|(1 << PD0)|(1 << PD3); // подключаем подтягивающие резисторы
TIMSK |= (1 << TOIE0); // разрешение прерывания по таймеру0
TCCR0 |= (1 << CS00);
MCUCR |= (0 << ISC00)|(1 << ISC01); // прерывание по заднему фронту INT0(по спаду импульса)
GIFR |= (1 << INTF0); // очищаем флаг внешнего прерывания
GICR |= (1 << INT0); // разрешаем внешние прерывания INT0
sei(); //глобально разрешаем прерывания
while(1) // первый режим
{
my_y = eeprom_read_byte(&ee_zn); // считали значение из EEPROM
{ my_y--; if(my_y < 1) my_y = 1; }
else
{ my_y++;}
if((PIND & (1 << PD1))==0) // если нажата кнопка энкодера
{
while((PIND & (1 << PD1))==0){} // ждем отпускания кнопки энкодера
eeprom_write_byte(&eeprom_var, ee_zn ); // записываем 1 значение в EEPROM;
}
while(2) ((PIND & (1 << PD3))==0) //второй режим пока нажата кнопка
{
my_y = eeprom_read_byte(&ee_zns); // считали 2 значение из EEPROM
{ my_y--; if(my_y < 1) my_y = 1;}
else
{ my_y++; }
if((PIND & (1 << PD1))==0) // если нажата кнопка энкодера
{
while((PIND & (1 << PD1))==0){} // ждем отпускания кнопки энкодера
eeprom_write_byte(&eeprom_var, ee_zns ); // записываем 2 значение в EEPROM;
}
}
Шим регулятор яркости светодиодов на atmega8
Re: Шим регулятор яркости светодиодов на atmega8
пару дней уже сижу разбираюсь с написанием прошивки, так до конца и не пойму принцип опроса энкодера, вообщем вот что примерно смог изобразить
- Реклама
Re: Шим регулятор яркости светодиодов на atmega8
а в протеусе работает?
Re: Шим регулятор яркости светодиодов на atmega8
не знаю не пробовал,но мне почему то кажется что там что то не правильноtitoFF писал(а):а в протеусе работает?
Re: Шим регулятор яркости светодиодов на atmega8
ну так надо проверить в работе, сразу все ясно станет. На первых порах протеус очень помогает. И ещё- не надо цитировать сообщение, если оно предыдущее, за это могут наказать.
Re: Шим регулятор яркости светодиодов на atmega8
Не надо цитировать сообщение целиком, смысл в этом.не надо цитировать сообщение, если оно предыдущее
Последний раз редактировалось YS Чт сен 05, 2013 18:08:14, всего редактировалось 1 раз.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
- Реклама
Re: Шим регулятор яркости светодиодов на atmega8
П.С. Когда копируете исходный код в форум, пользуйтесь тегом code, он так намного лучше воспринимается.
Re: Шим регулятор яркости светодиодов на atmega8
возникло пару вопросов, как правильно описать условие для цикла со вторым режимом, т.е. чтобы цикл второй цикл выполнялся только когда кнопка зажата? и второй это как в программе указывается на каком порте вывода мы изменяем значения?
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Шим регулятор яркости светодиодов на atmega8
Нифига подобного, если только не писать каждый раз =phptitoFF писал(а):П.С. Когда копируете исходный код в форум, пользуйтесь тегом code, он так намного лучше воспринимается.
Код: Выделить всё
[code=php]
#define c 5
main ();На выходе так:
Код: Выделить всё
#define c 5
main (); Re: Шим регулятор яркости светодиодов на atmega8
Вообщем с прошивкой более менее разобрался, но как всегда возник другой вопрос, на схеме у меня всего один диод и с ним все понятно, но вот вопрос как все сделать если вместо диода будет кусок диодной ленты и тут тоже бы вроде еще все более менее просто, подключаем постоянный источник +12 и через транзистор на минус шим, но вот что делать если нет возможности подключить шим на минус?
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Шим регулятор яркости светодиодов на atmega8
Да хоть как можно включать можно и минус напрямую, а плюс через транзистор. главное чтобы схема включения была подходящая. Транзистор то какой?
И где же готовая прошивка? интересно посмотреть.
И где же готовая прошивка? интересно посмотреть.
В поисках истины человек развивается.
Re: Шим регулятор яркости светодиодов на atmega8
я понимаю что без разниц, но как подключить вывод мк к плюсу диодной ленты на которую нужно 12 в? как все соберу, если заоаботает тогда и выложу прошивку
p.s. Каждый раз задаю тут вопрос, но ни на один не получил конкретного ответа
p.s. Каждый раз задаю тут вопрос, но ни на один не получил конкретного ответа
Re: Шим регулятор яркости светодиодов на atmega8
Специфика технических форумов. Здесь могут только пнуть в нужном направлении.Naman_S писал(а):Каждый раз задаю тут вопрос, но ни на один не получил конкретного ответа
Re: Шим регулятор яркости светодиодов на atmega8
Это специфика этого форума а не всех технических
Re: Шим регулятор яркости светодиодов на atmega8
http://www.getchip.net/posts/062-kak-po ... -nagruzku/Naman_S писал(а):как подключить вывод мк к плюсу диодной ленты на которую нужно 12 в?
http://sxemy.103mb.ru/poleviki/39-podkl ... lleru.html
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Шим регулятор яркости светодиодов на atmega8
Может нужно конкретнее вопросы задавать.Naman_S писал(а):p.s. Каждый раз задаю тут вопрос, но ни на один не получил конкретного ответа
Ваше >> (но вот что делать если нет возможности подключить шим на минус?)
можно по разному понять.
а вот( Подскажите схемку для подключения ленты для подачи +12в шим с помощью полевого транзистора). уже будет точнее ответ.
И если задают уточняющие вопросы, то можно бы и ответить.Вдруг следующий ответ будет конкретным.
Ps. сообщений всего 14, а уже жаловаться, что ни одного конкретного ответа не получил.Как то странно выглядит. Никто никому ничего не обязан. Все на посильной помощи.
Re: Шим регулятор яркости светодиодов на atmega8
думаю все мои вопросы достаточно понятны, и в вопросе про подключение я не имел обязательно ввиду транзистор, вопрос был именно кто как знает это можно сделать, хоть с помощью молотка и лома, так что не нужно говорить про не точность вопросов, а по поводу 14 сообщений и что из этого, т.е. про то что никто ничего конкретного не написал нужно было упомянуть только после 2000 сообщений
Re: Шим регулятор яркости светодиодов на atmega8
Вопрос с управлением через плюс все еще не решен
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Шим регулятор яркости светодиодов на atmega8
vitalik_1984 может я конечно что то не понимаю, но сколько не пробую собирать такие схемки в протеусе нифига не работает, тупо идет 12 в и все, поэтому и спрашиваю, если можешь собери подобную рабочую схемку в протеусе и скинь, может я где то косячу
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Шим регулятор яркости светодиодов на atmega8
Я для чего две недели назад спрашивал какой нужен транзистор полевой или обычный, для того, чтобы можно было посоветовать схему.
А в ответ кувалдой и зубилом
Можно ведь обычный применить или полевой. Транзистор обычный легче подключать, но есть недостатки- не очень большой ток, к примеру.
Можно применить полевой транзистор, но для мощных полевых транзисторов нужен драйвер.
А в ответ кувалдой и зубилом
Можно ведь обычный применить или полевой. Транзистор обычный легче подключать, но есть недостатки- не очень большой ток, к примеру.
Можно применить полевой транзистор, но для мощных полевых транзисторов нужен драйвер.


