|
Подключение клавиатуры к атмега32 |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 18)
|
Jun 4 2012, 07:21
|
Участник
  
Группа: Свой
Сообщений: 462
Регистрация: 2-04-07
Из: Иркутск
Пользователь №: 26 695

|
В дополнение к подсказке от _Артём_ Цитата(Kruftin @ Jun 4 2012, 01:47)  … Но а готовый код для матричной клавиатуры может кто встречал? По ссылке, которую я привёл в посте#2, слева от описания апнотов, есть значки "листочек" (PDF file) и "диск" (ZIP file). Если Вам нужен пример рабочего кода, то нужно нажать на значок "диск", ваш К.О.
|
|
|
|
|
Jun 6 2012, 06:36
|
Частый гость
 
Группа: Свой
Сообщений: 168
Регистрация: 8-10-08
Из: РФ Смоленск
Пользователь №: 40 764

|
Рекомендую прочитать статью А. Самарина в журнале "Схемотехника" №11 за 2001 год "Интерфейсы с клавиатурой". Про клавиатуры (матричные и не только) очень хорошо написано. Ещё нечто подобное описано в этом радиолюбительском блоге http://chipenable.ru/index.php/how-connect...-to-micros.html.
|
|
|
|
|
Jun 11 2012, 11:31
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 27-04-09
Из: Крым
Пользователь №: 48 340

|
Цитата(Kruftin @ Jun 3 2012, 09:56)  Подскажите схему подключения самой простой клавиатуры 4 на 3 к микроконтроллеру атмега32(где поставить диоды и какие) ну и код желательно на си, чтобы было предусмотрено нажатие нескольких клавиш одновременно. Ну и посоветуйте какую-нибудь модель клавиатуры. Понимаю что прошу много, но надеюсь на знающих людей). Посмотрите здесь рабочий пример с пояснениями и исходниками
|
|
|
|
|
Jun 15 2012, 15:14
|

Частый гость
 
Группа: Участник
Сообщений: 115
Регистрация: 30-05-11
Из: Екатеринбург
Пользователь №: 65 365

|
Вот такая вот схемка думаю покатит для кнопок(изображение 1)? А еще можно ли использовать светодиоды подав на них питание, а на микроконтроллере соответствующий вывод порта ставить на выход в логическую "1" для выключения светодиода и в логич. "0" для включения? Резистор само собой рассчитал для тока в 20 мА.
Сообщение отредактировал Kruftin - Jun 15 2012, 15:40
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 15 2012, 17:02
|

Частый гость
 
Группа: Участник
Сообщений: 115
Регистрация: 30-05-11
Из: Екатеринбург
Пользователь №: 65 365

|
Ну там написано, что на портах A0-A7 суммарный ток не более 100 мА. Ну вот если 4 порта у меня выставлены в 0(по ним потечет по 20мА), а два в единичку, то получается, что по портам потечет 80мА или 80мА + мА с двух других выводов? Если у меня 35 ног из 40 у атмеги 32 задействованы, правда на проц течет ток из внешней среды только от 4 светодиодов, остальной ток на выводах формируется процессором. А если на процессоре выводы выставлены на вход, то тогда если на них идет напряжение, то их следует учитывать? Т.е. надо складывать ток и на портах которые выставлены на вход и на тех что выставлены на выход?
Сообщение отредактировал Kruftin - Jun 15 2012, 17:09
|
|
|
|
|
Jun 15 2012, 17:39
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(Kruftin @ Jun 15 2012, 20:02)  Ну вот если 4 порта у меня выставлены в 0(по ним потечет по 20мА) Ток необязательно будет 20 ма, он будет не более 20 ма: например к порту подключен светодиод с резистором 1000 ом к +5 В, то ток будет 5 ма. Цитата(Kruftin @ Jun 15 2012, 20:02)  А если на процессоре выводы выставлены на вход, то тогда если на них идет напряжение, то их следует учитывать? Т.е. надо складывать ток и на портах которые выставлены на вход и на тех что выставлены на выход? Зависит от того как настроен вход: например вход настроен как Z, то ток определяется сопротивлением входа (десятки килоом).
|
|
|
|
|
Jun 15 2012, 18:15
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(Kruftin @ Jun 15 2012, 21:06)  Это как настроить вход как Z? Ну с током примерно понял, припаяю резисторы побольше. Можно и не настраивать, так как это исходное состояние после сброса. Но если нужно перенастроить в процессе работы, то вход в Z-State если PORTn.pin=0 и DDRn.pin=0. Код // настройка PA1 в Z-state DDRA&=~1; PORTA&=~1;
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|