Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы к первой контрольной точке.docx
Скачиваний:
0
Добавлен:
12.02.2026
Размер:
2.47 Mб
Скачать

5) Регистры на основе d-триггеров. Параллельные регистры, последовательные (сдвиговые) регистры. Временная диаграмма работы сдвигового регистра.

Схема регистра (параллельного) Схема регистра (последовательного)

6) Общая структура микроконтроллерного устройства, алу, программный счётчик.

В рамках единой базовой архитектуры 8-битные МК AVR подразделяются на 4 семейства:  Classic устаревшие  Tiny небольшой объем память 1-2 КБайта и ограниченная периферия  Mega развитая периферия, расширенный объем данных (до 256 Кб) и программ  XMega 16-битные МК, развитая периферия (к примеру, встроенный 12-битный ЦАП, блок прямого доступа к памяти), наибольший объем памяти и повышенная тактовая частота (до 120 МГц).

Общая структура микроконтроллерного ядра

АЛУ (арифметическое-логическое устройство) — устройство, предназначенное для выполнения логических и математически операций над двоичными числами. АЛУ входит в состав любого микропроцессора.

Счётчик команд представляет собой регистр, в котором содержится адрес следующей исполняемой команды, при этом напрямую из наполняемой программы он недоступен. Размер счетчика команд зависит от объема имеющейся памяти программ и составляет от 16 разрядов. При нормальном выполнении программы содержимое счетчика команд автоматически увеличивается на 1 или на 2 (в зависимости от выполняемой команды) в каждом машинном цикле. Этот порядок нарушается при выполнении команд перехода, вызова и возврата из подпрограмм, а также пи. возникновении прерываний.

Программный счётчик (РС – Program Counter) используется для указания следующей команды выполняемой программы. Это счётчик с параллельным вводом и параллельным выводом. В процессорах с принстонской архитектурой содержимое РС поступает по шине данных в схему управления памятью, указывая адрес считываемой команды. Программные счётчики часто входят в состав схемы управления памятью – это позволяет избежать передачи адреса по внутренней шине данных.

Основные характерные особенности программного счётчика, следующие:

  • параллельная загрузка нового содержимого с шины данных;

  • возможность возврата к адресу первой команды программы (возможность сброса);

  • реализация счёта на увеличение (инкремента) для адресации следующей команды.

7) Виды памяти микроконтроллеров (на примере семейства avr). Стек и его инициализация.

В микроконтроллерах семейства AVR реализована Гарвардская архитектура, в соответствии с которой разделены не только адресные пространства памяти программ и данных, но также и шины доступа к ним. Способы адресации и доступа к этим областям памяти также 28 различны. Такая структура позволяет центральному процессору работать одновременно как с памятью программ, так и с памятью данных, что существенно увеличивает производительность. Каждая из областей данных (ОЗУ и энергозависимая ERROM) также расположена в своем адресном пространстве.

Общая структура памяти в МК AVR Устройство Пам. Данных

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

В качестве промежуточных операндов используются 32 ячейки – оперативные регистры общего назначения (РОН). Доступ к этим ячейкам самый быстрый, а число операций с их содержимым наиболее разнообразное. При написании программ на Ассемблере эти регистры обозначаются как R0, R1, R2 … R31, и делятся на три группы:

  • Младшие R0 – R15 – обычные регистры общего назначения, но в некотором смысле неполноценные. С ними не работают многие команды, например, загрузка непосредственного числа.

  • Старшие R16 – R31 – полноценные регистры, работающие со всеми командами без исключения.

  • Индексные R26…R31 – шесть последних регистров из старшей группы отличаются от остальных. В принципе, их можно использовать и как обычные регистры общего назначения. Но, кроме этого, они могут образовывать регистровые пары X(R26:R27), Y(R28:R29), Z(R30:R31) которые используются как указатели при работе с памятью.

Стек представляет собой область памяти, которую микроконтроллерное ядро использует для сохранения и восстановления адресов возврата и подпрограмм прерываний. Практически у всех МК AVR стек размещается в оперативной памяти. Для адресации текущего элемента (вершины стека) используется указатель стека SP (Stack Pinter). Это однобайтовый РВВ SPL у моделей с объёмом памяти данных до 256 байт, или двухбайтовые SPH:SPL (SPH – старший байт, SPL – младший байт) у старших моделей с большим объемом памяти.

Так как после подачи напряжения питания (или после сброса) в регистрах содержится нулевое значение, в самом начале программы указатель стека необходимо проинициализировать, записав в него значение конечного адреса памяти данных. При вызове подпрограмм адрес команды, расположенной за указанной вызова, сохраняется в стеке. Значение указателя стека при этом уменьшается на два, так как для хранения счетчика команд требуется два байта. При возврате подпрограммы этот адрес извлекается из стека и загружается в счетчик команд. Значение указателя стека соответственно увеличивается на два. То же происходит и во время вызова прерываний.

При старте МК обычно первым делом проводят инициализацию стека, записывая в 16- битный регистр SP адрес, откуда он будет увеличиваться. Делается это следующим образом:

LDI R16, Low(RAMEND) OUT SPL, R16 LDI R16, High(RAMEND) OUT SPH, R16