Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

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

 
Опции темы

Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Непрочитано 12.04.2011, 00:27  
igel_izh2126
Гражданин KAZUS.RUN
 
Регистрация: 09.12.2007
Сообщений: 535
Сказал спасибо: 57
Сказали Спасибо 53 раз(а) в 45 сообщении(ях)
igel_izh2126 на пути к лучшему
По умолчанию Re: Отследить короткое и продолжительное нажатие кнопки в фонаре. Как???

Сообщение от omercury Посмотреть сообщение
Имелся в виду цифровой компаратор сравнения внутри модуля таймера в режиме PWM.
надеюсь высплюсь и завтра смогу понять эту фразу
аналогичный алгоритм у мня реализован, только плавное регулирование достало быстро, сделал 5%, 30%, 60%, 100%
5% на случай если батарейка умерла напрочь а светить хоть как то надо
Реклама:
igel_izh2126 вне форума  
Непрочитано 12.04.2011, 00:45  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Отследить короткое и продолжительное нажатие кнопки в фонаре. Как???

Всё точно также, как в аналоговом компараторе. Возьмём к примеру 8ми битный таймер. Счётчик таймера считает от "0" до "255" - это "пила" генератора - 1 вход компаратора. Есть регистр сравнения - опорное напряжение - 2 вход компаратора. Пока в счётчике таймера значение меньше опоры - на выходе "0". Как только цифры сравнялись - компаратор переключается - на выходе устанавливается "1". Когда счётчик таймера перекидывается из 255 в 0 - на выходе снова "0". Цифровой ШИМ.
omercury вне форума  
Непрочитано 13.04.2011, 11:38  
poligon_85
Временная регистрация
 
Аватар для poligon_85
 
Регистрация: 11.04.2011
Сообщений: 54
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
poligon_85 на пути к лучшему
Восклицание Re: Отследить короткое и продолжительное нажатие кнопки в фонаре. Как???

Сообщение от omercury Посмотреть сообщение
Вот именно. Пока статус не установлен, изменить статус невозможно. Замкнутый круг.
Как это не установлен??? Он при запуске устанавливается в ноль
Код:
// глобальная переменная
volatile bit state = 0;
poligon_85 вне форума  
Непрочитано 13.04.2011, 16:19  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Отследить короткое и продолжительное нажатие кнопки в фонаре. Как???

Сообщение от poligon_85 Посмотреть сообщение
Как это не установлен??? Он при запуске устанавливается в ноль
Код:
// глобальная переменная
volatile bit state = 0;
Он не установлен - он сброшен
И как по-Вашему должно выполниться условие
Код:
if (state) {                        // и проверяем условие короткого нажатия
?
omercury вне форума  
Непрочитано 13.04.2011, 17:15  
oleg_harp
Прописка
 
Регистрация: 25.08.2007
Сообщений: 193
Сказал спасибо: 11
Сказали Спасибо 57 раз(а) в 33 сообщении(ях)
oleg_harp на пути к лучшему
По умолчанию Re: Отследить короткое и продолжительное нажатие кнопки в фонаре. Как???

To poligon_85, держите. Будут вопросы, задавайте. По Вашему тех. заданию, только яркость регулируется через максимум в ноль за время ~2 сек. Atmega8, Proteus 7.7 SP2.
Вложения:
Тип файла: rar Kazus.rar (57.6 Кб, 95 просмотров)

Последний раз редактировалось oleg_harp; 13.04.2011 в 23:13. Причина: Убрал в исходнике небольшой не принципиальный косячок
oleg_harp вне форума  
Непрочитано 13.04.2011, 18:05  
igel_izh2126
Гражданин KAZUS.RUN
 
Регистрация: 09.12.2007
Сообщений: 535
Сказал спасибо: 57
Сказали Спасибо 53 раз(а) в 45 сообщении(ях)
igel_izh2126 на пути к лучшему
По умолчанию Re: Отследить короткое и продолжительное нажатие кнопки в фонаре. Как???

Сообщение от omercury Посмотреть сообщение
Всё точно также, как в аналоговом компараторе. Возьмём к примеру 8ми битный таймер. Счётчик таймера считает от "0" до "255" - это "пила" генератора - 1 вход компаратора. Есть регистр сравнения - опорное напряжение - 2 вход компаратора. Пока в счётчике таймера значение меньше опоры - на выходе "0". Как только цифры сравнялись - компаратор переключается - на выходе устанавливается "1". Когда счётчик таймера перекидывается из 255 в 0 - на выходе снова "0". Цифровой ШИМ.
сразу видно кто на кого учился
вы видимо по части электроники, поэтому везде кажуться компараторы
а я по части программирования и сетей, мне в программах кажуться только программы, без компараторов
но суть понял
igel_izh2126 вне форума  
Непрочитано 13.04.2011, 20:28  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Отследить короткое и продолжительное нажатие кнопки в фонаре. Как???

Сообщение от igel_izh2126 Посмотреть сообщение
везде кажуться компараторы
Ну тогда организуйте программный ШИМ без аппаратного компаратора - получится с программным, но компаратором!
от слова "compare" - сравнение.

Сообщение от igel_izh2126 Посмотреть сообщение
но суть понял
Это главное.
Просто помню недавно Вы ковырялись с ОУ.

Последний раз редактировалось omercury; 13.04.2011 в 20:31.
omercury вне форума  
Непрочитано 14.04.2011, 13:24  
poligon_85
Временная регистрация
 
Аватар для poligon_85
 
Регистрация: 11.04.2011
Сообщений: 54
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
poligon_85 на пути к лучшему
Вопрос Re: Отследить короткое и продолжительное нажатие кнопки в фонаре. Как???

Сообщение от omercury Посмотреть сообщение
Он не установлен - он сброшен
И как по-Вашему должно выполниться условие
Код:
if (state) {                        // и проверяем условие короткого нажатия
?
Если state == 1 то делаем одно, иначе, т.е. если state == 0 (или не равно 1) то другое.
Как раз под иначе у нас и попадает
Код:
// глобальная переменная
volatile bit state = 0;
Почему это не правильно то????? Хоть убейте не понимаю

Последний раз редактировалось poligon_85; 14.04.2011 в 13:35.
poligon_85 вне форума  
Непрочитано 14.04.2011, 13:42  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Отследить короткое и продолжительное нажатие кнопки в фонаре. Как???

Хороший тон программирования - не использовать длинных операций в прерываниях. Лучше всего быстро выполнить какое-нибудь сравнение и поднять флаг. В основном цикле опросить флаг, сбросить и выполнить задачу. Когда у вас будет три десятка задач, вы с ума сойдете с этими прерываниями, которые найнут перекрывать друг друга.
Easyrider83 вне форума  
Непрочитано 14.04.2011, 14:03  
OlegNZH
Почётный гражданин KAZUS.RUN
 
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Отследить короткое и продолжительное нажатие кнопки в фонаре. Как???

Но приоритеты останутся, а вот с ума сойти - это ТОЧНО!(насчёт 3 десятка- не пробовал, и с тремя можно на стенку полезьть) (оффтоп)
OlegNZH вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книги dosikus Электронная библиотека 11242 29.12.2015 23:45
Как правильно отследить импульс sdsrem Микроконтроллеры, АЦП, память и т.д 8 17.08.2010 21:28
[Решено] Третье Послание Человечеству lelkanet Отвлекитесь, эмбеддеры! 201 06.01.2010 00:33


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


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