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

 
 
> Клавиатура 3 линии 6 кнопок на линиях АРМ, возможно ли реализовать
prottoss
сообщение Jul 18 2008, 13:54
Сообщение #1


Гуру
******

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



Привет всем! Встала необходимость реализовать подобную клаву (на 3 линиях 6 кнопок) на МК AT91SAM7X128 в связи с отсутствием свободных линий ВВ. Алгоритм ясен и легко реализуем, к примеру, на AVR. НО есть сомнения, что такое возможно соорудить на вышеназванном камне. Кто нибудь строил подобную клавиатуру? Прилагаю рисунок:
Код
GPIOA-----x------------x-------------Key4-----GND
_              |             |
_           Key1       Key3
_              |             |
GPIOA-----x-------------|-------------Key5-----GND
_              |             |
_           Key2         |
_              |             |
GPIOA-----x------------x-------------Key6-----GND


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
YAM
сообщение Jul 18 2008, 16:47
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 7-07-04
Из: Ukraine
Пользователь №: 291



Можно вообще одной ногой все кнопки обрабатывать, если она - вход АЦП... smile.gif


--------------------
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jul 18 2008, 17:02
Сообщение #3


Гуру
******

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



Цитата(YAM @ Jul 19 2008, 00:47) *
Можно вообще одной ногой все кнопки обрабатывать, если она - вход АЦП... smile.gif
Можно, но я пытаюсь обсудить то, что написано в заголовке темы. Другие варианты в данном случе не приемлемы.


--------------------
Go to the top of the page
 
+Quote Post
Deka
сообщение Jul 19 2008, 08:08
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 248
Регистрация: 18-07-06
Из: Сочи
Пользователь №: 18 890



Цитата(prottoss @ Jul 18 2008, 21:02) *
Можно, но я пытаюсь обсудить то, что написано в заголовке темы. Другие варианты в данном случе не приемлемы.


Вот так у меня организован опрос блока джамперов для AVR на ассемблере. Может пригодится...

Код
[font="Courier"]; PORT D
;
; bModeB1 ------0 -2- 0---+
;                         |
;               3     1   |
;                         |
; bModeB2 ------0 -4- 0---+
;                         |
;               5     1   |
;                         |
; bModeB3 ------0 -6- 0---+
;                        _|_
;
; Выбор времени работы клапана
; Возможные значения: 10, 20, 30, 40, 50 или 60 секунд.
;
; bModeB1, bModeB2 и bModeB3 подтянуты к напряжению питания при помощи внутренних резисторов МК.
; Перемычка может занять одно из 7-ми положений.
; Если bModeB1, bModeB2 и bModeB3 не замкнуты на землю и не замкнуты между собой - выбран режим № 1
; Если bModeB1 замкнут перемычкой на "землю" - выбран режим № 2
; Если bModeB2 замкнут перемычкой на "землю" - выбран режим № 4
; Если bModeB3 замкнут перемычкой на "землю" - выбран режим № 6
; Если bModeB2 замкнут перемычкой с bModeB1 - выбран режим № 3
; Если bModeB2 замкнут перемычкой с bModeB3 - выбран режим № 5
;
;.def  ModeB  = R20  ; Режим работы B (10, 20, 30, 40, 50 или 60 секунд)
;
GetTimeB:
;---------------------------------------;
_TestBM2:             ; Тестирование линии B1 - режим № 2
   sbic PinD, bModeB1 ; Пропустить следующую команду, если bModeB1 = 0
   rjmp _TestBM4      ; Иначе перейти к тестированию линии B2 - режим № 4
   ldi  Temp, 20      ; Выбран режим № 2 - 20 секунд
   rjmp _GetTimeB     ; Выход
_TestBM4:             ; Тестирование линии B2 - режим № 4
   sbic PinD, bModeB2 ; Пропустить следующую команду, если bModeB2 = 0
   rjmp _TestBM6      ; Иначе перейти к тестированию линии B3 - режим № 6
   ldi  Temp, 40      ; Выбран режим № 4 - 40 секунд
   rjmp _GetTimeB     ; Выход
_TestBM6:             ; Тестирование линии B3 - режим № 6
   sbic PinD, bModeB3 ; Пропустить следующую команду, если bModeB3 = 0
   rjmp GetExTimeB    ; Иначе тестируем линии B2 & B1 - режим № 3
   ldi  Temp, 60      ; Выбран режим № 6 - 60 секунд
   rjmp _GetTimeB     ; Выход
;---------------------------------------;
GetExTimeB:           ; *** ВХОД В РАСШИРЕННЫЙ РЕЖИМ ***
   cbi  PortD, bModeB2; Установить логический 0 на выходе bModeB2
   sbi  DDRD, bModeB2 ; Установить bModeB2 как выход
   rjmp PC+1          ; Подождать установки уровня
;-------------------------------;
_TestBM3:             ; Тестирование линии B2 & B1 - режим № 3
   sbic PinD, bModeB1 ; Пропустить, если bModeB1 = 0 - режим № 3
   rjmp _TestBM5      ; Иначе тестируем линии B2 & B3 - режим № 6
   ldi  Temp, 30      ; Выбран режим № 3 - 30 секунд
   rjmp _GetExTimeB   ; Выход
_TestBM5:             ; Тестирование линий B2 & B3 - режим № 5
   sbic PinD, bModeB3 ; Пропустить, если bModeB3 = 0 - режим № 5
   rjmp _TestBM1      ; Иначе тестируем линии B1 & B2 & B2 - режим № 1
   ldi  Temp, 50      ; Выбран режим № 5 - 50 секунд
   rjmp _GetExTimeB   ; Выход
_TestBM1:             ; Тестирование линий B1 & B2 & B3 - режим № 1
   ldi  Temp, 10      ; Выбран режим № 1 - 10 секунд
;-------------------------------;
_GetExTimeB:          ; *** ВЫХОД ИЗ РАСШИРЕННОГО РЕЖИМА ***
   cbi  DDRD, bModeB2 ; Установить bModeB2 как вход
   sbi  PortD, bModeB2; Установить логический 1 (подтягивающий резистор) для bModeB2
;---------------------------------------;
_GetTimeB:
   ret
;[/font]
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- prottoss   Клавиатура 3 линии 6 кнопок на линиях АРМ   Jul 18 2008, 13:54
- - HARMHARM   Что-то не очень понятная схема. А соорудить скорее...   Jul 18 2008, 14:28
|- - prottoss   Цитата(HARMHARM @ Jul 18 2008, 22:28) Что...   Jul 18 2008, 14:31
|- - Sergio66   Цитата(prottoss @ Jul 18 2008, 18:31) Что...   Jul 18 2008, 14:50
- - zltigo   Цитата(prottoss @ Jul 18 2008, 15:54) лег...   Jul 18 2008, 14:39
- - uriy   Вроде должно работать! Только с нажатием неско...   Jul 18 2008, 14:43
- - Dog Pawlowa   Цитата(prottoss @ Jul 18 2008, 16:54) При...   Jul 18 2008, 14:58
|- - prottoss   Цитата(Dog Pawlowa @ Jul 18 2008, 22:58) ...   Jul 18 2008, 15:56
|- - Dog Pawlowa   Цитата(prottoss @ Jul 18 2008, 18:56) А з...   Jul 19 2008, 16:36
|- - prottoss   Цитата(Dog Pawlowa @ Jul 20 2008, 00:36) ...   Jul 19 2008, 17:29
|- - Dog Pawlowa   Цитата(prottoss @ Jul 19 2008, 20:29) ......   Jul 19 2008, 18:06
- - proba   последовательно всеми Key стоит ставить резисторы ...   Jul 19 2008, 08:45
- - _Pasha   RE: Клавиатура 3 линии 6 кнопок на линиях АРМ   Jul 19 2008, 11:01
- - defunct   Цитата(prottoss @ Jul 18 2008, 16:54) При...   Jul 19 2008, 21:22
|- - zltigo   Цитата(defunct @ Jul 19 2008, 23:22) и по...   Jul 20 2008, 08:58
|- - defunct   Цитата(zltigo @ Jul 20 2008, 11:58) 1. Пр...   Jul 20 2008, 17:37
- - navy2000   А может поставить 74xx597(или аналогичный), на вхо...   Jul 21 2008, 08:35
- - KAlex   Вот схемка(PCAD2002) 3 линии - 8 кнопок и св.диодо...   Jul 21 2008, 11:50
- - prottoss   Цитата(KAlex @ Jul 21 2008, 19:50) Вот сх...   Jul 21 2008, 12:06
- - prottoss   Драйвер написал. Все отлично работает... НО для ме...   Jul 23 2008, 17:02
- - dENIM   Цитата(prottoss @ Jul 23 2008, 20:02) Дра...   Jul 23 2008, 17:38


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

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 00:48
Рейтинг@Mail.ru


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