Иерархия функциональных модулей микропроцессорных систем. Иерархия конструктивных модулей микропроцессорных систем, страница 9

Замечание: в ВЕ48 отсутствует признак нуля, но есть команды, проверяющие на ноль аккумулятор (JZ и JNZ)


23. Организация памяти программ ОМК К1816ВЕ48.

Микроконтроллер К1816ВЕ48 построен на основе гарвардской архитектуры, имеющей раздельную память программ и память данных, адресуемые собственным программным счетчиком. Память программ, расположенная внутри кристалла имеет объем 1Кбайт и может быть расширена внешней памятью до 4Кбайт в сумме.

Структура памяти программ:

Память программ организована в виде 2х банков, имеющих объем 2Кбайта. Имеется команда переключения между банками, однако программно проверить на какой банк указывает программный счетчик нельзя.

С адреса 0 по 3FFh располагается внутренняя память программ. После сброса программный счетчик устанавливается в 0, т.о. работа микроконтроллера начинается с адреса 000h. По адресу 3h расположен вектор внешнего прерывания по линии INT. По адресу 7h располагается вектор прерывания от таймера-счетчика. В памяти программ можно выделить страницы по 256байт для команд условных переходов, имеющих 8и битовые операнды и допускающие переходы в пределах страницы.

Команды вызова подпрограмм обеспечивают переходы внутри банка (2Кбайта). При вызове прерывания старший бит адреса автоматически устанавливается в 0, т.о. программа обработки прерывания должна располагаться в младшем банке.

Прерывания. ВЕ48 имеет одну линию прерываний I, которая проверяется каждый машинный цикл га наличие на этой линии 0. Если прерывания разрешены (ENI), то в стек сохраняется 12и разрядный адрес и старшая тетрада слова состояния программы. Перед окончанием обработки прерывания внешнее устройство должно снять запрос на прерывание (если прерывание статическое).

Запретить прерывания можно командой DIS I. Для возврата из прерывания служит команда RETR.

Таймер-счетчик. Используется 8и битовый суммирующий счетчик для формирования задержек и подсчета внешних импульсов. При помощи команды MOV можно считать содержимое или записать в счетчик значение. Используются команды: STR T (запуск таймера), STR С (запуск счетчика), STOP TCNT (остановка таймера-счетчика). При переходе значения счетчика из FFh в 00, устанавливается флаг прерывания, которое обрабатывается, если оно разрешено (EN TCNTI) и игнорируется, если запрещено (DIS TCNTI).

В режиме счетчика внутренний счетчик увеличивает свое значение при переходе из 1 в 0 на входе Т1.

В режиме таймера сигнал через делитель частоты на 32 с частотой 12.5кГц увеличивается на 1.


24. Организация памяти данных ОМК К1816ВЕ48.

Внутренняя память данных микроконтроллера ВЕ48 имеет объем 64байта. Она может быть расширена 256ю байтами внешней памяти, имеющей собственную адресацию.

Структура памяти данных:

С адреса 0 по адрес 7h расположен банк 0 регистров общего назначения.

Следующие 16 байт выделяются под стек. С адреса 18h по 1Fh располагается банк 1 регистров общего назначения. Определить, какой банк регистров выбран в данный момент можно при помощи слова PSW, бит BS.

Внешняя память данных может иметь объем до 256 байт. Для обращения к ней используются команды MOVX в отличие от команд MOV, работающих с внутренней памятью данных.


25. Система команд ОМК К1816ВЕ48. Формат команд.

Система команд включает 96 команд, имеющих формат 1 или 2 байта, выполняющихся за 1 или 2 машинных цикла. За 2 машинных цикла выполняются команды ввода/вывода и передачи управления.

Используется 4 способа адресации:

1. прямая

2. непосредственная

3. косвенная

4. неявная

Формат команд:

Для обозначения констант используется знак #:

MOV   A,#35h            ; Занесение в аккумулятор данных 35h

MOV   A,12h              ; Занесение в аккумулятор данных, расположенных по адресу 12h в памяти данных

MOV   A,@R0            ; Занесение в аккумулятор данных, расположенных по адресу, указанному в регистре R0 (косвенная адресация)

К достоинствам системы команд МК48 можно отнести: эффективный ввод/вывод, включая маскирование и возможность управления отдельными битами портов; возможность ветвления по значению отдельных бит; возможность обработки как двоичных, так и десятичных двоично-кодированных чисел.
26. Команды пересылки данных ОМК К1816ВЕ48.