logo search
HCS12 с применением языка С - royallib

5.2.1. Кнопки и переключатели

На рис. 5.4,а приведена схема подключения одиночного механического переключателя к МК. Механическая часть переключателя может быть выполнена таким образом, что его замкнутое состояние удерживается только тогда, когда человек нажимает на клавишу. Такой переключатель называют кнопкой. Другие переключатели обладают свойством удерживать замкнутое и разомкнутое состояние контактов при отсутствии внешнего воздействия. Последнее потребуется лишь для того, чтобы изменить состояние переключателя с разомкнутого на замкнутое и наоборот. Такие переключатели называются переключателями с фиксацией положения или тумблерами.

a) Подключение кнопки к МК НС12

б) Подключение группы из 8 DIP-переключателей

Рис. 5.4. Примеры схем подключения механических переключателей к МК

Возвратимся к нашей схеме (рис. 5.4,а). Когда клавиша отжата, переключатель находится в разомкнутом состоянии, и на входе МК формируется высокий логический уровень сигнала. Когда клавиша нажата, переключатель замыкает контакты, вывод МК подсоединяется к потенциалу общего провода системы GND, и на входе МК формируется логический 0. Резистор R = 10 кОм ограничивает силу тока в цепи переключателя.

Если бы переключатель был идеальным, то переход потенциала вывода МК из состояния 1 в состояние 0 при нажатии клавиши происходил бы мгновенно. На самом деле это не так. Переход механического переключателя из одного состояния в другое сопровождается механическим дребезгом контактов. Эффект механического дребезга состоит в том, что при смене состояния, например, с разомкнутого на замкнутое, контакты, прежде чем перейти из установившегося разомкнутого состояния в установившееся замкнутое, многократно замыкаются и размыкаются. Тогда, установив щуп осциллографа на вход МК, мы увидим сначала высокий уровень сигнала, затем многократное нерегулярное во времени переключение с 1 на 0, и, наконец, установится низкий уровень сигнала. Частота работы МК (от единиц до сотен МГц) чрезвычайно высока по сравнению с временами переключения механических контакторов (десятки–сотни мс). Поэтому механический дребезг контакта может быть воспринят управляющей программой как его многократное переключение. Существуют аппаратные и программные методы защиты от эффекта дребезга контактов. Один из программных методов заключается в том, что после обнаружения первого изменения логического уровня сигнала программа формирует задержку на 100-200 мс. В течение этого времени дребезг контактов прекращается, и переключатель переходит в новое устойчивое состояние. Мы рассмотрим аппаратные и программные методы противодребезгвой защиты в параграфе 5.5.