Dip переключатель схема подключения

Содержание
  1. DIP–переключатель
  2. Разновидности
  3. Использование
  4. Переключатели DIP
  5. Глава 5
  6. 5.1. Электрические характеристики МК 68HC12
  7. 5.1.1. Нагрузочные характеристики
  8. 5.1.2. Что произойдет, если Вы должным образом не учтете электрические характеристики периферийных ИС?
  9. 5.1.3. Входные и выходные характеристики логических элементов
  10. 5.3. Устройства индикации: светодиоды, семисегментные индикаторы, индикаторы логического выхода с тремя состояниями
  11. 5.3.1. Светодиоды
  12. 5.3.2. Семисегментные индикаторы
  13. 5.3.3. Индикаторы для логического выхода с тремя состояниями
  14. 5.4. Программное обслуживание дискретных входов и выходов
  15. 5.5. Подавление механического дребезга контактов переключателей
  16. 5.5.1. Аппаратная защита от механического дребезга контактов
  17. 5.5.2. Программная защита от механического дребезга контактов
  18. 5.5.3. Пример программной защиты
  19. 5.6. Жидкокристаллические индикаторы
  20. 5.6.1. Краткие сведения о жидкокристаллических индикаторах
  21. 5.6.2. Сопряжение МК с символьным ЖК индикатором

DIP–переключатель

DIP–переключатель (или переключатель в корпусе ДИП) — это такой элемент управления, который можно встретить на многих старых платах компьютеров. Этот элемент управления представляет собой группу из нескольких переключателей, заключенную в корпус DIP (dual in-line package). Термин DIP–переключатель (DIP Switch) может относиться как ко всей группе в корпусе ДИП, так и к отдельному переключателю из этой группы.

Переключатели в корпусе ДИП были разработаны в середине 1970-х гг. Эта разновидность переключателей первоначально предназначалась для применения на электронных печатных платах совместно с другими компонентами. В настоящее время DIP-переключатель часто используется для управления функционированием электронных устройств в особых ситуациях.

DIP–переключатель можно рассматривать как альтернативу группам джамперов (перемычек). Основное преимущество ДИП перед джамперами состоит в том, что управление с помощью переключателей осуществляется быстрее. Кроме того, у переключателей ДИП нет внешних деталей, которые могут быть утеряны.

Разновидности

Существует множество разновидностей переключателей DIP Switch. Основными из них являются поворотные переключатели, переключатели в виде ползунков и коромысел.

Поворотные DIP – переключатели содержат несколько электрических контактов. При повороте переключателя нужный контакт совмещается с номером, указанном на корпусе переключателя и замыкается. Поворотные переключатели DIP Switch могут быть выполнены в различных размерах – в виде больших колес прокрутки или маленьких колесиков, для поворота которых необходимо использовать отвертку.

Также очень распространены переключатели в виде ползунков и коромысел. Обычно они представляют собой набор из простых однополюсных однопозиционных переключателей (SPST), которые могут быть либо включены, либо выключены. Таким образом, каждый DIP-переключатель подобного типа позволяет установить однобитное значение какого-либо параметра. Однако значения всех переключателей набора могут интерпретироваться как большее число. Различные положения семи переключателей в наборе могут образовать 128 комбинаций, что позволит определить, например, один стандартный символ ASCII. 8 переключателей составляют уже один байт и могут образовывать 256 комбинаций.

Корпус ДИП-переключателя может иметь специальные вставляемые в разъемы штырьки или подставку, которые призваны обеспечивать электрический контакт между переключателем и печатной платой. Хотя переключатели могут соединяться с печатной платой напрямую, тем не менее, сигналы от переключателей, как правило, подлежат преобразованию в более низкие и высокие сигналы. В подобном случае плата нуждается в промежуточной схеме для подключения DIP Switch. Эта схема обычно состоит из нескольких резисторов, буферного запоминающего устройства, декодирующего устройства и прочих компонентов.

Использование

DIP Switch-и широко использовались в архитектуре карт расширения ISA для персональных компьютеров, в которых функции переключателей заключались в установке IRQ и адресов памяти. Также переключатели ДИП использовались в игровых приставках, выпускавшихся в 1980-х и начале 1990-х гг. для хранения пользовательских настроек – до тех пор, пока в подобных устройствах не стала широко использоваться оперативная память. Кроме того, переключатели использовались для ввода кода в электронных замках, а также в некоторых ранних беспроводных телефонах. Конструкция подобного типа, использующая 12 объединенных в группу переключателей, позволяла избежать интерференции от пультов управления соседними замками или других устройств. Современные замки, как правило, используют более надежные кодовые системы с вращающимся диском.

Также переключатели ДИП использовались в старых видеокартах для того, чтобы помочь пользователю добиться совместимости с другими стандартами. Например, при помощи DIP можно было сделать так, чтобы видеокарта стандарта CGA соответствовала бы стандарту MDA.

В настоящее время, начиная с конца 1990-х, DIP-переключатели не столь распространены в электронных устройствах массового потребления. Причины этого заключаются в тенденции к уменьшению размера продуктов, требованиях к упрощению процесса настройки, который может быть реализован при помощи программных меню, и снижении цен на энергонезависимую память. Однако DIP-переключатели по-прежнему широко используются в промышленном оборудовании благодаря своей низкой цене и простоте монтажа на электронные схемы. Кроме того, переключатели позволяют осуществлять быструю проверку правильность установки настроек без необходимости включения системы.

Также DIP-переключатели до сих пор используются в некоторых пультах дистанционного управления для предотвращения интерференции устройств, работающих на одной частоте. DIP-переключатель позволяет устанавливать различные радиочастоты для каждой пары приемник/передатчик, и в результате становится возможным использовать несколько одинаковых устройств, расположенных друг рядом с другом. DIP-переключатель поворотного типа тоже до сих можно встретить во многих устройствах, например, в радиопередатчиках, а также в устройствах домашней автоматизации стандарта X10.

Источник

Переключатели DIP

Переключатели DIP DP, DS, SWD, ВДМ1 – коммутационное устройство, обеспечивающее конфигурирование и настройку схем электрических цепей с напряжением 24В и силой постоянного тока 25мА.

Переключатели DIP представляют собой набор движковых переключателей с парой контактов, объединенных в корпусе из термопластика, усиленного стекловолокном. Контакты изготавливаются из химически устойчивой фосфористой бронзы, луженные или позолоченные. Число контактных групп от 1 до 12.

Цвет корпуса – красный, черный или синий. Цвет привода переключателя – белый, изготовлен также из термопластика. На боковой поверхности корпуса нанесена надпись «ON», указывающая на положение переключателя в режиме «Включено».

Привод переключателя расположен в верхней (переключатель прямоугольного исполнения, серии DS, SWD, ВДМ1) или боковой (переключатель углового исполнения – «пианино», серия DP) части корпуса переключателя.

Представленные переключатели DIP предназначены для пайки на печатную плату по THT-технологии – выводы монтируются непосредственно в сквозные отверстия печатной платы, шаг между выводами – 2,54 мм.

Повышенная рабочая температура среды составляет не более +85°С, пониженная рабочая температура – не ниже -40°С. Сопротивление изоляции не менее 1000 МОм, предельное сопротивление контактов составляет не более 0,05 Ом. Наработка при этом составляет не менее 2000 переключений при рабочей нагрузке.

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

Более подробные характеристики, расшифровка маркировки, а также габаритные размеры переключателей DIP указаны ниже. Наша компания гарантирует качество и работу переключателей в течение 2 лет с момента их приобретения. Это подкрепляется соответствующими документами качества.

Окончательная цена на переключатели DIP DP, DS, SWD, ВДМ1 зависит от количества, сроков поставки, производителя, страны происхождения и формы оплаты.

Источник

Глава 5

ОСНОВЫ СОПРЯЖЕНИЯ МК С УСТРОЙСТВАМИ ВВОДА/ВЫВОДА

ПОСЛЕ ИЗУЧЕНИЯ ГЛАВЫ ВЫ СМОЖЕТЕ:

• Описать электрические характеристики портов ввода/вывода МК 68НС12.

• Определить требования к электрическим характеристикам периферийных компонентов для подключения их к портам ввода/вывода МК;

• Разработать схему подключения и программу для ввода в МК информации о состоянии переключателей и матричных клавиатур;

• Грамотно применить методы программной и аппаратной защиты от механического дребезга контактов;

• Выполнить подключение к МК 68HC12 устройств индикации, таких как светодиоды, светодиодные семисегментные индикаторы, жидкокристаллические цифро-буквенные и графические индикаторы. Написать программы для вывода информации на перечисленные устройства индикации;

• Разработать схему подключения и алгоритм программного обслуживания датчиков различных физических величин.

Какие устройства Вы можете подключить к выводам микроконтроллера 68HC12 напрямую, без дополнительных цепей согласования? Есть ли у Вас уверенность, что входные и выходные буферы внутри МК при этом останутся работоспособными? Ваша интуиция подсказывает, что, наверное, без дополнительных цепей согласования могут быть подключены логические ИС, выполненные по той же технологии, что и МК семейства HC12. Например, можно без опаски подключить элемент 74HC00, выполняющий функцию 2И-НЕ. А что Вы скажете о возможном числе этих элементов? Можно ли одновременно подключить 20, 30 или 50 таких элементов? А как насчет элементов другой серии? Например, можно ли подключить к выходу МК 68HC12 всего один элемент И-НЕ модели 74LS00? Основываясь на примерах предыдущей главы, Вы также должны предположить, что управление электрическим двигателем вряд ли возможно непосредственно с выходов МК. Для этого потребуются дополнительные цепи согласования и дополнительный источник электрической энергии, которая будет преобразована двигателем механическую энергию. Как определить технические требования к подобным цепям, а затем разработать их?

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

5.1. Электрические характеристики МК 68HC12

Микроконтроллеры 68НС12 принадлежат к семейству интегральных схем HC, выпускаемых компанией Motorola по технологии «high-speed CMOS». CMOS (Complementary Metal Oxide Semiconductor) или в русскоязычной терминологии КМОП — это технология производства цифровых интегральных схем на основе Комплементарных полевых транзисторов со структурой Металл–Окисел–Полупроводник. Семейство HC объединяет цифровые ИС различной степени интеграции: от простых логических элементов, счетчиков, дешифраторов до микроконтроллеров с архитектурой различной сложности. Все элементы, принадлежащие к семейству HC, электрически совместимы, поэтому сопряжение МК 68HC12 с другими элементами семейства HC не вызовет у Вас затруднений. Однако, если в процессе проектирования Вам потребуется подключить к выводам МК 68HC12 интегральные схемы, которые не принадлежат к семейству HC, то Вы должны провести анализ на совместимость электрических характеристик МК и этих ИС.

Рис. 5.1. Номограмма электрической совместимости логических элементов

Производители электронных компонентов обычно указывают их электрические и динамические характеристики в справочном листе, Для проведения анализа о возможности сопряжения компонентов Вам потребуются следующие восемь параметров (рис. 5.1):

• VOH — минимальное выходное напряжение логической 1;

• VOL — максимальное выходное напряжение логического 0;

• IOH — максимальный выходной ток логической 1;

• IOL — максимальный выходной ток логического 0;

• VIH — минимальное входное напряжение логической 1;

• VIL — максимальное входное напряжение логического 0;

• IIH — максимальный входной ток логической 1;

• IIL — максимальный входной ток логического 0.

Необходимо знать численные значения параметров из приведенного списка для всех ИС, которые подлежат объединению в систему. В нашем случае одной из таких ИС обязательно является МК семейства 68HC12, численные значения обсуждаемых параметров для которого приведены ниже:

Обратите внимание, некоторые токи в этом списке указаны со знаком минус. Это означает, что соответствующий ток вытекает из МК. А токи с положительным знаком втекают в МК. Очень легко запомнить это условное обозначение, воспользовавшись аналогией с собственными денежными средствами. Финансовые поступления на ваш счет Вы рассматриваете со знаком плюс, а траты, т.е. вытекающие финансы, — со знаком минус.

5.1.1. Нагрузочные характеристики

Предположим, что некая периферийная ИС присоединена к выводу МК. Если входной ток этой ИС превышает максимальный выходной ток вывода МК, то могут возникнуть проблемы с формируемыми микроконтроллером уровнями напряжений логической 1 или логического 0. Выходные токи МК различаются в состоянии логической 1 и логического 0, поэтому рассмотрим эти два случая по отдельности.

а) Для втекающего тока нагрузки

б) Для вытекающего тока нагрузки

Рис. 5.2. Нагрузочные характеристики логического элемента, выполненного по технологии HC CMOS

Если на выходе МК формируется напряжение низкого логического уровня VOL, то ток нагрузки IOL положительный, т.е. ток нагрузки втекает в МК. Интегральная схема, присоединенная к выводу МК, формирует вытекающий ток IIL, который и является током нагрузки вывода МК. Если величина входного тока ИС IIL превышает указанное в листе электрических характеристик значение максимального тока нагрузки IOL, то выходное напряжение VOL на выходе МК может повыситься. Это явление иллюстрируют выходные характеристики МК в состоянии логического 0 (рис. 5.2,а). При определенном токе нагрузки IOL напряжение на выводе МК может превысить значение входного напряжения логического нуля VIL для периферийной ИС. Тогда периферийная ИС будет поставлена в ненормированный режим работы, ее работа в соответствии с техническим описанием не гарантируется.

Если на выходе МК формируется напряжение высокого логического уровня VOH, то ток нагрузки IOH отрицательный, т.е. ток нагрузки вытекает из МК. Входной ток IIL присоединенной ИС является втекающим. Таким образом, ток нагрузки IOH вытекает из МК и втекает в периферийную ИС. Если величина входного тока ИС IIH превышает значение максимального тока нагрузки IOH, то выходное напряжение VOH на выходе МК может понизиться. Это явление иллюстрируют выходные характеристики МК в состоянии логической 1 (рис. 5.2,б). При определенном токе нагрузки IOH напряжение на выводе МК может стать ниже минимально допустимого значения входного напряжения логической единицы VIH для периферийной ИС. И мы опять поставим периферийную ИС в ненормированный режим работы, при котором ее функционирование может не соответствовать желаемому.

В справочных данных компания Motorola/Freescale Semiconductors обычно указывает, что максимальный ток нагрузки для каждого из выводов портов равен ±25 мА. Однако следует понимать, что это всего лишь максимальный ток, который могут выдержать транзисторы выходного буфера линии порта. При таком токе нормированные значения выходного напряжения линии в состоянии логического 0 или логической 1 не гарантируются.

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

5.1.2. Что произойдет, если Вы должным образом не учтете электрические характеристики периферийных ИС?

Давайте рассмотрим очень простой пример. Мой близкий друг, доктор Jim Rasmussen (J.R.) работал инженером-электронщиком в течение 20 лет. В свое время, возвратясь из рядов вооруженных сил, он поступил на работу по контракту в одну известную фирму. Его первым заданием было спроектировать панель аварийных состояний. Эта панель должна была иметь несколько логических выходов, состояние которых отображалось светодиодными индикаторами. Одна из возможных схем подключения светодиода к выходу логической ИС показана на рис. 5.3. Давайте предположим, что вместо этой логической схемы используется выход МК семейства 68HC12. Видите ли Вы какие-либо проблемы в этой схеме? Для ее обсуждения давайте сначала более подробно остановимся на электрических характеристиках индикаторных светодиодов.

Рис. 5.3. Неудачная схема подключения светодиода к логическому элементу

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

Светодиоды характеризуются двумя основными параметрами: рабочим током и напряжением прямого смещения. Типичные значения рабочих токов светодиодов лежат в диапазоне от 10 до 15 мА, при этом прямое падение напряжения составляет 1,5 В. Для того, чтобы светодиод излучал, необходимо подключить его к источнику напряжения более 1,5 В и при этом обеспечить протекание прямого рабочего тока 10…15 мА.

Посмотрим, как эти условия выполняются в приведенной схеме (рис. 5.3)? Если на выходе МК формируется напряжение логической 1, то протекание тока через светодиод в требуемом направлении возможно. Величина выходного напряжения логической единицы VOH превышает 1,5 В, поэтому условие по прямому напряжению в этой схеме выполнено. А как насчет тока? Можно рассчитать величину сопротивления R, при которой в цепи светодиода будет протекать ток 10…15 мА, и светодиод будет светиться. Но тогда понизится выходное напряжение VOH, и его величина может стать меньше, чем входное напряжение логической 1 VIH. Тогда подключение к такому выходу других логических схем невозможно, поскольку их надежная работа не гарантируется. Они просто могут не распознать наличие на выходе сигнала высокого логического уровня, и защитные исполнительные устройства не сработают.

Как выйти из сложившейся ситуации? Мы расскажем, как правильно подключать к МК светодиоды в разделе 5.3.1. А сейчас займемся грамотным сопряжением МК и цифровых ИС.

5.1.3. Входные и выходные характеристики логических элементов

В этом параграфе мы рассмотрим, как правильно подключить логический элемент одной серии к элементу другой серии. Электрические характеристики логических элементов, принадлежащих к разным сериям, отличаются друг от друга. Для того, чтобы ответить на вопрос о возможности соединения некоторого количества элементов разных серий, необходимо проделать следующие шаги:

• Убедиться, что выходные напряжения логической 1 и логического 0 элемента — источника сигнала совместимы со входными напряжениями 1 и 0 подключаемого элемента.

• Убедиться, что выходные токи элемента — источника сигнала превышают входные токи подключаемого элемента. Необходимо проанализировать как состояние логического 0, так и логической 1.

• Определить, сколько логических элементов будет подсоединяться к одному выходу элемента — источника сигнала.

Давайте покажем анализ совместимости электрических характеристик логических элементов на примере.

Пример 1. Необходимо проанализировать совместимость логических элементов двух серий DP1 и SB2. Входные и выходные параметры элементов приведены ниже:

Могут ли логические элементы серии SB2 быть подключены к элементам серии DP1? Если да, то в каком количестве? Иными словами, чему равен коэффициент разветвления DP1 для SB2?

Решение. Для ответа на вопрос необходимо сравнить уровни входных и выходных напряжений элементов этих серий, оценить нагрузочную способность элементов серии DP1 по отношению к элементам SB2. Коэффициент разветвления должен быть вычислен как для состояния логического 0, так и для состояния логической 1. Далее следует выбрать наихудший вариант сочетания параметров, и по нему необходимо дать заключение.

• Сравним напряжения при высоком уровне выходного сигнала. Минимальная величина выходного напряжения логической 1 для серии DP1 составляет VOH=3,4 В. Минимальный уровень входного напряжения логической 1 для серии SB2 — VIH=2,0 В. Сравнивая эти числа, можно сделать вывод, что по напряжению высокого логического уровня эти элементы совместимы. Если элемент серии DP1 сгенерирует на выходе наименьшее возможное напряжение VOH, его величина обязательно превысит минимально необходимый уровень входного напряжения элемента серии SB2. В результате, ошибка распознавания единичного выходного уровня при исправных элементах невозможна.

• Далее сравним напряжения элементов при низком уровне выходного сигнала. Максимальное значение выходного напряжения логического 0 для элементов серии DP1 составляет VOL=0,2 В. Элементы серии SB2 распознают как уровень логического 0 сигналы с напряжением ниже VOL=0,8 В. Поскольку VOL(DP1)

char keypad(unsigned char keypress, unsigned char row);

char which_key(unsigned char keypress); /*Function to select key*/

/*задание кодов активизации рядов клавиатуры*/

unsigned char first = 0xFE; /*код активизации первого ряда*/

unsigned char second = 0xFD; /*код активизации второго ряда*/

unsigned char third = 0xFB; /*код активизации третьего ряда*/

unsigned char fourth = 0xF7; /*код активизации четвертого ряда*/

DDRB = 0x0f; /*линии 0…3 на вывод, линии 4…7 на ввод*/

/*Функция keypad определяет, была ли нажата какая-либо клавиша. */

/*Функция сравнивает прочитанное значение порта PORTB с тем значением, */

/*которое было выдано на порт PORTB. Если они равны, то ни одна клавиша в */

char keypad(unsigned char keypress, unsigned char row) <

key1 = which_key(keypress); /*определить клавишу*/

putchars(key1); /*передать символ на дисплей*/

/* Функция char which_key определяет код нажатой клавиши методом перебора */

char witch_key(unsigned char keypress) <

switch(keypress) /*распознавание кода клавиши*/

Представленный программный код не является полностью завершенной рабочей программой, поскольку в нем отсутствуют элементы защиты от дребезга контактов, отсутствует текст функции вывода символов на ЖК дисплей. Мы исправим эти недостатки несколько позже, в разделе 5.6.

5.3. Устройства индикации: светодиоды, семисегментные индикаторы, индикаторы логического выхода с тремя состояниями

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

5.3.1. Светодиоды

В процессе наладки любой микропроцессорной системы крайне удобно использовать светодиоды для индикации состояния тех или иных логических выходов. Светодиод имеет два вывода: анод (+) и катод (–). Для того, чтобы светодиод излучал, напряжение между анодом и катодом должно быть положительным. Светодиоды характеризуются двумя основными параметрами: рабочим током и напряжением прямого смещения. Типичные значения рабочих токов светодиодов лежат в диапазоне от 10 до 15 мА, при этом прямое падение напряжения составляет 1,5 В.

а) Подключение светодиода

б) Подключение «линейки» из восьми светодиодов

в) Подключение семисегментного индикатора

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

На рис. 5.7,a показана схема подключения светодиода к выводу МК. В параграфе 5.1.2 мы убедились в невозможности подключения светодиода непосредственно к выводу МК. Выходные буферы МК не способны обеспечить величины тока светодиода, достаточной для свечения с приемлемой для человеческого глаза яркостью. Поэтому в приведенной схеме использован буферный элемент 7404. При выборе буферного элемента следует убедиться, что максимальное значение выходного тока нуля IOL этого элемента не ниже номинального значения прямого тока светодиода 10…15 мА. Так для выбранной модели элемента 7404 максимальное значение выходного тока логического нуля составляет 16 мА.

В схеме рис. 5.7,a логический элемент должен обязательно быть с инверсией на выходе. Тогда если выход МК в состоянии логической 1, выход элемента в 0, по цепи светодиода протекает ток, и светодиод светится. Наоборот, если на выходе МК логический 0, выход логического элемента в 1, и светодиод погашен. Для правильной работы схемы напряжение VCC должно обязательно превышать напряжение прямого смещения светодиода 1,5 В. Для выбранного значения VCC подбирается резистор R, величина которого ограничивает ток светодиода. Выбирая величину VCC отличной от напряжения питания МК, необходимо помнить, что, если в цепи светодиода ток отсутствует, то напряжение VCC прикладывается к выходному буферу логического элемента. Для обычных логических элементов это напряжение не превышает 5,0 В, а для элементов с повышенным коллекторным напряжением — 15 В.

Пример. Определите величину сопротивления резистора R на рис. 5.7,а. Предположите, что прямой ток светодиода должен быть равным 15 мА.

Решение. Падение напряжения на резисторе R в цепи рис. 5.7,а составляет:

Тогда величина сопротивления резистора определяется неравенством:

Выбираем ближайший к расчетному значению номинал резистора 220 Ом.

Очень часто разработчик желает индицировать состояние всех линий какого-либо порта. Для этой цели удобно использовать так называемые линейки светодиодов, которые подобно DIP переключателям сгруппированы по 8 и смонтированы в корпусе, который размещается на посадочное место для DIP. Схема подключения такой линейки светодиодов показана на рис. 5.7,б. С точки зрения конструктивного исполнения для такой схемы целесообразно использовать резисторную сборку, что и отражено на рис. 5.7,б.

5.3.2. Семисегментные индикаторы

Многие микропроцессорные устройства требуют вывода информации в символах десятичной или шестнадцатеричной системы счисления. Наиболее подходящим индикатором для этого является светодиодный семисегментный индикатор. Внешний вид семисегментного индикатора показан на рис. 5.7,в. Каждый сегмент индикатора — это светодиод, вмонтированный в пластмассовый корпус с поверхностью рассеивания света в виде того или иного сегмента. Сегменты именуются стандартным способом, латинскими буквами от a до g. Комбинация светящихся сегментов образует цифру, или букву. Например, чтобы высветить цифру 1, необходимо зажечь сегменты b и c, цифру 2 — сегменты a, b, d, e, g, букву F — сегменты a, e, f, g. Подключение семисегментного индикатора к выходам порта МК показано на рис. 5.7,в. В схеме для усиления по току использованы не отдельные логические элементы, а специальная буферная ИС 74ALS244. Ток в цепи светодиодов каждого сегмента ограничивают резисторы сопротивлением 100 Ом. В этом примере использован семисегментный индикатор с общим анодом. В соответствии с названием, аноды всех сегментов индикатора объединены внутри корпуса и выведены на одну ножку. Выпускаются также индикаторы с общим катодом.

5.3.3. Индикаторы для логического выхода с тремя состояниями

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

Выходной логический буфер с тремя состояниями может формировать на выходе напряжение высокого уровня, которое соответствует логической 1, напряжение низкого уровня, которое соответствует логическому 0, и может находиться в так называемом третьем состоянии или иначе «Z» состоянии, которое характеризуется очень высоким выходным сопротивлением (рис. 5.8.). Это сопротивление столь велико, что можно считать, что внутренние цепи логического элемента отсоединены от соответствующего вывода корпуса этого элемента. Это свойство буферов с тремя состояниями позволяет подсоединять к одному электрическому проводнику печатной платы сразу несколько выводов ИС.

Вход разрешения работы Вход Выход
L L Z
L H Z
H L L
H H H

Рис. 5.8. Логические элементы с тремя состояниями на выходе

Такое решение используется при подключении к магистралям микропроцессорной системы различных ИС внешней памяти. В каждый момент времени МК ведет обмен только с одной ИС памяти. Он активизирует работу этой ИС установкой в 0 сигнала выбора кристалла . Все остальные ИС памяти в этот момент времени находятся в неактивном состоянии, буферы их линий данных пребывают в «Z» состоянии с высоким выходным сопротивлением. Таким образом, эти ИС в данный момент времени как бы отсоединены от линий магистрали данных и не мешают обмену данными МК с единственной активизированной ИС памяти. В другой момент времени положение дел изменится. В активное состояние будет переведена другая схема памяти, в то время как выходные буферы первой ИС будут переведены в «Z» состояние, и эта ИС как бы выключится из работы. Но при этом не следует забывать, что все неактивизированные ИС памяти находятся под питанием и надежно хранят ранее записанную в них информацию.

Рис. 5.9. Функциональная схема 8 индикаторов для выходов с тремя состояниями

Вернемся к рассмотрению схемы индикации. Она представлена на рис. 5.9. Индикатор каждого разряда состоит из двух светодиодов: зеленого и красного. Если на выходе порта PORTx[i] формируется высокий логический уровень сигнала, то благодаря усилителю с большим коэффициентом усиления, который выполнен на операционном усилителе LM324, открывается транзистор 2N2907. Для зеленого светодиода создается прямое смещение напряжения и путь для протекания тока. В результате, зеленый светодиод светится и информирует пользователя о наличии высокого логического уровня на соответствующем выходе. Если на выходе порта PORTx[i] формируется низкий логический уровень сигнала, то открывается транзистор 2N2222, и светится красный светодиод. Если же выход порта PORTx[i] установлен в третье состояние, то пути для протекания токов светодиодов нет, они оба погашены.

5.4. Программное обслуживание дискретных входов и выходов

Для написания программного кода предположим, что входы порта PORTA подключены к блоку DIP переключателей, а выходы порта PORTB — к 8-разрядному светодиодному индикатору по схеме рис. 5.9. Необходимо считать байт данных с порта PORTA и вывести этот байт данных на порт PORTB.

DDRB = OUTМASK; /*порт PORTB на вывод*/

PORTA_value = PORTA; /*cчитать портPORTA*/

PORTB = PORTA_value; /*записать в порт PORTB*/

5.5. Подавление механического дребезга контактов переключателей

Ранее, в параграфе 5.2, Вы познакомились с различными типами механических переключателей. Переключатели обладают двумя устойчивыми состояниями, в которых замыкаются или размыкаются электрические контакты. Включенный по схеме рис. 5.4,а переключатель обеспечивает высокий логический уровень сигнала на входе МК, если пара его контактов разомкнута. В нажатом состоянии контакты замыкаются, и на входе МК формируется напряжение низкого логического уровня.

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

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

5.5.1. Аппаратная защита от механического дребезга контактов

На рис. 5.10 представлена схема, которая осуществляет защиту от дребезга механических переключателей [Horowitz и Hill, 1989]. Основным элементом этой схемы является триггер Шмитта (74HC14).

Триггер Шмита отличается от других логических элементов, во-первых, тем, что на его входы можно подавать аналоговые сигналы. И если для обычного логического элемента время изменения входного сигнала из состояния 0 в состояние 1 должно составлять всего несколько наносекунд, то для триггера Шмитта это время может быть любым, в том числе несколько десятков или сотен миллисекунд, которые потребуются нам для устранения дребезга контактов. Во-вторых, передаточная характеристика триггера Шмитта обладает гистерезисом: уровень входного напряжения, при котором выход триггера переключается из 0 в 1, превышает уровень напряжения переключения из 1 в 0 примерно на 0,5…0,8 В. Эффект гистерезиса позволяет подавить звон входного сигнала. Незначительные по амплитуде высокочастотные колебания, наложенные на монотонно изменяющуюся постоянную составляющую входного сигнала, не будут приводить к многократному изменению выходного сигнала, поскольку абсолютная величина входного сигнала окажется внутри петли гистерезиса.

Рассмотрим работу схемы подавления дребезга контактов переключателя. При разомкнутых контактах напряжение конденсатора равно VCC, на выходе триггера Шмита формируется низкий логический уровень, поскольку все триггеры Шмитта в интегральном исполнении инвертируют входной сигнал. Если клавишу только что нажали, то конденсатор начинает разряжаться через резистор и замкнутые контакты переключателя. Время его разряда определяется постоянной времени RC. Для приведенных на рис. 5.10,a номиналов постоянная времени равна 47 мс. Напряжение на конденсаторе будет убывать немонотонно, поскольку на интервале дребезга контакты то замкнутся, то разомкнутся. В соответствии с их положением конденсатор то разряжается, то заряжается. Но большая постоянная времени цепей разряда и заряда не позволяет напряжению на конденсаторе измениться во время дребезга столь сильно, чтобы произошло переключение триггера Шмитта. И лишь когда дребезг закончится и произойдет длительное замыкание контактов переключателя, конденсатор разрядится до нуля, и на выходе триггера Шмитта установится высокий логический уровень. При размыкании контактов переключателя процесс будет происходить в обратном порядке. Эффект подавления дребезга в рассмотренной схеме будет наблюдаться только тогда, когда постоянная времени цепей разряда и заряда конденсатора будет сравнима с длительностью самого эффекта механического дребезга. Для маломощных переключателей его длительность измеряется единицами и десятками мс, поэтому в нашем примере номиналы резисторов и конденсатора выбраны правильно.

Если Вы желаете иметь на выходе цепи подавления дребезга инверсную логику, то следует использовать дополнительный инвертор (рис. 5.10,б). Тогда при разомкнутом переключателе на выходе инвертора будет низкий логический уровень, а при замкнутом — высокий.

5.5.2. Программная защита от механического дребезга контактов

Существует несколько методов программной защиты от эффекта дребезга механических контактов. Мы кратко остановимся на двух наиболее часто используемых:

• Прикладная программа проводит мониторинг состояния контакта, опрашивая линию порта и контролируя уровень логического сигнала. Как только программа зафиксировала изменение сигнала, она фиксирует это изменение и формирует задержку 100…200 мс. За это время дребезг закончится, и контакт зафиксируется в установившемся состоянии. Если это новое состояние совпадет с первым зафиксированным изменением, то произошло переключение контакта. В противном случае имела место помеха.

• Прикладная программа также производит мониторинг контакта. После обнаружения первого переключения программа продолжает постоянно опрашивать контакт в течение тех же 100…200 мс. Если к концу интервала опроса состояние не стабилизировалось и постоянно считывается то 0 то 1, то это помехи, а если установилось в одном из состояний, то произошло переключение.

а) При нажатии клавиши на выходе формируется высокий логический уровень

б) При нажатии клавиши на выходе формируется низкий логический уровень

Рис. 5.10. Примеры схем подавления механического дребезга контактов

5.5.3. Пример программной защиты

Для того чтобы продемонстрировать пример реального программного кода для ввода и вывода дискретных управляющих воздействий, предположим, что восемь DIP переключателей подключены к порту PORTB микроконтроллера, а состояние выходов порта PORTC индицируются с использованием схемы двухцветного индикатора. Общая структура микропроцессорной системы нашего примера представлена на рис. 5.11. В примере мы используем аппаратную защиту и программную защиту от дребезга контактов. Программная защита реализуется по второму способу.

Рис. 5.11. Функциональная схема аппаратных средств для примера 5.3.3

/*осуществляет опрос 8 переключателей с программной защитой от дребезга */

/*выполняет специальные действия для каждого нажатого переключателя */

/*зажигает зеленый светодиод в разряде активизированного переключателя */

int process_valid_input(unsigned char input_value); //управление

//процессом опроса в реальном времени

void initialize_ports(void); //инициализация портов

void timer_init(void); //инициализация таймера

unsigned char old_PORTB= 0xff; //предыдущее значение порта PORTB

unsigned char new_PORTB; //новое значение порта PORTB

//выполнять, если значение порта изменилось

if (process_valid_input(new_PORTB)) //процедура

PORTC = 0х01;//зажечь зеленый в разряде PB0

if (process_valid_input(new_PORTB)) // процедура

PORTC = 0х02; //зажечь зеленый в разряде PB1

if (process_valid_input(new_PORTB)) // процедура

PORTC = 0х80; //зажечь зеленый в разряде PB7

> //окончание распозвания, какая клавиша нажата (switch(new_PORTB))

> //окончание обработки нажатой клавиши (if new_PORTB)

old_PORTB = new_PORTB; //обновить PORTB

/* Функция void initialize_ports устанавливает режим работы портов */

PORTC=0x00; //выходы порта PORTC в 0, зажгутся красные светодиоды

/* process_valid_input: проверка стабильности PORTB в течение периода */

int process_valid_input(unsigned char portx) <

int valid_input; //флаг результата опроса порта

int int_value; //время входа в процедуру

valid_input = TRUE; //установить флаг

int_value = TCNT; //читать текущий момент времени

while (int_value != TCNT) //повторять пока значения времени снова не

if (portx==PORTB) //порт PORTB остается стабильным

else //порт PORTB изменил состояние

if (!valid_input) //если порт изменил состояние, то выйти

/* Функция timer_init инициализирует таймер. Частота системной шины равна */

TMSK1 = 0х00; //запретить прерывания

TMSK2 = 0х02; //частота тактировании 2 МГц

TSCR = 0х80; //разрешить работу модуля таймера

5.6. Жидкокристаллические индикаторы

В этом разделе мы подробно рассмотрим, как подключить жидкокристаллический индикатор к МК 68HC12. Мы начнем с краткого обзора принципа действия ЖК индикаторов. Далее изучим реальный однострочный символьный индикатор на 16 знакомест со встроенным контроллером управления. Рассмотрим, как выполнить аппаратное подключение этого индикатора к МК, а затем приведем пример программы управления.

5.6.1. Краткие сведения о жидкокристаллических индикаторах

Жидкокристаллический индикатор — почти идеальное устройство отображения информации. Этот тип индикаторов использует для своей работы те же напряжения, что и микроконтроллеры, но при этом потребляет энергию на несколько порядков меньшую, чем светодиодные индикаторы. Именно поэтому жидкокристаллические (далее ЖК) индикаторы нашли чрезвычайно широкое применение в переносных устройствах с автономным питанием. В электронных часах, калькуляторах и стационарных телефонах принято использовать монохромные ЖК индикаторы, в то время как современные мобильные телефоны, фотоаппараты и видеокамеры немыслимы без малогабаритного цветного ЖК-дисплея. По способу отображения информации ЖК индикаторы также подразделяются на цифро-буквенные и графические.

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

Основой ЖК индикатора являются две параллельные стеклянные пластины с нанесенными на них поляризационными пленками. Различают верхний и нижний поляризаторы, сориентированные перпендикулярно друг другу. На стеклянные пластины в тех местах, где в дальнейшем будет формироваться изображение, наносится прозрачная металлическая окисная пленка, которая в дальнейшем служит электродами. На внутреннюю поверхность стекол и электроды наносятся полимерные выравнивающие слои, которые затем полируются, что способствует появлению на их поверхности, соприкасающейся с жидкими кристаллами, микроскопических продольных канавок. Пространство между выравнивающими слоями заполняют жидкокристаллическим веществом. В результате молекулы жидких кристаллов выстраиваются в направлении полировки полимерного слоя. Направления полировки верхнего и нижнего слоев полимера перпендикулярны (подобно ориентации поляризаторов). Это нужно для предварительного «скручивания» слоев молекул жидких кристаллов между стеклами на 90°. Когда напряжение на управляющие электроды не подано, поток света, пройдя через нижний поляризатор, двигается через слои жидких кристаллов, которые плавно меняют его поляризацию, поворачивая её на угол 90°. В результате поток света после выхода из ЖК материала беспрепятственно проходит через верхний поляризатор (сориентированный перпендикулярно нижнему) и попадает к наблюдателю. Никакого формирования изображения не происходит. При подаче напряжения на электроды между ними создается электрическое поле, что вызывает переориентацию молекул жидких кристаллов. Молекулы стремятся выстроиться вдоль силовых линий поля в направлении от одного электрода к другому. Вследствие этого пропадает эффект «скручивания» поляризованного света, под электродом возникает область тени, повторяющая его контуры. Создается изображение, формируемое светлой фоновой областью и темной областью под включенным электродом. Путем варьирования контуров площади, занимаемой электродом, можно формировать самые различные изображения: буквы, цифры, иконки и пр. Так создаются символьные ЖКИ. А при создании массива электродов (ортогональной матрицы) можно получить графический ЖКИ с разрешением, определяемым количеством задействованных электродов

Большинство современных ЖК индикаторов и дисплеев управляются от микроконтроллеров, которые располагаются на обратной стороне индикатора. Микроконтроллер преобразует цифровые коды, содержащие информацию об отображаемом объекте, в последовательность импульсов напряжения для электродов индикатора. В постоянной памяти этого МК записаны образы символов, которые могут отображаться индикатором (функция знакогенератора). В оперативной памяти МК размещаются коды тех символов, которые высвечиваются на экране индикатора в текущий момент времени. Поэтому, когда Вы производите подключение ЖК индикатора к МК, Вы фактически устанавливаете связь между двумя микропроцессорными системами.

В следующем параграфе мы рассмотрим цифро-буквенный ЖК индикатор с управлением от стандартного контроллера AND671GST с параллельным интерфейсом обмена. Мы также приведем пример программного кода для управления этим индикатором.

5.6.2. Сопряжение МК с символьным ЖК индикатором

AND671GST — однострочный цифро-буквенный дисплей на 16 знакомест. Для управления такими дисплеями используются интегральные схемы контроллеров HD44100H или HD44780. Контроллер с сопутствующими элементами размещается на печатной плате, которая помешается за индикатором и образует с ним единую конструкцию. На плате контроллера смонтирован разъем на 14 контактов. На разъем выведены сигналы стандартизованного параллельного интерфейса для сопряжения символьных ЖК индикаторов с микропроцессорными системами. Назначение сигналов этого интерфейса, имена линий и соответствующие им номера контактов разъема приведены на рис. 5.12,a.

Номер вывода Обозначение Функция
1 GND Общий вывод источника питания
2 VDD Напряжение питания контроллера 5,0 В
3 V0 Напряжение питания ЖК матрицы
4 RS Выбор регистра контроллера: 0 — регистр управления, 1 — регистр данных
5 R/W Выбор режима обмена чтение/запись: 0 — запись, 1 — чтение
6 E Разрешение обмена
7 DB0 Двунаправленная магистраль данных контроллера ЖК индикатора
8 DB1
9 DB2
10 DB3
11 DB4
12 DB5
13 DB6
14 DB7

а) Описание выводов контроллера ЖК индикатора

б) Схема подключения ЖК индикатора к МК

в) Временные диаграммы обмена в режиме записи

Рис. 5.12. Цифро-буквенный ЖК индикатор

Схема подключения индикатора к МК семейства 68HC12 представлена на рис. 5.12,б. Обмен данными в параллельном однобайтовом формате производится через порт PORT P. В нашем примере мы будем только записывать данные в контроллер индикатора, поэтому порт может быть однонаправленным. В реальных задачах иногда приходится читать информацию из памяти контроллера управления дисплеем, тогда следует использовать двунаправленный порт. Для управления режимами обмена информацией с контроллером используются два дополнительных сигнала: E — разрешение обмена, и RS — выбор регистра для обмена. Эти две линии подключены к линиям другого порта вывода МК. Третий сигнал управления обменом — линия выбора направления обмена (чтение или запись) подключена к общему выводу, поскольку в примере мы будем использовать только режим записи.

Три контакта разъема индикатора предназначены для подключения двух источников напряжения: VDD — напряжение питания цифровой части (схемы управления индикатора), VO — напряжение смещения электродов. Последнее называют напряжением управления контрастностью индикатора. Вывод VO подключен к средней точке потенциометра, поэтому напряжение VO может изменяться от 0 до 5,0 В, обеспечивая таким образом выбор наилучшего режима отображения.

Временные диаграммы обмена. Различают два типа данных, которые может передать МК контроллеру индикатора: команды управления и данные, т.е. коды символов для отображения. В режиме чтения МК может получить от контроллера управления дисплеем слово-состояние и данные из внутреннего ОЗУ символов. В нашем примере мы не будем пользоваться режимом чтения.

Временные диаграммы одного цикла записи в контроллер дисплея приведены на рис. 5.12,в. Приведенные на рисунке длительности временных интервалов определяются конкретным типом выбранного индикатора, поэтому могут достаточно существенно различаться. Об этом следует помнить при использовании ранее написанного и отлаженного программного кода для управления индикатором в последующих разработках. Если очередной индикатор требует больших времен установления по сравнению с предыдущим, то программный код может оказаться неработоспособным.

В соответствии с приведенными временными диаграммами (рис. 5.12,в) должна сгенерировать следующую последовательность сигналов на выходах портов МК:

• Линия RS должна быть установлена в соответствии с типом передаваемых данных: 1 — запись данных, 0 — запись команды;

• С задержкой в 140 нс относительно сигнала RS должна быть установлена в 1 линия разрешения обмена E;

• Длительность импульса на линии E не должна быть менее 450 нс;

• Байт данных должен быть выставлен на линии DB0…DB7 не позднее, чем за 195 нс до спадающего фронта сигнала E. Это время называют временем предустановки данных относительно сигнала разрешения E;

• Данные на линиях DB0…DB7 должны оставаться неизменными в течение не менее 10 нс после перехода сигнала E в неактивное (логический 0) состояние. Это время называют временем сохранения данных относительно сигнала E;

• Период сигнала E не должен быть менее 1000 нс.

Основываясь на требованиях временной диаграммы обмена, следующий алгоритм должен быть реализован микроконтроллером для выполнения одного цикла записи в контроллер дисплея:

1. Установить линию RS в 1 или в 0 (1 — для записи кода символа, 0 — для записи кода команды управления дисплеем);

2. Установить активный уровень на линии разрешения E (логическая 1);

3. Выдать на порт PORT P байт данных (код символа или команда управления);

4. Перевести линию E в неактивное состояние (логический 0).

В процессе создания на основе этого алгоритма программы управления следует учесть все перечисленные ранее задержки между сигналами.

Программа управления ЖК индикатором. Структура программы управления символьным ЖК индикатором представлена на рис. 5.13,а. Программа включает коллекцию функций, каждая из которых выполняет законченное смысловое действие. Разбиение задачи на отдельные функции — искусство разработчика. От выбранного набора функций и способов передачи параметров между ними зависит число возможных ошибок при последующем использовании этих функций в прикладной программе и компактность файла исполняемых кодов.

а) Набор функций управления

б) Блок-схема алгоритма инициализации

Рис. 5.13. Программное обеспечение для управления цифро-буквенным ЖК индикатором

Блок-схема функции инициализации дисплея представлена на рис. 5.13,б. Она реализует алгоритм начальной установки дисплея, который разработан в соответствии с техническими рекомендациями производителя.

Ниже приведен текст программы на Си для всех функций рис. 5.13,а.

/*содержит программный код для шести функций управления ЖК дисплеем */

/* Функция initialize_lcd производит начальную установку режимов дисплея */

putcommands(0x38); //команда установки формата интерфейса обмена

putcommands(0x06); //установить режим ввода с автоматическим

putcommands(0x0E); //включить дисплей, режим курсора мигающий

putcommands(0x02); //установить курсор на первое знакоместо

/* Функция putchars производит запись одного кода символа в контроллер */

DDRP = 0xFF; //установить порт PORT P на вывод

DDRDLC = DDRDLC | 0x0C; //установить разряды 2 и 3 порта PORT DLC на

PORTP = с; //Выдать в порт PORT P код символа с

PORTDLC = PORTDLC | 0x08; //установить линию RS в 1

PORTDLC = PORTDLC | 0x04; //установить линию E в 1

PORTDLC = 0; //установить E и RS в 0

/*Функция putcommands производит запись одного кода команды в контроллер */

DDRP = 0xFF; //установить порт PORT P на вывод

DDRDLC = DDRDLC|0x0C; //установить разряды 2 и 3 порта PORT DLC на

PORTDLC = PORTDLC & 0xF7; //установить линию RS в 0

PORTP = d; //Выдать в порт PORT P код команды d

PORTDLC = PORTDLC | 0x04; //установить линию E в 1

PORTDLC = 0; //установить E и RS в 0

/*Функция lcdprint производит запись строки символов в ОЗУ дисплея */

putcommands(0x02); //команда установки адреса на начало строки

while(*(string) != ‘\0’) //вывести последовательно кода символов

/* Функция delay_5ms формирует задержку 5 мс */

for(i=0; i ? 2 @ A B C D E F G H I J K L M N O 3 P Q R S T U V W X Y Z [ \ ] ^ _ 4 ` a b c d e f g h i j k l m n o 5 p q r s t u v w x y z < | >

Рис. 5.15. Таблица кодов символов для графического ЖК дисплея

Схема подключения дисплея AND1391ST к МК семейства 68HC12 представлена на рис. 5.16, а. Наименование и краткое описание выводов контроллера управления дисплеем AND1391ST приведены в таблице рис. 5.16, б.

а) Схема подключения ЖК дисплея к МК

Номер вывода Обозначение Функция
1 FGND Вывод корпуса
2 GND Общий вывод источника питания
3 VDD Напряжение питания контроллера 5.0 В
4 VEE Напряжение питания ЖК матрицы –14 В ± 3 В
5 WR Линия управления «запись»
6 RD Линия управления «чтение»
7 CE Линия управления «разрешение обмена»
8 C/D Выбор режима обмена: 0 — чтение/запись данных, 1 — чтение регистра состояния/запись команды
9 NC Не подсоединен
10 RESET Начальная установка контроллера
11 DB0 Двунаправленная магистраль данных контроллера ЖК индикатора
12 DB1
13 DB2
14 DB3
15 DB4
16 DB5
17 DB6
18 DB7
19 FS Выбор размера символа
20 NC Не подсоединен

б) Описание выводов контроллера графического ЖК дисплея

Рис. 5.16. Сопряжение графического ЖК дисплея с МК

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

В нашем примере мы использовали линии портов PORTP и PORTDLC для обмена данными между МК и дисплеем. Двунаправленная магистраль данных контроллера дисплея D[7…0] подключена к линиям PORTP[7…0] двунаправленного порта PORTP (рис. 5.16, а). В отличие от предыдущего примера, обмен данными между МК и контроллером дисплея происходит в двух направлениях. Поэтому в процессе взаимодействия с дисплеем МК многократно перепрограммирует регистр направления передачи DDRP, изменяя режим работы линий порта PORTP (ввод или вывод).

Для управления режимами обмена информацией с контроллером используются четыре дополнительных сигнала, которые формируются МК на линиях PORTDLC[3…0] порта PORTDLC (рис. 5.16, а). Назначение и краткое описание сигналов управления дисплеем приведено в таблице рис. 5.16, б. Там же показаны комбинации управляющих сигналов, которые следует использовать при обмене с дисплеем различными типами данных.

Рис. 5.17. Временные диаграммы обмена контроллера графического ЖК дисплея

Временные диаграммы обмена. Временные диаграммы обмена с контроллером управления графическим ЖК дисплеем приведены на рис. 5.17. Они аналогичны рассмотренным ранее диаграммам обмена с контроллером цифро-буквенного индикатора. Так же, как и в предыдущем случае, мы будем генерировать сигналы управления в соответствие с приведенной временной диаграммой, последовательно переключая линии порта PORTDLC в программе управления дисплеем.

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

Рис. 5.18. Структура программного обеспечения графического ЖК дисплея

//filename: 2D_LCD.c содержит программный код для 14 функций управления

Источник

Оцените статью
Частотные преобразователи
Adblock
detector