вувуву. 1. Нарисовать схему и пояснить работу индикатора в динамическом режиме 2
Скачать 103.91 Kb.
|
Оглавление1.Нарисовать схему и пояснить работу индикатора в динамическом режиме 2 2.Как определить частоту регенерации динамического индикатора 3 3.Почему в динамическом режиме нужно увеличивать ток сегмента 4 4.Написать и пояснить программу индикации знакомест 5 Нарисовать схему и пояснить работу индикатора в динамическом режиме Главным отличием динамического индикатора является то, что индикаторы светятся по очереди. Это позволяет использовать общий семисегментный преобразователь для всех одноименных сегментов, что упрощает схему и уменьшает количество внешних выводов ОВМ. Для подключения отдельных индикаторов к общему проводу источника питания имеются выводы общих катодов ОК0, ОК1, ОК2 соответственно для едини, десятков и сотен. Управляет подачей питания на декады дополнительный дешифратор типа К155ИД10, который служит и усилением тока. Как определить частоту регенерации динамического индикатора Чтобы было слитное изображение всех индикаторов, необходимо организовать поочередное и переодическое их включение с высокой частотой. Для оценки частоты «смены кадра» Fk можно использовать кинематографический стандарт: Отсюда можно найти время включения одного индикатора, которое для каждого из трех индикаторов должно быть в три раза меньше периода Тк, т.е. Временные диаграммы динамического индикатора: Токи сегментов следует увеличивать во столько раз, сколько знаков в индикаторе иначе будет тусклое свечение, поскольку средний ток через сегмент, определяющий яркость, уменьшается с ростом числа знаков. Но преобразователь КР514ИД1 имеет внутренний токозадающие резисторы, что не позволяет изменить ток сегментов. Поэтому при большем числе знакомест следует использовать микросхему КР514ИД2 с внешним резистором, чтобы задать необходимый импульсный ток. Таким образом, дешифратор КР514ИД1 формирует информационные сигналы на сегментах всех трех индикаторов. Но светиться будет только тот индикатор, катод которого подключен к общей точке т.е. подано питание. Написать и пояснить программу индикации знакомест Для управления динамическим индикатором в начале программы должны быть объявлены: #define mKvoZn 3 // количество знакомест data unsigned char mBufInd[mKvoZn]; // массив для буфера индикации unsigned char mPtrZn=0; //переменная-указатель для индексации массива В объявленном буфере для индикации должны храниться двоично-кодированных десятичные числа. Поэтому для преобразования значения байта (от 0 до 255) в три декады необходимо вычислить значения каждой из них, начиная со старшей. То есть, поделив байт на 100, получим число сотен, поделив остаток на 10, получим число десятков, а последний остаток будет числом единиц. void mByteToBCDtoBufInd (byte mBt) { mBufInd[2] = mBt / 100; // сотни mBufInd[1]= (mBt % 100) / 10; // десятки mBufInd[0]= (mBt % 100) % 10; // единицы } void mIndZn3 (void){ P1= mBufInd [mPtrZn] | (mPtrZn << 4); // Включаем знакоместо. mPtrZn++; // Подготавливаем следующий адрес. If (mPtrZn== mKvoZn) mPtrZn = 0; //Все ли знакоместа обслужили? } Эта подпрограмма обычно вызывается из процедуры прерывания: void mIntT0(void) interrupt TF0_VECTOR { ... // Загрузка на отсчет 10 мс, счет системных «тиков». mIndZn(); // Индикация очередного знакоместа. } |