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

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

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

 
Опции темы

Задержки при плавной регулировке. Диммер с ДУ

Непрочитано 16.03.2011, 01:59  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

Сообщение от CodeNameHawk Посмотреть сообщение
Если схема не менялась, должна ловиться.
Я про настройки прерываний.
Код:
// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Falling Edge
// INT1: On
// INT1 Mode: Falling Edge
GICR|=0xC0;
MCUCR=0x0A;
GIFR=0xC0;
нету ничего...
Реклама:
omercury вне форума  
Непрочитано 16.03.2011, 15:24  
CodeNameHawk
Вид на жительство
 
Регистрация: 21.10.2009
Сообщений: 349
Сказал спасибо: 181
Сказали Спасибо 65 раз(а) в 57 сообщении(ях)
CodeNameHawk на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

Сообщение от omercury Посмотреть сообщение
Я про настройки прерываний.
Понял, я так досконально не смотрел, только принцип работы.
CodeNameHawk вне форума  
Непрочитано 16.03.2011, 23:15  
mironov
Вид на жительство
 
Регистрация: 07.03.2005
Сообщений: 300
Сказал спасибо: 13
Сказали Спасибо 117 раз(а) в 62 сообщении(ях)
mironov на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

"народ может мне кто подскажет с моим кодом, делаю подобное (проше без пульта ИК), не могу заставить чтобы код кнопки понимал! тема по соседству! "
См. вложение.
Вложения:
Тип файла: zip dimmer_tn2313.zip (170.2 Кб, 61 просмотров)
mironov вне форума  
Непрочитано 17.03.2011, 16:49  
CodeNameHawk
Вид на жительство
 
Регистрация: 21.10.2009
Сообщений: 349
Сказал спасибо: 181
Сказали Спасибо 65 раз(а) в 57 сообщении(ях)
CodeNameHawk на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

Сообщение от mironov Посмотреть сообщение
"народ может мне кто подскажет с моим кодом, делаю подобное (проше без пульта ИК), не могу заставить чтобы код кнопки понимал! тема по соседству! "
Код:
void keyboard(void)
{
mode = 3;
if(PIND.6==0)           //удерживаем Нажали кнопку "-"
	{
		mode=1;             //медленно снижать яркость
	}

if(PIND.5==0)           //удерживаем Нажали кнопку "+"
	{
		mode=2;             //медленно повышать яркость
	}
}
Используйте протеус для "отладки", не для наблюдения "а что тут у меня получилось"

Последний раз редактировалось CodeNameHawk; 17.03.2011 в 16:57.
CodeNameHawk вне форума  
Непрочитано 18.03.2011, 11:56  
mr_smit
Временная регистрация
 
Аватар для mr_smit
 
Регистрация: 14.09.2009
Сообщений: 87
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
mr_smit на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

Сообщение от CodeNameHawk Посмотреть сообщение
Какая длина открывающего тиристор импульса?
И что происходит при 5% яркости, я так понимаю вы подаете открывающий импульс по истечении 0.0095 сек и если длина открывающего импульса больше 0.0005 (0.01-0.0095) будет пропуск.
Длина импульса 100 мкс. Идею понял. Попробую уменьшить до 25-35 мкс.

Сообщение от omercury Посмотреть сообщение
Код:
 if (b_cnt ‹ 9) addr_1 = (addr_1 ‹‹ 1) + 1;   //первый байт - прямой адрес
и
Код:
if (b_cnt ›= 9 && b_cnt ‹ 17) addr_0 = (addr_0 ‹‹ 1) + 1;    //второй байт - инверсный адрес
и так далее...
Сможете объяснить, зачем второй раз проверять счётчик, что он больше или равен 9-ти? То, что меньше Вы уже отсекли первым условием
А вот это не понял. Не соображу. А как иначе то??? И почему второй раз??? Где первый?
mr_smit вне форума  
Непрочитано 18.03.2011, 12:29  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

Нажмите на изображение для увеличения
Название: 2.jpg
Просмотров: 54
Размер:	141.8 Кб
ID:	19889 вот же.
Код:
if (b_cnt ‹ 9) addr_1 = (addr_1 ‹‹ 1) + 1; goto label_1;
if (b_cnt ‹ 17) addr_0 = (addr_0 ‹‹ 1) + 1; goto label_1;
if (b_cnt ‹ 25) cmd_1 = (cmd_1 ‹‹ 1) + 1; goto label_1;
cmd_0 = (cmd_0 ‹‹ 1) + 1;
label_1:
Так не быстрее?

Можно ещё ускорить, но возможно, компилятор это сделает сам...

Последний раз редактировалось omercury; 18.03.2011 в 12:38.
omercury вне форума  
Непрочитано 18.03.2011, 12:38  
mr_smit
Временная регистрация
 
Аватар для mr_smit
 
Регистрация: 14.09.2009
Сообщений: 87
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
mr_smit на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

Всё равно не понимаю.

Если b_cnt, например, равен 5, то это удовлетворяет всем трем условиям:
Код:
if (b_cnt ‹ 9) ;
if (b_cnt ‹ 17);
if (b_cnt ‹ 25);
mr_smit вне форума  
Непрочитано 18.03.2011, 12:42  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

Это в том случае, если после выполнения первого условия проверять остальные. Я не проверяю - условие уже выполнено.

Ладно. Забейте. Пульт работает.
Проблема видимо здесь
PHP код:
/*========================================= УВЕЛИЧЕНИЕ/УМЕНЬШЕНИЕ ЯРКОСТИ =======================================*/

       if (cmd == 0b11111000) {                 // кнопка "Display" - увеличение яркости
          TCCR1B=0x02;
          status++;
          if (status ›= 98) {
и так далее... 

Последний раз редактировалось omercury; 18.03.2011 в 13:01.
omercury вне форума  
Непрочитано 18.03.2011, 14:09  
mr_smit
Временная регистрация
 
Аватар для mr_smit
 
Регистрация: 14.09.2009
Сообщений: 87
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
mr_smit на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

Код:
if (b_cnt ‹ 9) addr_1 = (addr_1 ‹‹ 1) + 1; goto label_1;
if (b_cnt ‹ 17) addr_0 = (addr_0 ‹‹ 1) + 1; goto label_1;
if (b_cnt ‹ 25) cmd_1 = (cmd_1 ‹‹ 1) + 1; goto label_1;
cmd_0 = (cmd_0 ‹‹ 1) + 1;
label_1:
Ну понял в принципе. Но до такой степени считаю не надо заморачиваться. Оставлю как есть. Прием команд четко работает.

Последний раз редактировалось mr_smit; 18.03.2011 в 14:17.
mr_smit вне форума  
Непрочитано 18.03.2011, 14:15  
mr_smit
Временная регистрация
 
Аватар для mr_smit
 
Регистрация: 14.09.2009
Сообщений: 87
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
mr_smit на пути к лучшему
По умолчанию Re: Задержки при плавной регулировке. Диммер с ДУ

Сообщение от omercury Посмотреть сообщение
Проблема видимо здесь
Я об этом и писал. При запуске таймера что то не то. Пробовал делать status = 3 (мало ли близко к 0 что то перекрывается), но нет, то же самое.
mr_smit вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
Нужна схема автоматического закрывания дверей автомобиля при движении Aviasined Электроника средств транспорта 17 28.09.2010 06:14


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


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