- •1.Организация микроконтроллера мк1816
- •1.1.Общие сведения о семействе микроконтролеров к1816.
- •2.Арифметическо-логическое устройство (алу) микроконтроллера мк1816
- •3.Память микроконтроллера мк1816
- •3.1.Память программ (или - память команд, пк)
- •3.2.Память данных (или - оперативная память, озу)
- •4.Организация ввода – вывода в микроконтроллере мк1816
- •4.1.Порты (или каналы) ввода - вывода р1 и р2.
- •4.2.Порт ввода - вывода bus (или db).
- •5.Управление работой микроконтроллера мк1816
- •5.1.Синхронизация микроконтроллера.
- •5.2.Системный сброс.
- •5.3.Пошаговый режим работы.
- •6.Варианты структур микроконтроллерных систем(мкс) на основе мк1816
- •6.1.Мк-система с расширенной памятью программ.
- •6.2.Мк-система с расширенной памятью данных.
- •6.3.Мк-система с расширенным вводом-выводом.
- •7.Система команд микроконтроллера мк1816
- •7.1.Команды пересылки и обмена
- •7.2.Команды арифметических и логических операций (в том числе и операций над признаками)
- •7.2.1.Общие сведения.
- •7.2.2.Команды группы арифметических операций
- •7.2.3.Команды группы логических операций:
- •Xrl a,Rr - Исключающее или аккумулятора с маской в регистре
- •Xrl a,#d - Исключающее или аккумулятора с непосредственным операндом
- •Xrl a,@Rr - Исключающее или аккумулятора и маской в ячейке памяти
- •7.3.Команды ввода – вывода
- •7.4.Команды передачи управления (в том числе и операций с подпрограммами)
- •7.5.Команды операций с таймером
- •7.6.Команды управления режимом работы мк
4.2.Порт ввода - вывода bus (или db).
Порт ВUS представляет собой двунаправленный буфер с тремя состояниями и предназначен для побайтного ввода, вывода или ввода-вывода информации.
Если порт ВUS используется для двунаправленных передач, то обмен информацией через него выполняется по командам МОVХ. При выводе байта генерируется стробирующий сигнал ЗП*, а выводимый байт фиксируется в буферном регистре.
При вводе байта генерируется стробирующий сигнал ЧТ*, но вводимый байт в буферном регистре не фиксируется. В отсутствие передач порт ВUS по своим выходам находится в высокоимпедансном состоянии.
Если порт ВUS используется как однонаправленный, то вывод через него выполняется по команде OUTL, а ввод - по команде INS. Вводимые и выводимые через порт ВUS байты можно маскировать с помощью команд AND и OR, что позволяет выделять и обрабатывать в байте отдельный бит или группу бит. Для этого предварительно по команде "OUTL BUS,А" в порт ВUS из аккумулятора должна быть загружена маска.
В МК-системах простой конфигурации, когда порт BUS не используется в качестве порта-расширителя системы, обмен выполняется по командам INS, OUTL и MOVX. Возможно попеременное использование команд OUTL и MOVX. Однако при этом необходимо помнить, что выводимый по команде OUTL байт фиксируется в буферном регистре порта BUS, а команда MOVX уничтожает содержимое буферного регистра порта.
В МК-системах, имеющих внешнюю память программ, порт BUS используется для выдачи адреса внешней памяти и для приема команды из внешней памяти программ. В таких системах использование команды "OUTL BUS" недопустимо, так как фиксация в буферном регистре порта ВUS выводимого байта явится причиной неправильной выборки следующей команды.
В командах ввода - вывода информации имя порта, через который осуществляется передача, содержится в коде команды. Следовательно (из-за невозможности динамического определения имени порта в каком-либо рабочем регистре), отсутствует возможность использования одной программы управления идентичными устройствами, подключенными к разным портам. Это вынуждает программиста загружать в память программ две или более по существу (но не по кодам) одинаковых программ управления однотипными устройствами.
Однако динамический выбор идентичных устройств, а следовательно, и использование одной параметризуемой подпрограммы управления этими устройствами возможны в том случае, если обращение к внешним портам ввода - вывода выполнять по командам обращения к внешней памяти MOVX.
5.Управление работой микроконтроллера мк1816
Устройство управления МК совместно с логической схемой переходов в каждом цикле команды формирует последовательность сигналов, управляющих функциями всех блоков МК и системой их взаимосвязи. Рассмотрение работы МК и особенностей реализации тех или иных процедур удобно выполнить путем анализа работы отдельных блоков МК в различных режимах его работы.
5.1.Синхронизация микроконтроллера.
Опорную частоту синхронизации определяет или кварцевый резонатор (осциллятор), подключаемый к входам XI и Х2, или LC-цепь; X1 является входом, а Х2 - выходом генератора, способного работать в диапазоне частот от 1 до 6 МГц. На вход X1 может подаваться сигнал от источника внешней синхронизации. Схема синхронизации МК показана на рисунке ниже (часть "а"). В нее входят два счетчика с модулями пересчета 3 и 5. Первый используется для формирования сигнала системной синхронизации, который может передаваться на вывод Т0 после команды ENT0 CLK. Этот же сигнал поступает на счетчик машинных циклов, на выходе которого через каждые пять сигналов синхронизации МК формируется сигнал САВП, идентифицирующий каждый машинный цикл и используемый в расширенных МК-системах для стробирования адреса внешней памяти. Временные диаграммы машинного цикла и цикла команды МК показаны на рисунке (часть "б").