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

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

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

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

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

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

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

 
Опции темы
Непрочитано 06.01.2012, 17:32  
alvadep
Почётный гражданин KAZUS.RU
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

А меня вполне устраивает следующий алгоритм (подпрограмма):
- проверка PINa (кнопки), по результату - установка/сброс флага переноса;
- сдвиг буферного регистра через перенос;
- сравнить буферный регистр с 0 или 255 (зависит от того, какое состояние надо отловить);
- если равно, то кнопка нажата (отжата).
Смысл в том, что здесь 8-ми кратное подтверждение состояния пина (если дребезг, то в буферном регистре всех 0 или 1 подряд не будет с очень большой вероятностью и, следовательно, состояние кнопки не определится пока все переходные процессы не устаканятся). Не обязательно проверять 8 раз подряд. Можно обращаться к этому алгоритму (подпрограмме) с каким-то интервалом.
К недостаткам можно отнести то, что на каждую кнопку нужен свой буферный регистр.
Реклама:
alvadep вне форума  
Непрочитано 06.01.2012, 17:41  
pinco
Гражданин KAZUS.RU
 
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
pinco на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от Pajatel Посмотреть сообщение
...извиняюсь за неграматность, а это как? ..просто впустую крутим проц и больше ничего он в это время не делает?!
Ну да , просили пример без прерываний - так я привел его , и как раз именно так здесь и считаются выдержки .Прерывания - отданы на другие функции , и можно конечно вклинить было сюда , не стал , и к тому же прерывания для других функций и не мелкие - до сотен мкс , но и выдержки передачи по кабелю еще больше - приличные - кабель 2,5 - метра а передача на килогерцах небыстрая организована - так что даже если прерывания - эти микросекундные, от других функций - и стопорят на время их обработки сам счет в TIME - но ни на надежность связи это ,ни на реакцию кнопок - не влияет ,сбоев нет , и визуально на глаз тоже все быстро очень происходит ,никаких тормозов незаметно , на кнопки реакция системы мгновенная сразу , так что и прерываний нет на кнопках , и нормальная их обработка есть ,ну еще и вывод инфы в индикаторы попутно .
Что-то типа SPI , можно сказать , сделал , только другого формата , и по своему протоколу обмена .
__________________
Короче асма кода нет !

Последний раз редактировалось pinco; 06.01.2012 в 17:58.
pinco вне форума  
Непрочитано 06.01.2012, 17:47  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от alvadep Посмотреть сообщение
К недостаткам можно отнести то, что на каждую кнопку нужен свой буферный регистр.
Зачем?
Код нажатой кнопки(кнопок).
Только тогда надо реагировать на изменение состояния порта и сохранять предыдущее.
omercury вне форума  
Непрочитано 06.01.2012, 17:58  
Pajatel
Прописка
 
Аватар для Pajatel
 
Регистрация: 04.12.2010
Сообщений: 243
Сказал спасибо: 9
Сказали Спасибо 51 раз(а) в 32 сообщении(ях)
Pajatel на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от pinco Посмотреть сообщение
Ну да , просили пример без прерываний - так я привел его
..ну на счёт прерываний я ничего не говорил, хотелось бы поуневерсальней, а с прерыванием или без... это как получится..
У меня в подпрограмме для LCD встроены такие задержки по 3мкс и то я на них косо посматриваю... вообще стараюсь избегать такого типа задержек, на то он и асм а не си
Pajatel вне форума  
Непрочитано 06.01.2012, 18:09  
pinco
Гражданин KAZUS.RU
 
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
pinco на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от Pajatel Посмотреть сообщение
..ну на счёт прерываний я ничего не говорил, хотелось бы поуневерсальней, а с прерыванием или без...
Да нет суперуниверсальных решений типа раз и навсегда изобретенного велосипеда ,говорили ж об этом ,есть масса общих схемных и алгоритмических решений , но в каждом конкретном случае подойдет какое-то конкретное одно из них решение под то железо какое там Вы сделали , а то и вовсе свое собственное оригинальное легче сделать (или написать) .Ну и зачем эту суперуниверсальность-то искать ?
__________________
Короче асма кода нет !

Последний раз редактировалось pinco; 06.01.2012 в 18:16.
pinco вне форума  
Непрочитано 06.01.2012, 18:25  
pinco
Гражданин KAZUS.RU
 
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
pinco на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от Pajatel Посмотреть сообщение
..
У меня в подпрограмме для LCD встроены такие задержки по 3мкс и то я на них косо посматриваю... вообще стараюсь избегать такого типа задержек, на то он и асм а не си
Задержки для LCD если они нужны по датачету на этот LCD - необходимы и их нужно обязательно строго выдерживать , а не смотреть на них косо, чтобы LCD мог нормально работать в своем режиме, это мое мнение , а избегать задержек применяя асм а не С это не туда , и на С тоже можно сделать почти без задержек , вопрос в том а надо ли ? И потом - чтобы не бояться задержек - соотносите сами величины задержек с быстротой процессов в Вашей системе - то есть может оказаться что такие задержки настолько малы что системе в общем они как укус комара , а Вы их все стремитесь поголовно уменьшить или исключить совсем в идеале - так может это совсем и не нужно , вот я к чему .
__________________
Короче асма кода нет !

Последний раз редактировалось pinco; 06.01.2012 в 18:35.
pinco вне форума  
Непрочитано 06.01.2012, 18:29  
Pajatel
Прописка
 
Аватар для Pajatel
 
Регистрация: 04.12.2010
Сообщений: 243
Сказал спасибо: 9
Сказали Спасибо 51 раз(а) в 32 сообщении(ях)
Pajatel на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от pinco Посмотреть сообщение
Да нет суперуниверсальных решений типа раз и навсегда изобретенного велосипеда
..конечно нету, но так хочется Вот сейчас, в моём проекте, заканчиваются пины, думаю кнопки совместить с lcd и вот прикидываю, потянет мой алгоритм совместную работу или облажается... пока не пробовал поженить, теоретически прикидывал, вродь как должен, может правд придётся немного диодиков подкинуть...
Pajatel вне форума  
Непрочитано 06.01.2012, 18:40  
pinco
Гражданин KAZUS.RU
 
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
pinco на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от Pajatel Посмотреть сообщение
..конечно нету, но так хочется Вот сейчас, в моём проекте, заканчиваются пины, думаю кнопки совместить с lcd и вот прикидываю, потянет мой алгоритм совместную работу или облажается... пока не пробовал поженить, теоретически прикидывал, вродь как должен, может правд придётся немного диодиков подкинуть...
Попробуйте , либо как вариант - переключать некоторые информационные выводы AVR-а внешним коммутатором при выводе в LCD и при вводе инфы с кнопок , пока как идея , предлагаю , хотя не видя что там у Вас конкретно заложено по схеме - трудно что либо сразу подходящее посоветовать .
А может проще взять просто контроллер с большим количеством ног , да и не заморачиваться с этим совмещением вообще ? Попробуйте и это .У Вас на каком сейчас контроллере , на котором нехватка ног ,там все планируется ?
__________________
Короче асма кода нет !

Последний раз редактировалось pinco; 06.01.2012 в 18:47.
pinco вне форума  
Непрочитано 06.01.2012, 20:56  
Pajatel
Прописка
 
Аватар для Pajatel
 
Регистрация: 04.12.2010
Сообщений: 243
Сказал спасибо: 9
Сказали Спасибо 51 раз(а) в 32 сообщении(ях)
Pajatel на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Ну вот подготовил свой код. Работает как по мне отличненько.Там же прикрепил структурку для большей ясности. Просьба камнями не закидывать, учусь всёж Если чё не ясно, спрашивайте.
Сообщение от pinco Посмотреть сообщение
У Вас на каком сейчас контроллере
ATmega88
Вложения:
Тип файла: zip knopk.ZIP (59.9 Кб, 52 просмотров)
Pajatel вне форума  
Непрочитано 06.01.2012, 21:20  
roma9112
Гражданин KAZUS.RU
 
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
roma9112 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

А вот я схемку собирал, где идет и опрос кнопок и управление дисплеем...
Правда исходников нет, просто готовое повторил.
Миниатюры:
Нажмите на изображение для увеличения
Название: sch_lcf_16f628a_AvxMx v2.0.GIF
Просмотров: 73
Размер:	78.8 Кб
ID:	30107  
roma9112 вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите начинающему (PIC16F84A). Slava-martyn Микроконтроллеры, АЦП, память и т.д 11 09.09.2010 21:55
помогите начинающему по WinAVR umkamaks Микроконтроллеры, АЦП, память и т.д 4 05.05.2010 21:01
Помогите начинающему! kolira Микроконтроллеры, АЦП, память и т.д 6 30.01.2010 15:22
Помогите советом начинающему eler Делимся опытом 64 11.09.2008 17:28
Помогите начинающему!!!! sma-etu Микроконтроллеры, АЦП, память и т.д 2 13.12.2006 18:31


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot