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

Многие микропроцессорные устройства требуют вывода информации в символах десятичной или шестнадцатеричной системы счисления. Наиболее подходящим индикатором для этого является светодиодный семисегментный индикатор. Внешний вид семисегментного индикатора показан на рис. 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.). Это сопротивление столь велико, что можно считать, что внутренние цепи логического элемента отсоединены от соответствующего вывода корпуса этого элемента. Это свойство буферов с тремя состояниями позволяет подсоединять к одному электрическому проводнику печатной платы сразу несколько выводов ИС.


Вход разрешения работыВходВыход
LLZ
LHZ
HLL
HHH

Рис. 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.

.

.

unsigned char INМASK = 0х00;

unsigned char OUTМASK = 0xff;

unsigned char PORTA_value;

DDRA = INМASK; /*порт PORTA на ввод*/

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

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

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

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

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

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

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

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

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

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

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