Смекни!
smekni.com

Контроллеры (стр. 5 из 12)

Рис 3.3.

Intel87C51FB имеет 128 программно-управляемых флагов пользователя. Имеется также возможность адресации отдельных бит блока регистров специальных функций и портов. Для адресации бит используется прямой 8-битный адрес (bit). Косвенная адресация бит невозможна. Карты адресов отдельных бит представлены на рис и рис . Четырехбитные операнды используются только при операциях обмена (команды SWAP и XCHD). Восьмибитным операндом может быть ячейка памяти программ или данных (резидентной или внешней), константа (непосредственный операнд), регистры специальных функций (РСФ), а также порты ввода/вывода. Порты и РСФ адресуются только прямым способом. Байты памяти могут адресоваться также и косвенным образом через адресные регистры (R0, R1, DPTR и PC). Двухбайтные операнды - это константы и прямые адреса, для представления которых используются второй и третий байты команды.

Способы адресации данных.

В Intel87C51FB используются такие способы адресации данных: прямая, непосредственная, косвенная и неявная. Следует отметить, что при косвенном способе адресации РПД используются все восемь бит адресных регистров R0 и R1.

Флаги результата.

Слово состояния программы (PSW) включает в себя четыре флага: C - перенос, AC - вспомогательный перенос, O - переполнение и P - паритет.

Флаг паритета напрямую зависит от текущего значения аккумулятора. Если число единичных бит аккумулятора нечетное, то флаг P устанавливается, а если четное - сбрасывается попытки изменить флаг Р, присваивая ему новое значение, будут безуспешными, если содержимое аккумулятора при этом останется неизменным.

Флаг АС устанавливается в случае, если при выполнении операции сложения/вычитания между тетрадами байта возник перенос/заем.

Флаг C устанавливается, если в старшем бите результата возникает перенос или заем. При выполнении операций умножения и деления флаг C сбрасывается. Флаг OV устанавливается, если результат операции сложения/вычитания не укладывается в семи битах и старший (восьмой) бит результата не может интерпретироваться как знаковый. При выполнении операции деления флаг OV сбрасывается, а в случае деления на нуль устанавливается. При умножении флаг OV устанавливается, если результат больше 255.

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

Таблица 3.5.

Команды Флаги Команды Флаги
ADD C, OV, AC CLR C C = 0
ADDC C, OV, AC CPL C C = ¬C
SUBB C, OV, AC ANL C, b C
MUL C = 0, OV ANL C, /b C
DIV C = 0, OV ORL C, b C
DA C ORL C, /b C
RRC C MOV C, b C
RLC C CJNE C
SETB C C = 1

Символическая адресация.

При использовании ассемблера ASM51 для получения объектных кодов программ допускается применение в программах символических имен регистров специальных функций (РСФ), портов и их отдельных бит рис. 3.4., рис 3.5.

Для адресации отдельных бит РСФ и портов (такая возможность имеется не у всех РСФ) можно использовать символическое имя бита следующей структуры:

< имя РСФ или порта > . <номер бита>

Например, символическое имя пятого бита аккумулятора будет следующим: АСС.5. Символические имена РСФ, портов и их бит являются зарезервированными словами для Intel87C51FB, и их не надо определять с помощью директив ассемблера.

Рис 3.4.

Рис 3.5.

Выбор Инструментальных средств

При выборе инструментальных средств разработки было необходимо обеспечить удобство и быстроту создания и отладки программного обеспечения микроконтроллера. Программа отлаживалась в интегрированной среде PICE-51, которую можно охарактеризовать следующим образом. PICE под Windows основная интегрирующая среда разработки для технологии микрокристалла включающей INTEL87C51FB семейств микроконтроллера. PICE позволяет пользователю писать, отлаживать, и оптимизировать многие процессоры для разработки микропрограмм. PICE включает текстовый редактор, имитатор, и руководитель проекта. PICE также имеет внутрисхемный эмулятор, программирующие устройства, и другие системы разработки инструментальных средств микрокристалла. Инструментальные средства PICE реализуют для пользователя следующие функции:

Отладка его исходной программы;

Эмуляция процессоров:

Intel: 80C31/32, 8XC51/52/54/58, 8XL/C51FA/FB/FC, 8XC51RA/RB/RC;

Philips: 80C31/32, 8XC51/52/54/58, 8XC51FA/FB/FC; 8XC51RA+/RB+/RC+/RD+, 8XC524, 8XC528, 8XC550, 8XC652, 8XC654, 8XC575, 8XC576, 8XC851, 89C535,89C536, 89C538;

Atmel: 89C51, 89C52, 89C55, 89C4051, 89C2051, 89C1051;

Siemens: SAB501;

MHS: 80C31, 8XC51, 80C32, 8XC52, 8XC154;

Oki: 80C31, 8XC51, 8XC154;

AMD: 80C31, 8XC51, 8XC52;

Автоматически располагает ошибки в исходных файлах для редактирования;

Отладка с контрольными точками, базировавшимися на внутренних величинах регистра;

· Часы ход программы с имитатором или часами в реальном времени с внутрисхемным эмулятором POD51-RX.

· Делать синхронизацию размеров со стоповыми часами;

· Видеть переменные в специальных окнах;

· Находить быстрые ответы на вопросы с PICE онлайновой подсказки;

Встроенная разработка среды Project-51 позволяет пользователю быстро перемещаться между другими способами разработки/отладки.

Встроенная разработка среды Project-51 включает инструментальные средства следующей разработки:

Руководитель проекта позволяет пользователю создавать проект, и работать со специфическими файлами связанными с проектом. Project-51 руководитель проекта также позволяет пользователю формировать приложение и загружать программный код в эмулятор или имитатор с нажатием мыши.

Project-51 это:

редактор позволяет программисту писать и редактировать исходные файлы микропрограмм или другие текстовые файлы для INTEL87C51FB микроконтроллеров;

универсальный ассемблер микроконтроллеров позволяет пользователю получать программный код;

программный имитатор имитирует выполнение инструкции и I/O микроконтроллеров.

Внутрисхемный эмулятор POD51-RX использует аппаратные средства, чтобы эмулировать INTEL87C51FB микроконтроллеров в реальном времени. Аппаратные средства POD51-RX эмулятора продаются отдельно.

После установки и компиляции проектов в Project-51, программист захочет увидеть как сделаны его кодовые прогоны. Если у вас есть программатор устройства, вы можете запрограммировать устройство микроконтроллера и подключите программируемое устройство в вашем фактическом приложении, чтобы проверить, что приложение работает как ожидается. Обычно, приложение не будет выполняться правильно сначала, и программист должен отладить код. Отладчик может использовать Project-51, чтобы с имитировать программный код или может использовать эмулятор POD51-RX, чтобы выполнять созданные микропрограммы в фактическом приложении пока программист производит отлаживание созданной программы. Во время отладки, пользователь может использовать прерывание и точки останова, когда выполняется код его программы. Можно наблюдать величины регистра в окне регистра или в специальном функциональном окне регистра, чтобы увидеть состояние процессора и следовательно выполняемый код и пошаговый режим.

Внутрисхемный эмулятор POD51-RX выполняет код в фактической скорости выполнения (реальное время) в разрабатываемых целевых аппаратных средствах, останавливаясь только в определенных контрольных точках. Project-51 имитирует выполнение любого процессора и имитирует условия I/O в скоростях, которые зависят от скорости вашего PC.

Все эти функции используют информацию из Project-51 проекта. Строка помечается в исходной программе, символических позициях в памяти, и функциональные имена из кода могут использоваться, чтобы установить прерывание и точки останова и изучать и модифицировать регистры.

Исходя из всего выше сказанного, выбор элементной базы был остановлен на уже перечисленных микросхемах. Выбор инструментальных средств разработки обоснован необходимостью применения интегрированной среды Project-51 для отладки ассемблерных программ контроллеров.

Разработка структуры программного обеспечения подсистемы.

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

Программа контроллера УСВИЦ-250 должна выполнять следующие основные функции:

Осуществлять считывание с масок кодов скоростей;

Осуществлять перевод этих кодов в двоичный код;

Осуществлять формирование 32х-разрядного слова по ARING-427;

Осуществлять вывод в магистраль выходного слова;

Осуществлять вывод аналогового сигнала о приборной скорости.

Результатом анализа и осмысления, поставленных при разработке данной подсистемы требований явилась следующая структура подпрограмм в основной программе, обеспечивающей выполнения поставленных требований:

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

- принимать коды грея;

2. Подрограмма, осуществляющая перевод кодов по формуле:

Код_Двоичный4=Код_Грея4;

Код_Двоичный3=Код_Грея3 Å Код_Двоичный4;

Код_Двоичный2=Код_Грея2 Å Код_Двоичный3;

Код_Двоичный1=Код_Грея1 Å Код_Двоичный2;

Код_Двоичный0=Код_Грея0 Å Код_Двоичный1;

3. Подрограмма, формирование 32х-разрядного слова по ARING-427 должна выполнять следующие функции: