Смекни!
smekni.com

Методические указания к лабораторным работам №1-­5 для студентов специальности 210100 «Управление и информатика в технических системах» (стр. 4 из 5)

На рис. 8 показана функциональная схема n-разрядного линейного дисплея с динамической индикацией. Дисплей работает следующим образом. На шину данных (ШД) последовательно выдаются значения разрядов индицируемого числа, стробируемые сигналом «Зп». Данные поступают на преобразователь из двоичного кода в семисегментный, с выхода которого информация параллельно заводится на все разряды дисплея. Счетчик Сч и дешифратор Дш служат для определения активного разряда линейного дисплея (разряда, в который выводится текущая информация с ШД). По сигналу «Зп» происходит изменение активного разряда так, что последовательно перебираются все разряды дисплея. Следует отметить, что чем больше разрядность дисплея, тем менее ярко светятся индикаторы, т. к. время свечения одного разряда уменьшается в силу необходимости выдерживать период между повторением информации, равный 20 мс.

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

Описание лабораторного стенда

Низкая нагрузочная способность ППА К580ВВ55А не допускает прямого соединения с семисегментными индикаторами, поэтому в схеме в качестве промежуточных усилителей тока используются логические элементы И-НЕ с открытым коллектором К155ЛА8. Ограничивающие резисторы R1-R8 обеспечивают протекание через сегменты тока, достаточного для их засветки. Дисплей выполнен на четырёх семисегментных светодиодных цифробуквенных индикаторах HG1-HG4 АЛС321А. Индикатор HG1 занимает правое знакоместо дисплея. Схема включения семисегментных индикаторов определяет активный уровень управляющего сигнала для байта выборки (уровень логической «1») и для байта индикации (уровень логического «0»).

В данной лабораторной работе преобразование двоичного кода в код семисегментных индикаторов осуществляется программно. Двоичному коду индицируемого символа ставится в соответствие определённый байт индикации, который и выдаётся в выходной порт В. Перекодировку удобнее всего проводить табличным способом, для чего байты индикации размещаются в смежных ячейках памяти в порядке возрастания исходных двоичных кодов символов. Такое расположение байтов индикации упрощает процесс перекодировки. Значения байтов индикации для десятичных цифр приведены в табл. 7.

Таблица 7

Десятичная цифра Шестнадцатиричный код Байт индикации

0

00

C0

1

01

F9

2

02

A4

3

03

B0

4

04

99

5

05

92

6

06

82

7

07

F8

8

08

80

9

09

90

ЗАДАНИЕ

Написать процедуру вывода информации на четырехзначный дисплей в динамическом режиме. Исходные данные для программы: четырехзначное шестнадцатеричное (десятичное) число, хранящееся в четырех смежных ячейках ОЗУ. Процедуру необходимо оформить в виде подпрограммы, которая должна выполнять следующие действия:

1. гашение индикаторов;

2. выборку из памяти первого (четвертого) числа;

3. получение байта индикации (перекодировка);

4. выдачу байта индикации в порт;

5. выборку первого (четвертого) знакоместа;

6. паузу

7. выход в основную программу.

Величина паузы подбирается так, чтобы исключить мерцание индикаторов.

Алгоритм основной программы выбирается согласно варианту:

Вариант 1: двоично-десятичный счетчик нажатий на кнопку К1;

Вариант 2: секундомер (запуск осуществляется по нажатию на кнопку К1, останов – по нажатию на кнопку К2);

Вариант 3: таймер с прямым счетом (запуск осуществляется по нажатию на кнопку К1).

Для всех вариантов величину единицы младшего разряда принять равной 0,1 с. В программе также необходимо реализовать функцию «антизвона» для кнопок К1 и К2 с целью исключения многократного срабатывания подпрограммы от одного нажатия кнопки. Факт нажатия кнопки фиксировать при перепаде состояния соответствующего бита старшей половины порта С. Младшая половина порта С используется в качестве дешифратора, необходимого для управления индикаторами (см. рис. 7).


ЛАБОРАТОРНАЯ РАБОТА № 5

АППАРАТНО-ПРОГРАММНАЯ РЕАЛИЗАЦИЯ

АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАНИЯ

Цель работы: изучение принципов построения и алгоритмов аналого-цифровых преобразователей на основе микропроцессорной системы.

Основные сведения

Аналого-цифровые преобразователи (АЦП) представляет собой функционально законченный узел, однозначно преобразующий значение аналоговой величины в число заданного цифрового формата. АЦП широко применяются в измерительных системах и измерительно-вычислительных комплексах для согласования аналоговых источников сигналов с цифровыми устройствами обработки информации.

Существуют различные способы аналого-цифрового преобразования, согласно которым различают несколько типов АЦП, различающиеся по точности, быстродействию, помехозащищённости и сложности реализации. Наиболее широкое распространение получили АЦП следующих типов:

· с непосредственным кодированием;

· интегрирующие;

· с табличной обработкой данных.

Наиболее широкими возможностями обладают системы, базирующиеся на АЦП компенсационного типа, характерной особенностью которых является наличие уравновешивающей обратной связи. Типовая структура таких АЦП (рис. 9) содержит компаратор (К), осуществляющий сравнение преобразуемого напряжения Ux с сигналом обратной связи Uk, формирователь кода (ФК), на выходе которого формируется эквивалентный входному напряжению Ux р-разрядный цифровой код N и ЦАП, преобразующий код N в непрерывный сигнал Uk.

Процесс уравновешивания в компенсационных устройствах определяется величиной и знаком разности (Ux - Uk). В процессе уравновешивания ФК вырабатывает по определённому алгоритму последовательность цифровых кодов, которые преобразуются ЦАП в компенсирующий сигнал Uk. Процесс уравновешивания завершается при установлении равенства напряжений Ux и Uk с заданной погрешностью, при этом код на выходе ФК эквивалентен преобразуемой величине Ux. В дальнейшем речь пойдет только об уравновешивающих АЦП.

Алгоритмы уравновешивания

Существующие алгоритмы уравновешивания в АЦП и цифровых устройствах компенсационного типа можно разбить на три группы:

· развёртывающие;

· следящие;

· комбинированные.

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

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

Ступенчато возрастающее напряжение формируется путём подачи на ЦАП двоичного кода, увеличивающегося от 0 до своего максимального значения. Увеличение кода на единицу приводит к изменению напряжения на выходе ЦАП на величину шага квантования. При достижении образцовым напряжением значения измеряемой величины компаратор вырабатывает сигнал, запрещающий изменение цифрового кода на входах ЦАП, который в этот момент времени является цифровым представлением измеряемого напряжения. Блок-схема алгоритма для программной реализации метода приведена на рис. 11. Следует отметить, что рассмотренный метод имеет большое время преобразования и поэтому в быстродействующих системах не применяется.