|
Имеется клавиатура 3 строки на 4 столбца. Помогите организовать сканирование, что нужно объявить(equ и def) и как это сделать. Уже замучался. Перечень и номера кнопок:
1. Строка
1. [M]- Меню переключает режимы
2. [S]- Пуск/Стоп
3. [+]- Изменение установок таймера +
4. [-]- Изменение установок таймера -
2. Строка
5. [1]- канал №1
6. [2]- канал №2
7. [3]- канал №3
8. [4]- канал №4
3. Строка
9. [5]- канал №5
10.[6]- канал №6
11.[U]- изменение частоты вверх
12.[D]- изменение частоты вниз
Сжема подключения
PC0 PC4 PC5 PC6
| | | |
PA7--[M]--[S]--[+]--[-]
| | | |
PA6--[1]--[2]--[3]--[4]
| | | |
PA5--[5]--[6]--[U]--[D]
Процедуры на которые должен совершаться переход принажатии на кнопки:
rjmp kbMode ; Меню
rjmp kbOkMode ; Пуск/Стоп
rjmp kbPlus ; Таймер +
rjmp kbMinus ; Таймер -
rjmp kbObject1 ; канал 1
rjmp kbObject2 ; канал 2
rjmp kbObject3 ; канал 3
rjmp kbObject4 ; канал 4
rjmp kbObject5 ; канал 5
rjmp kbObject6 ; канал 6
rjmp kbU ; частота вверх
rjmp kbD ; частота вниз
При нажатии на любую из кнопок по обработке прерывания по адресу $002 rjmp IntKey т.е по прерыванию обработанному INT1 (строки схемно через диоды заведены на это прерывание) Попадаем на процедуру IntKey как все это обработать. И еще при нажатии на любую кнопку должен звучать сигнал процедура Beep. Помогите описать сканирование по строкам и столбцам в соответсвии с функциями. Заранее благодарен всем кто окажет помощь.
E-mail: info@telesys.ru