Если оператор нажал клавишу пуск, начинается работа двигателя. Программа начинает свой рабочий цикл. Он начинается с загрузки в аккумулятор значения скорости вращения, затем происходит вызов подпрограммы, которая отвечает за вращение двигателя с нужной скоростью, а также проверяет, нажаты ли другие значащие клавиши(«3» или «5»). Как только подпрограмма выполнила все действия, она выходит в основную программу. Затем происходит зацикливание, т.е. из памяти в аккумулятор опять заносится значение скорости вращения двигателя и происходит вызов подпрограммы вращения двигателя. Цикл будет продолжаться, пока скорость не понизится до нуля. В этом случае программа возвращается к метке Start и ожидает нажатия клавиш(«1» или «3»).
Рисунок 2.1 Блок-схема основной программы.
Рисунок 2.2 Блок-схема подпрограммы ввода с клавиатуры.
Рисунок 2.3 Блок-схема подпрограммы задержки
Рис.2.4 Блок-схема подпрограммы вывода на экран состояния двигателя
Рисунок 2.5 Блок-схема подпрограммы вращения коленвала с заданной скоростью
; Устройство управления двухтактным двигателем внутреннего сгорания
; 0 - Пуск
; 3 - частота оборотов коленвала 6 об/с
; 5 - плавное уменьшение оборотов с 6 до 0 об/с
;
porta equ 80h ; адрес первого индикатора
portb equ 81h ; адрес второго индикатора
portc equ 82h ; адрес клавиатуры
porcrl equ 83h ; адрес порта управления внешними устройствами
povdr equ 250 ; пост. времени защиты от дребезга (кол. повторов).
kodkl equ 00101001b ; код, соответствующий нажатию клавиши 0,3 или 5.
org 800h ; стартовый адрес программы в ОЗУ стенда
;-----------------------------------------------------------------------------------------------------------------------------
lxi sp,9a0h ; инициализация указателя стека
mvi a,89h ; загрузка управляющего байта внешних устройств
out porcrl ; вывод управляющего байта в порт управления
start: call enter
varianty: cpi 00000001b ; нажата клавиша 0 (старт)?
jnz cnst_inc ; иначе нажато 3 или 5
cpi 00000001b ; нажата клавиша 0
jz cycle ; да, переходим по метке cycle
;---------------------------------пуск двигателя-----------------------------------------
jmp start ; переход в начало программы.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.