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

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

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

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

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

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

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

 
Опции темы
Непрочитано 08.01.2012, 10:15  
DAVE_ELEKTRIK
Прописка
 
Аватар для DAVE_ELEKTRIK
 
Регистрация: 18.10.2010
Адрес: Planet Earth )
Сообщений: 120
Сказал спасибо: 14
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
DAVE_ELEKTRIK на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

На днях думал думал, какой вариант меня-бы устроил!? Я все про эти кнопки для моего проекта, еди его в кювет! (Контроллер, я все таки буду использовать этот же Atmega8515.) Вроде пару пустяков, цепляй к любому пину и строчи программу! Начал с рассмотрения элементарных программ, посмотреть можно выше в моих постах.
Первый вариант без прерываний, второй с прерываниями. Крутил программу и так и сяк, типа - на нажатие, и на отжатие. В этой же теме рассмотрели различные нюансы и т. д. Пока остановился на этом алгоритме:

Потом добавил еще три кнопки в схему. Усложнился алгоритм, соответственно и прога больше. Но опять, меня не устраивает Если захочется штук 20 кнопок навесить на МК, так тогда и пинов не останется. Бороздил просторы нета в поисках моих решений, вариантов тьма! Правда большая часть на С, которого я не знаю, но варианты на ассеблере тоже есть.
Не зря говорил pinco
Цитата:
... - в общем разных вариантов много , только успевай реализовывать .
Остановился пока на клавиатурной матрице 4x4. Есть возможность реализовать часть клавиш например под коды цифр и оставшуюся часть под коды операций. В дальнейшем, даже если и захочу еще больше клавиш, то можно использовать доплогику дешифраторы, чтобы не расходовать пины.
Еще конечно был рассмотрен проект PC AT клавиатуры к AVR, для меня пока темный лес с алгоритмом, хотя даже не знаю, что сразу делать? Рассматривать матрицу 4x4, или сразу в бой PC AT?
Реклама:
__________________
Мозги кипят, ядрить твою валентность!!! Пойду закладывать остальные ингредиенты...
DAVE_ELEKTRIK вне форума  
Непрочитано 08.01.2012, 14:40  
Pajatel
Прописка
 
Аватар для Pajatel
 
Регистрация: 04.12.2010
Сообщений: 243
Сказал спасибо: 9
Сказали Спасибо 51 раз(а) в 32 сообщении(ях)
Pajatel на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от DAVE_ELEKTRIK Посмотреть сообщение
Пока остановился на этом алгоритме:
Данный алгоритм я бы алгоритмом не назвал, это больше напоминает общий принцип опроса кнопки. Видно я чёт пропустил, а если не секрет, зачем вам столько кнопок?
Присмотритесь к варианту
Сообщение от omercury Посмотреть сообщение
Там же проект в Proteus 7.7.
PWM_Key_Led.zip
На мой взгляд его можно брать за основу, немножко доработать и будет опрашивать толпу кнопок.
Мой вариант хорош до 5 кнопок:
Сообщение от Pajatel Посмотреть сообщение
Ну вот подготовил свой код.
knopk.ZIP
Если мне захочется допустим больше 5 кнопок, то скорей всего я модернизирую свой, но это сопряжено с увелечением количества используемых регистров или нужно будет использовать ОЗУ.
PS А вообще, чтоб ощутить проблему, советую склепать тестовую схемку с той же матричной клавой 4х4 и позапускать на ней это "море разных вариантов" что есть в нете, глядишь и действительно отковыряете какой стоящий... или воспользоватся кодом предложенным atmel
appnote AVR240

Последний раз редактировалось Pajatel; 08.01.2012 в 15:29.
Pajatel вне форума  
Непрочитано 08.01.2012, 16:03  
DAVE_ELEKTRIK
Прописка
 
Аватар для DAVE_ELEKTRIK
 
Регистрация: 18.10.2010
Адрес: Planet Earth )
Сообщений: 120
Сказал спасибо: 14
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
DAVE_ELEKTRIK на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от Pajatel Посмотреть сообщение
это больше напоминает общий принцип опроса кнопки.
Правильно подметил, я это имел ввиду - принцип действия, а то что будет выполняться после нажатия, меня сейчас это не интересует.
Сообщение от Pajatel Посмотреть сообщение
А вообще, чтоб ощутить проблему, советую склепать тестовую схемку с той же матричной клавой 4х4
Я так то-же уже думаю. Ковырял на наших и забугровых сайтах PC AT клавиатуры к AVR все проги на С. Да и считанные люди занимаются такими проектами. На ASM-е примеров нет, может пропустил где? Смотрел руководство по применению AVR313: Interfacing the PC AT Keyboard алгоритм вроде простой, но не сейчас... во первых так как я этим не часто занимаюсь, короче долго разбираться и сложно!
Сообщение от Pajatel Посмотреть сообщение
зачем вам столько кнопок?
Сейчас не могу сказать конкретно, так как я не определился с схемой. И тем более пока с AVR-ми на вы.
__________________
Мозги кипят, ядрить твою валентность!!! Пойду закладывать остальные ингредиенты...
DAVE_ELEKTRIK вне форума  
Непрочитано 08.01.2012, 16:38  
Pajatel
Прописка
 
Аватар для Pajatel
 
Регистрация: 04.12.2010
Сообщений: 243
Сказал спасибо: 9
Сказали Спасибо 51 раз(а) в 32 сообщении(ях)
Pajatel на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от DAVE_ELEKTRIK Посмотреть сообщение
PC AT клавиатуры к AVR все проги на С
..ну не обезательно, раньше выкладывал ссылку на сайты где подсматриваю кода, повторю конкретно по теме клавы:
PS2 KEYBOARD EMULATOR FOR 8515
AT KEYBOARD PROGRAM 128
AT/PS2 KEYBOARD PROGRAM
Pajatel вне форума  
Непрочитано 08.01.2012, 17:02  
DAVE_ELEKTRIK
Прописка
 
Аватар для DAVE_ELEKTRIK
 
Регистрация: 18.10.2010
Адрес: Planet Earth )
Сообщений: 120
Сказал спасибо: 14
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
DAVE_ELEKTRIK на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

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

Сообщение от alvadep Посмотреть сообщение
Честно говоря, к схеме из #400 много вопросов.
Цепи переключателя режимов SA (R4, R20-R23).
Если при опросе этих цепей включены внутренние подтягивающие резисторы порта В, то через сопротивление 3к3 не возможно определить состояние LOW. А если внутренняя подтяжка отключена, то, как тогда определить состояние SA3.2? Есть правда вариант использования емкостного эффекта при переключении порта В с выхода на вход, но это, по-моему, бред.
Ессно бред.
Сопротивление внутренних pullUp резисторов порядка 50-100к. При 3к3 внешних чётко фиксируется "0" на входе. На выходы при токе пина 20-25мА они влияния не оказывают.

Сообщение от DAVE_ELEKTRIK Посмотреть сообщение
Не зря говорил pinco
Конечно не зря. Вот тут рассмотрен вариант на ПЛИС. Вариантов масса, осталось выбрать приемлемый для конкретного применения, а чётко понимая алгоритм, несложно сделать и программу.
omercury вне форума  
Непрочитано 09.01.2012, 02:12  
alvadep
Почётный гражданин KAZUS.RU
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от omercury Посмотреть сообщение
Ессно бред.
Сопротивление внутренних pullUp резисторов порядка 50-100к. При 3к3 внешних чётко фиксируется "0" на входе. На выходы при токе пина 20-25мА они влияния не оказывают.
Мои выводы опираются на многолетний опыт использования этих процессоров, и, как правило, экземпляры попадаются не с лучшими параметрами. Внутренние резисторы pull-Up у пиков могут быть в диапазоне 12,5-100к (смотрите datasheet, параметр D070). Так, что при худшем варианте напряжение на ножке порта будет больше 1В, а PIC-процессор такое напряжение уже не однозначно интерпретирует как LOW. Плюс к этому если опрос будет происходить сразу (или через не большое время) после переключения порта с выхода на вход, то будет сказываться еще и емкость пина, т.е. будет влиять предыдущее состояние выхода. Я обычно ставлю резисторы не 3к3, а где-то 470-620 Ом, что тоже не оказывает влияние на выходной сигнал, но зато нет зависимости от разброса параметров процессора.
Кстати AVR в этом плане лучше.
alvadep вне форума  
Непрочитано 09.01.2012, 12:02  
OlegNZH
Почётный гражданин KAZUS.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

AVR- смотря какие ...если 8515 ...хмммм не прав я . Хоть аналогом C52 сделаны, но порт А в 52 AD- там открытые выхода ...подтяжка требовалась...в AVR честные вроде (проверю на днях). в PDF -ALL Ports.
OlegNZH вне форума  
Непрочитано 10.01.2012, 17:00  
DAVE_ELEKTRIK
Прописка
 
Аватар для DAVE_ELEKTRIK
 
Регистрация: 18.10.2010
Адрес: Planet Earth )
Сообщений: 120
Сказал спасибо: 14
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
DAVE_ELEKTRIK на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Есть один вопросик по прерываниям. Для чего нужно сохранять значение из temp-а, а также состояние регистра SREG в стеке.
Пример взят из #399

TIM0_OVF:
PUSH temp ;на всякий случай сохраняем в стеке R16
IN temp, SREG ;и SREG
PUSH temp
.
‹***что то там делаем***›
.
INC Rt_ms ; *** счетчик ms *** 0-255 и по новой
.
POP temp ;Вытаскиваю и востанавливаю R16 и SREG
OUT SREG,temp
POP temp
RETI
__________________
Мозги кипят, ядрить твою валентность!!! Пойду закладывать остальные ингредиенты...
DAVE_ELEKTRIK вне форума  
Непрочитано 10.01.2012, 18:09  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от DAVE_ELEKTRIK Посмотреть сообщение
Есть один вопросик по прерываниям. Для чего нужно сохранять значение из temp-а, а также состояние регистра SREG в стеке.
...
PUSH temp ;на всякий случай сохраняем в стеке R16
Так как далее будет использоваться temp, его содержимое надо сохранить для восстановления после выхода из обработчика.
Цитата:
IN temp, SREG ;и SREG
PUSH temp
Содержимое регистра состояния SREG через теперь свободный (его значение спрятано в стеке) temp тоже сохраняем в стеке (SREG напрямую не пушируется/попится). Это делается для того, чтобы при выходе из обработчика восстановились не только регистры с данными, но и статусный регистр (флаги и прочее). Программа ведь должна продолжать выполняться, словно ее и не прерывали, ни в коем случае ничего не меняя.
Цитата:
POP temp ;Вытаскиваю и востанавливаю R16 и SREG
OUT SREG,temp
POP temp
RETI
В обратном порядке все извлекаем из стека и восстанавливаем статус кво.
__________________
С уважением,
Vic / ut1wpr

Последний раз редактировалось ut1wpr; 10.01.2012 в 18:12.
ut1wpr вне форума  
 

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

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

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, время: 08:58.


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