Процесс выполнения алгоритма
При запуске программы Блок 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 раз.
Рис. 5. Блок-схема алгоритма работы ПК
Рис. 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. Материалы интернет-сайтов фирм-изготовителей микропроцессорных блоков автоматики.