Перейти к содержанию
    

Добрый день!

 

Долго думал куда поместить тему. Думаю здесь ей место.

 

Интересно услышать, какие нетривиальные вопросы задают на собеседованиях при приеме на работу в области разработки электроники.

Для старта: есть 8-ми выводной микроконтроллер (2 ноги питание, 2 -кварц). Как организовать на оставшихся 4 выводах работу 16-ти кнопок и одного светодиода?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дополнительные микросхемы логики можно использовать ?

Изменено пользователем ArtemDement

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дополнительные микросхемы логики можно использовать ?

Можно.

 

Хотелось бы слышать не только ответы, но и вопросы :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хотелось бы слышать не только ответы, но и вопросы :)

Аналоговый перемножитель,

Чем померить индуктивность рассеяния,

влияет ли немагнитный зазор на индуктивность рассеяния

как помогает устройство по экономии мощности их рекламы экономить мощность

Чем померить траффик по UTP кабелю.. да много чего можно каверзного вспомнить :lol:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда, такой вариант.

Я б вас на работу за такое не взял :laughing:

Если предполагается срабатывание только одной кнопки, то можно их посадить на линейку одинаковых последовательно включенных резисторов, и с помошью 4-х старших данных АЦП можно определить кнопку.

Или реализовать свой АЦП по времени задержки разряда RC цепи. В общем все то, что предложил GefarD

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А не проще поставить сдвиговый регистр? На одну ногу микроконтроллера принимать последовательный сигнал, а с другой клок давать. Для надежности можно еще CS воткнуть, тогда получится что-то типа SPI. В таком случае как раз останется 1 нога для светодиода, о котором почему-то забыли :)

 

Кстати, если есть условие, что одновременно может быть нажата только одна кнопка, можно подключить их матричным способом, правда тогда получится не 16, а 15, но в этом случае можно обойтись без дополнительной логики.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я б вас на работу за такое не взял :laughing:

Если предполагается срабатывание только одной кнопки, то можно их посадить на линейку одинаковых последовательно включенных резисторов, и с помошью 4-х старших данных АЦП можно определить кнопку.

Или реализовать свой АЦП по времени задержки разряда RC цепи. В общем все то, что предложил GefarD

 

Насчет "на работу не взял" сказано круто... Можно просто пожелать удачи такому работодателю. Удачи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я б вас на работу за такое не взял :laughing:

 

Вы не поняли идею, за это я бы к вам и не пошел.

:rolleyes:

 

Если предполагается срабатывание только одной кнопки, то можно их посадить на линейку одинаковых последовательно включенных резисторов, и с помошью 4-х старших данных АЦП можно определить кнопку.

 

Предполагается последовательный опрос состояния кнопок с довольно высокой частотой опроса, что позволяет получить информацию о одновременном нажатии.

Если нажимать будет человек пальцем. Такой метод применяется в джойстиках Dendy, так что все ок.

:biggrin:

 

Кстати, если есть условие, что одновременно может быть нажата только одна кнопка, можно подключить их матричным способом, правда тогда получится не 16, а 15, но в этом случае можно обойтись без дополнительной логики.

 

Как сделать 15 кнопок матричным методом на 3 выводах, если учесть, что еще один нужен для управления светодиодом ? Что-то не могу себе это представить.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как сделать 15 кнопок матричным методом на 3 выводах, если учесть, что еще один нужен для управления светодиодом ? Что-то не могу себе это представить.

На 3 никак, я на 4 имел в виду.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По принципу шифратора. 4 линии изначально подтянуты к нулю. Замыкается первая кнопка, выставляет 1 на первую линию, остальные в нуле (0001). 10 кнопка замыкает на Vcc 4 и 2 линии (1010), 15 кнопка выставит 1111 и так далее. Не очень удобно, зато никакой лишней логики, только соединения, ну и 4 резистора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...