Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Машинные циклы и синхронизация микро-ЭВМ




 

Питание МК51 осуществляется от одного источника +5В. Кварцевый резонатор 3,5..12 МГц подключается к выводам Х1, Х2; возможно подключение внешнего тактового генератора через Х1.

OSC/2 - основная внутренняя тактовая частота CLK. Первая половина периода CLK фаза P1, вторая - P2. Каждый машинный цикл состоит из шести периодов CLK: состояний S1, S2,.. S6 или двенадцати периодов OSC, называемых фазами S1P1, S1P2, S2P1,.. S6P, S6P2. Каждый машинный цикл сопровождается генерацией двух стробов ALE длительностью в один период CLK - S1P2..S2P1, S4P2.. S5P1.

Командный цикл (КЦ) содержит один или несколько машинных циклов (МЦ) и отсчитывается от S1P1. По фазе S1P2 в IR фиксируется код операции, второй байт двухбайтовой команды читается в S4P2 того же МЦ, третий байт трехбайтовой - в S1P2 следующего МЦ. Таким образом, для ввода каждого байта команды требуется один полуцикл.

Во время всех оставшихся полуциклов в фазах S1P2 и S4P2 читается код операции следующей размещенной в памяти команды, однако он не помещается в IR и не инкрементируется PC. Текущий КЦ всегда завершается в S6P2. Вслед за этим начинается S1, в котором в IR вводится новый байт.

Обращение к внешней памяти данных XSEG по команде MOVX требует второго МЦ, в котором не вырабатывается первый строб ALE. На рис. 3.7 приведена временная диаграмма обращения к XSEG.

Для приведение МК51 в исходное состояние необходимо подать на вход RST импульс H-уровня длительностью не менее 24 периодов OSC (два МЦ) при условии что генератор запущен.

Внешние устройства МК51

К "внешним" устройствам МК51 отнесем:

· 4 параллельных двунаправленных порта ввода/вывода P0..P3;

· буфер SBUF и регистр управления SCON последовательного канала;

· таймеры/счетчики T0, T1, их регистр управления TCON и регистр режимов TMOD;

· регистры управления подсистемой прерываний: регистр приоритетов IP и регистр маски IE;

· регистр управления машиной PCON.

В состав МК51 входит дуплексный последовательный канал связи с буферизацией, который может быть запрограммирован для работы в одном из четырех режимов:

· режим "0" - синхронный ввод/вывод с частотой OSC/12;

· режим "1" - асинхронный с 8-бит. кадром, частота k*f;

· режим "2" - асинхронный с 9-бит. кадром, частота k*OSC/32;

· режим "3" - асинхронный с 9-бит. кадром, частота k*f; где k {1, 1/2}, f - частота переполнения T1 (FOV), деленная на 16.

 

Подсистема прерываний МК51

Архитектура МК51 поддерживает двухуровневую радиальную приоритетную подсистему прерываний (ПП) с шестью источниками запросов.

Для приема внешних прерываний служат входы INT0\, INT1\.

Источниками внутренних запросов могут служить сигналы переполнения таймеров T0, T1 и сигнал окончания работы последовательного канала.

 

Система команд МК51

Система команд включает 111 команд - однобайтовых (49), двухбайтовых (45) и трехбайтовых (17). Все команды выполняются за 1 или 2 МЦ (16 тактов CLK в каждом), за исключением команд умножения и деления MUL и DIV, для выполнения которых требуется 4 МЦ. Большинство двухбайтовых команд - одноцикловые, а все трехбайтовые -двухцикловые. За один МЦ в МК51 можно вводить до двух байтов программного кода.

МК51 работает с данными четырех основных типов - битами, полубайтами (4 бита), байтами и адресами (16 бит). Наиболее часто используемой единицей данных является байт: внутренние магистрали данных имеют 8-битный размер. Программная память, внутренняя память и внешняя память данных запоминают и возвращают данные в виде байтов. Кроме этого, имеется много команд, которые работают с одиночными битами. Бит может быть установлен, очищен, проинвертирован, логически скомбинирован с флагом переноса и проверен для выполнения последующих переходов. Полубайт (двоично-десятичная упакованная цифра) обычно мало применяется в МК51, но двоично-десятичная арифметика может выполняться без преобразования операндов в двоичное представление.

Команды, которые используют 16-битные адреса, имеют дело с указателем данных (16-битный регистр DPTR) и с программным счетчиком (переходы и вызовы подпрограммы). Использование команд сложения с битом переноса (ADDC) и вычитание с заемом (SUBB) делает программирование 16-битной арифметики относительно простым.

Программно-доступными объектами в составе ОМЭВМ являются: аппаратные регистры, четыре банка по восемь регистров R0..R7,R0..R7 и 128 ячеек внутренней памяти данных - с адресами 00H..7FH. Кроме того, по специальным командам MOVX и MOVC может быть доступна внешняя память данных и программ. В МК51 возможна битовая адресация аппаратных регистров и части внутренней памяти.

При программировании следует иметь в виду, что в качестве регистров R0..R7 банка 0 используются ячейки внутренней памяти данных с адресами 00H..07H, банка 1 - 08Н..0FН, банка 2 - 10Н..17Н, банка 3 - 18Н..1FH.

В системе команд МК51 используются регистровая, прямая, косвенная и непосредственная адресация.

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

По прямому адресу можно обращаться к аппаратным регистрам и внутренней памяти. Используется также прямая битовая адресация.

Косвенно можно адресоваться к ячейкам внутренней и внешней памяти данных через регистры R0,R1 текущего банка.

К любой ячейке внешней памяти (данных и программ) можно обратиться с использованием регистра DPTR.

По типу операций можно выделить следующие классы команд: пересылки; арифметические и логические; передачи управления; специальные команды.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...