
- •1.Микропроцессорные устройства. Этапы развития, технологии производства.
- •Классификация микропроцессорных устройств. Назначение.
- •Микропроцессорная система, основные определения
- •Микропроцессор, программа.
- •Связь блоков в микропроцессорной системе, шины.
- •Структура мпс. Управляющие сигналы.
- •Программный обмен, обмен по прерываниям.
- •Прямой доступ к памяти.
- •9. Функции процессора.
- •1 0. Структура процессора.
- •11. Память процессора.
- •12. Устройства ввода-вывода.
- •13. Микроконтроллер, назначение и состав.
- •14. Система команд, виды архитектур.
- •15. Особенности архитектуры микроконтроллеров.
- •16. Минимизация энергопотребления.
- •17. Обеспечение надежности.
- •18. Дополнительные модули в микроконтроллерах.
- •19. Микроконтроллеры avr. Общие характеристики, устройство.
- •20. Типы и организация памяти микроконтроллеров avr.
- •21. Периферийные устройства, их назначение. Взаимодействие с цпу
- •22. Питание. Назначение выводов.
- •23. Ядро, регистр статуса, конвейер микроконтроллеров avr.
- •24. Классификация команд микроконтроллеров.
- •27.Представление чисел в микропроцессоре. Математические инструкции. Операции с многобайтными числами.
- •28. Команды умножения, операции с многобайтными числами.
- •29. Логические и битовые команды. Сдвиги. Операции сдвига с многобайтными числами.
- •36. Защита памяти программ и eeprom. Конфигурационные биты.
- •Конфигурационные биты
- •30. Деление, перевод в десятичную систему. Использование сдвигов вместо арифметических команд. Битовые маски.
- •Организация циклов, ветвлений. Р азветвление программы на две ветки с последующим соединением
- •Разветвление программы на три ветки с последующим соединением
- •33. Команды передачи данных. Адресация памяти данных.
- •33.Адресация памяти данных:
- •34. Директивы ассемблера avr
- •35. Макросы, выражения, функции ассемблера avr
- •37. Параллельное программирование
- •38. Последовательное програмирование, jtag
- •39. Устройство сброса микроконтроллера
- •40. Режимы энергосбережения
- •Минимизация потребляемой мощности
- •41. Порты ввода-вывода
- •42.Режимы работы портов ввода-вывода, альтернативные функции. Система прерываний.
- •43. Внешние прерывания
- •49. Режимы работы таймера. Шим с фазовой коррекцией.
- •50.Асинхронный режим работы таймера.
- •51.Синхронный режим. Устройство предделителей таймеров.
- •59. Аналоговый компаратор
- •56. Ацп. Устройство и принцип работы.
- •57. Выполнение преобразования ацп.
- •Режимы работы ацп. Регистры настройки ацп.
- •25.Типы адресации памяти, сегментации памяти
- •26.Ассемблер,структура команд, операнды. Виды регистровой адрессации
- •46. Режимы работы таймера. Нормальный режим.
- •47. Режимы работы таймера. Режим стс.
- •48. Режимы работы таймера. Быстрый шим.
- •53. Функциональные блоки 16-разрядного таймера-счетчика.
- •55. Режимы шим 16-разрядного таймера-счетчика.
26.Ассемблер,структура команд, операнды. Виды регистровой адрессации
Адресация операндов коды данных - операнды.
Одни команды требуют входных операндов (одного или двух), другие выдают выходные операнды (чаще один операнд ). Они могут находиться во внутренних регистрах процессора или в системной памяти, также в устройствах ввода/вывода. Определение места положения операндов производится кодом команды.
М
етоды
адресации
Н
епосредственная
адресация
- операнд (входной) находится в памяти
непосредственно за кодом команды.
Операнд обычно представляет собой
константу, которую надо куда-то переслать,
к чему-то прибавить и т.д.
Прямая (она же абсолютная) адресация - операнд (входной или выходной) находится в памяти по адресу, код которого находится внутри программы сразу же за кодом команды.
Р
егистровая
адресация
- операнд (входной или выходной) находится
во внутреннем регистре процессора.
К
освенно-регистровая
(она
же косвенная) адресация - во внутреннем
регистре процессора находится не сам
операнд, а его адрес в памяти.
Ассемблер
Язык ассемблера — система обозначений, используемая для представления в удобочитаемой форме программ, записанных в машинном коде.
Язык ассемблера позволяет программисту пользоваться алфавитными мнемоническими кодами операций, по своему усмотрению присваивать символические имена регистрам ЭВМ и памяти, а также задавать удобные для себя схемы адресации (например, индексную или косвенную).
Кроме того, он позволяет использовать различные системы счисления (например, десятичную или шестнадцатеричную) для представления числовых констант и даёт возможность помечать строки программы метками с символическими именами с тем, чтобы к ним можно было обращаться (по именам, а не по адресам) из других частей программы (например, для передачи управления).
ADD Сложить без переноса
ADC Сложить с переносом
SUB Вычесть без переноса
SBC Вычесть с переносом
SUBI Вычесть непосредственное значение
SBCI Вычесть непосредственное значение с переносом
CP Сравнить
CPC Сравнить с учетом переноса
CPI Сравнить c константой
INC Инкрементировать
DEC Декрементировать
NEG Выполнить дополнение до двух
ADIW Сложить непосредственное значение со словом
SBIW Вычесть непосредственное значение из слова
Регистры и операнды
Rd: Регистр назначения (и источник) в регистровом файле
Rr: Регистр источник в регистровом файле
R: Результат выполнения команды
K: Литерал или байт данных (8 бит)
k: Данные адреса константы для счетчика программ
b: Бит в регистровом файле или I/O регистр (3 бита)
s: Бит в регистре статуса (3 бита)
X, Y, Z: Регистр косвенной адресации (X=R27:R26, Y=R29:R28, Z=R31:R30)
P: Адрес I/O порта
q: Смещение при прямой адресации (6 бит)
STACK: Стек для адреса возврата и опущенных в стек регистров
SP: Указатель стека
PC: Счетчик команд
Адресация одного и двух регистров
Структура кодов команд
45. Регистры 8-разрядного таймера. Функциональные блоки таймера.
Регистр таймера-счетчика (TCNTn) и регистр порога сравнения (OCRn) - 8-разр. регистры. Сигналы запроса на прерывание представлены как флаги прерываний таймера в регистре TIFR. Все прерывания индивидуально маскируются с помощью регистра маски прерываний таймеров (TIMSK). Регистры TIFR и TIMSK не представлены на функциональной схеме, т.к. они совместно используются с другими таймерами микроконтроллера.
Таймер-счетчик может тактироваться через предделитель внутренне или асинхронно через внешние выводы TOSC1/2.
Асинхронная работа управляется регистром асинхронного состояния (ASSR). Блок синхронизации осуществляет выбор, какой тактовый источник используется для инкрементирования (декрементирования) состояния таймера-счетчика.
Если источник тактирования не задан, то таймер-счетчик находится в неактивном состоянии.
Выход логики выбора синхронизации обозначен как синхронизация таймера (clkTn).
Значение регистра порога сравнения с двойной буферизацией (OCRn) непрерывно сравнивается со значением таймера-счетчика. Результат сравнения может использоваться для генерации сигналов с ШИМ или прямоугольных импульсов переменной частоты на выводе OCn. Совпадение порога сравнения со значением таймера-счетчика приводит к установке флага результата сравнения (OCFn), который может использоваться для генерации запроса на прерывание по результату сравнения.
Блок счетчика
Основу 8-разр. таймера-счетчика составляет программируемый двунаправленный счетчик. Рисунок показывает функциональную схему счетчика и окружающих его элементов.Описание сигналов (внутренние сигналы):
Счет - Инкрементирует или декрементирует TCNTn на 1.
Направление - Задает направление счета: инкрементирование (+1, прямой счет) или декрементирование (-1, обратный счет).
Сброс - Сбрасывает содержимое TCNTn (запись лог. 0 во все разряды).
clkTn - Синхронизация таймера-счетчика.
Верхний предел - Задает максимальное значение, которое может достигнуть TCNTn.
Нижний предел - Задает минимальное значение, которое может достигнуть TCNTn (ноль).
Блок сравнения
8-разрядный цифровой компаратор непрерывно выполняет сравнение содержимого регистра таймера-счетчика TCNT0 с регистром порога сравнения OCR0.
Всякий раз, когда значение TCNT0 совпадает со значением OCR0 компаратор устанавливает флаг совпадения OCF0 следующим тактом синхронизации таймера.
Если разрешено прерывание битом OCIE0 = 1, то установка флага совпадения вызывает запрос на прерывание. Флаг OCF0 автоматически сбрасывается во время выполнения процедуры обработки прерывания.
А
льтернативно,
флаг OCF0 можно сбросить программно путем
записи лог. 1 в позицию данного бита.
Генератор сигнала использует сигнал результата сравнения для генерации прямоугольных импульсов по одному из алгоритмов, который выбирается битами задания режима работы таймера WGMn1, WGMn0 и битами задания режима формирования выходного сигнала (COMn1, COMn0). Верхний и нижний пределы счета используются в некоторых режимах работы для выполнения специальных действий.
Блок формирования выходного сигнала
Б
иты
задания режима формирования выходного
сигнала (COMn1:0)
имеют двойное назначение.
С одной стороны биты COMn1, COMn0 используются формирова-телем сигнала и определяют какое логическое состояние должно быть на выходе OCn при возникновении следующего совпадения.
С другой стороны, биты COMn1, COMn0 используются для разре-шения/запрета альтернативной функции вывода порта OCn.
Функция линии универсального порта ввода-вывода заменяется на функцию выхода формирователя сигнала OCn, если хотя бы один из бит COMn1, COMn0 установлен (логика ИЛИ).
Однако, управление направлением вывода OCn (вход или выход) в этом случае остается за соответствующим битом регистра направления данных порта (DDRx).
Чтобы значение регистра OCn присутствовало на выводе OC0 необходимо настроить данную линию на вывод (установить бит DDRx.n). Управление вводом альтернативной функции не зависит от режима генерации сигнала.
Схемотехника выходной логики позволяет инициализировать состояние регистра OCn перед разрешением настройки вывода OCn в качестве выхода.