Open Library - открытая библиотека учебной информации

Открытая библиотека для школьников и студентов. Лекции, конспекты и учебные материалы по всем научным направлениям.

Категории

Высокие технологии Регистр состояния STATUS и рабочий регистр W.
просмотров - 255

Регистры INDF и FSR

Физически 5-разрядный регистр FSR имеет адрес 0x04 и предназначен для преобразования 8-разрядного слова, поступающего к нему по шинœе данных, в 5 разрядный адрес ОЗУ, используя 5 младших разрядов шины. Регистр доступен для записи и чтения и при крайне важности может быть использован как дополнительный регистр общего назначения. Три старших разряда FSR недоступны для записи, а считываются как ‘111’. При этом, основное его назначение состоит именно в возможности управляемой адресации других РОН-ов.

Адрес регистра в команде указывается в виде специального указателя, которым выступает адрес регистра INDF. Затем идет обращение к региструFSR в котором находится адрес регистра ОЗУ.

Физически 8-разрядный регистр STATUS имеет адрес 0х03 и предназначен индикации состояния контроллера и некоторых результатов выполнения команд арифметико-логическим устройством. В контроллере 16С52 для этих целœей используются лишь 3 младших разряда регистра: С , DC, Z.

Регистр STATUS доступен для записи и чтения (фактически только трех младших разрядов) как и любой РОН.

Регистр W, называемый рабочим регистром контроллера, не имеет физического адреса и предназначен для внутреннего перемещения 8-разрядных данных, выступая лишь в качестве промежуточного контейнера при выполнении команд над этими данными.

5.8 Динамическая индикация на микроконтроллере PIC 16C52. Схема, назначение элементов, временные диаграммы.

Алгоритм устройства динамической индикации включает в себя следующую последовательность действий:

- «зажечь» первый индикатор, подав на h1 уровень логического «0», при этом всœе остальные индикаторы должны быть потушены за счет подачи на h2=h3=h4=«1»;

- подать на сегменты a – g всœех индикаторов код первого символа и удерживать его в течение времени пока h1=«0»;

- убрать код первого символа, выставив на сегментах a – g = «0»;

- «зажечь» второй индикатор, подав на h2 уровень логического «0», приэтом всœе остальные индикаторы должны быть потушены за счет подачи на h1=h3=h4=«1»;

- подать на сегменты a – g всœех индикаторов код второго символа и удерживать его в течение времени пока h2=«0»;

- убрать код второго символа, выставив на сегментах a – g = «0»;

- повторить аналогичные тройки процедур для третьего и четвертого индикатора, выставляя на шинœе сегментов a – h коды соответственно третьего и четвертогоотображаемых символов;

- циклически повторять ВСЕ приведенные выше процедуры с частотой не менее 100 Гц/один индикатор.