Специалист
Регистрация: 24.11.2007
Сообщений: 2,644
Репутация: 266
![]() ![]() ![]() |
Цитата:
Aruna Rubasinghe Матричные клавиатуры до сих пор еще применяются в качестве устройств ввода информации в проектах на микроконтроллерах. Обычный способ подключения такой клавиатуры к микроконтроллеру заключается в использовании*нескольких портов ввода/вывода.
Последний раз редактировалось Admin; 30.05.2013 в 09:52.
|
||
Оценка
|
Специалист
Регистрация: 24.06.2012
Адрес: Сочи
Сообщений: 1,586
Репутация: 343
![]() ![]() ![]() ![]() |
Купи соседу бритву Жилет с антистатикой :-) По твоему, например, если сосед электросваркой дуговой увлекается, вокруг никто цифровой техникой не пользуется??? Судя по схеме - один через 3, другой через 4 такта ресетятся, что в динамике почти мгновенно, а про МК ты вообще забываешь при этом, хотя он на несколько порядков сложнее. На крайняк, хотя и существуют фильтры по питанию, но ManualReset никто не запрещал
__________________
Не каждый вор - радиолюбитель, каждый радиолюбитель - вор! ( пословицы и поговорки народов СССР )
|
||
Оценка
|
Знаток
Регистрация: 01.02.2009
Сообщений: 850
Репутация: 153
![]() ![]() |
Две микросхемы, пять резисторов и 10 диодов большая "цена" за экономию пяти выводов микроконтроллера за 12 кнопок. Конечно, можно сказать и за 100 кнопок эта плата. Но можно ли придумать такое устройство на 100 кнопок на микроконтроллере с 8 выводами? Такие устройства, как правило, используют отдельный микропроцессор, обслуживающий клавиатуру и соединяются с основным процессором интерфейсом, используя небольшое количество выводов, минимум один.
Для познавательных целей схема интересна, для практического применения - не уверен.
__________________
Компьютер не подчиняется законам физики. Только в нем глюки возникают из ничего, файлы исчезают в никуда, а объем измеряется в метрах и называется весом. |
||
Оценка
|
Знаток
Регистрация: 12.10.2009
Адрес: Тольятти
Сообщений: 231
Репутация: 87
![]() |
Похоже, никто не понял непостижимой глубины моей эпической сентенции. Схема имеет 12 устойчивых состояний, в каждое из которых может перейти под управлением МК, или под действием помехи. Каждому состоянию будет соответствовать индивидуальная раскладка клавиш. В схеме отсутствуют средства сброса в начальное состояние! Даже после подачи питания!
|
||
Оценка
|
Специалист
Регистрация: 24.06.2012
Адрес: Сочи
Сообщений: 1,586
Репутация: 343
![]() ![]() ![]() ![]() |
Теоретически возможно, значит - желательно предусмотреть, а т.к. аппаратный сброс задействован в схеме, то монтажное ИЛИ +RC-цепочку для питания, но на практике что-то не сталкивался с хаосом в работе ИЕ8
и ещё раз повторю, как бы не встали триггеры, первый счётчик сбросится, за ним - второй, и всё хоккей...Прошла помеха...Да, есть маловероятный шанс, что ты успеешь нажать кнопку до сброса(который есть!) и с такой быстротой...Ну тогда ты -Шаман :-) Да, а по поводу цены вопроса...Разумеется, в проммасштабе, т.е. если всё покупать+монтаж+габариты+и т.д. - то на то и выйдет, но если в загашнике мешок старых микрух, то почему бы на МК не съэкономить?
__________________
Не каждый вор - радиолюбитель, каждый радиолюбитель - вор! ( пословицы и поговорки народов СССР )
Последний раз редактировалось SHUR66; 01.06.2013 в 21:55.
|
||
Оценка
|
Знаток
Регистрация: 12.10.2009
Адрес: Тольятти
Сообщений: 231
Репутация: 87
![]() |
Нет, не "теоретически возможно", а практически и принципиально эта схема не будет работать. Всё будет ОК, только если сброс триггеров произойдет вместе с подачей питания. Тогда после 12 импульсов опроса они вернутся в исходное состояние и синхронизм между схемой и программой сохранится. Но, во-первых, триггеры не обязаны сбрасываться по подаче питания (и на практике встают как попало). И во-вторых, любая помеха изменяет состояние триггеров в одно из 12-ти возможных. В итоге: в схеме не предусмотрена начальная установка состояния и у МК нет какого-либо способа прочитать текущее состояние или установить любое известное состояние. Поэтому синхронизм между программой и схемой будет наступать с вероятностью 8%. Неплохо для игрового автомата
![]() |
||
Оценка
|
Специалист
Регистрация: 24.06.2012
Адрес: Сочи
Сообщений: 1,586
Репутация: 343
![]() ![]() ![]() ![]() |
Что-то кто-то где-то недоперепонял :-) Внутри 4017 все пять тригеров объединены по входу Reset, который выведен наружу, в данном варианте под именем MR, (куда можно вставить простейший Reset через кондёр(+) и резистор(-) Проц постоянно выдаёт такт (CLOCK), 4-й импульс положительным перепадом ресетит до нуля счётчик1 с выхода дешифратора1(Q3) и одновременно выдаёт первый такт на счётчик2, который через 4 на пятый обнулится всё по тому же входуMR с выхода дешифратора2(Q4), в наихудшем варианте счётчик2 по помехе станет в состояние дешифратора Q5=1, то ему придётся пройти почти полный круг, но так как всё это происходит постоянно и циклически, а внешнее прерывание происходит не по помехе, а по совпадению в момент нажатия единиц и там и там, то очень затруднительно нажать кнопку за время первого цикла после включения или помехи...Наверно ты имел ввиду возможность сдвига значений внутри МК и снаружи, но ведь и внутрений счётчик сбрасывается внешним прерыванием... Так что работать будет...
__________________
Не каждый вор - радиолюбитель, каждый радиолюбитель - вор! ( пословицы и поговорки народов СССР )
Последний раз редактировалось SHUR66; 05.06.2013 в 02:50.
|
||
Оценка
|
Знаток
Регистрация: 06.01.2010
Адрес: Львов
Сообщений: 256
Репутация: 143
![]() ![]() |
|
||
Оценка
|
Знаток
Регистрация: 12.10.2009
Адрес: Тольятти
Сообщений: 231
Репутация: 87
![]() |
Цитата:
Ты начинаешь понимать, что косяк есть, и предлагаешь ее изменить, чтобы этот косяк исправить. Цитата:
Проц постоянно выдаёт такт (CLOCK), 4-й импульс положительным перепадом ресетит до нуля счётчик1 с выхода дешифратора1(Q3) и одновременно выдаёт первый такт на счётчик2, который через 4 на пятый обнулится всё по тому же входуMR с выхода дешифратора2(Q4), в наихудшем варианте счётчик2 по помехе станет в состояние дешифратора Q5=1, то ему придётся пройти почти полный круг, но так как всё это происходит постоянно и циклически, а внешнее прерывание происходит не по помехе, а по совпадению в момент нажатия единиц и там и там, то очень затруднительно нажать кнопку за время первого цикла после включения или помехи...
Когда-нибудь ремонтировал видик Панасоник? Вынул шестеренки, вставил обратно - и привет. Меток на них не ставят, а стоять должны строго в определенном положении, о котором знает только Панасоник и управляющий процессор. Цитата:
Наверно ты имел ввиду возможность сдвига значений внутри МК и снаружи, но ведь и внутрений счётчик сбрасывается внешним прерыванием... Так что работать будет...
Исправить схему можно тремя способами. 1. Добавить линию из клавы в проц, означающую "начальное состояние". Тогда проц обязан долбить клоки до тех пор, пока на этой линии не появится сигнал - вот тогда можно начинать сканирование. 2. Добавить линию от проца в клаву и организовать по ней сброс в начальное состояние - тут всё очевидно. 3. Добавить одновибратор, который бы разрешал счет. После первого обращения он запускается и во время импульса можно произвести опрос. После окончания импульса счетчики сбрасываются в исходное. Все три способа будут работать. PS. Видоизменение 1-го способа без кардинальных изменений. Пожертвовать одной кнопкой, замкнув ее на постоянно. Тогда проц будет знать (в большинстве случаев), откуда начать сканирование. Так никто не делает и это лажа и моветон, но если будет стоять задача "ничего не менять, но чтобы работало", то так сделать можно.
Последний раз редактировалось iev91; 05.06.2013 в 10:03.
|
||
Оценка
|
Обратная связь РадиоЛоцман Вверх |