- •Вопросы:
- •Часть I.
- •Часть II.
- •Часть III.
- •Часть I.
- •1.1. Алгебра логики, алгебра Буля. Основные аксиомы.
- •1.2. Законы алгебры Буля. Дистрибутивный, коммутативный, ассоциативный.
- •1.3. Законы алгебры Буля. Поглощения, двойного отрицания, исключения.
- •1.4. Законы алгебры Буля. Де Моргана, идемпотентности.
- •1.5. Условное графическое обозначение логических элементов (стандарты).
- •1.6. Способы минимизации логических функций. Правило составления карты Карно.
- •1.7. Способы минимизации логических функций. Правило составления диаграммы Вейча.
- •1.8. Комбинационная схема. Функция дешифратора.
- •1.9. Комбинационная схема. Функция шифратора.
- •1.10. Комбинационная схема. Функция мультиплексора.
- •1.11. Комбинационная схема. Функция демультиплексора.
- •1.12. Триггеры. Типы триггеров. Классификация Триггеров.
- •1.13. Регистры. Счетчики. Разновидность.
- •1.14. Архитектура Микроконтроллера. Структура типовой эвм.
- •1.15. Тактовая частота микроконтроллера. Изменения тактовой частоты.
- •1.16. Регистры общего назначения в микроконтроллерах.
- •1.17. Регистр признаков. Распиновка битов.
- •1.18. Регистры специального назначения. Регистр Программный счетчик.
- •1.19. Регистры специального назначения. Регистр указатель Стека.
- •1.20. Регистры специального назначения. Таймеры.
- •1.22. Регистры специального назначения. Ацп и цап.
- •1.23. Виды памяти в микроконтроллерах.
- •1.24. Преобразование последовательного кода в параллельный.
- •1.25. Преобразование параллельного кода в последовательный.
- •1.26. Язык Ассемблера. Синтаксис. Мнемокод.
- •1.27. Арифметические команды. Принцип работы.
- •1.28. Логические команды. Принцип работы.
- •Xor получатель, источник
- •1.29. Команды вызова подпрограммы, особенности.
- •1.30. Команды переходов в программе, особенности.
- •Часть II.
- •2.1. Доказать следующие законы: дистрибутивный, поглощения.
- •2.14. Реализовать rs триггер на элементах и-не.
- •2.15. Реализовать синхронный rs триггер.
- •2.16. Реализовать d триггер через rs.
- •2.17. Реализовать т триггер через rs.
- •2.18. Реализовать j-k триггер через rs.
- •2.19. Счетчик на j-k триггерах.
1.17. Регистр признаков. Распиновка битов.
Регистр статуса (регистр состояния или регистр флагов) - это специальный регистр, который есть в любом процессоре, микропроцессоре или микроконтроллере.
Регистр состояния (Status Register) содержит данные об итоге выполнения последней арифметической или логической операции. Эти данные можно использовать для управления ходом программы с инструкциями условного перехода.
Обратите внимание, что регистр состояния обновляется после всех операций АЛУ (арифметико-логического устройства), как указано в справочнике по набору команд.
SREG - это регистр состояния в AVR. Это 8-разрядный регистр, в котором каждый бит (разряд) отображает состояние какой-либо операции (или результата операции).
Каждый бит (флаг) доступен как для чтения, так и для записи. При инициализации все биты равны нулю.
Адрес регистра SREG - 0x3F (в шестнадцатеричной системе).
Каждый из битов (флагов) этого регистра можно установить, сбросить или проверить отдельно с помощью команд общего назначения или специально предусмотренных для этого команд, которые работают только с определённым флагом. Распиновка битов показана на рисунке.
Флаг I (бит 7): Global Interrupt Enable (Флаг глобального разрешения прерываний).
Для включения прерываний флаг I должен быть установлен. Затем управление включением отдельных прерываний выполняется в отдельных регистрах управления. Если флаг I сброшен, ни одно из прерываний не включено, независимо от настроек отдельного прерывания. Флаг I очищается аппаратным обеспечением после завершения прерывания (автоматически сбрасывается), а устанавливается инструкцией RETI для включения последующих прерываний. Флаг I также может быть установлен и очищен инструкциями SEI и CLI, как описано в документации.
Флаг T (бит 6): Bit Copy Storage (Хранение Копируемого Бита)
Инструкции копирования бита (Bit Copy), то есть инструкции BLD (Bit LoaD) и BST (Bit STore), используют флаг T как источник или приёмник при операциях с битом. Бит из регистра в Регистре Файла (Register File) можно скопировать в бит Т с помощью инструкции BST, а состояние флага Т можно скопировать в бит регистра Регистра Файла при помощи команды BLD.
Флаг H (бит 5): Half Carry Flag (Флаг половинного переноса)
Флаг полупереноса H указывает на полуперенос в некоторых арифметических операциях. Полуперенос полезен в арифметике BCD.
Флаг полупереноса ведёт себя также, как флаг обычного переноса, только он связан с младшей тетрадой. Например,
01011010 = 90
+
00001111 = 15
=
01101001 = 105
При выполнении этой операции будет установлен флаг полупереноса, так как произошёл перенос из третьего бита (старшего бита младшей тетрады).
Флаг S (бит 4): Sign Bit (Флаг знака)
S = N (+) V (исключающее или между флагами N и V)
Флаг S равен итогу операции исключающего или между флагом отрицательного результата N и флагом переполнения V.
Флаг V (бит 3): Two’s Complement Overflow Flag (Флаг переполнения дополнительного кода)
Флаг V поддерживает арифметику дополнения до двух. Более подробно об этом в описании набора команд процессора.
Флаг N (бит 2): Negative Flag (Флаг отрицательного значения)
Флаг N указывает на то, что результат арифметической или логической операции был отрицательным.
Флаг Z (бит 1): Zero Flag (Флаг нуля)
Флаг Z указывает на то, что результат арифметической или логической операции равен нулю.
Флаг C (бит 0): Carry Flag (Флаг переноса)
Флаг C указывает на перенос при арифметической или логической операции.
