реклама на сайте
подробности

 
 
> SPI клавиатура, SPI рессурс под N*8 кнопок!
Мур
сообщение Jul 5 2006, 08:41
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



tort.gif В 1999 году, когда AVR только начинался боролись за каждую ножку. Как-то само собой получилось оригинальное решение на 8 кнопок. Идея понятна,-прогон унарного нолика по сдвиговому регистру. Поскольку аппаратно след нажатия собирается сам в регистре приёма,-программа предельно проста. Каждый это сделает легко, зная SPI...Ну а дальше 1533ИР31,-на 24 кнопки(как пример!)
Удобно, что разъём под SPI программирование-это уже и под клаву...
Рекомендую при плотном рессурсе!!! 1111493779.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 14)
rezident
сообщение Jul 5 2006, 10:03
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Если это на отдельный SPI, то да, нормально. А если на этом SPI еще какое-то устройство, то в данной схеме на линии считывания не хватает буфера с Z-состоянием и входом разрешения.
Go to the top of the page
 
+Quote Post
Gall
сообщение Jul 5 2006, 10:11
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 35
Регистрация: 4-07-06
Пользователь №: 18 578



Я делел аналогичное решение на 4 кнопки и 12 светодиодов (всего два регистра). Провод от кнопок завел на прерывание и сканировал только при возникновении оного. За счет этого паразитное мигание светодиодов было только в момент нажатия кнопки и очень ненадолго.
Go to the top of the page
 
+Quote Post
upc2
сообщение Jul 5 2006, 11:40
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063



Еще 10 лет назад заставил 84 рик управлять ВВ79.
64 клавиши + 16 разрядный дисплей.
Go to the top of the page
 
+Quote Post
Kopa
сообщение Jul 5 2006, 11:49
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Может на данный предмет стоит
пролистнуть книгу Шевкопляса "Микропроцессорные структуры и решения"
Как работать с кнопками много решений при нехватке линий ввода/вывода

P.S. Название книги мог немного перевратьsmile.gif
Go to the top of the page
 
+Quote Post
Мур
сообщение Jul 5 2006, 11:57
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Ха! Это классика! biggrin.gif Тут речь об использовании свободного рессурса.. Причём встроенный механизм SPI облегчает програмное обслуживание! Традиционные клавиатуры Х*У сьедают память пространства кода и ВРЕМЯ выполнения...Тут не надо напрягаться. cranky.gif Только фпаг нажатия контролируй...
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jul 5 2006, 13:17
Сообщение #7


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(Мур @ Jul 5 2006, 07:41) *
В 1999 году, когда AVR только начинался боролись за каждую ножку. Как-то само собой получилось оригинальное решение на 8 кнопок. Идея понятна,-прогон унарного нолика по сдвиговому регистру. Поскольку аппаратно след нажатия собирается сам в регистре приёма,-программа предельно проста. Каждый это сделает легко, зная SPI...Ну а дальше 1533ИР31,-на 24 кнопки(как пример!)
Удобно, что разъём под SPI программирование-это уже и под клаву...


Отличная идея! Её можно распространить на использование матричных кнопок. Скажем, ставите второй столбец с кнопками (матрица 8 х 2) и мультиплексер на 2, который переключается с помощью SS. При необходимости, можно поставить мультиплексер, который переключается от фронта SS и т.п. Логика программы немного усложнится, конечно.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
vesago
сообщение Jul 6 2006, 06:43
Сообщение #8


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



Спасибо! Применю по случаю.
Go to the top of the page
 
+Quote Post
Мур
сообщение Jul 6 2006, 07:18
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



excl.gif ***Как-то само собой получилось ,говоришь???***(Сам себе! tongue.gif )ХА!
Для полноты картины уместно подробнее расписать. Смотрю, народ умняки гоняет, потому и решил ещё раз повторить, что тут главное ИДЕЯ!
Стояли у меня для кормёжки катодов 4х семисегментных индикаторов пара ИР16(100мА!) на выходе SPI. Тут и ключи для перебора анодов...(Сразу предупреждаю, что в цикле сдвига все ключи отключаются,-подъём уровня на стыке между ИР16ми!!!)
Как всегда заказчику захотелось шось нажать... В итоге доп резистор и диодики по числу кнопок.
Програмка ненамного усложнилась, ну и индикаторы чуть туше стали. Вот так и было....
Ну а сейчас biggrin.gif у SPI появилась буферизация данных, регистры ТРIС595 от TI(для индикации) под боком. Ваяй!!!
При SPI-буферизации можно сгородить последовательный тендем отдельно индикация и клава без вынужденного гашения на все 16 бит(0xfe+cod_indication)...В приёмнике---> 0xкод нажатия+хх
Как говоритя,-нет предела совершенству!!!
Понятно, что здесь задействуется не только SPI...
Go to the top of the page
 
+Quote Post
Dibor
сообщение Jul 8 2006, 16:23
Сообщение #10


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 12-04-06
Из: Haifa
Пользователь №: 16 042



Это не SPI подключение, но тоже позволяет подключить 16 кнопок по 2 (3 с интераптом) проводам.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 8 2006, 19:12
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Мур @ Jul 5 2006, 11:41) *
...боролись за каждую ножку.

ADC есть почти у всех. К нему его-же опорник через R/2R резисторную матрицу и все это ОДИН вывод.
Кто меньше :-).


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jul 8 2006, 19:57
Сообщение #12


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Не больше восьми кнопок тока sad.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 8 2006, 20:13
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(GetSmart @ Jul 8 2006, 22:57) *
Не больше восьми кнопок тока sad.gif

Если эта ремарка по поводу использования ADC, то количество кнопок ограничено разрядностью и точностью ADC, что для 8-12 битовых ADC массово используемых в контроллерах позволяет фиксировать заметно больше 8 кнопок.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jul 8 2006, 20:33
Сообщение #14


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



zltigo
Если не секрет, то сколько можно сделать кнопок?


Цитата
Кто меньше :-).

Меньше будет на общей шине I2C через PCF8574 или PCF8575.

Кто меньше?


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Jul 8 2006, 20:46
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Например, 3х3
[url=http://www.ustr.net/electronics/akeys.shtml[/url]
а в автоаудио от Панасоника видал 21 кнопу на АЦПwink.gif


--------------------
aka Vit
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 12:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01495 секунд с 7
ELECTRONIX ©2004-2016