АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Структура МК48

Читайте также:
  1. B) социально-стратификационная структура
  2. HI. Лакан: структура детерминации
  3. I. Структура интеллекта
  4. I.2. Структура оптимизационных задач
  5. II. Структура и использование земель сельскохозяйственного назначения
  6. III. СТРУКТУРА И ОРГАНЫ УПРАВЛЕНИЯ ПРИХОДА
  7. IV Структура АИС. Функциональные и обеспечивающие подсистемы
  8. VI. Рыночный механизм. Структура рынка. Типы конкурентных рынков
  9. VIII. Формирование и структура характера
  10. А. Лінійна організаційна структура
  11. Автоматизовані банки даних (АБД), їх особливості та структура.
  12. Автоматическое порождение письменного текста: определение, этапы, общая структура системы порождения

Структура МК48 показана на рис.5.1. Основу структуры образует внутренняя двунаправленная 8 - битная шина, которая связывает между собой все элементы микроконтроллера: арифметико - логическое устройство (АЛУ), устройство управления (УУ), резидентную память данных (RАМ) и память программ (EPRON), программный счетчик (РС), регистр адреса (RAR), таймер/ счетчик (TCNT), слово состояния программы (PSW), регистр команд (РК) и порты ввода / вывода информации (Р1, Р2, DB).

В состав АЛУ входят следующие блоки: комбинационная схема обработки байтов, регистры Т1 и Т2, регистр - аккумулятор (А), схема десятичного корректора и схема формирования признаков (PSW). Аккумулятор используется в качестве регистра операнда и регистра результата. Регистр временного

 

INT
XTAL222

 

Рис. 5.1 – Структура МК48

 

 

хранения операнда Т1 программно недоступен и используется для временного хранения второго операнда при выполнении двухоперандных команд.

При выполнении операций обработки данных в АЛУ вырабатываются флаги (признаки), которые формируются на комбинационной схеме и не фиксируются на триггерах. К таким флагам относятся флаг нулевого содержимого аккумулятора и флаг наличия единицы в селектируемом бите аккумулятора. Логика условных переходов по указанным флагам позволяет выполнять команды передачи управления (JZ, JNZ, JB0 - IB7) без их фиксации на триггерах.

Флаги переноса и вспомогательного переноса (перенос “единицы” из младшей тетрады в старшую) фиксируются на триггерах, входящих в состав регистра слова состояния программы (PSW). Формат PSW показан на рис.5.2.

 

 

Рис. 5.2 – Формат PSW

 

Кроме перечисленных признаков логика условных переходов МК48 оперирует флагами F0 и F1, функциональное назначение которых определяется разработчиком; флагом переполнения таймера TF, сигналами на входах T0 и T1. Программистом могут быть также использованы флаги рабочего банка регистров BS и выбранного банка внешней памяти программ МВ. Кроме того, логикой переходов после окончания каждого машинного цикла опрашивается флаг разрешения / запрета прерываний.

Память программ и память данных в МК48 физически и логически разделены. Память программ реализована в резидентном ППЗУ объемом 1К байт. Максимальное адресное пространство, отводимое для программ, составляет 4К байт. Счетчик команд (РС) содержит 12 бит, но инкрементируются в процессе счета только младшие 11 бит. Поэтому РС из предельного состояния 7FFH (если только по этому адресу не расположена команда передачи управления) перейдет в состояние 000H. Состояние старшего бита счетчика команд может быть изменено специальными командами (SEL MB0, SEL MB1). Подобный режим работы позволяет создать два банка памяти емкостью по 2К байт каждый. В свою очередь, оба банка памяти разделены на страницы по 256 байт в каждой. В командах условного перехода задается 8 - битный адрес передачи управления в пределах текущей страницы. Межстраничные переходы обеспечиваются модификацией 11 - го бита РС при вызове подпрограмм в пределах выбранного банка памяти программ. Карта адресов памяти программ показана на рис. 5.3.

 

 

Рис. 5.3 – Карта адресов памяти программ

 

В резидентной памяти программ имеются три специализированных ячейки с адресами 00H, 03H и 07H, в которых должны находиться соответственно вектор безусловного перехода к началу программы после окончания сигнала RST, вектор прерывания от внешнего источника (вход INT) и вектор прерывания от таймера или начальная команда подпрограммы обслуживания прерывания по признаку переполнения TCNT.

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

Ячейки RAM с адресами 8 - 23 адресуются указателем стека из PSW и могут быть использованы в качестве 8 - уровневого стека. В случае, если уровень вложенности программ меньше восьми, незадействованные в стеке ячейки могут использоваться как ячейки RAM. КМ1816ВЕ48 не имеет команд загрузки байта в стек или его извлечения из стека, и в нем фиксируются только содержимое РС и старшая тетрада PSW. В силу этого необходимо следить за тем, чтобы вложенные подпрограммы не использовали одни и те же рабочие регистры.

 

Рис. 5.4 – Карта адресов памяти данных

Для связи МК48 с объектом управления используются 27 линий. Эти линии сгруппированы в три порта (Р1, Р2 и DB) по восемь линий в каждом и могут быть использованы для ввода, вывода или для ввода / вывода информации через двунаправленные линии. Кроме портов имеются три линии, сигналы на которых могут изменять ход программы по командам условного перехода (INT, T0, T1).

Порты Р1 и Р2 позволяют осуществлять побитную обработку информации и являются квазидвунаправленными. Последнее означает, что для того чтобы настроить некоторую линию на режим ввода в МК48, необходимо перед этим в буферный триггер этой линии записать “1”. Сигнал RST автоматически записывает во все линии портов Р1 и Р2 сигнал “1”. Квазидвунаправленная структура портов Р1 и Р2 специфична тем, что в процессе ввода информации выполняется операция логического И над вводимыми данными и текущими (последними) введенными данными. Порт Р2 отличается от порта Р1 тем, что его младшие четыре бита могут быть использованы для расширения микропроцессорной системы по вводу / выводу информации.

Порт DB представляет собой двунаправленный буфер с тремя состояниями и предназначен для побайтного ввода / вывода информации. Данный порт является системным: с его помощью можно расширить систему ввода / вывода информации.

Внутренний 8 - битный двоичный таймер / счетчик TCNT может быть использован для формирования временных задержек и для подсчета внешних событий. Из максимального состояния FFH TCNT переходит в начальное состояние 00H. При этом устанавливается в “1” флаг переполнения, который может вызвать прерывание, если оно разрешено. Если прерывание запрещено, то флаг переполнения может быть опрошен по команде условного перехода JTF. Выполнение команды JTF, как и переход к подпрограмме обработки прерывания по вектору с адресом 7, сбрасывает флаг переполнения TCNT.

В режиме таймера на вход TCNT поступают основные синхросигналы машинного цикла ALE (400 кГц), и счетчик увеличивает свое состояние на “1” через каждые 80 мкс (12,5 кГц). Путем программной установки TCNT в исходное состояние и анализа флага переполнения могут быть реализованы различные временные задержки, лежащие в диапазоне от 80 мкс до 20,48 mc. Большие по времени задержки могут быть получены накоплением переполнений в рабочем регистре под управлением программы.

В режиме счетчика событий TCNT увеличивает свое состояние на “1” каждый раз, когда сигнал на входе T1 переходит из состояния “1” в состояние “0”.

Устройство управления МК48 совместно с логической схемой переходов в каждом цикле команды формирует последовательность сигналов, управляющих функциями всех элементов микроконтроллера и системой их взаимосвязи. Функциональное назначение основных управляющих и синхронизирующих сигналов УУ (см. рис.1) следующие:

XTAL1, XTAL2 - выводы для подключения кварцевого резонатора (6 МГц);

RST - вход сигнала общего сброса при запуске МК48;

SS - сигнал, который совместно с сигналом ALE позволяет организовать пошаговый режим выполнения программы;

T0 - входной сигнал, опрашиваемый по командам условного перехода JT0 или JNT0; может быть использован для вывода сигнала синхронизации после команды ENT1 CLK;

T1- входной сигнал, опрашиваемый командами условного перехода JT1 или JNT1; может использоваться в качестве входа внутреннего счетчика внешних событий после исполнения команды STRT CNT;

INT - сигнал запроса прерывания от внешнего источника;

RD,WD - стробирующие сигналы при чтении / записи информации во внешнюю память данных или УВВ;

EA - входной сигнал отключения резидентной EPROM, позволяющей организовать выборку команд из внешней памяти программ;

ALE - строб адреса внешней памяти; используется для приема и фиксации адреса внешней памяти на внешнем регистре; является идентификатором машинного цикла;

PSEN- входной сигнал разрешения работы с внешней памятью программ;

PROG - вход для подачи программируемого импульса +25 В при загрузке резидентной EPROM; выходной стробирующий сигнал для БИС расширителя ввода / вывода информации КР580ВР43.

Система команд МК48 содержит 96 основных команд, ориентированных на реализацию процедур управления. Формат команд - один или два байта (70% - однобайтные). МК48 оперирует с командами четырех типов.

Тип 1: Команда - однобайтная, и все разряды байта занимает код операции.

Тип 2: Команда - двухбайтная; первый байт занимает код операции, а второй - непосредственное число;

Тип 3: Команда - двухбайтная; три старших разряда первого байта определяют номер страницы в пределах одного из двух банков памяти программ, а остальные пять - код операции; второй байт команды определяет адрес перехода в пределах страницы памяти программ.

Тип 4: Команда - двухбайтная; все разряды первого байта занимает код операции, а второй байт определяет адрес перехода в пределах страницы памяти программ.

Все множество команд МК48 можно разбить на пять групп по функциональному признаку: команды пересылки данных; команды арифметических операций, команды логических операций, команды передачи управления и команды управления режимами работы МК48. Все группы системы команд МК48 представлены в Приложении.

С точки зрения программиста можно выделить 9 типов операндов, между которыми выполняется информационный обмен (см. рис.5.5). При этом основным элементом, через который остальные устройства обмениваются данными, является аккумулятор А.

Рис. 5.5 – Схема информационных связей в МК48

В МК48 возможна передача данных в двух режимах: пересылки (загрузки) и обмена. Пересылка предполагает передачу данных в направлении от источника (второй операнд команды) к приемнику (первый операнд команды). При этом источник не изменяет своего содержимого. Обмен предполагает одновременную передачу данных в двух направлениях: в результате операции обмена изменяются значения обоих операндов, участвующих в операции.

В МК48 предусмотрены 3 способа адресации:

1) прямая, когда адрес операнда содержится в теле самой команды:

MOV A,R3; номер регистра, содержимое которого пересылается

; в А, указывается в 3 - х младших битах кода операции

2) непосредственная, когда 8 - битный операнд (число) располагается непосредственно в теле команды (второй байт команды):

MOV A, # 9FH; содержимое второго байта команды - число 9FH -

; пересылается в А

3) косвенная, при которой адрес операнда располагается в регистре R0 или R1 каждого из двух банков регистров:

MOV A, @ R1; содержимое ячейки РПД по адресу, хранимому в

; регистре R1, пересылается в А

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.)