Муфты электромонтажные от производителя Fucon

Однопроводный интерфейс клавиатуры для микроконтроллера

Texas Instruments LMC555 LMC7211-N

В большинстве клавиатур нажатие клавиши замыкает контакт, соединяющий две линии матрицы XY. Если для обнаружения замыкания контакта используется микроконтроллер, проверка состояния (X+Y) линий требует такого же количество портов ввода/вывода. Схема на Рисунке 1, занимающая только один свободный контакт ввода/вывода, взаимодействует с микроконтроллером, генерируя один импульс каждый раз, когда происходит нажатие клавиши. Ширина импульса пропорциональна номеру нажатой клавиши, и микроконтроллер определяет нажатую клавишу, измеряя ширину импульса.

Технология правильного хранения аккумуляторов и батареек по рекомендациям FANSO и EVE Energy

Две микросхемы образуют клавиатуру с ШИМ-интерфейсом, требующим лишь одного входного вывода микроконтроллера.
Рисунок 1. Две микросхемы образуют клавиатуру с ШИМ-интерфейсом, требующим лишь одного
входного вывода микроконтроллера.

Микросхема IC2 типа LMC555 – КМОП версия популярного таймера 555 – работает как моностабильный мультивибратор. Когда схема находится в состоянии покоя, внутренний транзистор на выводе 7 шунтирует конденсатор C6, и выход таймера (вывод 3) остается в состоянии «лог. 0». Нажатие любой клавиши на клавиатуре соединяет два резистора из двух групп – R1 и R2 в одной группе и R3, R4 и R5 в другой – последовательно с R6. Сумма сопротивлений двух резисторов изменяется с шагом 10 кОм, а общее сопротивление пропорционально номеру нажатой клавиши.

При нажатии любой клавиши ток идет через резисторы R6, R7 и выбранные резисторы клавиатуры и увеличивает напряжение на выводе 7 микросхемы IC2. После того, как конденсатор C1 зарядится с небольшой задержкой, достаточной для устранения дребезга контактов клавиатуры при замыкании, КМОП компаратор IC1 обнаруживает небольшое падение напряжения на резисторе R7. Уровень выходного сигнала микросхемы IC1 (вывод 6) изменяется с 5 В до 0 В, и этот перепад запускает микросхему IC2 по входу 2. Выходное напряжение таймера IC2 (вывод 3) становится высоким и начинает заряжать конденсатор C6 с постоянной времени, зависящей от выбранной клавиши. Когда напряжение на конденсаторе достигает двух третей VCC, или 3.333 В, уровень напряжения на выводе 3 становится низким, и конденсатор C6 разряжается. Ширина T выходного импульса микросхемы IC2 рассчитывается по формуле:

T = 1.1 × RS × C6,

где RS равно сумме сопротивлений выбранных резисторов клавиатуры и находится в диапазоне от 10 до 120 кОм. Ширина импульса изменяется от 110 до 1320 мкс с шагом 110 мкс.

Наименьшее относительное изменение ширины импульса происходит при наибольшем соотношении длительностей импульсов, которое равно 110/1320 или 8.33%. Это соотношение обеспечивает достаточный запас, позволяющий использовать компоненты со стандартными допусками ±1% или лучшие (компоненты схемы на Рисунке 1 имеют допуски ±0.5% и ±1%). Резисторы R13 и R14 компенсируют разброс сопротивлений внутренних делителей напряжения IC2, устанавливая напряжение на выводе 5 равным двум третям напряжения питания VCC.

Выходной импульс схемы клавиатуры управляет входом внешних прерываний (RA2) микроконтроллера PIC16F630. Процедура обработки прерываний микроконтроллера PIC16F630 измеряет ширину импульса, проверяет, находится ли его допуск в пределах ±40 мкс, и возвращает числовое значение от 1 до 12, соответствующее нажатой клавише. В качестве защиты от ошибочных данных процедура возвращает код ошибки, если ширина импульса выходит за установленные пределы.

Материалы по теме

  1. Datasheet Texas Instruments LMC555
  2. Datasheet Texas Instruments LMC7211-N

EDN

Перевод: AlexAAN по заказу РадиоЛоцман

На английском языке: Single-wire keypad interface frees microcontroller-I/O pins

61 предложений от 32 поставщиков
Таймер, CMOS, 3МГц, совместим с TTL, 1.5В до 15В питание, DSBGA-8
LMC555M/TR
от 10 ₽
Триема
Россия
LM555 SO8 = NE555DT,ST,TI = LMC555CM
8.00 ₽
Vess Electronics
Весь мир
LMC555CM/NOPB
Texas Instruments
по запросу
ТаймЧипс
Россия
LMC555CMSO8
Texas Instruments
по запросу
Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения:Полный вариант обсуждения »
  • Неплохая идея. Не знаю, почему до сих пор не всречал. Я бы убрал и IC1. Пусть постоянно генерируется частота. Процессору вообще не помеха раз в N ms измерят ее (от фронта до фронта) и обнаруживать нажатие. Не более чем на 1/1000 увеличится нагрузка. Датчики с частотной сигнализации, FW для них - давно усвоены.
  • Долго работать будет только с такими кнопками. :) [url]http://tec.org.ru/_bd/21/94656157.gif[/url] В бытовой технике измеряют время задержки RC цепи. R изменяемая кнопками или переключателем величина. Используется два вывода контроллера.
  • А чем вдруг оказался плох традиционный уже вход АЦП с резисторами?
  • А почему не использовать специализированные микросхемы электронных номеронабирателей кнопочных проводных телефонных аппаратов, типа 1008ВЖ, хоть тонального набора, хоть импульсного?