Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Р3.3 – , используется как вход 1 внешнего запроса прерывания;

Р3.4 – Т0, используется как вход счетчика внешних событий Т/С 0;

Р3.5 – Т1, используется как вход счетчика внешних событий Т/С 1;

Р3.6 – , строб записи во внешнюю память данных, выходной сигнал, сопровождающий вывод данных через порт Р0 при использовании команд

МОVХ @Ri, А и МОVХ @DРТR, А;

Р3.7 – , строб чтения из внешней памяти данных, выходной сигнал, сопровождающий ввод данных через порт Р0 при использовании команд

МОVХ А, @Ri и МОVХ А, @DРТR.

Альтернативная функция любой из линий порта Р3 реализуется только в том случае, если в соответствующем этой линии фиксаторе-защелке содержится "1". В противном случае на линии порта Р3 будет присутствовать "0".

3.9. Схема десятичной коррекции аккумулятора (СДКА)

АЛУ микроЭВМ позволяет выполнять сложение двоично-десятичных данных в упакованном формате (в 1 байт “упакованы” 2 десятичные цифры). При выполнении операции суммирования таких чисел используется команда “Сложение”, которая суммирует операнды по правилам двоичной арифметики и результат помещает в аккумулятор. Для исправления возможной ошибки (коррекции содержимого аккумулятора) применяют команду десятичной коррекции DA A, которая аппаратно реализуется схемой десятичной коррекции аккумулятора.

3.10. Внутренний тактовый генератор (OSC)

ОМЭВМ содержит внутренний тактовый генератор (рисунок 6), BQ1 и BQ2 являются соответственно входом и выходом инвертирующего усилителя, который может быть включён в режим генератора при подключении к выводам BQ1 и BQ2 резонатора или LC-цепочки (рисунок 7).

НЕ нашли? Не то? Что вы ищете?

Рисунок 6 - Внутренний тактовый генератор


Рисунок 7 - Подключение к выводам BQ1 и BQ2 резонатора и LC-цепочки

3.11. Резидентная шина данных

МикроЭВМ содержит 8-разрядную внутреннюю (резидентную) шину данных (РШД), через которую осуществляется обмен информацией между различными частями ОМЭВМ.

3.12. Регистры

3.12.1. Аккумулятор – 8-разрядный регистр, предназначенный для приёма и хранения результата, полученного при выполнении арифметических и логических операций или операций пересылки.

3.12.2 Регистр В - 8-разрядный регистр, используемый при выполнении операций умножения и деления. В других случаях он может рассматриваться как дополнительный регистр общего назначения (часть СОЗУ).

3.12.3. Регистры Т1, Т2 - 8-разрядные регистры временного хранения, предназначенные для приёма и хранения операндов на время выполнения операций над ними в АЛУ. Программно недоступны.

3.12.4. Регистр состояния программы (PSW) - служит для хранения информации о результате выполнения операции в АЛУ. Его называют также регистром флагов (признаков). Обозначение отдельных разрядов регистра PSW и назначение разрядов приведены соответственно в таблицах 3,5 и 6.

Флаг переноса СУ может устанавливаться и сбрасываться как аппаратно, так и программно. Аппаратно он устанавливается, если при выполнении арифметических или логических операций формируется перенос / заём в старшем (седьмом) разряде 8-битных операндов. При выполнении операций умножения и деления флаг СУ сбрасывается. Кроме того, флаг СУ выполняет функции “булевого аккумулятора” в командах, работающих с битами.

Флаг вспомогательного переноса АС устанавливается / сбрасывается аппаратно или программно. Аппаратно устанавливается при выполнении операций сложения и вычитания при возникновении переноса/заёма в 3-м разряде при образовании младшей тетрады результата. Чаще всего используется СДКА при выполнении команды DA A.

Флаг пользователя F0 – устанавливается / сбрасывается программно и может использоваться программистом по своему усмотрению.

Флаги-указатели текущего банка РОНов устанавливаются / сбрасываются программно и указывают, какой из 4-х банков РОНов РПД (рисунок 5) в данный момент времени является рабочим (текущим).

Флаг переполнения OV устанавливается / сбрасывается программно или аппаратно. Аппаратно устанавливается тогда, когда при выполнении операции сложения/вычитания над числами со знаком результат не укладывается в диапазон -+127 и старший, знаковый бит искажается. При выполнении операции деления флаг OV аппаратно сбрасывается, а в случае деления на нуль устанавливается. При умножении флаг OV аппаратно устанавливается, если результат больше 255.

Флаг чётности (паритета) P устанавливается / сбрасывается аппаратно. Он дополняет содержимое аккумулятора до чётного числа единиц. В 9-разрядном слове, состоящем из 8 разрядов аккумулятора и бита Р, всегда содержится чётное число единичных битов.

Все 7 названных флагов программно доступны по чтению.

3.12.5. Регистр команд РК (IR) предназначен для хранения кода операции (КОП) текущей выполняемой команды.

3.12.6. Счётчик команд СК (программный счётчик (РС)) содержит 16-разрядный адрес ячейки памяти программ. В состав счётчика команд входят 16-разрядные буфер PC, регистр PC, схема инкремента, регистр адреса памяти.

Буфер PC осуществляет связь между 8-разрядной РШД и 16-разрядным регистром PC, в котором хранится текущий 16-разрядный адрес памяти программ.

Схема инкремента увеличивает текущее значение 16-разрядного адреса памяти программ на единицу.

Регистр адреса памяти предназначен для записи и хранения исполнительного 16-разрядного адреса памяти программ или 8/16-разрядного адреса внешней памяти данных.

3.12.7. Регистр указатель данных РУД (DPTR) предназначен для хранения 16-разрядного адреса внешней памяти данных. Состоит из двух 8-разядных регистров DPH и DPL, входящих в блок регистров специальных функций (таблица 2). Они программно доступны и могут использоваться в качестве двух независимых РОНов, если нет необходимости в хранении 16-разрядного адреса внешней памяти данных.

3.12.8. Указатель стека (SP) адресует ячейки специальной области памяти данных (РПД), называемой стеком. SP адресует “верхушку” стека - последнюю ячейку стековой памяти, в которую записана информация. Указатель стека представляет собой 8-разрядный регистр, содержимое которого при выполнении команд LCALL, ACALL увеличивается на 2. При выполнении команд RET, RETI содержимое указателя стека уменьшается на 2. При выполнении команды PUSH direct содержимое SP увеличивается на 1, а при выполнении команды POP direct - уменьшается на 1.

3.12.9. Регистр адреса РА (RAR) адресуемой ячейки РШД. Программно не доступен.

3.12.10. Регистры РРТС (TMOD) и РУСТ (TCON) служат для программирования и управления работой таймеров-счётчиков и системы прерываний. Форматы, обозначение и назначение их отдельных разрядов приведены в таблицах 10…13.

3.12.11. Регистр РУПП (SCON), буферы ПД и ПРМ (SBUF) предназначены для программирования и управления работой последовательного интерфейса. Форматы, обозначение и назначение их отдельных разрядов приведены в таблицах 14, 15.

3.12.12. Регистры РМП (IE) и РП (IR) программируют и управляют работой системы прерываний ОМЭВМ. Форматы, обозначение и назначение РМП и РП приведены в таблицах 7, 8.

3.12.13. Регистр управления мощностью РУМ (PCON) служит для программного управления потреблением энергии от источника питания, а также скоростью передачи по последовательному каналу ОМЭВМ. Форматы, обозначение и назначение его отдельных разрядов приведены в таблицах 16, 17.

Более подробно применение этого регистра будет рассмотрено в разделах 4.3; 8.

Таблица 16 – Обозначение разрядов регистра PCON

Биты

7

6

5

4

3

2

1

0

Обозначение

SMOD

-

-

-

GF1

GF0

PD

IDL

Таблица 17 – Назначение разрядов регистра PCON

Биты

Наименов.

Назначение битов

Примечание

7

SMOD

Бит удвоения скорости передачи: при установке в "1" – скорость передачи удваивается.

При работе последовате­льного порта

6

-

Резервный

5

-

Резервный

4

-

Резервный

3

GF1

Флаг общего назначения

2

GF0

Флаг общего назначения

1

PD

Бит включения режима микропот­ребления

"1" – режим микропотребления

Если в PD и IDL одновременно записана "1", преимущество имеет PD

0

IDL

Бит холостого хода

"1" – режим холостого хода

4. Особенности функционирования и применение ОМЭВМ в различных режимах

4.1. Использование таймеров-счётчиков

ОМЭВМ содержит 2 программируемых 16-разрядных таймера-счётчика внешних событий Т/С, которые обозначаются: Т/С0 и Т/С1. Таймеры-счётчики могут программироваться на режим таймера или счётчика внешних событий. В режиме таймера содержимое Т/С инкрементируется в каждом машинном цикле, т. е. с интервалом , где - период частоты внешнего кварцевого резонатора. В режиме счётчика внешних событий Т/С инкрементируются под воздействием перехода из логической 1 в логический 0 внешнего сигнала на входах Т0, Т1 (линии Р3.4, Р3.5). Для распознавания перепада из 1 в 0 требуется не менее двух машинных циклов. В фазе S5 P2 первого МЦ на входе Ti (i = 0,1) фиксируется значение логической 1. В фазе S5 P2 следующего МЦ распознаётся нулевое значение сигнала на входе Ti (т. е. обнаруживается перепад из 1 в 0). В очередном МЦ осуществляется инкремент содержимого Т/С.

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

(1)

Для того, чтобы при определении перепада из 1 в 0 логические 1 и 0 на входе Ti были зафиксированы, длительности импульсов и пауз должны удовлетворять соотношениям

(2)

Логически каждый Т/С разбит на 2 части по 8 бит, обозначаемые TH0, TL0 для T/C0 и TH1, TL1 для T/C1. Последние можно использовать как 8-разрядные регистры общего назначения, если предварительно остановить Т/С, сбросив биты TR0 = TR1 = 0 в регистре РУСТ (TCON).

Начальные значения в регистры THi, TLi (i = 0,1) при программировании Т/С записываются произвольно.

Управлять счётом (разрешать / запрещать) можно программно и аппаратно.

Регистры THi и TLi программно доступны по записи и чтению.

При переполнении Т/С в процессе счёта устанавливаются флаги TFi (i = 0,1) в регистре РУСТ (TCON), которые могут вызывать прерывание основной программы или опрашиваться программно.

Для программирования и управления работой Т/С предназначены два регистра: TMOD и TCON. Обозначение и назначение их отдельных разрядов приведены в таблицах 10…13.

Таймеры / счётчики могут работать в одном из 4-х режимов работы: 0, 1, 2 и 3.

4.1.1. Режим 0. Установка битов М0 = 0, М1 = 0 в регистре TMOD настраивает оба таймера на работу в режиме 0. Упрощённая структура Т/С в этом режиме приведена на рисунке 8.


Рисунок 8 – Упрощенная структурная схема таймера/счетчика в режиме 0

Каждый Т/С работает как 13-разрядный счётчик. 5 младших разрядов выполняют функцию предварительного делителя входной частоты на . Значащими в этом режиме являются 5 младших разрядов регистров TLi и 8 разрядов THi. Оба Т/С могут работать как таймеры или счётчики внешних событий в зависимости от значений разрядов в регистре TMOD.

Имеются следующие возможности останова (запрета) и включения (разрешения) счёта:

Программно: 1) сброс/установка битов TRi в TCON при GATEi = 0 или INTi = 1 запрещает / разрешает счёт;

2) установка/сброс бита GATEi в регистре TMOD при TRi = 1 и INTi = 0 запрещает / разрешает счёт.

Аппаратно: нулевой / единичный сигнал на входе INTi при GATEi = 1 и TRi = 1 запрещает/разрешает счёт.

В обоих случаях (при программном и аппаратном управлении) при останове в T/Ci сохраняется текущее значение, а после включения счёт продолжается с этого значения, если во время останова T/Ci не перезагружался программно.

Использование T/Ci для измерения длительности единичного импульса tи. вх на входе INTi. Программно устанавливаем TRi = 1, GATEi = 1, C/Ti = 0. Запрещаем прерывание от поступления активного логического нулевого сигнала на входе INTi. Загружаем в T/Ci начальное значение . До поступления импульса на входе INTi присутствует логический 0 и T/Ci стоит (счёт запрещён).

При поступлении единичного импульса счёт разрешён на время, равное длительности этого импульса. После окончания импульса счёт опять аппаратно запрещается и T/Ci останавливается. По разности чисел в таймере после и до счёта и известной частоте переключения T/Ci

определяем tи. вх.

При переполнении T/Ci (переход содержимого регистра T/C из состояния «все единицы» в состояние «все нули») устанавливаются флаги TFi в регистре TCON.

На выходе первого T/C в момент переполнения вырабатывается короткий импульс, который поступает в блок синхронизации последовательного интерфейса.

4.1.2. Режим 1. Установка битов М0 = 1, М1 = 0 в регистре TMOD настраивает оба таймера на работу в режиме 1. Упрощённая структура T/Ci в этом режиме приведена в [1].

Каждый T/Ci работает как 16-разрядный счётчик. В остальном программирование, работа и применение T/Ci аналогичны режиму 0.


4.1.3. Режим 2. Установка битов М0 = 0, М1 = 1 в регистре TMOD определяет работу T/Ci в режиме 2. Упрощённая структура T/Ci в этом режиме приведена на рисунке 9.

Рисунок 9 – Упрощенная структурная схема таймера/счетчика1 в режиме 2

Каждый T/Ci может работать как автоперезагружаемый 8-разрядный таймер/счётчик. В качестве счётчика используется регистр TLi, а THi содержит программно установленное начальное значение, с которого ведётся счёт. При каждом очередном переполнении TLi устанавливается флаг переполнения TFi и автоматически начальное значение перезагружается из THi в TLi.

На выходе первого T/Ci в этом режиме вырабатывается последовательность прямоугольных импульсов, которая поступает в блок последовательного интерфейса и может использоваться для синхронизации работы последнего.

4.1.4. Режим 3. Установка битов М0 = 1, М1 = 1 определяет режим 3. Упрощённая структура T/C0 в этом режиме дана на рисунке 10.

Рисунок 10 – Упрощенная структурная схема таймера/счетчика0 в режиме 3

Режим 3 имеет ряд особенностей. Если в этом режиме запрограммировать оба таймера, то T/C1 останавливается, а T/C0 работает как 2 независимых 8-разрядных регистра TH0 и TL0.

Устройство на основе регистра TL0 может работать в режиме таймера и в режиме счётчика внешних событий. За ним сохраняются все биты управления T/C0, оно реагирует на воздействие по входам T0 и INT0. При переполнении TL0 устанавливается флаг TF0.

Устройство на основе регистра TH0 может работать только в режиме таймера. Для управления оно использует часть битов, управляющих работой T/C1, который в режиме 3 остановлен. TR1 управляет включением / выключением TH0. При переполнении TH0 устанавливается флаг TF1.

Вторая особенность режима 3 состоит в том, что T/C0 может программироваться в режим 3, а T/C1 – в режим 0, 1или 2. Так как бит TR1 управляет работой TH0, то T/C1 в режимах 0, 1, 2 при GATE1 = 0 всегда включён, а при GATE1 = 1 – выключен. Флаг переполнения TF1 используется TH0, поэтому при переполнении в режимах 0 и 1 T/C1 обнуляется, а в режиме 2 перезагружается, не устанавливая флаг переполнения. Остальные управляющие биты и сигналы T/C1 используются аналогично режимам 0, 1, 2.

T/C1 аппаратно связан с блоком синхронизации последовательного интерфейса. При работе в режимах 0, 1, 2 при переполнении T/C1 всегда вырабатывает тактовый импульс, поступающий в интерфейс. Поэтому режим 3 для T/C0 удобно применять когда:

1. Требуется работа двух 8-разрядных таймеров (TH0, TL0) и формирование тактовых импульсов для

последовательного интерфейса (T/C1 в режиме 2).

2. Требуется работа 8-разрядного таймера (TH0), 8-разрядного счётчика внешних событий (TL0) и формирование синхроимпульсов для последовательного порта (T/C1 в режиме 2).

4.2. Использование параллельных портов ввода-вывода

Как отмечено в 3.8 порты Р0…Р3 могут использоваться:

1.  Как 8-разрядные параллельные порты ввода/вывода информации;

2.  Как 32 одноразрядные линии ввода/вывода;

3.  При работе с внешней памятью программ и данных;

4.  В режиме альтернативных функций (8 линий порта Р3);

5.  При программировании и проверке РПП.

По сигналу ”RESET” в регистры-защёлки всех портов автоматически записываются единицы, настраивающие все 32 линии портов на ввод информации, а восемь линий порта Р3, кроме этого, - на режим “альтернативных” функций.

4.2.1. Особенности работы порта Р0

На рисунке 11 приведена упрощённая структурная схема i-го разряда порта Р0, отражающая его работу в двух основных режимах:

1.  Работа с внешней памятью программ или данных;

2. 


Работа в качестве порта ввода/вывода.

Рисунок 11 – Упрощенная структурная схема порта Р0 (i-го вывода)

В зависимости от выполняемых в настоящее время команд (работа с портами или с ВП) внутренний сигнал «управление» принимает значение: 0 - Р0 используется как порт ввода/вывода; 1 - порт используется для работы с ВП.

4.2.1.1. Особенности работы Р0 с ВП (ВПП или ВПД)

Сигнал «управление» равен 1. Мультиплексор МХ находится в верхнем положении. На вход инвертора и один из входов конъюнктора поступает значение i-го разряда младшего байта адреса ВП - 1/0. После инвертора оно принимает значение 0/1. Т. к. на другом входе конъюнктора присутствует логическая 1, то выходной сигнал конъюнктора повторяет значение i-го разряда адреса - 1/0. Таким образом, на затворах транзисторов VT1 и VT2 присутствуют две противоположные комбинации логических сигналов:

1/0 на затворе VT1

при значении i-го бита адреса 1/0.

0/1 на затворе VT2

В схеме использованы МОП-полевые транзисторы с каналом типа n. Если на затворе такого VT логическая 1, то транзистор – открыт, а если логический 0, то – закрыт. Следовательно, если в i-м бите адреса выдается логическая 1, то VT1 – открыт, а VT2 – закрыт, и с i-го вывода порта 0 снимается также 1. Если же в i-м бите адреса присутствует логический 0, то VT1 – закрыт, а VT2 – открыт.

С выхода при этом снимается логический 0. Сказанное можно представить следующей таблицей 18.

Таблица 18

Значение i-го бита МБ адреса ВП (выводимых данных)

Сигналы на затворах транзисторов

Состояние транзисторов

Значение выходного сигнала

VT1

VT2

VT1

VT2

0

0

1

закрыт

открыт

0

1

1

0

открыт

закрыт

1

Выводы порта Р0 при работе с ВП используются в режиме мультиплексирования: сначала выдаётся МБ адреса ВП, а затем через выводы выдаются или принимаются данные. Выдаются при работе с ВПД, а принимаются при работе с ВПП или ВПД. Следует обратить внимание на то, что при чтении ВПП или ВПД на нижний транзистор VT2 аппаратно автоматически подаётся логический 0, VT закрывается и не шунтирует i-й вывод Р0, через который происходит чтение памяти. Отметим также, что при выполнении команд работы с внешней памятью в триггеры-защёлки порта Р0 автоматически записываются логические 1.

4.2.1.2. Особенности работы Р0 в качестве портов ввода/вывода

Сигнал «управление» равен нулю. МХ находится в нижнем положении. На затворе VT1 постоянно присутствует логический 0, и он закрыт.

4.2.1.2.1. Вывод данных через Р0

Через РШД внутренним сигналом «запись защёлки» значение i-го выводимого бита запоминается в триггере-защёлке. При выводе логического 0 сигналом высокого уровня, снимаемым с выхода триггера-защёлки, транзистор VT2 открывается (VT1 закрыт постоянно), и с i-го вывода порта Р0 выдаётся логический 0. При выводе логической 1 сигналом низкого уровня, снимаемым с выхода триггера-защёлки, транзистор VT2 закрывается (VT1 закрыт постоянно), и i-й вывод Р0 оказывается «оборванным» - находится в z-состоянии. Поэтому для вывода логической 1 через i-й вывод, когда Р0 работает как порт ввода/вывода, необходимо включать внешний «подтягивающий» резистор (стока) между и i-м выводом порта Р0 (см. рисунок 11).

4.2.1.2.2. Ввод данных через Р0

При вводе данных соответствующий триггер-защёлка должен быть установлен в 1. В противном случае (если он в 0) VT2 – открыт и шунтирует i-й вывод, т. е. постоянно будет вводиться логический 0. Установить триггеры-защёлки в 1 можно различными способами:

·  сигналом «RESET» автоматически во все триггеры-защёлки записываются единицы;

·  при выполнении команд, работающих с ВП (ВПП и ли ВПД), автоматически в триггеры-защёлки записываются единицы;

·  командами, работающими с портом Р0 в целом;

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10