Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

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

5.2.2. DIP переключатели

На рис. 5.4,б показана схема, в которой мы распространили идею подключения одного механического переключателя к МК сразу на восемь переключателей. Эти микропереключатели смонтированы на заводе-производителе в корпусе, который по размерам и расположению выводов совпадает с корпусом типа DIP (Dual In-line Package) для интегральных схем. Поэтому их называют DIP-переключатели.

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

В параграфе 5.8 мы рассмотрим пример использования подобной сборки DIP-переключателей для выбора режима работы микропроцессорной системы.

5.2.3. Клавиатуры

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


 Код на выходах PORTx[3:0]Код на входах PORTx[7:4] 
Нажатая клавиша32107654Код порта PORTx[7:0]
0111011100xEE
1111011010xDE
2111010110xBE
3111001110x7E
4110111100xED
5110111010xDD
6110110110xBD
7110101110x7D
8101111100xEB
9101111010xDB
A101110110xBB
B101101110x7B
C011111100xE7
D011111010xD7
E011110110xB7E
F011101110x77
Не нажатаXXXX11110xXF

Рис. 5.5. Схема подключения матричной клавиатуры к МК 68HC12


Кнопки клавиатуры собраны в матричную схему. Первый ряд составляют кнопки 0, 1, 2 и 3. Второй ряд — кнопки 4, 5, 6, и 7. Следующие восемь кнопок составляют ряд 3 и ряд 4. Выводы левых контактов кнопок одного ряда соединены между собой и подключены к одному из выводов порта PORTx (x — имя порта МК, например, PORTA, PORTB и т.д.). В нашем примере для обслуживания четырех линий клавиатуры использованы четыре линии порта PORTx[0]…..PORTx[3]. Все эти линии работают в режиме вывода.

Выводы правых контактов кнопок также соединены между собой. Но при этом объединены каждые четыре кнопки по вертикали, которые зрительно составляют единый столбец. Приведенное соединение называют матричным. Из рис. 5.5. можно видеть, что блок клавиатуры из 16 клавиш имеет всего восемь линий связи для подключения к МК. А если бы мы использовали ранее рассмотренные схемы соединения, то для подключения 16 кнопок портебовалось бы 16 линий связи. Четыре вывода столбцов подключаются ко входам порта PORTx[4]…PORTx[7]. Эти линии порта работают в режиме ввода. Каждая линии PORTx[4]…PORTx[7] снабжена подтягивающим к напряжению питания резистором R = 10 кОм.

Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
Разработка приложений в среде Linux. Второе издание
Разработка приложений в среде Linux. Второе издание

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет СЃРѕР±РѕР№ отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из РґСЂСѓРіРёС… операционных систем. РџРѕРґСЂРѕР±но рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование СЃРІРѕР±одно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Р

Майкл К. Джонсон , Эрик В. Троан

Программирование, программы, базы данных