Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Описание функционирования алгоритма программного обеспечения (ПО).

Читайте также:
  1. III. ОПИСАНИЕ ЛАБОРАТОРНОЙ УСТАНОВКИ
  2. III. Схема функционирования ЮГА
  3. А. Общее описание
  4. Б. Общее описание
  5. Базовые методы противодействия дизассемблированию программного обеспечения
  6. Банковская гарантия, как способ обеспечения обязательств.
  7. Барьеры доступности программного обеспечения и основные способы их преодоления

Имея в виду тот факт, что работа проектируемого устройства основана на управлении микроконтроллером остальными узлами и блоками устройства, то для правильной работы, помимо правильно разработанной схемы устройства, необходимо разработать алгоритм управления этими устройствами. Алгоритм отражает конечный набор правил для выполнения процедур управления. От его структуры зависит, насколько рационально используются возможности устройства, возможность усовершенствования устройства без существенных или без изменения схемы устройства, скорость обработки команд управления, а также вероятность сбоя в работе устройства по вине программиста использующего не совсем верный принцип работы устройства. По этой причине разработка алгоритма управляющей программы является одним из основных этапов разработки устройства. Разработчик должен чётко представлять назначение и принцип работы каждого узла не только в отдельности, но и их совместную работу.

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

Блок-схема алгоритма управляющей программы и листинг программы на языке Ассемблера приведены соответственно в прил. 2 и прил. 3.

При запуске системы оператором, т. е. при нажатии кнопки «Сброс» счетчик команд обнуляется. МП выполняет обращение к ПЗУ по адресу 0000Н, который является начальным адресом программы. Программа начинается с настройки таймера/счетчика Т0. Для этого задаем режим работы – режим шестнадцатибитного таймера, причем таймер будет запускаться при наличии логической «1» на входе INT0 и при значении TR0, равном «1». После этого МП переходит в состояние ожидания события, постоянно опрашивая входной порт 3 и анализируя состояние входного сигнала на линии Т0. После того как сигнал на входе станет равным «1», содержимое Т/С0 будет увеличиваться на 1 через каждую 1мкс до тех пор, пока на выходе сигнал не приобретет значение «0». Значение, равное Tx в мкс, будет находиться в соответствующих регистрах TH0 и TL0. Далее для отображения на шестиразрядном семисегментном индикаторе необходимо перевести данное значение из двоичного вида в десятично-двоичный код.

В таблице приведены описания используемых в программе команд.

Табл. 8. Используемые в программе команды.

Название команды Мнемокод Операция
Пересылка в аккумулятор из регистра (n = 0 - 7) MOV A, Rn (A) = (Rn)
Пересылка в аккумулятор прямоадресуемого байта MOV A, ad (A) = (ad)
Пересылка в аккумулятор байта из РДП (i = 0, 1) MOV A, @Ri (A) = ((Ri))
Загрузка в аккумулятор константы MOV A, #d (A) = #d
Пересылка в регистр из аккумулятора MOV Rn, A (Rn) = (A)
Пересылка в регистр прямоадресуемого байта MOV Rn, ad (Rn) = (ad)
Загрузка в регистр константы MOV Rn, #d (Rn) = #d
Десятичная коррекция аккумулятора DA A Если (A0-3) > 9 \/ ((AC) = 1), то (A0-3) = (A0-3) + 6, затем если (A4-7) > 9 \/ ((C) = 1), то (A4-7) = (A4-7) + 6
Инкремент регистра INC Rn (Rn) = (Rn) + 1
Декремент регистра DEC Rn (Rn) = (Rn) - 1
Логическое И аккумулятора и константы ANL A, #d (A) = (A) /\ #d
Логическое ИЛИ аккумулятора и регистра ORL A, Rn (A) = (A) \/ (Rn)
Обмен местами тетрад в аккумуляторе SWAP A (A0-3) <-> (A4-7)
Сброс бита CLR bit (b) = 0
Установка бита SETB bit (b) = 1
Длинный переход в полном объеме памяти в программ LJMP ad16 (PC) = ad16
Переход, если бит равен единице JB bit, rel (PC) = (PC) + 3, если (b) = 1, то (PC) = (PC) + rel
Переход, если бит равен нулю JNB bit, rel (PC) = (PC) + 3, если (b) = 0, то (PC) = (PC) + rel
Декремент регистра и переход, если не нуль DJNZ Rn, rel (PC) = (PC) + 2, (Rn) = (Rn) -1, если (Rn)? 0, то (PC) = (PC) + rel
Возврат из подпрограммы RET (PC8-15) = ((SP)), (SP) = (SP) - 1, (PC0-7) = ((SP)), (SP) = (SP) - 1
Переход, если перенос равен нулю JNC rel (PC) = (PC) + 2, если (C) = 0, то (PC) = (PC) + rel

 



Дата добавления: 2015-07-08; просмотров: 168 | Нарушение авторских прав


Читайте в этой же книге: Введение | Структура МК51. | Структурная схема устройства. Описание функционирования устройства в целом. | Дешифраторы |
<== предыдущая страница | следующая страница ==>
Микроконтроллер.| Кадр 5. 7 сек

mybiblioteka.su - 2015-2024 год. (0.005 сек.)