Динамическое управление светодиодными индикаторами и сканирование клавиатуры 4 x 4 с использованием 8-разрядного AVR-микроконтроллера

  • 06 сент. 2011 г.
  • 2914 Слова
AVR242
Динамическое управление светодиодными индикаторами и сканирование клавиатуры 4 x 4 с использованием 8-разрядного AVR-микроконтроллера
Отличительные особенности:
• Опрос состояния 16 клавиш, организованных в матрицу 4 x 4
• Управление четырехразрядным цифровым индикатором в динамическом режиме
• Промышленные часы реального времени/таймер
• Задание временвключения/выключения для двух нагрузок
• Звуковое подтверждение нажатия клавиш пьезокерамическим излучателем
• Предупреждение миганием индикатора о том, что было отключение питания
• Двойственное назначение линий порта ввода-вывода
• Минимальное число внешних компонентов
• Эффективный программный код
• Полный текст программы для AT90S1200
• Возможность применения в составе с любымAVR-микроконтроллером с 20 и более выводами
Введение
В данном документе описывается реализация системы, обеспечивающей опрос состояния клавиатуры 4 x 4, состояние которой служит входом для часов реального времени/таймера с двумя выходами. Данная система управляет внешними нагрузками и четырех разрядным цифровым светодиодным индикатором. Данное приложение разработано для демонстрацииуниверсальности конфигурации портов AVR-микроконтроллеров, а также эффективность обширного набора инструкций. Приложение может работать совместно с любым микроконтроллером с 20 и более выводами, но при этом необходимо обратить внимание на инициализацию стека и размещение таблиц преобразования. Структура программы оптимизирована под трехуровневый аппаратный стек AT90S1200, что тем более не вызовет затруднений приинтеграции данного приложения в микроконтроллеры с программным управлением стеком.
Принцип действия
Подключение клавиатуры 4х4, пьезокерамического излучателя, двух светодиодных нагрузок и четырех цифровых индикаторов с динамическим управлением обычно требует 23 линии ввода-вывода. В данном приложении рассматривается как снизить это требование до 15 линий, тем самым позволяя использовать 20-выв.микроконтроллеры. Принципиальная электрическая схема показана на рисунке 2 и является полной за исключением компонентов тактового генератора и цепи сброса, которые были удалены из схемы для большей ясности.
Четыре столбца клавиатуры подключены к младшей тетраде порта В, а четыре строки – к старшей тетраде. Те же 8 разрядов управляют непосредственно сегментными катодами четырехразрядного цифровогосветодиодного индикатора через токоограничивающие резисторы R13- R20. Таким образом, эти выводы выполняют две функции: вывод информации для управления индикатором, ввод при опросе клавиатуры. Это стало возможным благодаря высокой гибкости настроек портов ввода-вывода AVR-микроконтроллеров.

Линии порта В длительно нагружены втекающим током 9 мА, что достаточно для непосредственного управления сегментами индикатора.Разряды индикатора переключаются последовательно с интервалом 5 мс через p-n-p транзисторы VT1- VT4 для организации динамического управления. Необходимость применения ключевых транзисторов для управления общими анодами светодиодных индикаторов вызвана коммутацией тока 72 мА(9мА х 8 сегментов), что выходит за пределы нагрузочной способности линий портов. Для этих целей могут быть использованы любыеp-n-p-транзисторы с нагрузочной способностью не менее 100 мА (например, BC479). Данную задачу также можно решить путем параллельного соединения двух линий порта для непосредственного управления анодным током одного разряда, но при этом, необходимо большее число линий ввода-вывода, а, следовательно, необходимо использовать микроконтроллер с большим числом выводов.
Перед началом каждого тактаразвертки индикатора конфигурация порта изменяется для подключения сначала к одной четверке входов (столбцах) подтягивающих резисторов и установке на другой четверке выходов (строках) лог. 0 для определения столбца с нажатой клавишей, а затем наоборот для определения строки с нажатой клавишей. Полученной сумме значений в таблице преобразования...
tracking img