Процесс выполнения алгоритма

При запуске программы Блок 1 осуществляет ожидание нажатия кнопки. После нажатия кнопки блок 2 производит запуск 3-го 1-го механизмов. Блок 3 осуществляет задержку на время t. Блок 4 производит запуск 6-го механизма.

Рис. 4. Блок-схема работы ПК

Детальная блок-схема алгоритма работы ПК

На рис. 5 показана детальная блок-схема алгоритма работы ПК.

В блоке 1 задаётся направление работы портов ППИ КР580ВВ55. Порт А – вывод данных, порт В – вывод данных, разряды РС7-РС4 порта С – вывод данных, разряды РС3 –РС0 ввод данных.

В блоке 2 в порт А выводятся управляющие дискретные сигналы РА0=0, РА2=0, PA5=0 которые останавливают механизмы 1, 3 и 6.

В блоках 3 и 4 проверяется состояние кнопки подключенной к линии РС1 порта С. Программа ожидает её нажатие – непрерывно осуществляя переход к началу блока 3. С нажатием кнопки РС1 начинает выполнятся блок 5.

В блоке 5 в порт А выводятся дискретные сигналы РА0=1, РА2=1, РА5=0 которые запускают механизмы 1 и 3.

Такое состояние сохраняется всё время, пока выполняется блок 6, в котором реализована задержка времени. По истечении времени задержки происходит переход к блоку 7.

Блок 7 производит вывод дискретных сигналов РА0=1, РА2=1, РА5=1. Это приводит к запуску механизма6 и продолжению работы механизмов 3и1.

На рис. 6 показана блок-схема алгоритма формирования временной задержки. На рис. 5 он обозначен как единый блок 6. Задержка времени формируется программно, без использования таймера. Для создания задержки в программе организуются два вложенных друг в друга цикла. Их время выполнения зависит от количества проходов циклов, задаваемого числами, заносимыми в регистры Е, В и С микропроцессора. Программа задержки осуществляется блоками 8 – 13.

Блок 8 выполняет запись начального числа в регистр В и С. Затем в блоке 10 производится уменьшение значения на единицу.

Блок 11 содержимое регистров сравнивается с нулём. Если оно не равно нулю, то повторяется выполнение блока 10 до тех пор, пока значение регистра не станет нулевым. Затем произойдёт выполнение внешнего цикла с использованием регистра Е. Далее повторяется выполнение внутреннего цикла , и так до тех пор пока состояния обоих счётчиков (внутреннего и внешнего циклов) не станут нулевыми

Расчёт задержки времени

Время выполнения программы задержки рассчитывается по формуле:

t=Nвнешн´Nвнутр´Dtвнутр;

Где Dtвнутр- время, затраченное на один переход во внутреннем цикле.

- DCXB выполняется за 5 машинных тактов,

- MOV А,В – 5 тактов,

- ORAC – 4 такта,

- JNZ DELAY – 10 тактов.

Таким образом, внутренний цикл выполняется за 24 такта. Один такт в УМК длится 0,5 мкс. Поэтому Dtвнутр=24´0,5=12 мкс.

Время полного выполнения внутреннего цикла составляет:

tвнутр=8333´12=0,1 с.

Чтобы обеспечить задержку времени t=6с, внешний цикл необходимо повторить 60 раз.

Процесс выполнения алгоритма - student2.ru

Рис. 5. Блок-схема алгоритма работы ПК

 
  Процесс выполнения алгоритма - student2.ru

Рис. 6. Блок-схема алгоритма задержки

Программа работы ПК

В машинных кодах На языке ассемблера
адрес код метка команда комментарий
80D 80E 3E   MVI A, Загрузка в аккумулятор управляющего слова КР580ВВ55
80F D3   OUT 83 Запись управляющего слова в регистр управл-го слова КР580ВВ55(адрес 83)
3E   MVI A, Загрузка в аккумулятор кода 00
D3   OUT 80 Вывод содержимого аккумулятора в порт А на индикацию(по адресу 80)
DB M3 IN 82 Чтение порта С КР580ВВ55 (по адресу 82)
E6   ANI 02 Наложение маски для выявления разряда аккумулятора
81A 82B CA A8   JZ M3 Если разряд нулевой(кнопка отжата), то переход к метке М3. Если разряд=1(кнопка нажата), то продолжить
81C 81D 3E   MVI A, Загрузка в аккумулятор кода 04
81E 81F D3   OUT80 Вывод содержимого аккумулятора в порт А на индикацию(по адресу 80)
1E   MVI E, Загрузка счётчика внешних циклов числом 46
8D BEGIN LXI B, 208D Загрузка счётчика внутренних циклов числом 208D
0B DELAY DCX B Декремент 16-ти разрядного счётчика внутреннего цикла
  MOVA,B Пересылка содержимого регистра В в аккумулятор
B1   ORA C Логическое «или» над содержимым А и С
82A C2 B8   JNZ DELAY Если счётчик внутренних циклов обнуляется, то продолжать, если нет- переход к метке DELAY
82B 1D   DCR E Декремент 8-ми разрядного счётчика внешних циклов
82C 82D 82E C2 B5   JNZ BEGIN Если счётчик внешних циклов обнуляется, то продолжить, если нет – переход к метке BEGIN
82F 3E 0C   MVI A, 0C Загрузка в аккумулятор кода 0C
D3   OUT 80   HLT Запись кода в порт А КР580ВВ55 (адрес 80) Остановка.

Выводы

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

Список использованной литературы

1. Изучение ввода/вывода дискретных сигналов в МПСУ. Методические указания к л/р №2 по курсу МПСУ для специальности 18.09., - Новороссийск: НГМА, 1995г.

2. Методические указания к курсовой работе “Программируемый контроллер для управления судовыми механизмами” по курсу МПСУ для специальности 24.06, - Новороссийск: НГМА, 2007г.

3. Изучение ввода/вывода данных в МПСУ в функции времени. Методические указания к л/р №3 по курсу МПСУ для специальности 18.09., - Новороссийск: НГМА, 1995г.

4. Щелкунов Н.Н., Дианов А.П. Микропроцессорные средства и системы. - М.: Радио и связь, 1989.

5. Микропроцессоры и микропроцессорные комплекты интегральных микросхем. Справочник. В 2-х томах. Под ред. Шахнова В.А. - М.: Радио и связь, 1987.

6. Баранов А.П., Баскаков Л.В., Тихонов Е.В. Применение учебного микропроцессорного комплекта для изучения микропроцессорных систем управления. Учебное пособие. - М.: В/О “Мортехинформреклама”, 1989.

7. Материалы интернет-сайтов фирм-изготовителей микропроцессорных блоков автоматики.

Наши рекомендации