Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсач Кириенко(Серому) / zapiska_MPSDorabotannay.doc
Скачиваний:
10
Добавлен:
29.02.2016
Размер:
1.45 Mб
Скачать

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

3.1 Краткое описание системы команд микроконтроллера

Система команд АТ89С51 содержит 111 базовых команд, которые удобно разделить по функциональному признаку на пять групп: команды передачи данных, арифметических операций, логических операций, передачи управления и операций с битами.

Первый байт команды любого типа и формата всегда содержит код операции (КОП). Второй и третий байты содержат либо адреса операндов, либо непосредственные операнды.

Команды передачи данных:

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

Таблица 6 – Команды передачи данных

Арифметические операции:

Данную группу образуют 24 команды, выполняющие сложения, десятичной коррекции, инкремента/декремента байтов. Имеются команды вычитания, умножения и деления байтов.

Команды ADDиADDCдопускают сложение аккумулятора с большим числом операндов. Аналогично командамADDCсуществуют четыре командыSUBB, что позволяет достаточно просто производить вычитание байтов и многобайтных двоичных чисел.

В микроконтроллере реализуется расширенный список команд инкремента/декремента байтов, команда инкремента 16-битного регистра указателя данных.

Таблица 7 – Группа арифметических команд

Группа команд логических операций:

Данную группу образуют 25 команд, реализующих функционально полную систему логических операций над байтами. В микроконтроллере расширено число типов операндов, учавствующих в операциях.

Имеется возможность производить операции. “исключающее ИЛИ” с содержимым портов. Команда XRLможет быть эффективно использована для инверсии отдельных битов портов.

Таблица 8 – Команды логических операций

Команды передачи управления:

К данной группе команд относятся команды, условного и безусловного ветвления, вызова подпрограмм и возврата из них, а также команда пустой операции NOP. В большинстве команд используется прямая адресация, т.е. адрес перехода целиком (или его часть) содержится в самой команде передачи управления. Можно выделить три разновидности команд ветвления по разрядности указываемого адреса перехода.

Таблица 9 – Команды передачи управления

Команды операций с битами:

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

Существуют также конъюнкции сброса (CLR), установки (SETB) и инверсии (CPL) битов, а также конъюнкции и дизъюнкции бита флага переноса. Для адресации битов используется прямой восьмиразрядный адрес (bit). Косвенная адресация битов невозможна.

Таблица 10 – Команды операций с битами

3.2 Описание общего алгоритма работы системы

В начале происходит инициализация портов, установка режимов таймеров, счетчиков, разрешение прерываний, выставление приоритетов прерываний.

Затем инициализируем МЖКИ. То есть подготавливаем его к работе.

Переводим курсор в верхнюю строку, крайнее левое положение выводим надпись Kireenko s4et4ik.

Производится подсчет импульсов счетчиком С0.

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

Далее проверяется условие, то есть нажатые кнопки, если кнопка SB2 не нажималась, то есть VAR==1, то дальше производится подготовка вывода на МЖКИ и непосредственно вывод. Если нажата, то расчет значения количества импульсов в минуту и вывод этого значения на МЖКИ.

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

Соседние файлы в папке Курсач Кириенко(Серому)