Бродин В. Б., Шагурин И. И. Микроконтроллеры (1999) (1095894), страница 6
Текст из файла (страница 6)
В начале работы программы пользователь должен произвести начальную загрузку регистра (ЯР) по адресу 18Н. При этом надо иметь в виду, что последующее заполнение стека будет производиться после уменьшения (БР) на 2 или 4 (в зависимости от режима 64К или 1М), поэтому загружаемое в (БР) число должно быть на 2 или 4 больше начального адреса заполнения стека. Адреса 0020Н..ООРРН используются для адресации 230 байт содержимого РОН младшего файла.
РОН старшего файла (адреса 00100Н..ООЗГРН) выбираются с помощью косвенно-регистровой или индексной адресации. Возможна также их регистровая адресация, которая может выполняться с помощью процедуры кадрирования, осуществляемой под управлением регистра выбора кадров АДУВЕ. При этом весь регистровый блок делится на кадры по 32, 64 или 128 байтов. В табл.
1.4 приведены базовые адреса и номера кадров. Выбираемый с помощью регистра тт'БК кадр переносится в «окно», освобождаемое в нижней части младшего файла, замещая его регистры. При этом находящиеся в перемещаемом кадре регистры старшего файла получают номера располагавшихся в окне регистров младшего файла, и могут выбираться вместо них с помощью прямой регистровой адресации. На рис. 1.5 показан пример перемещения 64-байтного кадра номер 15 в окно младшего файла, имеющее диапазон адресов ОООСОН..ОООРРН.
микРОкОнтРОллеРы семейстаАмсз-ее 27 Табл. 1.4. Базовые адреса и номера кадров регистрового блока Номера кадров 128 байтов 32 байта 64 байта 10 !2 !3 14 15 ') Примечание: Возможна прямая регистровая аатесаиия безкад н ванна Отметим, что к регистрам кадров, размещенных в младшем файле (отме- чены ' в табл. 1А), регистровая адресация допускается и без использова- ния кадрирования.
Базовый адрес кад а ООООН *) 0020Н ') 0040Н *) 0060Н ' 0080Н ') ООАОН *) ООСОН ') ООЕОН ' 0100Н 0120Н 0140Н 0160Н 0180Н 01АОН 01СОН 01ЕОН 0200Н 0220Н 0240 Н 0260Н 0280Н 02АОН 02СОН 02ЕОН ОЗООН 0320Н 0340Н 0360Н 0800Н ОЗАОН ОЗСОН ОЗЕОН 8 9 !О 11 !2 !3 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 МИКРОКОНТРОЛЛЕРЫ АРХИТЕЮУРА ПРОГРАММИРОВАНИЕ ИНТЕРФЕЙС оооон Младший регистровый файл 0035Н ООСОН ООЕЕН Старший регистровый файл ОЗСОН ОЗЕЕН Рис.
1.6. Перемещение 64-байтного кадра 16 в окно младшего регистрового файла Формат регистра ЪЪГЯК показан на рис. 1.6. Управление кадрированием осуществляется разрядами ЪЪГ6..0, старший разряд НЕРЕХ служит для разрешения или запрещения захвата шины (см. раздел 1.7). В исходном состоянии после аппаратного или программного сброса (КЕЯЕТ) разряды ЪЪТ6..0 имеют нулевое значение. Для выполнения кадрирования в регистр ЪУБК необходимо ввести число, имеющее значение: ЪЪГ6...0 = 001ХХМХ для 128-байтных кадров; ЪЪГ6...0 - 01ХХХМХ для 64-байтных кадров; ЪЪГ6...0 = 1ХХХХХМ для 32-байтных кадров. 4 3 2 1 0 7 6 5 Н1.1УЕМ ЪЪГО ЪЪГ5 ЪЪГ4 ЪЪГЗ ЪУ2 ЪЪГ1 ЪЪГО ЪЪГ5 К (адрес 0014 Н) Рис.
1.6. Регистр выбора кадров 166й 0080Н для 128-байтного кадра; ООСОН для 64-байтного кадра; ООЕОН для 32-байтного кадра. При этом младшие разряды регистра ЮВК указывают двоичный номер Х...Х перемещаемого кадра (см. табл. 1А),который располагается в окне младше- го файла с базовым (начальным) адресом: МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА МСВ-96 29 Если, например, мы хотим переместить в младший файл кадр из 32 регистров старшего файла с адресами 0140Н...015РН, то необходимо загрузить содержимое ( ттт5К) = Х1001010, где Х вЂ” значение бита Н) ПЕХ.Чтобы после этого выбрать содержимое регистра старшего файла с адресом 0014ВН, достаточно указать в команде адрес (номер) этого регистра ОЕВН в окне младшего файла.
Этот номер определяется путем вычитания адреса регистра из базового адреса соответствующего кадра (табл. 1 4): 014ВН..0140Н = ОВН, и прибавления полученного результата ОВН вЂ” относительного номера регистра в кадре, к базовому номеру окна младшего файла; ОВН + ОЕОН - ОЕВН. Адресное пространство объемом 256 байт (адреса 0!РООН..01РРРН) занято РСН, используемыми при работе периферийных устройств микроконтроллера: портов, ПРС, БПО, КПР и ПСР ШИМ (см, раздел 1.1). Адресация этих регистров приведена в табл.
1.5, где для 16-разрядных регистров указаны только четные адреса (в графе нечетных адресов даны прочерки). При обращении к внешней памяти (см. раздел 1.7) для формирования сигналов разрешения выборки С50..5 используются двенадцать 16-разрядных регистров АППК МЯК1, АППК СОМ1 и шесть 8-разрядных регистров В(15 СОХ), где 1 = 0...5.
При обращении к адресу 01Р45Н считывается идентификатор — 16-разрядное число, указывающее тип микроконтроллера (для моделей 8ХС196ХР идентификатор имеет значение 80ЕРН). Работа таймеров и ПРС обеспечивается с помощью 16-разрядных регистров Т)МЕК1,2, ЕРА0,1,2,3 Т1МЕ, ЕРА1,3 СОХ и 8-разрядных регистров Т1,2 СОХ, ЕРА0,2 СОХ, ЕРА МАБК, ЕРА СОХ (см. раздел 1.5).
Для управления работой ШИМ служат четыре 8-разрядных регистра (см. раздел 1.5): РЪУМ0,1,2 СОХ и СОХ ВЕС. По четыре 8-разрядных регистра: ЕРР1,2,3,4 МОРЕ, 01К, КЕО, Р1Х, обслуживают порты ЕРОКТ, Р1, Р2, РЗ, Р4. Часть адресов зарезервнрованы для служебных регистров новых моделей микроконтроллеров. Часть периферийных РСН, расположенных в адресном пространстве 01РООН..01ГПРН (табл. 1.2), может перемещаться в окно младшего регистрового файла с помощью описанного выше способа кадрирования. Эти регистры группируются в 32-, 64- или 128-байтные кадры, как показано в табл. 1.6.
Если в поле Х...Х регистра Ю5К указать номера этих кадров, то они перемещаются в адресное окно нижней части младшего файла и могут выбираться прямой регистровой адресацией. Однако 32 регистра с адресами 01ГЕОН..01РРГН, входящие в состав кадров со старшими номерами 63, 31, 15 (отмечены ' в табл. 1.6), не переносятся в окно младшего файла. При кадрировании считывание содержимого этих регистров из окна младшего файла всегда дает значение ОРГН, а запись не изменяет их состояния. Обращение к фактическому содержимому этих регистров возможно только с помощью косвенно-регистровой или индексной адресации. МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА МСВ"ЕВ Табл. 1.6. Кадрироаанив пврифврийнык РСН Адреса 01СООН..01ЕГРН, используемые в данной модели микроконтроллера для обращения к внешней памяти, в будущих моделях планируется использовать для расширения набора РСН, как отмечено в табл.1.6.
Эти РСН будут группироваться в кадры с номерами 32..55, 16..27 или 8..13, и перемещаться в окно младшего регистрового файла в соответствии с содержимым регистра ЖЯЕ. Для обращения к внешней памяти используются также адресные диапазоны 00400Н..01ВГГН, 03000Н..ОГГГГН, 02000Н..ОГРРГН. В модели 83С196ХР последний диапазон можно занять содержимым внутренней памяти программ, которая переносится в это адресное пространство со страницы ОГН, если в регистре конфигурации ССК1 установлено значение бита ЕЕМАР - 1 (см.
раздел 1.1). Страницы с номерами 01Н...ОГН размещаются во внешней памяти и могут использоваться для хранения программ (адресация с использованием дополнительного программного счетчика ЕРС) или данных (обращение с помощью команд с расширенной адресацией, см. раздел 1.3). Некоторые особенности имеются прн использовании последней страницы памяти (номер ОГН).
Расположенные на этой странице 256 ячеек памяти с адресами ОГООООН..ОГООРРН зарезервированы для использования в процессе отладки микроконтроллерных систем с помощью схемного эмулятора. Внутреннее ПЗУ объемом 4 Кбайт, расположенное на кристалле микроконтроллера 83С196ХР, размещается на странице ОРН, занимая адресное пространство ОР200ОН..ОГ2РГРН.
МИКРОКОНТРОЛЛЕРЫ. АРХИТЕХТТРА, ПРОГРАММИРОВАНИЕ. ИНТЕРФЕЙС 32 При этом 128 байт ПЗУ (адреса ОГ2000Н..ОГ207ГН) отводятся для хранения служебной информации, а остальной объем (адреса ОГ208ГН..ОГ2ГГГН)— для хранения программ. Содержание служебной информации, хранящейся в ПЗУ, дано в табл.1.7. Табл. 1.7.
Содержание служебной информации ПЗУ Вид служебной информации Адреса младшие векто ап е ываний ОГ200Н..ОГ20!ЗН е в должносоле жатьОГГН ОГ2014Н.,ОГ20! 7Н соде жимое густ кон и ации ССВО езе в должносоле жать20Н ОГ2018Н ОГ2019Н соде жимое густ акоп и ацииССВ1 08201АН езе в должно соде жать ОГГН ОГ201ВН ..ОГ202ГН ОГ2030Н..ОГ203ГН ОГ2040Н.,ОГ205РН ста шиевекто ап ывапии векто а ПСР е в должно соде жать ОГГН ОГ205ЕН..ОГ207ЕН Рассмотрим особенности выборки команд в режимах 1М и 64К для моделей 80С196)т)Р и 83С1961т)Р. Для выборки команд микроконтроллеры используют дополнительный программный счетчик ЕРС, четыре младших разряда которого определяют выбор одной из 16 адресуемых страниц памяти. В режиме 1М микроконтроллеры могут выбрать команду с любой страницы ООН..ОГН.
Адресуемые с помощью ЕРС страницы ОГГН..10Н накладываются на страницы ОГН..ООН, так как старшие четыре разряда (ЕРС) не поступают на внешние адресные выводы. В режиме 64К содержимое (ЕРС) принимает фиксированное значение ОГГН, поэтому все команды выбираются со страницы ОГН.