Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-35.docx
Скачиваний:
13
Добавлен:
11.07.2022
Размер:
651.81 Кб
Скачать
  1. Состав регистров однокристального микропроцессора к1816ве48.

О МЭВМ К1816ВЕ48 имеет следующие технические характеристики: - шина данных – 8 разрядов; - шина адресов – 12 разрядов; - адресное пространство – 212 = 4 кбайта; - внутреннее ПЗУ – 1 кбайт; - расширение ПЗУ – до 3 кбайт; - внутреннее ОЗУ – 64 байта; - внешнее ОЗУ – 256 байт (4 страницы по 64 байта); - команды - 1 или 2 байта; - тактовая частота fт - 6МГц; - прерывания - 2 уровня; - ввод-вывод данных – 3 порта

В состав набора входит 8-разрядный аккумулятор А, который выполняет свои обычные функции промежуточного хранения данных. При выполнении ряда операций А является как источником операнда, так и приемником результата операции. Ориентация на аккумулятор, который подразумевает неявную адресацию в большинстве команд различного типа, позволила существенно сократить длину программ и, следовательно, более экономно использовать объем управляющей памяти МС. Среди типовых признаков результата операции – только два: CY – основной перенос из старшего разряда и АС – формируемый командами сложения и используемый командой DAA дополнительный перенос из младшей тетрады в старшую. Если CY представляет основное средство для организации многобайтовых операций, то АС поддерживает десятичную арифметику в 2/10- коде упакованного формата. Оба признака входят в состав 8-разрядного слова состояния программы PSW.

  1. Банки рабочих регистров микропроцессора к1816ве48. Назначение и особенности.

Резидентная память данных емкостью 64 байта имеет в своем составе два банка рабочих регистров 0-7 и 24-31 по восемь регистров в каждом. Выбор одного из банков регистров выполняется по команде SEL RB. Рабочие регистры доступны по командам с прямой адресацией, а все ячейки РПД доступны по командам с косвенной адресацией. В качестве регистров косвенного адреса используются регистры R0, R1 и R0*, R1* (рисунок 5).

Ячейки РПД с адресами 8-23 адресуются указателем стека из ССП и могут быть использованы в качестве 8-уровневого стека. В случае, если уровень вложенности подпрограмм меньше восьми, незадействованные в стеке ячейки могут использоваться как ячейки РНД. При переполнении стека, регистр-указатель стека, построенный на основе 3- битного счетчика, переходит из состояния 7 в состояние 0. Малая емкость стека ограничивает число возможных внешних источников прерывания в МК-системе. МК48 не имеет команд загрузки байта в стек или его извлечения из стека, и в нем фиксируется только содержимое счетчика команд и старшая тетрада ССП (флаги). В силу этого разработчику необходимо следить за тем, чтобы вложенные подпрограммы не использовали одни и те же рабочие регистры.

  1. Счетчик команд, указатель стека и регистр psw микропроцессора к1816ве48.

Память программ и память данных в МК48 физически и логически разделены. Память программ реализована в резидентном СППЗУ емкостью 1 Кбайт. Максимальное адресное пространство, отводимое для программ, составляет 4 Кбайта. Счетчик команд (СЧ) содержит 12 бит, но инкрементируются в процессе счета только младшие 11 бит. Поэтому счетчик команд из предельного состояния 7FFH (если только по этому адресу не расположена команда передачи управления) перейдет в состояние 000Н. Состояние старшего бита счетчика команд может быть изменено специальными командами (SEL МВ0, SEL МB1), Подобный режим работы счетчика команд позволяет создать два банка памяти емкостью по 2 Кбайта каждый. Карта адресов памяти программ показана на рисунке 4.

В резидентной памяти программ имеется три специализированных адреса:

- адрес 0, к которому передается управление сразу после окончания сигнала СБР, по этому адресу должна находиться команда безусловного перехода к началу программы;

- адрес 3, по которому расположен вектор прерывания от внешнего источника;

- адрес 7, по которому расположены вектор прерывания от таймера или начальная команда подпрограммы обслуживания прерывания по признаку переполнения таймера/счетчика.

В микроконтроллерной системе, работающей с внешней памятью программ, возникает проблема размещения подпрограмм в двух банках памяти. Проблема эта связана с тем, что микроконтроллер не имеет средств считывания и анализа флага МВ, равного содержимому старшего бита счетчика команд СК11. Поэтому в каждый текущий момент исполнения программы, состоящей из потока вызовов подпрограмм, нет возможности определения номера банка памяти, из которого осуществляется выборка. Так как переходы между банками выполняются только по командам SEL MB, необходимо следить за тем, чтобы подпрограммы, взаимно вызывающие друг друга, располагались в пределах одного банка памяти. В противном случае возникает необходимость модификации признака МВ в вызываемой подпрограмме и восстановления его при возврате в вызывавшую подпрограмму. Но если вызов такой подпрограммы носит условный характер, то проблема восстановления может оказаться неразрешимой.

Стек служит для промежуточного хранения старшей тетрады PSW и адреса возврата при обработке прерываний и вызовах подпрограмм. Набор флагов CY, AC, F0, BS вместе с 12-ю разрядами PC образуют 2-х байтовый объект, где старшие 4 разряда - флаги. Стек заполняется в сторону увеличения адресов.

Указатель стека хранится в PSW и указывает на первую свободную ячейку стека. Размер стека ограничен восемью элементами (16 байт). Стек занимает область данных с адресами 08h -17h.

+Указатель стека указывает на первую свободную ячейку в системном стеке. Указатель хранится в PSW и занимает 3 бита т.е. возможно только 8 элементов стека. При занесении в стек большего числа элементов происходит переполнение и переход через границу на начало. Обратное переполнение возможно, когда пытаются получить данные из пустого стека.

Соседние файлы в предмете Основы мехатроники