Смекни!
smekni.com

Программное обеспечение управления автоматизированным комплексом многоканальной связи (стр. 2 из 16)

Качество получаемого прикладного программного обеспечения контроллера всецело зависит от уровня проектных решений, принятых на этапе «от постановки задачи к исходной программе». Уровень проектных решений, в свою очередь, из-за отсутствия теории проектирования программируемых контроллеров определяется только опытом, квалификацией и интуицией разработчика. Однако накопленный опыт убеждает в том, что систематический подход к процессу разработки прикладных программ для контроллеров обеспечивает достижение хороших результатов даже начинающими разработчиками.

1.3 Использование контроллера АТ89С51

На данный момент широко применяются микроконтроллеры серии МК51. Существует обширная техническая документация и что самое главное широкий выбор отладочных средств от эмулятора ПЗУ и отладочного монитора до внутрисхемного эмулятора. Процессоры данной серии достаточно универсальны для успешного применения в микроэлектронике, что позволяет их использовать как при разработке простых систем, так и при создании сложных модулей электронной аппаратуры.

Рассмотрим микроЭВМ серии МК51 более подробно.

1.3.1 Основные программно-доступные устройства микроконтроллера АТ89С51

Основными программно-доступными устройствами микроконтроллера AT89C51 являются:

1) 8‑разрядный аккумулятор А;

2) 8‑разрядный вспомогательный регистр AВ;

3) триггеры признаков результата: C, OV, P, отрицательности, нуля;

4) триггеры выбора банка рабочих регистров RS0 и RS1;

5) триггер программно-управляемого флага F0;

6) 16‑разрядный счетчик команд PC;

7) 16‑разрядный регистр указателя данных DPTR;

8) 8‑разрядный регистр указателя стека SP;

9) внутренняя память программ емкостью 4 Kb, расширяемая внешними устройствами до 64 Kb;

10)внутренняя память данных емкостью 128 байт, в которой размещается от одного до четырех банков рабочих регистров R0‑R7, область стека и побитово адресуемая область памяти;

11)внешняя память данных емкостью до 64 Kb;

12)два программируемых 16‑разрядных таймера-счетчика;

13)программируемый двунаправленный последовательный порт ввода-вывода и соответствующие устройства управления;

14)четыре 8‑разрядных двунаправленных параллельных порта ввода-вывода;

15)двухуровневую приоритетную систему прерываний с пятью векторами и двумя уровнями;

16)последовательный интерфейс;

17)тактовый генератор.

1.3.2 Структурная схема микроЭВМ серии МК51

Система команд микроЭВМ серии МК51 содержит 111 базовых команд с форматом 1, 2 или 3 байта. Микроконтроллер имеет:

· 32 РОН;

· 128 определяемых пользователем программно-управляемых флагов;

· набор регистров специальных функций.

РОН и определяемые пользователем программно-управляемые флаги расположены в адресном пространстве внутреннего ОЗУ данных.

Важнейшей и отличительной чертой архитектуры семейства МК51 является то, что АЛУ может наряду с выполнением операций над 8‑разрядными типами данных манипулировать одноразрядными данными. Отдельные программно-доступные биты могут быть установлены, сброшены или заменены их дополнением, могут пересылаться, проверяться и использоваться в логических вычислениях. Тогда как поддержка простых типов данных может с первого взгляда показаться шагом назад, это качество делает микроЭВМ семейства МК51 особенно удобным для применений, в которых используются контроллеры. Алгоритмы работы последних по своей сути предполагают наличие входных и выходных булевых переменных, которые сложно реализовывать при помощи стандартных микропроцессоров. Все эти свойства в целом называются булевым процессором семейства МК51. Благодаря такому мощному АЛУ набор инструкций микроЭВМ семейства МК51 одинаково хорошо подходит как для применений управления в реальном масштабе времени, так и для алгоритмов с большим объёмом данных.


Рис. 1.2а. Структурная схема МК51

Рис. 1.2б. Структурная схема МК51

Блок управления предназначен для выработки синхронизирующих и управляющих сигналов, обеспечивающих координацию совместной работы блоков микроЭВМ семейства МК51 во всех допустимых режимах её работы. В состав блока управления входят устройство выработки временных интервалов, логика ввода-вывода, регистр команд, регистр управления потреблением, дешифратор команд, ПЛМ и логика управления ЭВМ.

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

Логика ввода-вывода предназначена для приёма и выдачи сигналов, обеспечивающих обмен информацией ОМЭВМ с внешними устройствами через порты ввода-вывода Р0‑Р3.

Регистр команд предназначен для записи и хранения 8‑разрядного кода операции выполняемой команды, который с помощью дешифратора команд преобразовывается в 24‑разрядный код для ПЛМ, с помощью которой вырабатывается набор микроопераций в соответствии с микропрограммой выполнения команды. Регистр команд программно недоступен.

Регистр управления потреблением PCON управляет скоростью передачи последовательного порта SMOD.

Логика управления ЭВМ в зависимости от режима работы МИКРОЭВМ СЕМЕЙСТВА МК51 вырабатывает необходимый набор управляющих сигналов.

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

Регистр аккумулятора и регистр временного хранения – восьмиразрядные регистры, предназначенные для приёма и хранения операндов на время выполнения операций над ними. Программно недоступны.

ПЗУ констант обеспечивает выработку корректирующего кода при двоично-десятичном представлении данных, кода маски при битовых операциях и кода констант.

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

Регистр В-восьмиразрядный регистр, используемый во время операций умножения и деления. Для других инструкций он может рассматриваться как дополнительный сверхоперативный регистр.

Аккумулятор представляет собой восьмиразрядный регистр, предназначенный для приёма и хранения результата, полученного при выполнении арифметико-логических операций или операций пересылки.

Регистр состояния программы предназначен для хранения информации о состоянии АЛУ при выполнении программы.

Таймеры / Счётчики предназначены для подсчёта внешних событий, для получения программно-управляемых временных задержек и выполнения времязадающих функций ОМЭВМ.

Блок последовательного интерфейса и прерываний предназначен для организации ввода-вывода последовательных потоков информации и организации системы прерывания программ.

Счётчик команд предназначен для формирования текущего 16‑разрядного адреса внешней памяти данных.

Порты Р0, Р1, Р2, Р3 являются двунаправленными портами ввода-вывода и предназначены для обеспечения обмена информацией микроЭВМ семейства МК51 с внешними устройствами.

Память данных предназначена для приёма, хранения и выдачи информации, используемой в процессе выполнения программы. Память данных, расположенная на кристалле ОМЭВМ, состоит из регистра адреса ОЗУ, дешифратора, ОЗУ и указателя стека.

Память программ предназначена для хранения программ и имеет отдельное от памяти данных адресное пространство объёмом до 64 Кбайт.

1.3.3 Адресные пространства АТ89С51

В AT89C51 имеются следующие адресные пространства:

1. Пространство адресов регистров специальных функций, таких как аккумулятор А, вспомогательный регистр AВ, старший и младший регистры указателя данных DPTR, фиксаторы портов ввода-вывода P0‑P3, регистр слова состояния программы PSW, регистр указателя стека SP и др. Диапазон адресов регистров специальных функций находится в пределах от 128 до 255. При записи данных по адресу регистра несуществующей специальной функции данные теряются, при считывании из регистра несуществующей специальной функции данные не определенны;

2. Пространство адресов триггеров специальных функций, таких как триггеры признаков переноса C, переполнения OV, четности P, отрицательности N, нуля Z, триггеры выбора банка рабочих регистров RS0 и RS1; триггер программно-управляемого флага F0 и другие. Все триггеры специальных функций физически размещаются в регистрах специальных функций. Наличие триггеров специальных функций определяется типом микроконтроллера. Диапазон адресов триггеров специальных функций находится в пределах от 128 до 255. Части адресов соответствуют несуществующие триггеры. При записи бита по адресу несуществующего триггера этот бит теряется, при считывании бита из несуществующего триггера его значение неопределенно;

3. Пространство адресов памяти программ. Диапазон адресов этого пространства находится в пределах от 0 до 65535. Память программ с адресами от 0 до 4096 может реализоваться внутренним запоминающим устройством. В пространстве адресов памяти программ размещаются коды команд и, возможно, данные. Часть адресов пространства памяти программ зарезервирована для точек входа в программу начального запуска и программы обслуживания прерываний. Адрес команды, подлежащей выполнению, хранится в счетчике команд PC. Обращение к данным в памяти команд осуществляется по адресу равному сумме содержимого счетчика команд PC и аккумулятора A или регистра указателя данных DPTR и аккумулятора A;