|
Клавиатура на 6 линиях ввода-вывода, Сколько кнопок максимум можно прицепить |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 23)
|
Aug 5 2005, 05:33
|

Профессионал
    
Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371

|
Если с диодами, то 30. 1-2,1-3,1-4,1-5,1-6 5 кнопок 2-1,2-3,2-4,2-5,2-6 5 кнопок ............................. 6*5=30
--------------------
OrCAD, Altium,IAR, AVR....
|
|
|
|
|
Aug 5 2005, 06:16
|
Частый гость
 
Группа: Свой
Сообщений: 93
Регистрация: 5-08-04
Пользователь №: 452

|
Цитата(arttab @ Aug 5 2005, 08:33) Если с диодами, то 30. 1-2,1-3,1-4,1-5,1-6 5 кнопок 2-1,2-3,2-4,2-5,2-6 5 кнопок ............................. 6*5=30 иммено так
Key.rar ( 53.96 килобайт )
Кол-во скачиваний: 404ещё можно использовать входы с АЦП подключив к ним резистивные делители комутируемые кнопками - в этом случае теоретически количество кнопок будет ограниченно только разрядностью АЦП
|
|
|
|
|
Aug 12 2005, 15:47
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(prottoss @ Aug 5 2005, 11:13) Вообще я наверное не совсем точно поставил вопрос, имелось ввиду без внешних пасивных и активных элементов (резисторов, диодов, шифраторов-дешифраторов и прочих числодробилок). Но сам я пришел к выводу, что не более 15. Счас готовлю страничку по этому поводу у себя на сайте, к понедельнику, думаю выложу Да, без лишних деталей - N*(N-1)/2, что для 6 клавиш даёт 15. А упомянутые 30 - это "то же самое, но с диодами". А страничка - это правильно, так как старые книги мало кто читает :-)
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Aug 14 2005, 12:44
|

Знающий
   
Группа: Свой
Сообщений: 779
Регистрация: 9-10-04
Из: Россия, Пермь
Пользователь №: 828

|
Цитата(yung @ Aug 14 2005, 12:59) Если не трудно, схемку на 15 кнопок нарисуйте или на словах. А то что-то я не догоняю...  Речь идет о том, что каждый из 6 выводов может быть и входом и выходом, т.е. сканирующий ноль может быть на любом выводе, остальные в этот момент подтянуты к лог. ед. Я называю такое включение елочка (впервые применили в изделии "ТЕЛТА-216" на замену "Элетап-2" 7 лет назад) - плюсы при меньшем количестве портов больше кнопок, минусы - надо предусмотреть специальные меры, чтобы не вывести порт из строя. Кстати, то что предлагает prottoss, в его примере не аппаратной, не программной защиты нет.
|
|
|
|
|
Aug 15 2005, 11:00
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(Make_Pic @ Aug 14 2005, 20:44) Речь идет о том, что каждый из 6 выводов может быть и входом и выходом, т.е. сканирующий ноль может быть на любом выводе, остальные в этот момент подтянуты к лог. ед. Я называю такое включение елочка (впервые применили в изделии "ТЕЛТА-216" на замену "Элетап-2" 7 лет назад) - плюсы при меньшем количестве портов больше кнопок, минусы - надо предусмотреть специальные меры, чтобы не вывести порт из строя. Кстати, то что предлагает prottoss, в его примере не аппаратной, не программной защиты нет.
Ну, вот, давайте теперь разберемся, кто из нас чайник... Загляните на мой сайт, на страницу где где дается описание 15 кнопочной клавиатуры с исходниками. Поясню работу на разборе одного цикла: 1. Все линии порта устанавливаются на ввод, с подключенными pull-up резисторами 2. Одна из линий устанавливается на вывод, и в нее пишется 0 3. Считывается состояние порта, при этом в бит с номером сканирующей линий (та что настроена на вывод и с нулем) пишется 1. 4. Идем на начало цикла, если не все линии просканированы Поясните уважаемый Make_Pic, какие "надо предусмотреть специальные меры, чтобы не вывести порт из строя" ????????????? И кто после этого из нас ЧАЙНИК???????????????????????????????????????????? Я вот считаю что как раз сдесь совершенно не надо ни каких мер, ни цента для защиты порта. Все работает как надо - 1 выход, 5 входов ВСЕГДА. С уважением, Андрей
--------------------
|
|
|
|
|
Sep 19 2005, 14:16
|

Профессионал
    
Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264

|
Цитата(prottoss @ Sep 19 2005, 17:46) Цитата(BVU @ Sep 19 2005, 21:40) Цитата(VVL1 @ Sep 19 2005, 17:25) Может я "чайник" - здесь всё правильно - по такой схеме строятся все пульты ДУ для теликов и пр. Но как реализовать декодирование нажатия одновременно двух клавиш? Точнее правильное определение нажатия клавиши из одного столбца. Если пальчики толстые и нажимают сразу2-е клавиши - конфуз может окзаться  Да ведь это зависит от логики программного алгоритма сканирования клавиатуры. Хоть все кнопки нажмите...  Здесь ответ однозначный - двойные нажатия отследить не возможно. Не буду вдаваться в объяснения. Посоветую лишь нарисовать по такой схеме клавиатуру на три линии - три кнопки и попробовать напиать алгоритм декодирования для нажатий более одной кнопки. Сразу говорю, что не получится. А кто видел пульты для теле-видео с двойными нажатиями? :-) Спорить видно бесполезно, но еще раз хочу заметить все зависит от метода сканирования клавиатуры и каким МК. Так что при этом, никто не ввел ограничения, что каждый pin порта не двунапревленный и независимый на ввод запись...? Ведь вопрос ставился: "Вопрос теоретического плана".
--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
|
|
|
|
|
Sep 19 2005, 14:33
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(prottoss) Посоветую лишь нарисовать по такой схеме клавиатуру на три линии - три кнопки и попробовать напиать алгоритм декодирования для нажатий более одной кнопки. При наличии трех линий для трех кнопок отдельной сканирующей линии и не требуется  Нужно лишь три pull-up резистора. Каждая кнопка замыкает свою линию на общий провод. Можно отследить одновременное нажатие хоть двух, хоть всех трех кнопок
|
|
|
|
|
Sep 20 2005, 08:37
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(rezident @ Sep 19 2005, 22:33) Цитата(prottoss) Посоветую лишь нарисовать по такой схеме клавиатуру на три линии - три кнопки и попробовать напиать алгоритм декодирования для нажатий более одной кнопки. При наличии трех линий для трех кнопок отдельной сканирующей линии и не требуется  Нужно лишь три pull-up резистора. Каждая кнопка замыкает свою линию на общий провод. Можно отследить одновременное нажатие хоть двух, хоть всех трех кнопок  Когда я говорил про три кнопки и три линии я лишь проводил аналогию с 6-ю линиями и 15-ю кнопками, и предлагал три линии и три кнопки соеденить как 6 и 15 и попробовать создать алгоритм, отслеживающий одновременные нажатия двух кнопок. Уважаемый rezident, читайте внимательно топик Цитата(VVL1 @ Sep 19 2005, 22:32) Всё звисит от стоимости реализации. Если алгоритм антидребезга + декодирования какая клавиша вдавлена занимает половину памяти контроллера - и 50% МИПСов - это уже очень плохо - если только контроллер не реализует саму задачу клавиатуры Вопрос нужно ставить так: сколько можно реализовать кнопок оптимально, в соотношении трудоёмксть/ресурсоёмкость. Алгоритм антидребезга не зависит от количества кнопок и схемы подключения, он зависит от конструкции кнопок :-) А для декодирования существует много стандартных способов все зависит от программиста, эти способы реализующего. Вобще для решения любой задачи есть миллионы путей, но оптимальных - единицы.
--------------------
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|